diff --git a/ChangeLog b/ChangeLog
index 01605f3..c3ada84 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,3796 @@
-=== release 0.11.92 ===
+2012-09-14 00:30:37 +0100  Tim-Philipp Müller <tim@centricular.net>
 
-2012-06-07  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+	* gst/gstcompat.h:
+	  gstcompat: fix backwards compat macro for gst_message_new_duration
+	  Name it properly, so it, like, works. Clearly no one actually
+	  used that..
+
+2012-09-13 12:00:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/pwg/advanced-types.xml:
+	* docs/pwg/intro-basics.xml:
+	  docs: fix formats a little
+
+2012-09-13 11:38:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* win32/common/libgstbase.def:
+	  defs: add new baseparse function
+
+2012-09-13 11:38:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* tools/gst-launch.1.in:
+	  docs: fourcc is no more
+
+2012-09-13 11:35:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/design/draft-klass.txt:
+	* docs/design/part-missing-plugins.txt:
+	* docs/faq/using.xml:
+	* docs/manual/advanced-dataaccess.xml:
+	* docs/manual/appendix-checklist.xml:
+	* docs/manual/appendix-programs.xml:
+	* docs/manual/basics-pads.xml:
+	* docs/pwg/advanced-negotiation.xml:
+	* docs/pwg/building-boiler.xml:
+	* docs/pwg/building-pads.xml:
+	* docs/pwg/other-ntoone.xml:
+	* libs/gst/base/gstbasetransform.c:
+	* plugins/elements/gstcapsfilter.c:
+	* plugins/elements/gsttee.c:
+	* tests/benchmarks/caps.c:
+	* tests/benchmarks/capsnego.c:
+	* tests/check/gst/gststructure.c:
+	* tools/gst-launch.1.in:
+	  docs: fix some docs
+	  from git grep for ffmpegcolorspace and x-raw-
+
+2012-09-13 10:48:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* libs/gst/base/gstbaseparse.h:
+	  parse: add missing declaration
+
+2012-09-13 10:24:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* libs/gst/base/gstbasesrc.c:
+	  basesrc: indent fix
+
+2012-09-12 22:44:37 -0700  Jan Schmidt <thaytan@noraisin.net>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: Add a mode/flag for disabling PTS interpolation
+	  To be used by sub-classes implementing video formats with reordering
+	  such as MPEG.
+
+2012-09-10 18:38:57 -0700  Jan Schmidt <thaytan@noraisin.net>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: Handle GAP and still-frame events.
+	  Hacky, because the still-frame code all lives in -base, where we
+	  can't use it - so this is a hacky duplication of -base code. Not
+	  sure which way to fix this: Move baseparse to -base, or move still-frame
+	  events to core?
+
+2012-09-04 19:38:26 -0700  Jan Schmidt <thaytan@noraisin.net>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: Restructure event handling
+	  Make the event handling more like what videodecoder does,
+	  to ensure that all events are passed to child classes before being
+	  placed on the pending queue or pushed onward.
+
+2012-09-03 10:30:08 -0700  Jan Schmidt <thaytan@noraisin.net>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: Store incoming cached events in reverse order
+	  Reverse the list just before sending. Prepending is more efficient
+	  than appending, so this saves some cycles.
+
+2012-09-02 23:32:50 -0700  Jan Schmidt <thaytan@noraisin.net>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: First attempt at handling both DTS and PTS
+
+2012-09-13 00:38:21 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gsttaglist.c:
+	  taglist: add warning when we get something else than a sample for a sample tag
+	  Facilitate GstBuffer -> GstSample transition for some tags,
+	  could be hard to catch otherwise when creating tags, since
+	  it'll only be apparent later when someone tries to read the
+	  tags.
+
+2012-09-12 14:14:31 +0200  Andreas Frisch <fraxinas@opendreambox.org>
+
+	* gst/gstelementfactory.c:
+	  elementfactory: don't crash if no element klass has been set
+	  https://bugzilla.gnome.org/show_bug.cgi?id=683865
+
+2012-09-12 23:12:14 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* tests/check/libs/collectpads.c:
+	  collectpads: fix a misplaced ')'
+
+2012-09-12 21:20:46 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gsterror.c:
+	  error: don't tell people to file a bug for negotiation errors
+
+2012-09-12 20:54:50 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* docs/libs/gstreamer-libs-sections.txt:
+	* libs/gst/base/gstcollectpads.c:
+	* libs/gst/base/gstcollectpads.h:
+	* tests/check/libs/collectpads.c:
+	* win32/common/libgstbase.def:
+	  collectpads: remove gst_collect_pads_add_pad_full
+	  Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all
+	  invocations.
+
+2012-09-12 17:16:41 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* plugins/elements/gstfilesink.c:
+	  filesink: fix build on Cygwin
+	  ... where __fbufsize is not available
+
+2012-09-12 13:00:15 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* tests/check/elements/queue2.c:
+	  Revert "tests: fix buffer leak in queue2 unit test"
+	  This reverts commit 232fd2953eb00f694b667e7796704f5974cea452.
+	  This was already fixed.
+
+2012-05-24 13:08:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* plugins/elements/gstqueue2.c:
+	  queue2: fix possible data corruption in ring buffer mode when seeking
+	  Fix race that could cause data corruption when seeking in ring buffer
+	  mode.
+	  In perform_seek_to_offset(), called from the demuxer's pull_range
+	  request, we drop the lock, tell upstream (usually a http source)
+	  to seek to a different offset, then re-acquire the lock before we
+	  do things to the ranges. However, between us sending the seek event
+	  and re-acquiring the lock, the source thread might already have pushed
+	  some data and moved along the range's writing_pos beyond the seek
+	  offset. In that case we don't want to set the writing position back
+	  to the requested seek position, as it would cause data to be written
+	  to the wrong offset in the file or ring buffer.
+	  Reproducible doing seek-emulated fast-forward/backward on 006653.
+	  Conflicts:
+	  plugins/elements/gstqueue2.c
+
+2012-05-24 13:06:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* tests/check/elements/queue2.c:
+	  tests: fix buffer leak in queue2 unit test
+
+2012-09-12 12:23:22 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* libs/gst/check/gstcheck.h:
+	  check: remove glib deprecation compatibility trickery
+
+2012-09-12 12:22:53 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* libs/gst/check/gstbufferstraw.c:
+	* libs/gst/check/gstcheck.c:
+	* libs/gst/check/gstcheck.h:
+	* tests/check/elements/queue.c:
+	* tests/check/elements/tee.c:
+	  check: port to the new GLib thread API
+
+2012-09-12 11:52:25 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* tests/check/elements/fakesink.c:
+	* tests/check/elements/filesrc.c:
+	* tests/check/elements/multiqueue.c:
+	* tests/check/elements/queue.c:
+	* tests/check/elements/queue2.c:
+	* tests/check/elements/tee.c:
+	* tests/check/generic/sinks.c:
+	* tests/check/gst/gstbus.c:
+	* tests/check/gst/gstevent.c:
+	* tests/check/gst/gstghostpad.c:
+	* tests/check/gst/gstiterator.c:
+	* tests/check/gst/gstpad.c:
+	* tests/check/gst/gstpipeline.c:
+	* tests/check/gst/gstsystemclock.c:
+	* tests/check/gst/gsttagsetter.c:
+	* tests/check/gst/gsttocsetter.c:
+	* tests/check/libs/collectpads.c:
+	  tests: port to new GLib thread API
+
+2012-09-12 11:49:55 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* tests/benchmarks/gstbufferstress.c:
+	* tests/benchmarks/gstclockstress.c:
+	* tests/benchmarks/gstpollstress.c:
+	  tests: benchmarks: align error message with code
+
+2012-09-11 19:49:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstpad.c:
+	* gst/gstpad.h:
+	* libs/gst/base/gstbaseparse.c:
+	* win32/common/libgstreamer.def:
+	  pad: expose gst_pad_mode_get_name() and use it in baseparse
+
+2012-09-11 13:22:57 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* scripts/create-uninstalled-setup.sh:
+	* scripts/gst-uninstalled:
+	  scripts: update for gst-ffmpeg -> gst-libav
+	  Now that we have a gst-libav git repository (symlinked to gst-ffmpeg).
+
+2012-09-11 17:27:03 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* gst/gstquery.c:
+	  query: adjust test logic for scheduling mode with flagS
+
+2012-09-11 16:39:34 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstquery.c:
+	* gst/gstquery.h:
+	* win32/common/libgstreamer.def:
+	  query: add convenience API to query for scheduling mode and flags
+
+2012-09-11 16:29:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/design/part-events.txt:
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gst.c:
+	* gst/gstbuffer.h:
+	* gst/gstevent.c:
+	* gst/gstevent.h:
+	* libs/gst/base/gstcollectpads.c:
+	* libs/gst/check/gstconsistencychecker.c:
+	* tests/check/gst/gstevent.c:
+	* win32/common/config.h:
+	* win32/common/gstenumtypes.c:
+	* win32/common/gstenumtypes.h:
+	* win32/common/libgstreamer.def:
+	  events: remove STREAM_CONFIG
+	  We won't be able to implement this so it's better to move it out of the way.
+
+2012-09-11 16:09:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* libs/gst/base/gstcollectpads.h:
+	  collectpads: clean up header indentation
+
+2012-09-11 11:34:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstutils.c:
+	  utils: allow NULL stream_id also when 0 srcpads
+	  We usually first create the stream_id for the stream_start event and then add
+	  the pad to the element. This means that this functions should work when there
+	  are no pads on the element yet.
+
+2012-09-10 21:39:32 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gstquery.c:
+	* libs/gst/base/gstbaseparse.c:
+	* plugins/elements/gsttypefindelement.c:
+	  baseparse, typefind: only activate in pull mode if upstream is seekable
+	  Upstream might support pull mode, but only sequential pulls,
+	  which isn't gonna do much for us.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=634927
+
+2012-09-10 20:30:32 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* docs/random/porting-to-0.11.txt:
+	  porting-to-0.11.txt: some minor fixes
+
+2012-09-10 16:52:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gstsample.c:
+	  sample: free info structure with sample if there is one and fix copy with NULL info structure
+
+2012-09-10 12:20:15 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* gst/gstmemory.h:
+	  memory: add padding to GstMapInfo
+
+2012-09-10 12:12:02 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* libs/gst/controller/gstdirectcontrolbinding.c:
+	* libs/gst/controller/gsttimedvaluecontrolsource.h:
+	  libs: adjust comment style
+
+2012-09-10 12:11:23 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* gst/gstcompat.h:
+	* gst/gstobject.c:
+	  gst: remove some defunct commented code
+
+2012-09-10 12:00:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/random/porting-to-0.11.txt:
+	  docs: improve porting doc
+
+2012-09-10 10:08:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* tests/check/tools/gstinspect.c:
+	  tests: disable deprecation warnings
+	  define GLIB_DISABLE_DEPRECATION_WARNINGS earlier so that it is defined before
+	  the glib headers are loaded or else we trip over the GValueArray deprecations in
+	  gst-inspect.c.
+
+2012-09-07 01:02:10 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* libs/gst/controller/gstdirectcontrolbinding.c:
+	  controller: fix direct control binding double -> int conversion
+	  Round properly to nearest integer. Fixes controller
+	  unit test on PowerPC G4.
+
+2012-09-06 15:06:08 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* tests/examples/helloworld/helloworld.c:
+	  examples: fix bus/fd leak in hello world example
+	  https://bugzilla.gnome.org/show_bug.cgi?id=683470
+
+2012-09-05 19:55:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst-element-check.m4:
+	  gst-element-check.m4: fix action-if-found and not-found invocation
+	  Arguments got shifted back by one.
+
+2012-09-05 15:37:13 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* libs/gst/base/gstcollectpads.c:
+	  collectpads: handle GAP event
+
+2012-09-04 12:13:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* libs/gst/base/gstbasesink.c:
+	* libs/gst/base/gstbasesink.h:
+	  basesink: wait_eos -> wait_event
+	  Fix a FIXME. Now we can also pass the GAP event to the subclass.
+
+2012-09-03 18:45:03 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* tests/examples/controller/Makefile.am:
+	  examples: update Makefile.am android bits in controller example
+	  Should fix build failure reported on IRC.
+
+2012-08-30 19:15:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstpad.c:
+	  pad: check sticky events also after pad block
+	  Recheck for sticky events after doing a pad block because the pad block could
+	  have caused a relink and then we need to resend the events to the newly linked
+	  pad.
+	  Fixes things like switching of visualisations.
+
+2012-09-02 02:04:14 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: update for gst_message_new_duration -> _duration_changed()
+
+2012-09-02 01:17:44 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* docs/gst/gstreamer-sections.txt:
+	* docs/random/porting-to-0.11.txt:
+	* gst/gstbin.c:
+	* gst/gstcompat.h:
+	* gst/gstmessage.c:
+	* gst/gstmessage.h:
+	* gst/gstquark.c:
+	* gst/gstquark.h:
+	* win32/common/libgstreamer.def:
+	  message: rename GST_MESSAGE_DURATION -> GST_MESSAGE_DURATION_CHANGED
+	  The duration should be re-queried via a query using the
+	  normal path, we don't want applications to use the value
+	  from the message itself, since it might no match what a
+	  duration query done from the sink upstream might yield.
+	  Also disables duration caching in GstBin. It should be
+	  added back again at some point.
+
+2012-09-01 23:54:23 +0100  Tim-Philipp Müller <tim@centricular.net>
 
 	* configure.ac:
-	  releasing 0.11.92, "High Hopes"
+	  configure: add reminder to remove GST_UNSTABLE_API stuff before 1.0.0
+
+2012-09-01 18:06:58 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* .gitignore:
+	* Makefile.am:
+	* configure.ac:
+	* gst-element-check.m4:
+	* gst-element-check.m4.in:
+	  gst-element-check.m4: rename AM_GST_ELEMENT_CHECK to GST_ELEMENT_CHECK
+	  And allow passing of a minimum version (if not needed, pass 1.0).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=682968
+
+2012-09-01 17:50:14 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* tests/check/.gitignore:
+	* tests/check/Makefile.am:
+	* tests/check/tools/gstinspect.c:
+	  tests: add check for gst-inspect --exists functionality
+
+2012-09-01 17:47:58 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* tools/gst-inspect.c:
+	  tools: add --exists and --atleast-version option to gst-inspect
+	  For checking if an element exists with a given minimum version.
+	  Will use that in our new GST_ELEMENT_CHECK m4 macro.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=682968
+
+2012-09-01 17:32:04 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gstpluginfeature.c:
+	  pluginfeature: disable version mangling for post-1.0.0 release
+	  Just in case we don't grep for FIXME 1.0 before the release.
+
+2012-08-31 11:31:45 -0700  Jan Schmidt <thaytan@noraisin.net>
+
+	* libs/gst/base/gstbasesink.c:
+	  basesink: Make GAP events actually trigger preroll
+	  Slightly hacky approach needing refinement
+
+2012-08-31 06:25:22 -0700  Jan Schmidt <thaytan@noraisin.net>
+
+	* gst/gstpad.c:
+	  gstpad: make some debug statements more verbose
+
+2012-08-31 06:23:53 -0700  Jan Schmidt <thaytan@noraisin.net>
+
+	* gst/gstghostpad.c:
+	* plugins/elements/gstinputselector.c:
+	  ghostpad: Make some debugging more verbose
+	  Also, remove an unnecessary #include in input-selector
+
+2012-08-28 15:44:48 -0700  Jan Schmidt <thaytan@noraisin.net>
+
+	* gst/gstsegment.c:
+	  GstSegment: Fix doc description string last_stop->position
+
+2012-08-30 19:47:57 +0100  Arnaud Vrac <avrac@freebox.fr>
+
+	* plugins/elements/gstinputselector.c:
+	  inputselector: fix clock leak
+	  https://bugzilla.gnome.org/show_bug.cgi?id=682997
+
+2012-08-29 22:57:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* tools/gst-inspect.c:
+	  tools: output gst-inspect errors to stderr
+
+2012-08-28 07:39:50 +0200  Alban Browaeys <prahal@yahoo.com>
+
+	* gst/gstvalue.c:
+	  value: fix crash serialising a 0 flags value when there's no name for it
+	  Fixes segfault when doing gst-launch-1.0 -v -m camerabin
+	  (encodebin notifies a 0 value for its "flag" property).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=682958
+
+2012-08-24 23:14:57 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gst.c:
+	  gst: log performance warning debug message if glib emulates atomic ops
+
+2012-08-23 13:51:27 +0100  Lionel Landwerlin <llandwerlin@gmail.com>
+
+	* gst/Makefile.am:
+	  gst: use configure-detected or externally provided glib-mkenums
+	  To ease cross-compilation.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=677620
+
+2012-08-22 13:29:34 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* common:
+	  Automatic update of common submodule
+	  From 668acee to 4f962f7
+
+2012-08-22 13:14:56 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* configure.ac:
+	  configure: bump gtk-doc req to 1.12 (mar-2009)
+	  This allows us to e.g. unconditionally use gtkdoc-rebase.
+
+2012-08-21 13:30:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstmemory.h:
+	  memory: add _make_writable
+
+2012-08-21 00:03:37 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* docs/random/porting-to-0.11.txt:
+	  docs: mention some media type changes in porting-to-0.11.txt doc
+
+2012-08-20 13:51:05 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* docs/random/porting-to-0.11.txt:
+	  docs: minor update to porting doc for child proxy lookup method
+	  And a typo fix.
+
+2012-08-20 11:31:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstallocator.c:
+	  allocator: make a copy with the same alignment
+	  When making a copy of the memory allocated from the default memory allocator,
+	  make sure the new copy has the same alignment as the original memory.
+	  See https://bugzilla.gnome.org/show_bug.cgi?id=680796
+
+2012-08-19 17:51:00 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: make seeking in DEFAULT format work if the subclass can convert for us
+	  We only deal in TIME format ourselves, but if the subclass can handle
+	  converting other formats into TIME format, we can support that too.
+	  Fixes seeking in DEFAULT (sample) format with flacparse,
+	  and the flacdec unit test.
+
+2012-08-18 21:42:23 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* tools/gst-launch.1.in:
+	  tools: minor fixes to gst-launch man page
+
+2012-08-17 12:23:50 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/gstpreset.c:
+	  preset: implement child_proxy support
+	  Elements such as the GstIirEqualizerNBands would so far not store the properties
+	  of their children. Now we also grab the properties of child elements and try to
+	  restore them.
+
+2012-08-14 18:44:38 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* plugins/elements/gstinputselector.c:
+	  inputselector: Wait for other streams to advance on unselected pads
+	  Otherwise we end up dropping a lot of data in the case where data starts
+	  arriving on the non-selected pad, resulting in big gaps in stream switching
+
+2012-08-14 18:43:54 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* plugins/elements/gstinputselector.c:
+	  inputselector: More debug statements
+
+2012-08-14 18:42:31 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* plugins/elements/gstinputselector.c:
+	  inputselector: Don't forward stream-start sticky events
+	  Only one STREAM_START event should be let through, else it will
+	  confuse downstream elements that think a new stream is starting
+	  whereas in fact we are just switching to a different input.
+	  In the future we might want to let them through but with the same
+	  sequence number.
+
+2012-08-14 15:46:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* docs/libs/gstreamer-libs-sections.txt:
+	* win32/common/libgstbase.def:
+	  docs: Add new basesrc/basetransform API to the docs
+
+2012-08-07 17:38:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* libs/gst/base/gstbasetransform.c:
+	* libs/gst/base/gstbasetransform.h:
+	  basetransform: getters for pool and allocator
+	  Sometimes a transform filter would need the buffer pool or the memory
+	  allocator negotiated by the base class, for example, for querying different
+	  parameters, such as a bigger number of buffers to allocate by the buffer pool.
+	  This patch expose a two getters accessors: one for the buffer pool and the
+	  other for the memory allocator.
+
+2012-08-07 17:35:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* libs/gst/base/gstbasesrc.c:
+	* libs/gst/base/gstbasesrc.h:
+	  basesrc: getters for pool and allocator
+	  Sometimes the sources would use the buffer pool or the memory allocator for
+	  something else than just allocating output buffers; for example, querying for
+	  different parameters, such as a bigger number of buffers to allocate by the
+	  pool.
+	  This patch expose a two getters accessors: one for the buffer pool and the
+	  other for the memory allocator.
+
+2012-08-14 00:39:18 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstregistry.c:
+	* gst/gstregistry.h:
+	* win32/common/libgstreamer.def:
+	  registry: remove some unused and in their current form pointless API
+	  Not so useful: just adds/reads stuff from an internal GList without
+	  actually doing anything with those paths, so remove for now:
+	  gst_registry_add_path
+	  gst_registry_get_path_list
+	  https://bugzilla.gnome.org/show_bug.cgi?id=608841
+
+2012-08-12 13:27:06 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/parse/grammar.y:
+	  parse: fix up for gst_child_proxy_lookup() only working on child proxy interfaces
+	  https://bugzilla.gnome.org/show_bug.cgi?id=681681
+
+2012-08-12 13:24:18 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gstchildproxy.c:
+	* gst/gstchildproxy.h:
+	  childproxy: make gst_child_proxy_lookup() a proper GstChildProxy method
+	  No longer accept any old GObjects. This makes things nicer for
+	  bindings. If a utility function that handles both nicely
+	  is deemed worthwhile, we can still add one to gstutils.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=681681
+
+2012-08-13 00:01:16 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gstvalue.c:
+	  value: when serialising arrays or lists, handle types we can't serialise more gracefully
+	  https://bugzilla.gnome.org/show_bug.cgi?id=681322
+
+2012-08-12 19:39:46 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* libs/gst/check/gstconsistencychecker.c:
+	  consistencychecker: add some more details to failure messages
+	  Mention pad where the problem occured, and the event name.
+
+2012-08-12 18:36:09 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* tests/check/Makefile.am:
+	* tests/check/libs/collectpads.c:
+	  tests: fix collectpads test
+	  After an EOS we must send a FLUSH_STOP event if
+	  we want to send data again.
+
+2012-08-12 18:31:13 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gstevent.c:
+	  event: fix leak in gst_event_parse_stream_start()
+	  gst_structure_id_get() will make a copy of the string
+	  extracted, but we're assigning it to a const gchar *.
+
+2012-08-12 16:40:03 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* tests/check/gst/gstpipeline.c:
+	  tests: make pipeline test valgrind clean
+
+2012-08-12 16:37:02 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* tests/check/Makefile.am:
+	* tests/check/gst/gstpipeline.c:
+	  tests: fix pipeline unit test
+	  Which was disabled because it failed.
+
+2012-08-12 15:48:20 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* scripts/create-uninstalled-setup.sh:
+	  scripts: fix unterminated quoted string in create-uninstalled-setup.sh
+
+2012-08-12 00:12:56 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* docs/random/porting-to-0.11.txt:
+	  docs: mention gst_video_format_parse_caps() in porting guide
+
+2012-08-11 22:19:32 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* docs/gst/gstreamer-docs.sgml:
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstbuffer.c:
+	* gst/gstbufferpool.c:
+	* gst/gstcontrolbinding.h:
+	* gst/gstevent.c:
+	* gst/gstmemory.h:
+	* gst/gstmessage.h:
+	* gst/gstminiobject.c:
+	* gst/gstminiobject.h:
+	* gst/gsttaglist.c:
+	* gst/gsttaglist.h:
+	* gst/gsttoc.c:
+	* gst/gstutils.c:
+	  docs: fix up docs a bit
+
+2012-08-11 22:18:13 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gstchildproxy.c:
+	  childproxy: fix up g-i annotation for _lookup() paramspec return value
+	  No ref is returned here.
+
+2012-08-11 22:17:35 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* win32/common/libgstreamer.def:
+	  win32: update .def file for new buffer functions
+
+2012-08-10 22:58:56 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: fix reverse playback with upstream demuxers that support it
+	  Don't just return FALSE for seek events with negative rates when
+	  operating in push mode. An upstream demuxer may support this just
+	  fine, so if we're not operating in pull mode always check upstream
+	  first if it can handle the seek event. This fixes reverse playback
+	  where the upstream demuxer supports it (e.g. with qtdemux). The
+	  same code would work fine in 0.10, because baseparse will just
+	  call the default pad event handler if FALSE was returned from the
+	  baseparse event handler, and the pad event handler will just
+	  forward it upstream. In 0.11 the baseclass or subclass is
+	  responsible for chaining up to the parent class or forwarding the
+	  event upstream in any case.
+	  Disable reverse playback in pull mode for now, there seems to
+	  be something going wrong with the segment configuration in that
+	  case.
+
+2012-08-04 11:48:52 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+	* libs/gst/base/gstbasetransform.c:
+	  basetransform: do not error on not-negotiated
+	  Don't error out too early and let upstream decide if it can
+	  workaround a not-negotiated problem
+	  https://bugzilla.gnome.org/show_bug.cgi?id=681198
+
+2012-08-04 11:48:13 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+	* libs/gst/base/gstbasesrc.c:
+	  basesrc: retry on not-negotiate if a reconfigure is pending
+	  Before erroring out on not-negotiated returns, check if the pad
+	  has the reconfigure flag set and retry.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=681198
+
+2012-08-04 11:42:05 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+	* gst/gstpad.c:
+	* gst/gstpad.h:
+	* win32/common/libgstreamer.def:
+	  pad: add gst_pad_needs_reconfigure
+	  Add an alternative version of gst_pad_check_reconfigure that doesn't
+	  clear the reconfigure flag.
+	  Useful for increasing error resilience without duplicating the
+	  reconfigure code in pad task functions.
+	  API: gst_pad_needs_reconfigure
+	  https://bugzilla.gnome.org/show_bug.cgi?id=681198
+
+2012-07-29 15:44:45 -0700  Evan Nemerson <evan@coeus-group.com>
+
+	* gst/gstpad.h:
+	  pad: add GST_PAD_LINK_CHECK_DEFAULT to GstPadLinkCheck
+	  This allows introspection-based bindings to access
+	  Gst.PadLinkCheck.DEFAULT instead of
+	  Gst.PAD_LINK_CHECK_DEFAULT.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=678301
+
+2012-07-29 14:57:41 -0700  Evan Nemerson <evan@coeus-group.com>
+
+	* gst/gstbuffer.c:
+	  buffer: mark gst_buffer_wrapped* data as array
+	  https://bugzilla.gnome.org/show_bug.cgi?id=678301
+
+2012-07-24 13:26:00 -0700  Evan Nemerson <evan@coeus-group.com>
+
+	* gst/gstobject.c:
+	* gst/gsttoc.c:
+	  introspection: fix some warnings generated by g-ir-scanner.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=678301
+
+2012-07-30 21:46:18 -0700  Evan Nemerson <evan@coeus-group.com>
+
+	* gst/gstbuffer.c:
+	* gst/gstbuffer.h:
+	  buffer: convert gst_buffer_* macros to functions
+	  GObject Introspection does not support macros.
+	  This is needed for bindings. We can still add back
+	  macros or inline functions again later if we think
+	  it's worth it.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=678301
+
+2012-08-10 13:50:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* libs/gst/net/gstnetclientclock.c:
+	  netclientclock: fix printf format in debug message
+
+2012-08-10 12:23:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstbufferpool.c:
+	  bufferpool: fix max_buffers handling
+	  When max_buffers > 0 and the pool is empty, actually try to allocate more
+	  buffers up to the max_buffers limit.
+	  We need to add a counter for this to count how many buffers we allocated and
+	  check this against the max_buffers limit.
+	  Reorganise and clean up some code.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681153
+
+2012-08-10 09:19:25 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* libs/gst/net/gstnetclientclock.c:
+	  netclientclock: simplify by using g_socket_condition_timed_wait()
+	  No need to use a custom main context and custom timeout sources,
+	  just use g_socket_condition_timed_wait() instead, which was added
+	  for exactly this case.
+	  Also seems to help with the unit test deadlocking with glib 2.33.x
+	  https://bugzilla.gnome.org/show_bug.cgi?id=681575
+
+2012-08-09 19:15:29 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gstobject.c:
+	  gstobject: fix double string escaping in gst_object_default_deep_notify()
+	  Make output of gst-launch -v readable again.
+	  last-message = "event\ \ \ \*\*\*\*\*\*\*\ \(fakesink0:sink\)\ E\ \(type:\ tag\ \(20510\)\,\ GstTagList-stream\,\ taglist\=\(taglist\)\"taglist\\\,\\\ video-codec\\\=\\\(string\\\)H264\\\,\\\
+	  minimum-bitrate\\\=\\\(uint\\\)636611\\\,\\\ bitrate\\\=\\\(uint\\\)980729\\\,\\\ maximum-bitrate\\\=\\\(uint\\\)1116707\\\;\"\;\)\ 0x15bc760"
+	  vs.
+	  last-message = event   ******* (fakesink0:sink) E (type: tag (20510), GstTagList-stream, taglist=(taglist)"taglist\,\ video-codec\=\(string\)H264\,\ minimum-bitrate\=\(uint\)856039\,\ bitrate
+	  \=\(uint\)1019748\,\ maximum-bitrate\=\(uint\)1116707\;";) 0x11149e0
+
+2012-08-09 16:18:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstminiobject.c:
+	  miniobject: check writability
+	  fix the writability check for miniobjects. We should check the shared counter.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681450
+
+2012-08-08 16:08:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* gst/gstallocator.c:
+	  allocator: Set the alignment at the correct place in GstAllocationParams
+
+2012-08-08 16:18:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* configure.ac:
+	* win32/common/config.h:
+	  Back to development
+
+=== release 0.11.93 ===
+
+2012-08-08 15:05:08 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* configure.ac:
+	* gstreamer.doap:
+	* win32/common/config.h:
+	  Release 0.11.93
+
+2012-08-08 14:49:23 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* tests/check/gst/gstobject.c:
+	  tests: remove silly test_fail_abstract_new check
+	  Our check would make sure that GLib segfaults when
+	  someone tries to instantiate an abstract type, which
+	  is an extremely useful thing to check for.
+	  In newer GLibs this is fixed and we get an abort with
+	  a g_error() now it seems, so let's just remove this
+	  check entirely.
+
+2012-08-08 09:53:26 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* tests/examples/stepping/framestep1.c:
+	  examples: don't put things with side effects inside g_assert()
+	  They will be defined away to NOOPs otherwise in release builds.
+
+2012-08-08 09:13:38 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* win32/common/libgstreamer.def:
+	  win32: update for stream-id API additions
+
+2012-08-08 00:54:49 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/parse/grammar.y:
+	  parse: fix for new GstChildProxy::child-added signal callback signature
+	  Fixes crash with gst-launch-1.0 uridecodebin uri=... suburi=... ! ..
+
+2012-08-07 10:46:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* gst/gstbus.c:
+	  bus: Add allow-none to the function argument of gst_bus_set_sync_handler()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=681139
+
+2012-08-06 16:33:57 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
+
+	* docs/gst/Makefile.am:
+	  docs: Make sure scanner gets required libraries
+
+2012-08-06 20:08:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* libs/gst/check/gstconsistencychecker.c:
+	  consistencychecker: print which event we received before stream-start
+
+2012-08-06 20:04:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* libs/gst/base/gstbasesrc.c:
+	  basesrc: don't try to answer URI queries with NULL URIs
+	  Should make unit tests in -base that use appsrc a bit happier.
+
+2012-07-29 14:25:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* libs/gst/base/gstbaseparse.c:
+	* libs/gst/base/gstbasesrc.c:
+	* tests/check/elements/queue.c:
+	* tests/check/gst/gstbin.c:
+	* tests/check/gst/gstpad.c:
+	  event: Update for stream-start event API changes
+
+2012-07-28 08:37:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstevent.c:
+	* gst/gstevent.h:
+	* gst/gstquark.c:
+	* gst/gstquark.h:
+	* gst/gstutils.c:
+	* gst/gstutils.h:
+	  event: Add new stream-id field to the stream-start event
+	  This is supposed to allow uniquely identifying a single stream.
+
+2012-07-27 17:41:43 +0200  Edward Hervey <edward@collabora.com>
+
+	* plugins/elements/gstinputselector.c:
+	  inputselector: Use the first created pad by default
+	  This guarantees a bit more consistency in which input stream will
+	  be selected by default. It would previously be the first pad on which
+	  an event/buffer/query was received ... which was racy and non-predictable.
+
+2012-07-27 17:38:34 +0200  Edward Hervey <edward@collabora.com>
+
+	* gst/gstelement.c:
+	  element: Specify the order of pad iterators
+	  The order of returned pads wasn't specified before, so let's specify
+	  it and use an order which might prove the most useful : the order in
+	  which pads were added to the element.
+	  If someone changes the order, make sure users of those iterators from
+	  now on don't rely on that order !
+
+2012-08-05 17:16:27 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* libs/gst/check/gstcheck.h:
+	  check: add tcase_skip_broken_test() define
+	  Skips broken tests but logs an ERROR-level message to
+	  draw attention to that fact.
+
+2012-08-05 17:12:35 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* tests/check/libs/.gitignore:
+	  tests: update .gitignore for queuearray test binary
+
+2012-08-05 17:11:46 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* tests/check/libs/gstnetclientclock.c:
+	  tests: fix spurious netclientclock test failures
+	  Give clocks a bit more time to synchronise.
+
+2012-08-05 16:59:35 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* win32/common/config.h:
+	* win32/common/gstenumtypes.c:
+	* win32/common/gstenumtypes.h:
+	* win32/common/gstversion.h:
+	  win32: update generated files
+
+2012-08-05 16:41:21 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* plugins/elements/gstinputselector.c:
+	  input-selector: use generic marshaller for "block" action signal
+
+2012-08-05 16:37:24 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* common:
+	  Automatic update of common submodule
+	  From 94ccf4c to 668acee
+
+2012-08-04 13:37:32 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gstallocator.c:
+	* gst/gstbuffer.c:
+	  buffer, defaultmem: add option to poison memory before freeing it
+	  Might be useful to track down certain bugs.
+
+2012-08-03 23:54:33 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gst.c:
+	  gst: ref/unref taglist scope enum in gst_init()
+	  Fixes make check and distcheck
+
+2012-08-03 00:05:53 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gstplugin.c:
+	  plugin: warn if plugin name starts with a "
+	  This can easily happen as side-effect of the plugin name
+	  in GST_PLUGIN_DEFINE no longer being a string in 0.11, but
+	  a name to G_STRINGIFY.
+
+2012-08-02 13:19:27 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* docs/random/porting-to-0.11.txt:
+	  docs: update porting-to-0.11 document with a "soft" API changes checklist
+	  Point out some API changes that the compiler won't
+	  be able to warn about.
+
+2012-08-02 11:33:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* tools/gst-launch.c:
+	  tools: fix printing of partial dates in gst-launch
+
+2012-08-02 11:15:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* tools/gst-launch.c:
+	  Revert "tools: print TOC scope"
+	  This reverts commit ee6ab7c93638a6519acb976699a6ad149d520a95.
+	  The application will probably only ever receive global TOCs,
+	  so don't really need this.
+
+2012-08-01 17:49:27 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* win32/common/libgstreamer.def:
+	  win32: add new tag list scope symbols
+
+2012-08-01 11:58:55 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* plugins/elements/gsttypefindelement.c:
+	  typefind: send segment_done event in addition to segment_done message
+
+2012-07-31 17:25:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* libs/gst/base/gstbasesrc.c:
+	* plugins/elements/gstfilesrc.c:
+	  basesrc: Add default handler for URI query in GstURIHandler subclasses
+
+2012-07-28 17:33:52 +0200  Sjoerd Simons <sjoerd@luon.net>
+
+	* libs/gst/check/libcheck/check.h.in:
+	  check: unbreak fail #define
+	  The fail() definition was changed to not fail with non-GCC compilers,
+	  unfortunately the change was incorrect and appended the first argument
+	  of fail to the expression string instead of making it the message.
+	  This change does mean that fail() now requires a message to be passed
+	  along.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=680755
+
+2012-07-29 23:37:19 +0200  Jens Georg <mail@jensge.org>
+
+	* gst/gstbuffer.c:
+	  buffer: Update annotations
+	  https://bugzilla.gnome.org/show_bug.cgi?id=680805
+
+2012-07-29 23:20:07 +0200  Jens Georg <mail@jensge.org>
+
+	* gst/gstutils.c:
+	  utils: Update annotation for get_compatible_pad
+	  https://bugzilla.gnome.org/show_bug.cgi?id=680804
+
+2012-07-28 21:23:24 -0400  Thibault Saunier <thibault.saunier@collabora.com>
+
+	* gst/gsturi.c:
+	  uri: Fix wrong 'array zero-terminated=1' annotation for strings
+
+2012-07-28 11:02:30 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* docs/design/part-toc.txt:
+	  docs: update TOC design docs a little
+
+2012-07-28 09:41:30 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gstevent.c:
+	* gst/gstevent.h:
+	* gst/gstquark.c:
+	* gst/gstquark.h:
+	  event: make TOC event multi-sticky
+	  We need to send two kinds of TOCs downstream as events,
+	  and need both to stick to the pads.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=678742
+
+2012-07-28 08:30:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* tools/gst-launch.c:
+	  tools: print TOC scope
+
+2012-07-27 23:56:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gst.c:
+	* gst/gsttoc.c:
+	* gst/gsttoc.h:
+	* tests/check/gst/gsttoc.c:
+	* tests/check/gst/gsttocsetter.c:
+	* win32/common/libgstreamer.def:
+	  toc: add GstTocScope and require it in the constructor
+	  This is because we need to be able to signal different TOCs
+	  to downstream elements such as muxers and the application,
+	  and because we need to send both types as events (because
+	  the sink should post the TOC messages for the app in the
+	  end, just like tag messages are now posted by the sinks),
+	  and hence need to make TOC events multi-sticky.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=678742
+
+2012-07-27 23:54:00 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* scripts/create-uninstalled-setup.sh:
+	  scripts: create-uninstalled-setup.sh: check for basic build tools and deps
+	  .. before checking out stuff.
+
+2012-07-27 23:52:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* gst/gstevent.c:
+	* gst/gstevent.h:
+	* gst/gsttaglist.c:
+	* gst/gsttaglist.h:
+	* libs/gst/base/gstbaseparse.c:
+	* tests/check/gst/gstevent.c:
+	* tests/check/gst/gstutils.c:
+	  tag: Add a scope to taglists
+	  This specifies if a given taglist applies to the complete
+	  medium or only this specific stream. By default a taglist
+	  has a stream scope.
+	  Fixes bug #677619.
+
+2012-07-27 17:09:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstsegment.c:
+	* gst/gstsegment.h:
+	* tests/check/gst/gstsegment.c:
+	  segment: add offset field
+	  Add an offset field that is used to track at what position the segment was
+	  updated. This is used to set the running time to 0 when we do a flushing
+	  seek that doesn't update the position.
+	  See https://bugzilla.gnome.org/show_bug.cgi?id=680306
+
+2012-07-27 15:19:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstelement.c:
+	* gst/gstelement.h:
+	* gst/gstsegment.c:
+	* libs/gst/base/gstbaseparse.c:
+	* libs/gst/base/gstbasesink.c:
+	* libs/gst/base/gstbasesrc.c:
+	* plugins/elements/gsttypefindelement.c:
+	* tests/check/gst/gstevent.c:
+	* tests/check/gst/gststructure.c:
+	  Update for new seeking variable name
+	  When seeking, the start value and type are now called start and start_type.
+
+2012-07-27 14:53:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstsegment.c:
+	  segment: small cleanup
+	  Move the code to update the segment at the end of the function.
+
+2012-07-27 12:05:25 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* docs/gst/gstreamer-sections.txt:
+	* win32/common/libgstreamer.def:
+	  Update docs and .def file for taglist API change
+
+2012-07-27 13:02:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstsegment.c:
+	  segment: remove redundant checks
+	  We don't need to check the segment format anymore because we asserted on them
+	  being equal before.
+
+2012-07-27 12:24:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* tests/check/gst/gstsegment.c:
+	  tests: improve segment tests
+
+2012-07-27 12:12:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstallocator.c:
+	* gst/gstallocator.h:
+	* tests/examples/memory/my-memory.c:
+	* tests/examples/memory/my-vidmem.c:
+	  allocator: remove user_data from alloc vmethod
+	  Remove the user_data from the alloc vmethod. Subclasses that implement a new
+	  alloc function can also implement their own vmethod to pass extra arguments. We
+	  can then also require that custom allocators implement an alloc function so that
+	  gst_allocator_alloc() always works.
+
+2012-07-27 10:41:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* tests/check/gst/gstsegment.c:
+	  tests: remove segment accumulation checks
+	  Remove the checks because there is no more segment accumulation.
+
+2012-07-26 16:44:15 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gsttaglist.c:
+	* gst/gsttaglist.h:
+	  taglist: make GST_TAG_APPLICATION_DATA also a GstSample
+	  That way additional meta-data can be passed along with it.
+
+2012-07-26 15:51:10 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* docs/random/porting-to-0.11.txt:
+	* gst/gsttaglist.c:
+	* gst/gsttaglist.h:
+	* tests/check/gst/gsttag.c:
+	  taglist: gst_tag_list_get_buffer*() => gst_tag_list_get_sample*()
+	  Image tags and other tags are now of GstSample type.
+
+2012-07-26 15:26:09 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* tools/gst-launch.c:
+	  gst-launch: print image tags and other GstSample tags properly
+	  These tags are now of type GstSample not GstBuffer.
+
+2012-07-24 21:38:35 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* docs/libs/gstreamer-libs-sections.txt:
+	* libs/gst/base/gstcollectpads.c:
+	* libs/gst/base/gstcollectpads.h:
+	* win32/common/libgstbase.def:
+	  collectpads: remove unimplemented api
+	  We can always add this back if we need it. Fixes parts of #670852.
+
+2012-07-24 13:49:36 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: also account for frame size when merely scanning for frame
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680495
+
+2012-07-24 13:48:39 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: remove obsolete function parameter
+
+2012-07-24 12:38:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* plugins/elements/gsttypefindelement.c:
+	  typefind: require bytes before typefinding
+	  Require that we have some bytes in the adapter before we attempt to typefind.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680479
+
+2012-07-23 18:49:13 +0200  Christian Fredrik Kalager Schaller <uraeus@linuxrisin.org>
+
+	* gstreamer.spec.in:
+	  update spec file with latest changes
+
+2012-07-23 16:27:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstbufferlist.c:
+	* gst/gstbufferlist.h:
+	  bufferlist: pass index as gint to _insert
+	  Make the idx argument of _insert() a gint because we allow -1 as a value.
+	  Improve annotation.
+
+2012-07-23 13:40:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* plugins/elements/gstfakesink.c:
+	* plugins/elements/gstfakesrc.c:
+	* plugins/elements/gstidentity.c:
+	  plugins: print flags better
+	  print the buffer flags as a hex number so that it becomes easier to see what
+	  flags are set.
+
+2012-07-18 17:03:45 +0200  Sebastian Rasmussen <sebrn@axis.com>
+
+	* gst/gstpoll.c:
+	  gstpoll: Improve warning message when re-adding fd to fdset
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680181
+
+2012-07-23 08:44:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* common:
+	  Automatic update of common submodule
+	  From 98e386f to 94ccf4c
+
+2012-07-20 00:49:28 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gststructure.c:
+	* gst/gstvalue.c:
+	  value: add GstTagList serialisation/deserialisation
+	  So we can serialise/deserialise taglists inside structures,
+	  which used to work automagically before because GstTagList
+	  was just a typedef to GstStructure (same for the GType),
+	  but now that it's a separate GType we need to register
+	  explicit functions for this.
+	  Helps with GDP stuff in pipelines/streamheader tests.
+
+2012-07-20 09:38:47 +0200  Philippe Normand <philn@igalia.com>
+
+	* po/af.po:
+	* po/az.po:
+	* po/be.po:
+	* po/bg.po:
+	* po/ca.po:
+	* po/cs.po:
+	* po/da.po:
+	* po/de.po:
+	* po/el.po:
+	* po/en_GB.po:
+	* po/eo.po:
+	* po/es.po:
+	* po/eu.po:
+	* po/fi.po:
+	* po/fr.po:
+	* po/gl.po:
+	* po/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 .po files
+
+2012-07-19 13:51:23 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* tests/check/gst/gstbuffer.c:
+	  tests: gstbuffer: add tests for some mulitple map combinations
+
+2012-07-19 13:35:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstminiobject.c:
+	  miniobject: fix sharedness check
+
+2012-07-19 13:20:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstminiobject.c:
+	  miniobject: refuse write when object is shared
+	  In all cases, refuse to write an object when it is shared by more than one
+	  object (also when the object was locked before).
+	  See https://bugzilla.gnome.org/show_bug.cgi?id=679145
+
+2012-07-18 15:21:33 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* tests/check/gst/gstbuffer.c:
+	  tests: gstbuffer: extend buffer copy test
+
+2012-07-19 12:42:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* plugins/elements/gstqueue2.c:
+	  queue2: set buffering-left to 0 on 100% buffering
+	  Set the buffering-left field in the query to 0 when we are completely buffered.
+	  Improve the debug.
+
+2012-07-19 12:14:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* plugins/elements/gstqueue2.c:
+	  queue2: fix buffering query
+	  Fix the buffering query, fill in the right buffering-left and estimated-total
+	  values.
+
+2012-07-19 10:54:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* plugins/elements/gstqueue2.c:
+	  queue2: fix the buffering-left in the buffering message
+	  The buffering-left field in the buffering message should contain a time estimate
+	  in milliseconds about for long the buffering is going to take. We can calculate
+	  this value when we do rate_estimates.
+
+2012-07-19 10:14:18 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstmessage.c:
+	  message: improve buffering message defaults
+	  Remove the estimated-total field, this should not be part of the buffering
+	  message.
+	  Set the default value of buffering-left to 0 when the percent is 100.
+
+2012-07-18 17:44:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstpad.c:
+	  pad: fix debug line
+	  Use QUERY_TYPE on query types.
+
+2012-07-18 17:35:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstghostpad.c:
+	* gst/gstghostpad.h:
+	* win32/common/libgstreamer.def:
+	  ghostpad: remove custom function
+	  Remove custom pad functions, the default ones are better.
+
+2012-07-18 17:30:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstpad.c:
+	* gst/gstpad.h:
+	  pad: add PROXY_SCHEDULING flag
+	  Add a flag that makes the default query handler forward the scheduling query.
+
+2012-07-18 17:30:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstutils.c:
+	  utils: fix docs
+
+2012-07-18 16:20:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstpad.c:
+	* gst/gstutils.c:
+	  pad: improve query caps function
+	  In the proxy_query_caps function, also filter against the filter in the query.
+	  We don't need to filter against the filter in the query anymore in the default
+	  caps query function because we already did this in the proxy_query_caps.
+
+2012-07-18 11:17:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/design/part-framestep.txt:
+	* gst/gstsegment.c:
+	* libs/gst/base/gstbasesink.c:
+	  basesink: handle -1 step amounts
+	  Define a 0 and -1 step amount. They used to almost do the same thing but now, 0
+	  cancels/stops the current step and -1 keeps on stepping until the end of the
+	  segment.
+	  See https://bugzilla.gnome.org/show_bug.cgi?id=679378
+
+2012-07-18 12:30:59 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gstquery.c:
+	  query: fix gst_query_parse_nth_allocation_pool() annotation
+	  It returns a ref to the pool.
+
+2012-07-17 15:52:53 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* tests/check/gst/gstghostpad.c:
+	  check: Avoid deadlock
+	  Queries will be sent when pipeline goes down to NULL, which would
+	  result in the probe being called ... but can't take the lock.
+
+2012-07-17 15:50:09 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* gst/gstghostpad.c:
+	  gstghostpad: Forward queries in both direction
+	  Use the peer of the internal pad to forward them, instead of the
+	  target which only exists for the ghostpad (and not the internal
+	  proxy pad).
+
+2012-07-17 11:20:43 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* docs/gst/gstreamer-sections.txt:
+	  docs: More entries
+
+2012-07-18 09:15:51 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* plugins/elements/gstqueue.c:
+	  queue: answer SCHEDULING query
+	  Instead of letting the default query handler fail.
+
+2012-07-17 19:20:23 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* plugins/elements/gstqueue2.c:
+	  queue2: handle CAPS event and drop it if operating in ring buffer mode
+	  Fixes "Unexpected event of kind caps can't be added in temp file"
+	  warning when doing download buffering.
+
+2012-07-17 12:57:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstbuffer.c:
+	* gst/gstbuffer.h:
+	  buffer: make _foreach_meta more powerful
+	  Make _foreach_meta return FALSE when the foreach function returned FALSE.
+
+2012-07-17 12:52:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstbufferlist.c:
+	* gst/gstbufferlist.h:
+	  bufferlist: improve foreach function
+	  Make the foreach function return FALSE when one of the function calls returned
+	  FALSE.
+
+2012-07-17 12:50:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstbuffer.c:
+	  buffer: add more debug
+
+2012-07-17 12:40:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* libs/gst/base/gstbasesink.c:
+	  basesink: fix debug string
+
+2012-07-17 09:57:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstparse.c:
+	* gst/parse/grammar.y:
+	* gst/parse/types.h:
+	  parse: fix some debug
+
+2012-07-17 09:48:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstparse.c:
+	  parse: only escape spaces outside of quotes
+	  When we escape spaces to keep arguments together, only escape when the space is
+	  outside a "" string.
+	  See https://bugzilla.gnome.org/show_bug.cgi?id=673319
+
+2012-07-17 09:44:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstparse.c:
+	  Revert "parse: escape \ with a \ as well, so that we don't lose the \ when unescaping"
+	  This reverts commit dd9fedb41f1ada8e1f8bd5346fccd3d068d543cb.
+	  This is not the right place to escape the \, we should only escape the spaces to
+	  keep the arguments together that were provided as one group (with quotes on the
+	  shell).
+
+2012-07-10 12:27:11 -0700  Evan Nemerson <evan@coeus-group.com>
+
+	* gst/gstutils.c:
+	  utils: set return type of gst_parse_bin_* to GstBin for introspection
+
+2012-06-30 12:33:43 -0700  Evan Nemerson <evan@coeus-group.com>
+
+	* libs/gst/net/gstnettimepacket.c:
+	  nettimepacket: add missing array annotation to gst_net_time_packet_new
+
+2012-06-29 17:33:49 -0700  Evan Nemerson <evan@coeus-group.com>
+
+	* gst/gstformat.c:
+	  introspection: add missing array annotation to gst_formats_contains
+
+2012-07-16 20:54:17 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/gstbin.c:
+	* tests/check/gst/gstbin.c:
+	  bin: aggregate durations like in adder
+	  Stop querying the duration once an element return unknown and return unknown
+	  as a final result. This avoid eventually cutting off a stream too early.
+	  Add a tests to docuement the behavior.
+
+2012-07-16 00:24:46 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gstdatetime.c:
+	  datetime: just return NULL on short input strings instead of a warning
+	  We want to be able to use this function on random non-NULL input,
+	  this should not result in a runtime-critical.
+
+2012-07-15 12:59:44 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: fix seekability querying with formats with headers like FLAC
+	  Move code that checks for upstream seekability and all that to
+	  the right place, otherwise it will never be done for formats
+	  that have headers such as FLAC, as handle_and_push frame will
+	  be called the first time only after headers have been processed
+	  (and framecount is > 0). This then makes us report that we
+	  can't seek, which disables the seek bar in totem.
+
+2012-07-14 20:33:30 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* plugins/elements/gstdataqueue.c:
+	* plugins/elements/gstdataqueue.h:
+	  plugins: embed GstAueueArray in dataqueue struct as well
+
+2012-07-14 20:28:54 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* plugins/elements/gstelements.c:
+	  plugins: don't use one-time array in plugin_init
+
+2012-07-14 20:26:04 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* plugins/elements/gstqueue.c:
+	* plugins/elements/gstqueue.h:
+	  queue: embed GstQueueArray structure
+
+2012-07-14 20:00:30 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* plugins/elements/gstcapsfilter.h:
+	* plugins/elements/gstfakesink.h:
+	* plugins/elements/gstfakesrc.h:
+	* plugins/elements/gstfdsink.h:
+	* plugins/elements/gstfdsrc.h:
+	* plugins/elements/gstfilesink.h:
+	* plugins/elements/gstfilesrc.h:
+	* plugins/elements/gstfunnel.h:
+	* plugins/elements/gstidentity.h:
+	* plugins/elements/gstinputselector.h:
+	* plugins/elements/gstmultiqueue.h:
+	* plugins/elements/gstoutputselector.h:
+	* plugins/elements/gstqueue.h:
+	* plugins/elements/gstqueue2.h:
+	* plugins/elements/gstqueuearray.h:
+	* plugins/elements/gsttee.h:
+	* plugins/elements/gsttypefindelement.h:
+	* plugins/elements/gstvalve.h:
+	  plugins: sprinkle some more G_GNUC_INTERNAL
+
+2012-07-14 19:38:39 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* plugins/elements/gstqueuearray.c:
+	* plugins/elements/gstqueuearray.h:
+	  plugins: add init/clear functions to GstQueueArray
+
+2012-07-14 19:24:57 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* libs/gst/base/Makefile.am:
+	* libs/gst/base/gstqueuearray.c:
+	* libs/gst/base/gstqueuearray.h:
+	* plugins/elements/Makefile.am:
+	* plugins/elements/gstdataqueue.h:
+	* plugins/elements/gstqueue.h:
+	* plugins/elements/gstqueuearray.c:
+	* plugins/elements/gstqueuearray.h:
+	* tests/check/libs/queuearray.c:
+	* win32/common/libgstbase.def:
+	  base: make GstQueueArray private to coreelements for now
+	  Keep it private until we have a reason to make it public.
+
+2012-07-14 19:08:24 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gsttaglist.c:
+	  taglist: check value type matches tag type when adding values to a taglist
+
+2012-07-14 18:52:50 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gstinfo.c:
+	  info: make taglists and datetime loggable via GST_PTR_FORMAT
+
+2012-07-13 12:05:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: send seek event upstream first
+	  First try to let upstream handle the seek event, then fail if the event is
+	  something we don't understand.
+
+2012-07-13 09:43:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* tests/check/gst/gstpad.c:
+	  pad: fix test raciness
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679506
+
+2012-07-12 13:17:51 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* scripts/gst-uninstalled:
+	  gst-uninstalled: fix gst-ffmpeg plugin path again
+
+2012-07-12 12:09:13 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* scripts/gst-uninstalled:
+	  gst-uninstalled: add clutter-gst and refine plugin search paths
+
+2012-07-12 00:34:22 +1000  Jan Schmidt <thaytan@noraisin.net>
+
+	* gst/gstpad.c:
+	  gstpad: Move sticky flag clearing code to gst_pad_activate_mode
+	  The ghostpad code directly activates/deactivates the child code by
+	  calling gst_pad_activate_mode, rather than gst_pad_set_active, so
+	  make sure to clear the flags in gst_pad_activate_mode(), which should
+	  catch all cases.
+
+2012-07-11 12:40:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstevent.c:
+	  event: improve annotation
+
+2012-07-11 12:37:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* libs/gst/base/gstbasesink.c:
+	  basesink: handle step end correctly
+	  when we have a new step event with a -1 amount, make sure that we follow the
+	  regular code path so that the stop_end handler is called as usual. This takes
+	  care of flushing the buffer in case of a flushing step and also posts a step end
+	  message.
+	  See https://bugzilla.gnome.org/show_bug.cgi?id=679378
+
+2012-07-11 13:14:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* win32/common/libgstbase.def:
+	* win32/common/libgstnet.def:
+	  win32: Fix exported symbols list for real now
+
+2012-07-11 11:21:18 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/gstsegment.c:
+	  segment: remove removed api from the docs.
+
+2012-07-11 12:46:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* win32/common/libgstbase.def:
+	* win32/common/libgstnet.def:
+	* win32/common/libgstreamer.def:
+	  win32: Updated exported symbols list
+
+2012-07-11 12:45:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gsttoc.c:
+	* gst/gsttoc.h:
+	  toc: Add functions to retrieve the parent GstToc/GstTocEntry of a GstTocEntry
+
+2012-07-10 18:15:20 +0300  Anton Belka <antonbelka@gmail.com>
+
+	* gst/gsttoc.c:
+	  toc: Fix gst_toc_find_entry()
+	  Recursive search for the required entry, instead of returning the
+	  top-level entry that contains an entry with the search UID.
+
+2012-07-11 10:26:13 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: Push STREAM_START in pull-mode
+
+2012-07-11 10:24:51 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* gst/gststructure.c:
+	  structure: Demote WARNING to DEBUG
+	  It is not an issue to get fields that don't exist, calling code should
+	  handle that.
+
+2012-07-10 11:46:41 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* gst/gst.c:
+	* gst/gstatomicqueue.c:
+	* gst/gstatomicqueue.h:
+	* gst/gstbin.c:
+	* gst/gstbin.h:
+	* gst/gstbuffer.h:
+	* gst/gstbufferlist.c:
+	* gst/gstbufferlist.h:
+	* gst/gstbus.c:
+	* gst/gstcaps.c:
+	* gst/gstcaps.h:
+	* gst/gstclock.c:
+	* gst/gstclock.h:
+	* gst/gstconfig.h.in:
+	* gst/gstdatetime.c:
+	* gst/gstdebugutils.h:
+	* gst/gstelement.c:
+	* gst/gstelement.h:
+	* gst/gstelementfactory.c:
+	* gst/gstelementfactory.h:
+	* gst/gsterror.h:
+	* gst/gstevent.c:
+	* gst/gstevent.h:
+	* gst/gstghostpad.c:
+	* gst/gstinfo.c:
+	* gst/gstinfo.h:
+	* gst/gstiterator.c:
+	* gst/gstmessage.c:
+	* gst/gstmessage.h:
+	* gst/gstminiobject.c:
+	* gst/gstpad.c:
+	* gst/gstpad.h:
+	* gst/gstpadtemplate.c:
+	* gst/gstparamspecs.c:
+	* gst/gstparamspecs.h:
+	* gst/gstparse.c:
+	* gst/gstparse.h:
+	* gst/gstpipeline.c:
+	* gst/gstplugin.c:
+	* gst/gstplugin.h:
+	* gst/gstpluginfeature.c:
+	* gst/gstpluginfeature.h:
+	* gst/gstpoll.c:
+	* gst/gstpoll.h:
+	* gst/gstpreset.c:
+	* gst/gstquery.c:
+	* gst/gstquery.h:
+	* gst/gstregistry.c:
+	* gst/gstsample.c:
+	* gst/gstsegment.c:
+	* gst/gstsegment.h:
+	* gst/gststructure.c:
+	* gst/gsttaglist.c:
+	* gst/gsttaglist.h:
+	* gst/gsttagsetter.c:
+	* gst/gsttask.c:
+	* gst/gsttaskpool.c:
+	* gst/gsttaskpool.h:
+	* gst/gsttoc.c:
+	* gst/gsttocsetter.c:
+	* gst/gsttrace.h:
+	* gst/gsttypefind.c:
+	* gst/gsttypefind.h:
+	* gst/gsttypefindfactory.c:
+	* gst/gsturi.c:
+	* gst/gstutils.c:
+	* gst/gstutils.h:
+	* gst/gstvalue.c:
+	* gst/gstvalue.h:
+	* gst/gstversion.h.in:
+	* libs/gst/base/gstadapter.c:
+	* libs/gst/base/gstbaseparse.c:
+	* libs/gst/base/gstbaseparse.h:
+	* libs/gst/base/gstbasesink.c:
+	* libs/gst/base/gstbasesink.h:
+	* libs/gst/base/gstbasesrc.c:
+	* libs/gst/base/gstbasesrc.h:
+	* libs/gst/base/gstbasetransform.c:
+	* libs/gst/base/gstbasetransform.h:
+	* libs/gst/base/gstbitreader-docs.h:
+	* libs/gst/base/gstbitreader.c:
+	* libs/gst/base/gstbitreader.h:
+	* libs/gst/base/gstbytereader-docs.h:
+	* libs/gst/base/gstbytereader.c:
+	* libs/gst/base/gstbytereader.h:
+	* libs/gst/base/gstbytewriter-docs.h:
+	* libs/gst/base/gstbytewriter.c:
+	* libs/gst/base/gstbytewriter.h:
+	* libs/gst/base/gstcollectpads.c:
+	* libs/gst/base/gstcollectpads.h:
+	* libs/gst/base/gstindex.c:
+	* libs/gst/base/gsttypefindhelper.c:
+	* libs/gst/check/gstcheck.c:
+	* libs/gst/check/gstcheck.h:
+	* libs/gst/check/gstconsistencychecker.c:
+	* libs/gst/check/gstconsistencychecker.h:
+	* plugins/elements/gstdataqueue.c:
+	* plugins/elements/gstdataqueue.h:
+	* plugins/elements/gstfakesink.c:
+	* plugins/elements/gstfakesrc.c:
+	* plugins/elements/gstfdsrc.c:
+	* plugins/elements/gstfilesink.c:
+	* plugins/elements/gstidentity.c:
+	* plugins/elements/gstinputselector.c:
+	* plugins/elements/gstmultiqueue.c:
+	* plugins/elements/gstoutputselector.c:
+	* plugins/elements/gstqueue.c:
+	* plugins/elements/gstqueue2.c:
+	* plugins/elements/gstvalve.c:
+	* plugins/elements/gstvalve.h:
+	  Remove 0.10-related documentation and "Since" markers
+
+2012-07-10 00:39:37 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* libs/gst/base/gstbasesrc.c:
+	  basesrc: provide fallback in case a create function doesn't know about provided buffers
+	  In 0.11 the caller may provide a buffer to be filled by the source to
+	  pull_range/get_range/create, but it's easy to miss this new case when
+	  porting code from 0.10. Provide fallback that copies the created data
+	  into the provided buffer for now.
+	  This makes oggdemux in pull-mode work with dataurisrc.
+
+2012-07-10 10:31:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstquery.c:
+	* gst/gstquery.h:
+	* libs/gst/base/gstbasetransform.c:
+	  query: copy structure in _add_allocation_meta()
+	  Make gst_query_add_allocation_meta() take a copy of the passed caps instead of
+	  taking ownership. This makes it easier for the caller in most cases because it
+	  doesn't have to make a copy and deal with NULL values.
+
+2012-07-10 10:11:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gst.c:
+	  gst: add new flags
+
+2012-07-09 23:47:53 +0200  Matej Knopp <matej.knopp@gmail.com>
+
+	* gst/gstminiobject.c:
+	  miniobject: fix exclusive lock/unlock race
+
+2012-07-09 21:51:07 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* libs/gst/base/gstbaseparse.c:
+	* libs/gst/base/gstbasesink.c:
+	* libs/gst/base/gstbasesrc.c:
+	* plugins/elements/gsttypefindelement.c:
+	  basesrc, basesink, baseparse, typefind: use GST_SEGMENT_FLAG with segment flags
+
+2012-07-09 22:11:31 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/gstsegment.c:
+	* gst/gstsegment.h:
+	  segment: also copy the segment flag
+	  Fixes segmented seeks (as tested e.g. in the adder tests in base).
+
+2012-07-09 20:55:00 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* plugins/elements/gstdataqueue.h:
+	  plugins: sprinkle G_GNUC_INTERNAL for dataqueue functions
+	  And remove padding, since this is not public API any more.
+
+2012-07-09 20:48:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gst_private.h:
+	* gst/parse/types.h:
+	  gst: sprinkle some G_GNUC_INTERNAL for internal functions
+
+2012-07-09 20:09:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* tests/check/gst/gsttoc.c:
+	* tests/check/gst/gsttocsetter.c:
+	  tests: fix toc unit tests
+	  Meant to check subsubentry, not subentry.
+
+2012-07-09 18:58:24 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* tests/check/gst/gsttoc.c:
+	  tests: minor toc test clean-up
+
+2012-07-09 18:51:37 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* tests/check/gst/gsttoc.c:
+	* tests/check/gst/gsttocsetter.c:
+	  tests: turn toc check macros into proper functions
+	  So we can see the line number of the check that fails.
+
+2012-07-09 20:31:00 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* win32/common/libgstbase.def:
+	* win32/common/libgstnet.def:
+	* win32/common/libgstreamer.def:
+	  win32: Update defs file for API changes/addition
+
+2012-07-09 20:29:29 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* tests/check/gst/gstbin.c:
+	* tests/check/gst/gstparamspecs.c:
+	* tests/check/pipelines/cleanup.c:
+	* tests/check/pipelines/simple-launch-lines.c:
+	  check: Update tests for new STREAM_START message
+
+2012-07-09 20:28:54 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* tests/check/gst/gstbin.c:
+	  check: Ensure STREAM_START message is posted
+	  A STREAM_START message is posted if and only if all sinks in the
+	  bin/pipeline received the STREAM_START event
+
+2012-07-09 20:28:20 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* libs/gst/base/gstbasesink.c:
+	  basesink: Post a STREAM_START message when we see the event
+
+2012-07-09 20:27:44 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* gst/gstbin.c:
+	  gstbin: collect and aggregate STREAM_START messages
+	  when all sinks have posted a STREAM_START, the bin will forward a
+	  new STREAM_START message to the parent bin or application
+
+2012-07-09 20:08:15 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* gst/gstmessage.c:
+	* gst/gstmessage.h:
+	* win32/common/libgstreamer.def:
+	  gstmessage: New GST_MESSAGE_STREAM_START
+	  message counterpart to the GST_EVENT_STREAM_START event
+
+2012-07-09 19:59:33 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* tests/check/gst/gstbin.c:
+	  check: Unit test for EOS message
+	  Make sure we get the aggregated message if and only if all sinks
+	  received an EOS event
+
+2012-07-09 19:56:15 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* libs/gst/base/gstcollectpads.c:
+	  collectpads: add STREAM_START handling
+	  Use a flag to forward the first STREAM_START
+
+2012-07-09 16:20:49 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* docs/design/part-caps.txt:
+	* docs/design/part-streams.txt:
+	  docs: update stream docs for SEGMENT_START event
+
+2012-07-09 16:48:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/gst/gstreamer-sections.txt:
+	  docs: fix more docs
+
+2012-07-09 16:22:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstallocator.h:
+	  docs: fix docs a little more
+
+2012-07-09 16:02:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/Makefile.am:
+	* gst/gstallocator.c:
+	* gst/gstallocator.h:
+	* gst/gstbuffer.h:
+	* gst/gstbufferpool.c:
+	* gst/gstmemory.c:
+	* gst/gstmemory.h:
+	* gst/gstquery.c:
+	* gst/gstquery.h:
+	* libs/gst/base/gstbasesrc.c:
+	* libs/gst/base/gstbasetransform.c:
+	* tests/examples/memory/memory_test.c:
+	* tests/examples/memory/my-memory.c:
+	* tests/examples/memory/my-memory.h:
+	* tests/examples/memory/my-vidmem.c:
+	  memory: Make GstAllocator a GstObject
+	  Make GstAllocator a GstObject instead of a GstMiniObject, like bufferpool.
+	  Make a new gstallocator.c file. Make a GstAllocator subclass for the default
+	  allocator.
+
+2012-07-09 13:20:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstmemory.c:
+	  memory: remove unused macros
+
+2012-07-09 13:20:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstclock.c:
+	* tests/check/gst/gstclock.c:
+	  clock: make abstract
+	  Make the GstClock type abstract.
+	  Fix a horrible hack in the clock unit test.
+
+2012-07-09 15:37:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* plugins/elements/gstqueue.c:
+	  queue: Fix handling of min-threshold and serialized queries
+	  Only consider the queue empty if the minimum thresholds
+	  are not reached and data is at the queue head. Otherwise
+	  we would block forever on serialized queries.
+	  This also makes sending of serialized events, like caps, happen
+	  faster and potentially improves negotiation performance.
+	  Fixes bug #679458.
+
+2012-07-09 13:15:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gsttoc.c:
+	  toc: remove padding now that the structs are private
+
+2012-07-09 13:12:27 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gsttoc.c:
+	* gst/gsttoc.h:
+	* tests/check/gst/gsttoc.c:
+	  toc: add gst_toc_dump() function for debugging
+	  API: gst_toc_dump()
+
+2012-07-03 00:07:11 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gstbus.c:
+	* gst/gstclock.c:
+	* gst/gstsystemclock.c:
+	* tests/check/gst/gstpipeline.c:
+	  bus, clock: make sure these never have a floating ref
+	  Clear the initial floating ref in the init function for
+	  busses and clocks. These objects can be set on multiple
+	  elements, so there's no clear parent-child relationship
+	  here. Ideally we'd just not make them derive from
+	  GInitiallyUnowned at all, but since we want to keep
+	  using GstObject features for debugging, we'll just do
+	  it like this.
+	  This should also fix some problems with bindings, which
+	  seem to get confused when they get floating refs from
+	  non-constructor functions (or functions annotated to
+	  have a 'transfer full' return type). This works now:
+	  from gi.repository import GObject, Gst
+	  GObject.threads_init()
+	  Gst.init(None)
+	  pipeline=Gst.Pipeline()
+	  bus = pipeline.get_bus()
+	  pipeline.set_state(Gst.State.NULL)
+	  del pipeline;
+	  https://bugzilla.gnome.org/show_bug.cgi?id=679286
+	  https://bugzilla.gnome.org/show_bug.cgi?id=657202
+
+2012-07-08 20:15:33 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* tools/gst-inspect.c:
+	  inspect: suppress glib deprecations warnings for G_VALUE_ARRAY
+
+2012-07-07 23:13:20 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* tests/check/gst/gstvalue.c:
+	  tests: add more tests for datetime value serialisation/deserialisation
+	  Esp. of partial datetimes.
+
+2012-07-07 22:46:00 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gst_private.h:
+	* gst/gstvalue.c:
+	* tests/check/gst/gstvalue.c:
+	  value: use datetime serialise/deserialise functions for datetimes
+	  This re-uses existing code and makes sure we properly serialise
+	  and deserialise datetimes where not all fields are set (thus
+	  fixing some warnings when serialising such datetimes).
+
+2012-07-07 22:40:12 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gstdatetime.c:
+	  datetime: do our own serialisation so we can serialise microseconds as well
+	  We still don't do that in _to_iso8601_string() though, since
+	  this will probably mostly be used in tags, where it doesn't
+	  matter so much and the microsecond argument might not be
+	  well-received by some tag readers.
+
+2012-07-07 19:43:50 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gstdatetime.c:
+	  datetime: when deserialising parse microseconds if available
+
+2012-07-07 16:01:41 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gstdatetime.c:
+	  datetime: fix second parsing failure case when deserialising datetime
+	  When we fail to parse the number of seconds, reset the value to -1
+	  instead of passing some error value as seconds. Also, we can still
+	  try to parse timezone information.
+
+2012-07-07 15:44:57 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* tests/examples/memory/my-memory.c:
+	* tests/examples/memory/my-vidmem.c:
+	  examples: fix debug log print formats in memory examples
+
+2012-07-07 01:37:50 +0200  Sebastian Rasmussen <sebrn@axis.com>
+
+	* gst/gstinfo.c:
+	  gstinfo: Add destroy notify arguments to debug stubs
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679535
+
+2012-07-06 20:37:06 +0200  Sebastian Rasmussen <sebrn@axis.com>
+
+	* gst/gststructure.c:
+	  gststructure: Set lcopy string const exactly as glib's macro
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679534
+
+2012-07-06 17:19:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstmemory.c:
+	* gst/gstmemory.h:
+	* tests/examples/memory/my-memory.c:
+	* tests/examples/memory/my-vidmem.c:
+	  memory: expose the GstAllocation structure
+	  Expose the GstAllocation structure and provide an _init function. This makes it
+	  easier to make 'subclasses' of the allocator that contain more info.
+	  It also allows us to expose the flags on the allocator miniobject.
+	  Make a flag to note that the allocator uses a custom alloc function.
+
+2012-07-06 12:45:29 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* gst/gststructure.c:
+	  structure: Demote WARNING to INFO
+	  It is common to use gst_structure_get() to know if a field is present
+	  or not.
+
+2012-07-06 11:41:52 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* tools/gst-inspect.c:
+	  gst-inspect: Remove unused define
+
+2012-07-06 11:41:33 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* tests/check/libs/libsabi.c:
+	  check: gstcontroller.h doesn't exist anymore
+
+2012-07-06 11:40:47 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* tests/check/libs/basesrc.c:
+	  check: Use consistencycheck on basesrc
+
+2012-07-06 11:38:58 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* libs/gst/check/gstconsistencychecker.c:
+	  consistencychecker: Check for STREAM_START event
+	  Check that it is always before any serialized event.
+
+2012-07-06 10:13:28 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* plugins/elements/gsttypefindelement.c:
+	* plugins/elements/gsttypefindelement.h:
+	  typefindelement: remove unimplemented maximum property
+
+2012-07-06 10:09:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* plugins/elements/gsttee.c:
+	* plugins/elements/gsttee.h:
+	  tee: remove unimplemented has-sink-loop property
+
+2012-07-06 10:07:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* plugins/elements/gstqueue2.c:
+	  queue2: remove deprecated temp-location use, make it read-only
+
+2012-07-06 09:57:52 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* plugins/elements/gstidentity.c:
+	* plugins/elements/gstidentity.h:
+	  identity: remove deprecated check-perfect property
+	  Replaced by the more specific check-imperfect-{timestamp,offset}
+
+2012-07-06 11:49:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstquery.c:
+	* gst/gstquery.h:
+	* libs/gst/base/gstbasetransform.c:
+	* libs/gst/base/gstbasetransform.h:
+	  query: use more generic structure for meta params
+
+2012-07-06 11:22:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstquery.c:
+	* gst/gstquery.h:
+	  query: make find_allocation_meta method
+	  Make gst_query_find_allocation_meta() that also return the index of the metadata
+	  and replaces gst_query_has_allocation_meta().
+
+2012-07-06 11:00:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstquery.c:
+	* gst/gstquery.h:
+	* libs/gst/base/gstbasetransform.c:
+	* libs/gst/base/gstbasetransform.h:
+	  query: add flags to allocation query
+	  Make it possible to add API specific flags to the ALLOCATION query. This makes
+	  it possible to also check what kinds of subfeatures of the metadata API are
+	  supported.
+
+2012-07-06 09:11:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* tests/examples/memory/memory_test.c:
+	  tests: remove unused includes
+
+2012-07-05 18:07:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* tests/examples/memory/Makefile.am:
+	* tests/examples/memory/memory_test.c:
+	* tests/examples/memory/my-memory.h:
+	* tests/examples/memory/my-vidmem.c:
+	* tests/examples/memory/my-vidmem.h:
+	  memory: add more examples
+	  Add an example of a custom allocator with a custom API.
+
+2012-07-05 17:11:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstmemory.c:
+	* gst/gstmemory.h:
+	* tests/examples/memory/Makefile.am:
+	* tests/examples/memory/memory_test.c:
+	* tests/examples/memory/my-memory.c:
+	* tests/examples/memory/my-memory.h:
+	  memory: add gst_memory_init()
+	  Add a method that memory implementations can call to initialize the standard
+	  GstMemory structure.
+	  Move the parent handling in the _free handler.
+	  Rearrange some internal function parameters so that the order is consistent.
+	  Add more memory examples
+
+2012-07-05 16:17:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstminiobject.c:
+	  miniobject: fix some miniobject docs
+
+2012-07-05 14:25:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* configure.ac:
+	* tests/examples/Makefile.am:
+	* tests/examples/memory/.gitignore:
+	* tests/examples/memory/Makefile.am:
+	* tests/examples/memory/memory_test.c:
+	  tests: add memory example
+
+2012-07-05 12:25:45 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* tests/check/gst/gsttoc.c:
+	  tests: fix toc unit test build by removing toc query stuff there too
+
+2012-07-05 13:03:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstevent.c:
+	* gst/gstevent.h:
+	* gst/gstquark.c:
+	* gst/gstquark.h:
+	* libs/gst/base/gstbaseparse.c:
+	* libs/gst/base/gstbasesink.c:
+	* libs/gst/base/gstbasesrc.c:
+	* win32/common/libgstreamer.def:
+	  event: Add format and position to the segment-done event
+
+2012-07-05 12:53:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/design/part-buffer.txt:
+	* docs/design/part-memory.txt:
+	* docs/design/part-miniobject.txt:
+	  docs: update docs
+
+2012-07-05 12:17:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstminiobject.h:
+	  miniobject: increase amount of possible flags
+
+2012-07-05 12:52:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstevent.c:
+	* gst/gstevent.h:
+	* libs/gst/base/gstbaseparse.c:
+	* libs/gst/base/gstbasesink.c:
+	* libs/gst/base/gstbasesrc.c:
+	  event: Implement segment-done event
+
+2012-07-05 12:37:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* docs/design/part-toc.txt:
+	  part-toc: Remove section about TOC query
+
+2012-07-05 12:34:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* win32/common/libgstbase.def:
+	* win32/common/libgstreamer.def:
+	  win32: Update exported symbols list
+
+2012-07-05 12:31:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstquery.c:
+	* gst/gstquery.h:
+	  query: Remove the TOC query, it's not very useful now that we have sticky events
+
+2012-07-03 18:49:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* gst/gstquark.c:
+	* gst/gstquark.h:
+	  quark: Remove unneeded quarks
+
+2012-07-03 18:45:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* docs/design/part-toc.txt:
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gsttoc.c:
+	* gst/gsttoc.h:
+	* tests/check/gst/gsttoc.c:
+	* tests/check/gst/gsttocsetter.c:
+	* tools/gst-launch.c:
+	* win32/common/libgstbase.def:
+	* win32/common/libgstnet.def:
+	* win32/common/libgstreamer.def:
+	  toc: Make structures opaque and clean up function names and fields a bit
+
+2012-07-04 17:02:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstbuffer.c:
+	  buffer:fix debug category
+
+2012-07-04 16:38:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstbuffer.c:
+	* gst/gstbuffer.h:
+	* gst/gstbufferlist.c:
+	* gst/gstcaps.c:
+	* gst/gstcaps.h:
+	* gst/gstevent.c:
+	* gst/gstmemory.c:
+	* gst/gstmemory.h:
+	* gst/gstmessage.c:
+	* gst/gstminiobject.c:
+	* gst/gstminiobject.h:
+	* gst/gstquery.c:
+	* gst/gstsample.c:
+	* gst/gsttaglist.c:
+	* gst/gsttoc.c:
+	* tests/check/gst/gstmemory.c:
+	* win32/common/libgstreamer.def:
+	  miniobject: add lock functionality to GstMiniObject
+	  Move the locking methods from GstMemory to GstMiniObject.
+	  Add a miniobject flag to enable LOCKABLE objects. LOCKABLE objects can
+	  use the lock/unlock API to control the access to the object.
+	  Add a minobject flag that allows you to lock an object in readonly mode.
+	  Modify the _is_writable() method to check the shared counter for LOCKABLE
+	  objects. This allows us to control writability separately from the refcount for
+	  LOCKABLE objects.
+
+2012-07-04 16:04:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gst_private.h:
+	* gst/gstinfo.c:
+	  info: add new locking debug category
+
+2012-07-04 12:28:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstmemory.c:
+	  memory: fix is_exclusive
+
+2012-07-04 12:03:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstmemory.h:
+	  memory: add LOCK_FLAG_READWRITE define
+
+2012-07-04 11:48:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/design/part-memory.txt:
+	  memory: update docs
+
+2012-07-04 10:12:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstmemory.c:
+	  memory: small cleanup
+
+2012-07-03 13:50:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gst.c:
+	* win32/common/libgstreamer.def:
+	  update for new symbols
+
+2012-07-03 13:47:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstmemory.c:
+	  memory: Fix the NO_SHARE flag in the constructor
+	  The NO_SHARE flag does not influence the exclusiveness of the buffer initially
+	  but only if a _share operation can be done. Otherwise, we would not be able to
+	  WRITE map a buffer memory because it would have a share count of at least 2.
+
+2012-07-03 13:47:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstmemory.c:
+	  memory: only check the locking refcount
+
+2012-07-03 13:46:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstbuffer.c:
+	  buffer: fix resize
+	  Correctly update the exclusive locks
+
+2012-07-03 13:45:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstmemory.h:
+	  memory: Use lock flags for map flags
+	  We implement the locking in gst_memory_map with the lock flags, make matching
+	  flags the same number so that we can use the map flags directly as lock flags.
+
+2012-07-03 12:18:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstbuffer.c:
+	  buffer: lock memory EXCLUSIVE
+	  lock the memory that the buffer references as EXCLUSIVE. This makes sure that
+	  when we share the memory with other buffers that it becomes unwritable.
+
+2012-07-03 12:16:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstmemory.c:
+	  memory: cleanup the locking code
+	  cleanup and fix the locking code
+
+2012-07-03 09:48:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/design/part-memory.txt:
+	* gst/gstmemory.c:
+	* gst/gstmemory.h:
+	  memory: expose the internal locking api
+	  Expose the internally used methods for locking and unlocking the object. Pass
+	  the access mode to the unlock function for extra checks and because we need it
+	  for the EXCLUSIVE locks.
+	  Make some new defines to specify the desired locking.
+	  Add a new EXCLUSIVE lock mode which will increment the shared counter. Objects
+	  with a shared counter > 1 will not be lockable in WRITE mode.
+
+2012-06-29 16:37:05 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* tests/check/gst/gstbuffer.c:
+	  tests: gstbuffer: extend buffer copy test
+	  ... to check for independence of copied buffer.
+
+2012-07-04 18:32:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gstregistry.c:
+	  registry: remove outdated bits of warning message
+	  I think we can be reasonable sure people are using an up-to-date
+	  gst-uninstalled script now.
+
+2012-07-04 18:16:23 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gstpluginloader.c:
+	* gst/gstregistry.c:
+	  Add versioned variants of some environment variables
+	  Improve parallel installability in setups like jhbuild by
+	  providing versioned variants of some environment variables:
+	  GST_REGISTRY_1_0
+	  GST_PLUGIN_PATH_1_0
+	  GST_PLUGIN_SYSTEM_PATH_1_0
+	  GST_PLUGIN_SCANNER_1_0
+	  will now be checked before checking the unversioned ones.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=679407
+
+2012-07-04 17:55:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gstsample.h:
+	  docs: fix typo in GstSample docs
+
+2012-07-04 17:36:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gsturi.c:
+	* tests/check/gst/gsturi.c:
+	  uri: there are valid URI protocols with only two letters, like fd://
+	  We added a minimum length of three letters originally so we would
+	  fail to recognise DOS/Windows-style filenames as valid URIs (as we
+	  should). Two should be just fine as well.
+
+2010-10-13 13:36:08 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* win32/common/libgstbase.def:
+	  win32: API additions
+
+2009-09-29 09:54:24 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* plugins/elements/gstdataqueue.c:
+	* plugins/elements/gstdataqueue.h:
+	  dataqueue: Use GstQueueArray
+
+2009-09-28 17:31:49 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* plugins/elements/gstqueue.c:
+	* plugins/elements/gstqueue.h:
+	  queue: Use new GstQueueArray for local storage.
+	  Makes _chain() and _loop() 25% faster
+
+2009-09-29 09:06:13 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/libs/queuearray.c:
+	  check: New unit test for GstQueueArray
+
+2009-09-28 17:30:04 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* libs/gst/base/Makefile.am:
+	* libs/gst/base/gstqueuearray.c:
+	* libs/gst/base/gstqueuearray.h:
+	* win32/common/libgstbase.def:
+	  libs: New growing-only queue.
+	  This is a queue which has the same API as GQueue, except that:
+	  * It uses an array, instead of a doubled-linked-list
+	  * The array can only grow.
+	  This code is not-threadsafe. It is up to the owner to make sure the
+	  proper locking is taken before calling this API.
+
+2012-07-04 16:16:04 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* docs/design/part-segments.txt:
+	* gst/gstsegment.c:
+	* gst/gstsegment.h:
+	  segment: make sure we don't have unmapped seek flags littering out segment flags
+	  Make GstSeekFlag to GstSegmentFlag conversion explicit, and
+	  set only those seek flags in the segment flags which are
+	  mapped. This makes sure we don't have extraneous flags
+	  littering our segment flag field, which also fixes the
+	  debug printing/serialisation of segment events in the
+	  debug log.
+
+2012-07-04 10:24:11 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* docs/random/porting-to-0.11.txt:
+	  docs: minor porting-to-0.11.txt update
+
+2012-07-04 10:23:06 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* tests/check/gst/gstdatetime.c:
+	  tests: make checks for from/to_g_date_time() actually work properly
+
+2012-06-29 21:52:47 -0400  Joshua M. Doe <josh@joshdoe.com>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstdatetime.c:
+	* gst/gstdatetime.h:
+	* tests/check/gst/gstdatetime.c:
+	* win32/common/libgstreamer.def:
+	  datetime: add conversion to/from GDateTime
+	  Exposes existing constructor.
+	  API: gst_date_time_to_g_date_time()
+	  API: gst_date_time_new_from_g_date_time()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=679080
+
+2012-07-04 08:52:08 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstutils.c:
+	* gst/gstutils.h:
+	* win32/common/libgstreamer.def:
+	  utils: remove unused gst_print_* functions
+
+2012-07-03 22:24:22 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gstpad.c:
+	  pads: no need to deactivate pads that are already in PAD_MODE_NONE
+
+2012-07-03 22:20:40 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gstbin.c:
+	* gst/gstelement.c:
+	* gst/gstpad.c:
+	  pads: make pad activation debug logs a bit more readable
+
+2012-07-03 19:15:25 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* tests/check/elements/fakesrc.c:
+	  tests: add unit test for element re-use using fakesrc
+
+2012-07-03 19:04:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gstpad.c:
+	  pad: clear EOS flag when deactivating pads fixing element re-use
+
+2012-07-03 17:25:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* libs/gst/base/gstbasesink.c:
+	  basesink: Post TOC messages on the bus in the sinks, similar to tags
+
+2012-07-03 12:38:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstbuffer.c:
+	  buffer: fix the _get_mapped function
+	  Fix the internal _get_mapped function. gst_memory_make_mapped() takes ownership
+	  of the memory so we need to keep an additional ref until we are done.
+
+2012-07-03 12:23:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstbuffer.c:
+	  buffer: add more debug log
+
+2012-07-03 10:02:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* gst/gstevent.h:
+	  event: The GAP event is (partially) implemented now, STREAM_CONFIG isn't
+
+2012-06-28 16:42:08 +0800  Chun-wei Fan <fanchunwei@src.gnome.org>
+
+	* libs/gst/controller/gstargbcontrolbinding.c:
+	* libs/gst/controller/gstdirectcontrolbinding.c:
+	  controlbindings: include gst/math-compat.h for isnan()
+	  Due to the usage of isnan(), where an implementation is added into
+	  gst/math-compat.h. Fixes build on Visual C++.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=679112
+
+2012-06-29 16:52:31 +0800  Chun-wei Fan <fanchunwei@src.gnome.org>
+
+	* gst/math-compat.h:
+	  math-compat.h: add implementation for isnan() for Visual C++
+	  Visual C++ does not have isnan(), so add fallback to
+	  math-compat.h (could use _isnan() in this case, but
+	  this makes it work for all cases where isnan is missing).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=679112
+
+2012-06-29 10:56:34 +0800  Chun-wei Fan <fanchunwei@src.gnome.org>
+
+	* plugins/elements/gstfdsink.c:
+	  fdsink.c: fix G_OS_WIN32 #ifdef
+	  Postpone the #ifdef to a point after glib.h (via gstfdsink.h) is included
+	  so that the needed defines and header includes can be done correctly,
+	  especially on Visual C++ builds.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=679112
+
+2012-05-27 23:09:43 +0300  Raimo Järvi <raimo.jarvi@gmail.com>
+
+	* tests/check/gst/gstdatetime.c:
+	  tests: fix build of datetime unit test in Windows
+	  Also include config.h for all the #ifdef HAVE_XYZ.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=676935
+
+2012-06-29 11:19:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstobject.c:
+	  gstobject: don't use g_strdup_value_contents()
+	  g_strdup_value_contents() does some extra escaping, preventing us from using the
+	  output on the console to be used directly.
+
+2012-06-28 14:41:43 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* docs/gst/running.xml:
+	  docs: expand a bit more on GST_DEBUG docs
+
+2012-06-28 11:02:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstbuffer.c:
+	* gst/gstbuffer.h:
+	* win32/common/libgstreamer.def:
+	  buffer: add _append_region function
+	  Make a gst_buffer_append_region() function that allows you to append a memory
+	  region from one buffer to another. This is a more general version of
+	  gst_buffer_append().
+
+2012-06-28 09:36:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* libs/gst/base/gstbasesrc.c:
+	  basesrc: handle DTS and PTS
+	  Use DTS and PTS of the subclass.
+	  Calculate PTS from DTS on keyframes.
+
+2012-06-27 23:01:13 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* tests/check/gst/gstdatetime.c:
+	  tests: test datetime deserialisation a bit more
+
+2012-06-27 23:00:08 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gstdatetime.c:
+	  datetime: ignore 0 days or months in dates
+	  Handle 0 months or days correctly in date strings, so that
+	  2012-06-00 is parsed the same as 2012-06, for example.
+
+2012-01-01 16:38:08 +0100  Idar Tollefsen <itollefs@cisco.com>
+
+	* configure.ac:
+	* m4/check-checks.m4:
+	  build: Make sure AC_INCLUDES_DEFAULT is used
+	  Without using AC_INCLUDES_DEFAULT explicitly,
+	  certain platforms will complain that the header
+	  was found, but not usable by the compiler.
+	  This happens for instance on Solaris where certain
+	  headers are needed to pull in proper defines.
+	  Also upgrade to newer autoconf syntax and use proper quoting.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=667293
+
+2012-06-27 20:52:52 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* tests/check/gst/gstbin.c:
+	  tests: fix bus leak in GstBin test_state_change_skip test
+	  Still not valgrind clean though.
+
+2012-06-27 19:59:29 +0100  Christophe Fergeau <teuf@gnome.org>
+
+	* gst/gstparse.c:
+	  parse: escape \ with a \ as well, so that we don't lose the \ when unescaping
+	  If we have a file called Foo\Bar.ogg, there is no way to pass
+	  that filename properly to filesrc in gst_parse_launch(), since
+	  gst_parse_unescape() will just unescape \x to x.
+	  Not cherry-picking this into 0.10 since there are apparently
+	  apps that work around this problem and which would break if
+	  we fixed it there too.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=673319
+
+2012-06-27 16:37:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gstelementfactory.h:
+	  elementfactory: annotate some of the type defines for g-i
+	  Type is not picked up yet though, and we still need
+	  to annotate values for the 'simple' defines.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=677925
+
+2012-06-27 14:48:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gstclock.h:
+	  clock: annotate GST_CLOCK_TIME_NONE with its value for g-i
+	  The value now gets picked up, but it still thinks the type
+	  is a 'gint'.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=678928
+
+2012-06-27 13:19:23 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* tests/check/gst/gstdatetime.c:
+	  tests: add some datetime serialisation/deserialisation tests
+	  https://bugzilla.gnome.org/show_bug.cgi?id=678031
+
+2012-06-27 13:16:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gst_private.h:
+	* gst/gstdatetime.c:
+	* gst/gstvalue.c:
+	  datetime: fix compare function
+	  Take into account that not all fields might be valid (though they
+	  are valid in the GDateTime structure). But we should just return
+	  unordered if the set fields don't match. Also, don't check
+	  microseconds when comparing datetimes, since we don't serialise
+	  those by default if they're available. This ensures date times are
+	  still regarded as equal after serialising+deserialising.
+
+2012-06-18 08:06:49 +0200  Oleksij Rempel <bug-track@fisher-privat.net>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstdatetime.c:
+	* gst/gstdatetime.h:
+	* win32/common/libgstreamer.def:
+	  datetime: add serialisation to and deserialisation from ISO 8601 strings
+	  Some tag parsers and writers use same datetime format based on ISO 8601.
+	  We can reduce some code by creating some general functions for it.
+	  API: gst_date_time_to_iso8601_string()
+	  API: gst_date_time_new_from_iso8601_string()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=678031
+
+2012-06-07 11:30:48 +0100  Lionel Landwerlin <llandwerlin@gmail.com>
+
+	* Makefile.am:
+	* configure.ac:
+	* tests/Makefile.am:
+	  configure: add --disable-tools and --disable-benchmarks options
+	  Add option to avoid build binaries. When building for platforms like
+	  android, you might want to not link any "final" binary, mostly because
+	  it requires special link flags or other parts of code that aren't
+	  in the C library.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=677621
+
+2012-06-26 20:41:18 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gst_private.h:
+	* gst/gstevent.c:
+	* gst/gstmessage.c:
+	* gst/gstquark.c:
+	* gst/gstquark.h:
+	* gst/gstquery.c:
+	* gst/gsttoc.c:
+	* tests/check/gst/gsttoc.c:
+	  toc: put toc directly into event/message/query structure
+	  Now that TOCs are refcounted and have a GType, we can just
+	  stuff a ref of the TOC directly into the various toc
+	  event/message/query structures and get rid of lots of
+	  cracktastic GstStructure <-> GstToc serialisation and
+	  deserialisation code. We lose some TOC sanity checking
+	  in the process, but that should really be done when
+	  it's being created anyway.
+
+2012-06-26 18:22:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gstbus.c:
+	  Revert "bus: skip gst_bus_create_watch as GSource is not introspectable"
+	  This reverts commit 930e36a89bc5c2a0f2e4ab7a73bfa630c1e0336a.
+	  This shouldn't have been pushed, since GSource is now handled
+	  (https://bugzilla.gnome.org/show_bug.cgi?id=657725)
+
+2011-08-29 13:57:03 -0300  Johan Dahlin <johan@gnome.org>
+
+	* gst/gstbus.c:
+	  bus: skip gst_bus_create_watch as GSource is not introspectable
+	  https://bugzilla.gnome.org/show_bug.cgi?id=657640
+
+2012-06-26 17:35:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* docs/random/porting-to-0.11.txt:
+	  docs: some more additions to the porting-to-0.11 guide
+
+2012-06-26 17:27:31 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* tools/gst-inspect.c:
+	* tools/gst-launch.c:
+	* tools/gst-typefind.c:
+	* tools/tools.h:
+	  tools: minor clean-up
+	  Get rid of superfluous argument.
+
+2012-06-26 17:04:01 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* tools/gst-inspect.c:
+	* tools/gst-launch.c:
+	* tools/gst-typefind.c:
+	* tools/tools.h:
+	  tools: remove useless g_set_prgname() wrapper
+
+2012-06-26 16:55:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* tools/gst-launch.c:
+	  tools: point people to right binary when a crash happens
+	  "gst-launch" is the 0.10 wrapper script, using that with
+	  gdb is not going to yield great results.
+
+2012-06-26 16:42:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* configure.ac:
+	  configure: bump GLib requirement to now-released stable version
+
+2012-06-26 16:42:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* plugins/elements/gstinputselector.c:
+	  inputselector: remove some dead code for old GLib versions
+
+2012-06-25 23:17:32 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gsttoc.c:
+	* gst/gsttoc.h:
+	* win32/common/libgstreamer.def:
+	  toc: add more entry types
+	  Make entry types less abstract.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=678742
+
+2012-06-17 12:48:04 +1000  Jan Schmidt <thaytan@noraisin.net>
+
+	* docs/random/porting-to-0.11.txt:
+	  a couple of notes for the 0.11 porting guide
+
+2012-06-26 09:51:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstminiobject.c:
+	* gst/gstminiobject.h:
+	* win32/common/libgstreamer.def:
+	  miniobject: add steal_qdata
+	  Rework the qdata code a little
+
+2012-06-25 19:52:44 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gsttocsetter.c:
+	* gst/gsttocsetter.h:
+	* tests/check/gst/gsttocsetter.c:
+	* win32/common/libgstreamer.def:
+	  tocsetter: clean up and update API for refcounted TOCs
+	  Let's keep it simple for now:
+	  gst_toc_setter_reset_toc() -> gst_toc_setter_reset()
+	  gst_toc_setter_get_toc_copy() -> removed
+	  gst_toc_setter_get_toc() -> returns a ref now
+	  gst_toc_setter_get_toc_entry_copy() -> removed,
+	  use TOC functions instead
+	  gst_toc_setter_get_toc_entry() -> removed,
+	  use TOC functions instead
+	  gst_toc_setter_add_toc_entry() -> removed,
+	  to avoid problems with (refcount-dependent)
+	  writability of TOC; use TOC functions instead
+
+2012-06-25 09:32:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstmemory.h:
+	  memory: improve docs
+	  Mention that custom allocator functions can pass whatever they want to the
+	  user_data.
+
+2012-04-06 18:00:33 +0400  Alexander Saprykin <xelfium@gmail.com>
+
+	* gst/gsttagsetter.c:
+	  tagsetter: use G_DEFINE_INTERFACE_* macro
+	  https://bugzilla.gnome.org/show_bug.cgi?id=673641
+
+2012-04-06 17:59:35 +0400  Alexander Saprykin <xelfium@gmail.com>
+
+	* gst/gsttocsetter.c:
+	* gst/gsttocsetter.h:
+	  tocsetter: use G_DEFINE_INTERFACE_* macro
+	  https://bugzilla.gnome.org/show_bug.cgi?id=673641
+
+2012-06-25 00:10:53 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* docs/design/part-toc.txt:
+	  docs: update design docs for TOC API changes too
+
+2012-06-24 20:10:34 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gsttocsetter.c:
+	* tests/check/gst/gsttoc.c:
+	* tests/check/gst/gsttocsetter.c:
+	* tools/gst-launch.c:
+	  tocsetter, gst-launch, tests: update for GstToc API changes
+
+2012-06-24 20:08:33 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gsttoc.c:
+	* gst/gsttoc.h:
+	* win32/common/libgstreamer.def:
+	  toc: make GstToc and GstTocEntry mini objects
+	  Because we can, and in order to make them refcounted.
+
+2012-06-23 21:42:58 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gsttaglist.c:
+	  taglist: fix confusing log message
+
+2012-06-23 21:35:33 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gstvalue.c:
+	  value: fix int64 - int64 range intersection on big endian systems
+	  Works better if we use the v_int64 field of the GValue instead of v_int.
+
+2012-06-23 19:56:12 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gstbuffer.c:
+	* gst/gstbufferlist.c:
+	* gst/gstcaps.c:
+	* gst/gstevent.c:
+	* gst/gstmemory.c:
+	* gst/gstmessage.c:
+	* gst/gstminiobject.c:
+	* gst/gstminiobject.h:
+	* gst/gstquery.c:
+	* gst/gstsample.c:
+	* gst/gsttaglist.c:
+	  miniobjects: pass copy, dispose and free function to gst_mini_object_init()
+	  So mini objects don't have to poke into the GstMiniObject part
+	  of the structure. Saves lines of code, and seems slightly cleaner.
+	  We don't have proper OO hierarchies or methods here after all.
+
+2012-06-23 17:05:05 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gsttaglist.c:
+	  taglist: remove some outdated FIXMEs and comments
+
+2012-06-23 17:04:53 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gstsample.c:
+	  sample: some more g-i annotations
+
+2012-06-23 16:59:10 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gstvalue.c:
+	* tests/check/gst/gsttag.c:
+	  sample: add compare function for GstSample
+	  Should make gst_tag_list_is_equal() work properly with image tags.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=672637
+
+2012-06-23 16:30:03 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gstvalue.c:
+	  value: fix buffer compare function
+
+2012-06-23 14:41:50 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* tests/check/gst/gsturi.c:
+	  tests: add unit test for gst_element_make_from_uri()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=645467
+
+2012-06-23 14:41:17 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/parse/grammar.y:
+	  parse: update for gst_element_make_from_uri() change
+
+2012-06-23 14:40:17 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/gsturi.c:
+	* gst/gsturi.h:
+	  uri: add error argument to gst_element_make_from_uri()
+	  So callers can differentiate between there not being a
+	  handler for the protocol, and them not accepting the URI
+	  for some reason.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=645467
+
+2012-06-23 12:37:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gstmemory.h:
+	  memory: annotate GstMapInfo data as array for g-i
+
+2012-06-20 12:53:04 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* tools/gst-launch.c:
+	  tools: remove pointless get_state() in gst-launch
+	  State changes to NULL state are always sync.
+
+2012-06-21 01:28:43 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+	* plugins/elements/gstinputselector.c:
+	  inputselector: avoid notify-tags holding lock
+	  unlock before issuing this notification to prevent
+	  deadlocks when other elements reacts to new tags.
+	  Fixes #678220
+
+2012-06-18 16:54:29 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+	* scripts/gst-uninstalled:
+	  gst-uninstalled: add gst-p-bad gst-libs to the path
+	  Makes videoparsers and camerabins from bad usable from an uninstalled
+	  environment at osx
+
+2012-06-20 13:28:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstinfo.c:
+	* gst/gstinfo.h:
+	* tests/check/gst/gstinfo.c:
+	  info: add destroy notify to gst_debug_add_log_function()
+
+2012-06-20 13:27:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstpad.c:
+	  pad: improve introspection annotation
+
+2012-06-20 12:29:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstbin.c:
+	* gst/gstbus.c:
+	* gst/gstbus.h:
+	* tests/check/generic/sinks.c:
+	* tests/check/gst/gstbin.c:
+	* tests/examples/streams/rtpool-test.c:
+	* tests/examples/streams/stream-status.c:
+	* tools/gst-launch.c:
+	  bus: add GDestroyNotify to set_sync_handler()
+
+2012-06-20 12:06:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* win32/common/libgstreamer.def:
+	  defs: update
+
+2012-06-20 11:59:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstpad.c:
+	* gst/gsttask.c:
+	* gst/gsttask.h:
+	  task: add separate methods to add enter/leave callback
+	  Remove the structure of callbacks and replace with separate methods to register
+	  each callback. This is much more binding friendly.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677898
+
+2012-06-20 10:31:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstpad.c:
+	* gst/gstpad.h:
+	* gst/gsttask.c:
+	* gst/gsttask.h:
+	* libs/gst/base/gstbaseparse.c:
+	* libs/gst/base/gstbasesink.c:
+	* libs/gst/base/gstbasesrc.c:
+	* plugins/elements/gstmultiqueue.c:
+	* plugins/elements/gstqueue.c:
+	* plugins/elements/gstqueue2.c:
+	* plugins/elements/gsttypefindelement.c:
+	* tests/check/gst/gstmessage.c:
+	* tests/check/gst/gsttask.c:
+	  task: add GDestroyNotify to _new
+	  Add a GDestroyNotify to the user_data we pass to gst_task_new()
+	  Change gst_pad_start_task() to also take the notify
+
+2012-06-20 09:58:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/random/porting-to-0.11.txt:
+	* gst/gstclock.c:
+	* gst/gstclock.h:
+	* gst/gstmeta.c:
+	* tests/check/gst/gstsystemclock.c:
+	* win32/common/libgstnet.def:
+	* win32/common/libgstreamer.def:
+	  clock: remove _full version
+	  Rename gst_clock_id_wait_async_full() to gst_clock_id_wait_async()
+	  and remove the old gst_clock_id_wait_async() version.
+
+2012-06-20 09:22:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* libs/gst/net/gstnettimepacket.c:
+	* libs/gst/net/gstnettimepacket.h:
+	  nettimepacket: make boxed
+
+2012-06-19 19:55:30 -0700  Evan Nemerson <evan@coeus-group.com>
+
+	* libs/gst/net/gstnettimepacket.c:
+	  net: fix some argument names in documentation
+
+2012-06-19 19:55:02 -0700  Evan Nemerson <evan@coeus-group.com>
+
+	* libs/gst/controller/gstdirectcontrolbinding.c:
+	* libs/gst/controller/gstlfocontrolsource.c:
+	* libs/gst/controller/gsttimedvaluecontrolsource.h:
+	  controller: assorted minor introspection fixes
+
+2012-06-19 19:53:54 -0700  Evan Nemerson <evan@coeus-group.com>
+
+	* libs/gst/check/gstcheck.c:
+	  check: add some missing documentation, including annotations
+
+2012-06-19 18:41:04 -0700  Evan Nemerson <evan@coeus-group.com>
+
+	* libs/gst/base/gstbitreader.c:
+	* libs/gst/base/gstbitreader.h:
+	* libs/gst/base/gstbytereader.h:
+	* libs/gst/base/gstbytewriter.c:
+	  base: add some missing introspection annotations
+
+2012-06-19 17:37:59 -0700  Evan Nemerson <evan@coeus-group.com>
+
+	* gst/gsttaskpool.c:
+	  task pool: set scope of gst_task_pool_push callback to async
+
+2012-06-19 17:33:45 -0700  Evan Nemerson <evan@coeus-group.com>
+
+	* gst/gstatomicqueue.c:
+	* gst/gstbuffer.c:
+	* gst/gstelementfactory.c:
+	* gst/gsttaskpool.c:
+	  introspection: add missing return value annotations
+
+2012-06-19 16:09:10 -0700  Evan Nemerson <evan@coeus-group.com>
+
+	* gst/gstbus.h:
+	* gst/gstinfo.h:
+	* gst/gstminiobject.h:
+	* gst/gsttask.h:
+	* gst/gsttaskpool.h:
+	* gst/gsttypefind.h:
+	  introspection: rename some "data" arguments to "user_data"
+	  GObject Introspection will automatically treat "user_data" arguments
+	  as closure data.
+
+2012-06-19 16:08:46 -0700  Evan Nemerson <evan@coeus-group.com>
+
+	* gst/gsttoc.h:
+	  toc: add some missing element-type annotations
+
+2012-06-19 16:06:49 -0700  Evan Nemerson <evan@coeus-group.com>
+
+	* gst/gstbufferpool.h:
+	  buffer pool: put GstBufferPoolAcquireParams typedef before struct
+	  Works around https://bugzilla.gnome.org/show_bug.cgi?id=581525
+
+2012-06-19 16:14:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* libs/gst/base/gstbasesink.c:
+	  basesink: preroll and sync on gap events
+
+2012-06-19 16:08:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* libs/gst/base/gstbasesink.c:
+	  basesink: reorganize the code a little
+	  Move the code to get the sync times together.
+
+2012-06-19 14:30:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* gst/gstmemory.h:
+	  memory: Fix docs typo
+
+2012-06-19 14:05:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstclock.h:
+	  clock: assert about timestamp overflows
+	  Assert when converting to timeval and timespec about overflows. This can happen
+	  on platforms with 32bits long.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=678181
+
+2012-06-19 10:13:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* win32/common/libgstreamer.def:
+	  defs: remove gst_pad_set_caps
+
+2012-06-19 10:32:10 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* plugins/elements/gstinputselector.c:
+	  inputselector: Only proxy the allocation query for the active pad and send reconfigure events to the old/new pad when switching pads
+
+2012-06-18 16:14:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstcompat.h:
+	* gst/gstpad.c:
+	* gst/gstpad.h:
+	  pad: move gst_pad_set_caps() to compat
+	  We want code to explicitly send a caps event instead.
+
+2012-06-18 16:13:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstutils.c:
+	  utils: fix some docs
+
+2012-06-18 15:52:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/random/porting-to-0.11.txt:
+	  docs: small doc fix
+
+2012-06-18 15:28:20 +0200  Sebastian Rasmussen <sebrn@axis.com>
+
+	* gst/gstclock.h:
+	  clock: fix compiler warning
+	  Cast to the right value, it might indeed overflow but we want the compiler to
+	  ignore that.
+
+2012-06-18 15:22:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstminiobject.c:
+	* gst/gstminiobject.h:
+	  miniobject: hide qdata array layout
+
+2012-06-18 15:21:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/design/part-meta.txt:
+	  docs: clarify qdata wrt to metadata
+
+2012-06-18 15:21:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* win32/common/libgstreamer.def:
+	  defs: update for new api
+
+2012-06-15 16:56:46 -0700  Evan Nemerson <evan@coeus-group.com>
+
+	* libs/gst/base/gstbasesink.c:
+	* libs/gst/base/gstbasesrc.c:
+	* libs/gst/base/gstbytewriter.c:
+	  introspection: assorted introspection and documentation fixes in base
+
+2012-06-15 18:35:05 -0700  Evan Nemerson <evan@coeus-group.com>
+
+	* libs/gst/base/gstadapter.c:
+	  adapter: add missing element-type annotations
+
+2012-06-15 16:14:49 -0700  Evan Nemerson <evan@coeus-group.com>
+
+	* gst/gstatomicqueue.c:
+	* gst/gstatomicqueue.h:
+	  atomic queue: register as boxed type
+
+2012-06-15 16:43:30 -0700  Evan Nemerson <evan@coeus-group.com>
+
+	* gst/gstbin.c:
+	* gst/gstbus.c:
+	* gst/gstchildproxy.c:
+	* gst/gstchildproxy.h:
+	* gst/gstclock.c:
+	* gst/gstcontrolbinding.c:
+	* gst/gstcontrolbinding.h:
+	* gst/gstcontrolsource.c:
+	* gst/gstcontrolsource.h:
+	* gst/gstevent.c:
+	* gst/gstobject.c:
+	* gst/gstpad.h:
+	* gst/gstpadtemplate.c:
+	* gst/gstpipeline.c:
+	* gst/gsttaglist.c:
+	* gst/gstutils.c:
+	  introspection: assorted introspection and documentation fixes
+	  These changes are to clean up syntax issues such as missing colons,
+	  missing spaces, etc., and minor issues such as argument names in
+	  headers not matching the implementation and/or documentation.
+
+2012-06-15 14:50:48 -0700  Evan Nemerson <evan@coeus-group.com>
+
+	* gst/gsttocsetter.c:
+	* gst/gsttocsetter.h:
+	  toc setter: change GstTocSetterIFace to GstTocSetterInterface
+	  Without this GObject Introspection does not recognize the connection
+	  to GstTocSetter.
+
+2012-06-18 12:15:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstbufferpool.c:
+	  bufferpool: update docs a little
+
+2012-06-18 11:36:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* libs/gst/base/gstbasesink.c:
+	* libs/gst/base/gstbasesink.h:
+	* win32/common/libgstbase.def:
+	  basesink: wait_eos() -> wait()
+	  Rename gst_base_sink_wait_eos() to gst_base_sink_wait() to avoid confusion and
+	  introspection problems with the ::wait_eos vmethod. Also this method can be used
+	  to wait for other things than EOS. Update the docs a little.
+
+2012-06-18 10:13:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstbufferpool.c:
+	* gst/gstbufferpool.h:
+	  bufferpool:check caps argument
+	  Caps should be NULL or fixed when configured in a bufferpool
+
+2012-06-15 17:01:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstcaps.c:
+	  caps: NULL is not a valid caps anymore
+
+2012-06-15 15:48:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/design/part-buffering.txt:
+	  docs: review the buffering docs
+
+2012-06-15 15:36:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* plugins/elements/gstqueue2.c:
+	  queue2: fix percent scaling
+	  Use _scale functions to scale the percent values.
+	  Correctly scale the percent values in the buffering ranges.
+
+2012-06-15 14:54:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* libs/gst/base/gstbasesrc.c:
+	  basesrc: avoid flush when starting
+	  When we are doing the initial seek in startup, avoid doing a flush
+	  (and unlock) because we know that the task is not started yet.
+
+2012-06-15 12:58:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* win32/common/libgstreamer.def:
+	  defs: update
+
+2012-06-15 12:55:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* docs/gst/gstreamer-sections.txt:
+	* gst/gstbuffer.c:
+	* gst/gstbuffer.h:
+	* gst/gstbufferlist.c:
+	* gst/gstelementfactory.c:
+	* gst/gstevent.c:
+	* gst/gstghostpad.c:
+	* gst/gstminiobject.c:
+	* gst/gstminiobject.h:
+	* gst/gstpad.c:
+	* gst/gstquery.c:
+	* gst/gstquery.h:
+	  docs: improve API docs
+
+2012-06-15 00:00:12 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gstmemory.c:
+	  alllocator: no need to store structure size inside the structure
+
+2012-06-14 23:54:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gstquery.c:
+	  query: no need to store the size of the structure inside the structure
+
+2012-06-14 23:52:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gstevent.c:
+	  event: no need to store the size of the structure inside the structure
+
+2012-06-14 23:49:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gstbufferlist.c:
+	  bufferlist: no need to store the size of the structure inside the structure
+
+2012-06-14 23:45:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gstcaps.c:
+	  caps: no need to store the size of the caps structure inside the structure
+
+2012-06-14 23:41:57 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gstmessage.c:
+	  message: no need to store size of the message structure inside the structure
+
+2012-06-14 23:38:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gstsample.c:
+	  sample: no need to store the size of the sample structure inside the structure
+
+2012-06-14 23:36:29 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gsttaglist.c:
+	  taglist: no need to store the size of the tag list structure inside the structure
+
+2012-06-15 11:24:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstminiobject.c:
+	  miniobject: expand docs a little
+	  Add blurb about qdata and weak refs.
+
+2012-06-15 10:44:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstminiobject.c:
+	* gst/gstminiobject.h:
+	* win32/common/libgstreamer.def:
+	  miniobject: add qdata
+	  Keep track of qdata for miniobjects. Reuse the weak ref array for this because
+	  we can.
+
+2012-06-15 10:56:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstminiobject.c:
+	  miniobject: fix error in the weak ref handling
+	  When 2 weak refs are added, the array is not resized big enough.
+	  Simplify the weak ref handling code.
+	  Free memory when we remove all weak refs.
+	  Allow installing the same weak ref multiple times, like in gobject.
+
+2012-06-14 17:11:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstbuffer.c:
+	* gst/gstbufferlist.c:
+	* gst/gstcaps.c:
+	* gst/gstevent.c:
+	* gst/gstmemory.c:
+	* gst/gstmessage.c:
+	* gst/gstminiobject.c:
+	* gst/gstminiobject.h:
+	* gst/gstquery.c:
+	* gst/gstsample.c:
+	* gst/gsttaglist.c:
+	  miniobject: remove the size field
+	  The size field is used by subclasses to store the total allocated size of the
+	  memory for this miniobject. Because miniobject doesn't really do anything with
+	  this field we can move it to the subclasses.
+
+2012-06-14 16:30:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstbuffer.c:
+	* gst/gstmemory.c:
+	* gst/gstmemory.h:
+	* libs/gst/check/gstcheck.h:
+	* tests/check/gst/gstmemory.c:
+	* win32/common/libgstreamer.def:
+	  memory: make GstMemory a miniobject
+
+2012-06-14 16:27:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gsttrace.c:
+	  trace: always print miniobject refcount
+
+2012-06-14 15:40:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstmemory.c:
+	  memory: fix copy function
+	  Make the copy function map to ref because we can't safely copy the user_data.
+
+2012-06-14 15:33:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstmemory.c:
+	* gst/gstmemory.h:
+	* win32/common/libgstreamer.def:
+	  memory: make GstAllocator a miniobject
+
+2012-06-12 13:26:35 +0200  David Svensson Fors <davidsf@axis.com>
+
+	* plugins/elements/gstfunnel.c:
+	  gstfunnel: avoid access of freed pad
+	  Save the value of the pad's got_eos in gst_funnel_release_pad,
+	  before calling gst_element_remove_pad. This is because
+	  gst_element_remove_pad may free the pad.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=678017
+
+2012-06-14 14:05:15 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/gstelement.c:
+	  element: fix pad transfer annotation from none to full
+	  since the pad will be unreffed.
+
+2012-06-13 10:52:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstbin.c:
+	* gst/gstmessage.c:
+	* gst/gstmessage.h:
+	* libs/gst/base/gstbasesink.c:
+	  message: add the running-time to the async-done message
+	  Add the running-time of the buffer that caused the async operation to complete
+	  to the async-done message.
+	  Update bin to handle the new async-done message.
+
+2012-06-13 10:51:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstpipeline.c:
+	* libs/gst/base/gstbasesink.c:
+	  pipeline: use reset_time message to reset the start time
+	  Use the new RESET_TIME message to reset the start-time of the pipeline to the
+	  requested time.
+	  Make basesink request a new running-time when the flush-stop message tells it to
+	  insteasd of waiting for preroll.
+
+2012-06-13 10:16:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstmessage.c:
+	* gst/gstmessage.h:
+	* gst/gstquark.c:
+	* gst/gstquark.h:
+	* win32/common/libgstreamer.def:
+	  message: add a new message to reset time
+	  Add a new message to reset the pipeline running_time. Currently reseting the
+	  pipeline can only be requested in the async_done message which means that the
+	  pipeline needs to be prerolled. It is better to move this to a separate message.
+
+2012-06-12 17:11:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstbin.c:
+	  bin: always recurse into bins when doing state changes
+	  Never skip the state change of a bin because it needs to update the base time of
+	  its children when needed.
+
+2012-06-13 00:30:48 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* docs/gst/gstreamer-sections.txt:
+	  docs: update for new datetime api
+
+2012-06-13 00:28:00 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* win32/common/libgstreamer.def:
+	  win32: update .def file for latest API
+
+2012-06-13 00:25:24 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* docs/gst/gstreamer-sections.txt:
+	  docs: add new datetime API
+
+2012-06-13 00:21:32 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* tests/check/gst/gstdatetime.c:
+	  tests: add some basic unit tests for partial date time fields
+
+2012-06-12 23:52:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gstdatetime.c:
+	* gst/gstdatetime.h:
+	  datetime: clean-ups and new API adjustments
+	  Remove constructors we don't want:
+	  gst_date_time_new_ymd_h() because we don't want to
+	  support hour-only for now;
+	  gst_date_time_new_ymd_hm() because we don't want to
+	  add constructors with time info where the caller doesn't
+	  have to think about what timezone the time is in.
+	  Lots of compulsive clean-up. Docs fixes. Replace
+	  has_minute() and has_hour() with has_time().
+
+2012-06-12 22:35:42 +0200  Oleksij Rempel <bug-track@fisher-privat.net>
+
+	* gst/gstdatetime.c:
+	* gst/gstdatetime.h:
+	  datetime: allow GstDateTime where not all fields are set
+	  In order to deserialise and re-serialise dates and date times
+	  from tags properly, we need to be able to express partial
+	  dates (e.g. YYYY or YYYY-MM) and date times.
+	  We only support partial date times where all the more
+	  significant fields above the first unset field are set
+	  (e.g. YYYY-00-DD is not supported).
+	  Calling _get_foo() when foo is not set is not allowed
+	  any more, callers need to check which fields are set
+	  first.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=677757
+
+2012-06-12 22:45:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gstmessage.c:
+	* gst/gstquark.c:
+	* gst/gstquark.h:
+	  message: fix up minor inconsistency in structure name of state-changed message
+
+2012-06-12 11:42:30 -0700  Evan Nemerson <evan@coeus-group.com>
+
+	* gst/gstbin.h:
+	* gst/gstclock.h:
+	* gst/gstelement.h:
+	* gst/gstobject.c:
+	* gst/gstpadtemplate.h:
+	  introspection: add some missing annotations
+
+2012-06-12 14:24:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* libs/gst/base/gstbasesrc.c:
+	  basesrc: handle flush events on the element as well
+	  Handle flush-start and flush-stop sent on the element as well and send them
+	  downstream. Make sure to send a segment event after the flush stop.
+
+2012-06-12 11:05:05 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/gstchildproxy.c:
+	  childproxy: add a few more comments
+
+2012-06-11 20:34:00 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/gstchildproxy.h:
+	  childproxy: fix signal handler signatures in class
+	  When adding the name parameter, we forgot to add it here too.
+
+2012-06-11 10:59:49 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/gstbin.c:
+	* gst/gstchildproxy.c:
+	* gst/gstchildproxy.h:
+	* tests/check/gst/gstchildproxy.c:
+	  childproxy: use GstChildProxy instead of GObject on the public api
+	  Fix usage and also cleanup gst_object api use on gobjects.
+
+2012-06-11 15:49:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstelement.h:
+	  element: remove unused UNPARENTING flag
+
+2012-06-11 15:41:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/gstbin.c:
+	  bin: reorganize _remove_func to avoid races
+	  Make the gst_bin_remove_func more like the add_func. Check if the element we try
+	  to remove from the bin has the bin as the parent and set the parent flag to NULL
+	  immediately, this allows us to avoid concurrent remove operations without using
+	  the UNPARENTING element flag. After we unparented the element from the bin, we
+	  update the bin state and remove the element from the list. Finally we unlink
+	  all the pads.
+	  This avoids a race condition where the element could still claim to have the
+	  bin as the parent while the bin didn't have a pointer to the element anymore.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=647759
+
+2012-06-10 12:48:00 -0400  Matej Knopp <matej.knopp@gmail.com>
+
+	* plugins/elements/gsttypefindelement.c:
+	  typefindelement: Only send caps when pad is being activated
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677819
+
+2012-06-10 12:41:12 -0400  Matej Knopp <matej.knopp@gmail.com>
+
+	* gst/gstelement.c:
+	  gstelement: Start over if subclass removed the next pad too
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677818
+
+2012-06-09 18:05:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/gstdatetime.c:
+	  datetime: remove fallback code for old GLibs
+
+2012-06-09 17:13:04 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* scripts/create-uninstalled-setup.sh:
+	  scripts: add create-uninstalled-setup script
+	  Little script that sets up things in ~/gst and clones
+	  the main modules and prints some instructions.
+	  From http://gstreamer.freedesktop.org/wiki/UninstalledSetup
+
+2012-06-08 15:45:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* plugins/elements/gstcapsfilter.c:
+	* plugins/elements/gsttypefindelement.c:
+	  elements: Use gst_pad_set_caps() and don't ignore its return value
+
+2012-06-08 15:41:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* libs/gst/base/gstbasesrc.c:
+	  basesrc: Don't ignore the return value of gst_pad_set_caps() and call it after the vfunc
+
+2012-06-08 15:36:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* libs/gst/base/gstbasesink.c:
+	  basesink: Use gst_pad_set_caps() instead of the manual event fiddling
+
+2012-06-08 15:32:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* libs/gst/base/gstbasetransform.c:
+	  basetransform: Don't return the return value of gst_pad_set_caps()
+	  e.g. it returns FALSE if incompatible caps are set on the pad.
+
+2012-06-06 19:02:00 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* gst/gstutils.h:
+	  gstutils: Faster read macros
+	  On platforms that can do unaligned read/write, we can read/write much faster
+	  by just casting.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=599546
+
+2012-06-07 12:49:10 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* tests/check/gst/gstutils.c:
+	  check: Add a test for GST_READ_* macros
+
+2012-06-08 14:49:51 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* common:
+	  Update common submodule
+
+2012-06-07 17:58:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* libs/gst/base/gstbasetransform.c:
+	  basetransform: fix reconfigure
+	  Use the pad methods to set and check the reconfigure flags
+	  Clear the reconfigure flag before we negotiate so that we don't miss any
+	  reconfigure events while negotiating
+
+2012-06-07 15:56:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* configure.ac:
+	  Back to development
+
+=== release 0.11.92 ===
+
+2012-06-07 15:56:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* ChangeLog:
+	* NEWS:
+	* RELEASE:
+	* configure.ac:
+	* docs/plugins/gstreamer-plugins.args:
+	* docs/plugins/inspect/plugin-coreelements.xml:
+	* gstreamer.doap:
+	* win32/common/config.h:
+	* win32/common/gstenumtypes.c:
+	  Release 0.11.92
+
+2012-06-07 15:53:49 +0200  Sebastian Dröge <sebastian.droege@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:
+	  Update .po files
+
+2012-06-07 15:28:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* libs/gst/base/gstbasesrc.c:
+	  basesrc: release the object lock sooner
+	  Release the object lock before we get the time of the clock because that code
+	  might take other locks.
+	  Fix potential clock refcount error because we released the object lock but
+	  didn't ref the clock.
+
+2012-06-07 10:34:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* libs/gst/base/gstbasesrc.c:
+	  basesrc: remove 0.11 fixme
+	  We always require elements to have an unlock_stop vmethod.
 
 2012-06-06 18:11:13 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
 
diff --git a/Makefile.am b/Makefile.am
index c8fe12a..900342b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -30,7 +30,7 @@
 
 EXTRA_DIST = \
 	gstreamer.spec gstreamer.spec.in \
-	gst-element-check.m4.in \
+	gst-element-check.m4 \
 	configure.ac autogen.sh depcomp \
 	MAINTAINERS ABOUT-NLS RELEASE gstreamer.doap \
 	scripts/gst-uninstalled \
@@ -153,7 +153,7 @@
 check: $(CHECK_EXPORTS) check-enum-gettypes
 
 gst-element-check-@GST_API_VERSION@.m4: gst-element-check.m4
-	$(AM_V_GEN)cp gst-element-check.m4 gst-element-check-@GST_API_VERSION@.m4
+	$(AM_V_GEN)cp $(srcdir)/gst-element-check.m4 gst-element-check-@GST_API_VERSION@.m4
 
 # cruft: plugins that have been merged or moved or renamed
 
diff --git a/Makefile.in b/Makefile.in
index 3ec513f..7f8e162 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -66,8 +66,8 @@
 @BUILD_TOOLS_TRUE@am__append_1 = tools
 DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in $(srcdir)/config.h.in \
-	$(srcdir)/gst-element-check.m4.in $(srcdir)/gstreamer.spec.in \
-	$(srcdir)/stamp.h.in $(top_srcdir)/common/coverage/lcov.mak \
+	$(srcdir)/gstreamer.spec.in $(srcdir)/stamp.h.in \
+	$(top_srcdir)/common/coverage/lcov.mak \
 	$(top_srcdir)/common/cruft.mak $(top_srcdir)/common/po.mak \
 	$(top_srcdir)/common/release.mak \
 	$(top_srcdir)/common/win32.mak $(top_srcdir)/configure \
@@ -117,7 +117,7 @@
  configure.lineno config.status.lineno
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES = stamp.h gst-element-check.m4 gstreamer.spec
+CONFIG_CLEAN_FILES = stamp.h gstreamer.spec
 CONFIG_CLEAN_VPATH_FILES =
 AM_V_GEN = $(am__v_GEN_@AM_V@)
 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
@@ -521,7 +521,7 @@
 # include before EXTRA_DIST for win32 assignment
 EXTRA_DIST = \
 	gstreamer.spec gstreamer.spec.in \
-	gst-element-check.m4.in \
+	gst-element-check.m4 \
 	configure.ac autogen.sh depcomp \
 	MAINTAINERS ABOUT-NLS RELEASE gstreamer.doap \
 	scripts/gst-uninstalled \
@@ -635,8 +635,6 @@
 	-rm -f config.h stamp-h1
 stamp.h: $(top_builddir)/config.status $(srcdir)/stamp.h.in
 	cd $(top_builddir) && $(SHELL) ./config.status $@
-gst-element-check.m4: $(top_builddir)/config.status $(srcdir)/gst-element-check.m4.in
-	cd $(top_builddir) && $(SHELL) ./config.status $@
 gstreamer.spec: $(top_builddir)/config.status $(srcdir)/gstreamer.spec.in
 	cd $(top_builddir) && $(SHELL) ./config.status $@
 
@@ -1337,7 +1335,7 @@
 check: $(CHECK_EXPORTS) check-enum-gettypes
 
 gst-element-check-@GST_API_VERSION@.m4: gst-element-check.m4
-	$(AM_V_GEN)cp gst-element-check.m4 gst-element-check-@GST_API_VERSION@.m4
+	$(AM_V_GEN)cp $(srcdir)/gst-element-check.m4 gst-element-check-@GST_API_VERSION@.m4
 
 check-cruft:
 	@cruft_files=""; cruft_dirs=""; \
diff --git a/common/gtk-doc-plugins.mak b/common/gtk-doc-plugins.mak
index f7c05ed..2468cb0 100644
--- a/common/gtk-doc-plugins.mak
+++ b/common/gtk-doc-plugins.mak
@@ -294,8 +294,7 @@
 	            $(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE).devhelp2 \
 	            $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; \
 	  fi; \
-	  (which gtkdoc-rebase >/dev/null && \
-	    gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR)) || true ; \
+	  $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) || true ; \
 	fi)
 uninstall-local:
 	if test -d $(DESTDIR)$(TARGET_DIR); then \
diff --git a/common/gtk-doc.mak b/common/gtk-doc.mak
index 31b56f9..a1e07dc 100644
--- a/common/gtk-doc.mak
+++ b/common/gtk-doc.mak
@@ -194,8 +194,7 @@
 	            $(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE).devhelp2 \
 	            $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; \
 	  fi; \
-	  (which gtkdoc-rebase >/dev/null && \
-	    gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR)) || true ; \
+	  $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) || true ; \
 	fi)
 uninstall-local:
 	if test -d $(DESTDIR)$(TARGET_DIR); then \
diff --git a/common/m4/gtk-doc.m4 b/common/m4/gtk-doc.m4
index 0c1a305..b243f1c 100644
--- a/common/m4/gtk-doc.m4
+++ b/common/m4/gtk-doc.m4
@@ -67,5 +67,4 @@
   AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes])
   AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes])
   AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], [test -n "$LIBTOOL"])
-  AM_CONDITIONAL([GTK_DOC_USE_REBASE], [test -n "$GTKDOC_REBASE"])
 ])
diff --git a/configure b/configure
index 461b2e7..3afabf2 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 0.11.93.
+# Generated by GNU Autoconf 2.69 for GStreamer 0.11.94.
 #
 # 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='0.11.93'
-PACKAGE_STRING='GStreamer 0.11.93'
+PACKAGE_VERSION='0.11.94'
+PACKAGE_STRING='GStreamer 0.11.94'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
 PACKAGE_URL=''
 
@@ -717,8 +717,6 @@
 PYTHON_PREFIX
 PYTHON_VERSION
 PYTHON
-GTK_DOC_USE_REBASE_FALSE
-GTK_DOC_USE_REBASE_TRUE
 GTK_DOC_USE_LIBTOOL_FALSE
 GTK_DOC_USE_LIBTOOL_TRUE
 GTK_DOC_BUILD_PDF_FALSE
@@ -1635,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 0.11.93 to adapt to many kinds of systems.
+\`configure' configures GStreamer 0.11.94 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1706,7 +1704,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GStreamer 0.11.93:";;
+     short | recursive ) echo "Configuration of GStreamer 0.11.94:";;
    esac
   cat <<\_ACEOF
 
@@ -1883,7 +1881,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GStreamer configure 0.11.93
+GStreamer configure 0.11.94
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2656,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 0.11.93, which was
+It was created by GStreamer $as_me 0.11.94, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3589,7 +3587,7 @@
 
 # Define the identity of the package.
  PACKAGE='gstreamer'
- VERSION='0.11.93'
+ VERSION='0.11.94'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3712,9 +3710,9 @@
 
 
 
-  PACKAGE_VERSION_MAJOR=$(echo 0.11.93 | cut -d'.' -f1)
-  PACKAGE_VERSION_MINOR=$(echo 0.11.93 | cut -d'.' -f2)
-  PACKAGE_VERSION_MICRO=$(echo 0.11.93 | cut -d'.' -f3)
+  PACKAGE_VERSION_MAJOR=$(echo 0.11.94 | cut -d'.' -f1)
+  PACKAGE_VERSION_MINOR=$(echo 0.11.94 | cut -d'.' -f2)
+  PACKAGE_VERSION_MICRO=$(echo 0.11.94 | cut -d'.' -f3)
 
 
 
@@ -3725,7 +3723,7 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
 $as_echo_n "checking nano version... " >&6; }
 
-  NANO=$(echo 0.11.93 | cut -d'.' -f4)
+  NANO=$(echo 0.11.94 | cut -d'.' -f4)
 
   if test x"$NANO" = x || test "x$NANO" = "x0" ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -22377,14 +22375,14 @@
 
   if test x$enable_gtk_doc = xyes; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk-doc >= 1.3\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "gtk-doc >= 1.3") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk-doc >= 1.12\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "gtk-doc >= 1.12") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   :
 else
-  as_fn_error $? "You need to have gtk-doc >= 1.3 installed to build $PACKAGE_NAME" "$LINENO" 5
+  as_fn_error $? "You need to have gtk-doc >= 1.12 installed to build $PACKAGE_NAME" "$LINENO" 5
 fi
         if test "x$PACKAGE_NAME" != "xglib"; then
 
@@ -22608,14 +22606,6 @@
   GTK_DOC_USE_LIBTOOL_FALSE=
 fi
 
-   if test -n "$GTKDOC_REBASE"; then
-  GTK_DOC_USE_REBASE_TRUE=
-  GTK_DOC_USE_REBASE_FALSE='#'
-else
-  GTK_DOC_USE_REBASE_TRUE='#'
-  GTK_DOC_USE_REBASE_FALSE=
-fi
-
 
 
 
@@ -25882,7 +25872,7 @@
 
 
 
-ac_config_files="$ac_config_files Makefile gst/Makefile gst/gstconfig.h gst/gstversion.h gst/parse/Makefile libs/Makefile libs/gst/Makefile libs/gst/base/Makefile libs/gst/check/Makefile libs/gst/check/libcheck/Makefile libs/gst/check/libcheck/check.h libs/gst/controller/Makefile libs/gst/helpers/Makefile libs/gst/net/Makefile plugins/Makefile plugins/elements/Makefile po/Makefile.in tests/Makefile tests/benchmarks/Makefile tests/check/Makefile tests/misc/Makefile tests/examples/Makefile tests/examples/adapter/Makefile tests/examples/controller/Makefile tests/examples/stepping/Makefile tests/examples/helloworld/Makefile tests/examples/launch/Makefile tests/examples/manual/Makefile tests/examples/memory/Makefile tests/examples/metadata/Makefile tests/examples/queue/Makefile tests/examples/streams/Makefile tests/examples/typefind/Makefile tools/Makefile common/Makefile common/m4/Makefile docs/Makefile docs/design/Makefile docs/faq/Makefile docs/gst/Makefile docs/gst/gstreamer.types docs/libs/Makefile docs/plugins/Makefile docs/manual/Makefile docs/pwg/Makefile docs/slides/Makefile docs/xsl/Makefile docs/version.entities m4/Makefile pkgconfig/Makefile stamp.h pkgconfig/gstreamer.pc pkgconfig/gstreamer-uninstalled.pc pkgconfig/gstreamer-base.pc pkgconfig/gstreamer-base-uninstalled.pc pkgconfig/gstreamer-check.pc pkgconfig/gstreamer-check-uninstalled.pc pkgconfig/gstreamer-controller.pc pkgconfig/gstreamer-controller-uninstalled.pc pkgconfig/gstreamer-net.pc pkgconfig/gstreamer-net-uninstalled.pc gst-element-check.m4 gstreamer.spec"
+ac_config_files="$ac_config_files Makefile gst/Makefile gst/gstconfig.h gst/gstversion.h gst/parse/Makefile libs/Makefile libs/gst/Makefile libs/gst/base/Makefile libs/gst/check/Makefile libs/gst/check/libcheck/Makefile libs/gst/check/libcheck/check.h libs/gst/controller/Makefile libs/gst/helpers/Makefile libs/gst/net/Makefile plugins/Makefile plugins/elements/Makefile po/Makefile.in tests/Makefile tests/benchmarks/Makefile tests/check/Makefile tests/misc/Makefile tests/examples/Makefile tests/examples/adapter/Makefile tests/examples/controller/Makefile tests/examples/stepping/Makefile tests/examples/helloworld/Makefile tests/examples/launch/Makefile tests/examples/manual/Makefile tests/examples/memory/Makefile tests/examples/metadata/Makefile tests/examples/queue/Makefile tests/examples/streams/Makefile tests/examples/typefind/Makefile tools/Makefile common/Makefile common/m4/Makefile docs/Makefile docs/design/Makefile docs/faq/Makefile docs/gst/Makefile docs/gst/gstreamer.types docs/libs/Makefile docs/plugins/Makefile docs/manual/Makefile docs/pwg/Makefile docs/slides/Makefile docs/xsl/Makefile docs/version.entities m4/Makefile pkgconfig/Makefile stamp.h pkgconfig/gstreamer.pc pkgconfig/gstreamer-uninstalled.pc pkgconfig/gstreamer-base.pc pkgconfig/gstreamer-base-uninstalled.pc pkgconfig/gstreamer-check.pc pkgconfig/gstreamer-check-uninstalled.pc pkgconfig/gstreamer-controller.pc pkgconfig/gstreamer-controller-uninstalled.pc pkgconfig/gstreamer-net.pc pkgconfig/gstreamer-net-uninstalled.pc gstreamer.spec"
 
 
 sed \
@@ -26214,10 +26204,6 @@
   as_fn_error $? "conditional \"GTK_DOC_USE_LIBTOOL\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${GTK_DOC_USE_REBASE_TRUE}" && test -z "${GTK_DOC_USE_REBASE_FALSE}"; then
-  as_fn_error $? "conditional \"GTK_DOC_USE_REBASE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 if test -z "${ENABLE_PLUGIN_DOCS_TRUE}" && test -z "${ENABLE_PLUGIN_DOCS_FALSE}"; then
   as_fn_error $? "conditional \"ENABLE_PLUGIN_DOCS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -26655,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 0.11.93, which was
+This file was extended by GStreamer $as_me 0.11.94, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -26721,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 0.11.93
+GStreamer config.status 0.11.94
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -27318,7 +27304,6 @@
     "pkgconfig/gstreamer-controller-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES pkgconfig/gstreamer-controller-uninstalled.pc" ;;
     "pkgconfig/gstreamer-net.pc") CONFIG_FILES="$CONFIG_FILES pkgconfig/gstreamer-net.pc" ;;
     "pkgconfig/gstreamer-net-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES pkgconfig/gstreamer-net-uninstalled.pc" ;;
-    "gst-element-check.m4") CONFIG_FILES="$CONFIG_FILES gst-element-check.m4" ;;
     "gstreamer.spec") CONFIG_FILES="$CONFIG_FILES gstreamer.spec" ;;
 
   *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
diff --git a/configure.ac b/configure.ac
index fa325a3..9123987 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,12 @@
 dnl initialize autoconf
 dnl when going to/from release please set the nano (fourth number) right !
 dnl releases only do Wall, git and prerelease does Werror too
-AC_INIT(GStreamer, 0.11.93,
+dnl
+dnl
+dnl ==========> REMOVE GST_USE_UNSTABLE_API when doing 1.0.0 <=============
+dnl             (also check libtool version)
+dnl
+AC_INIT(GStreamer, 0.11.94,
     http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
     gstreamer)
 AG_GST_INIT
@@ -280,7 +285,7 @@
 
 dnl check for documentation tools
 AG_GST_DOCBOOK_CHECK
-GTK_DOC_CHECK([1.3])
+GTK_DOC_CHECK([1.12])
 AS_PATH_PYTHON([2.1])
 AG_GST_PLUGIN_DOCS([1.3],[2.1])
 
@@ -796,7 +801,6 @@
 pkgconfig/gstreamer-controller-uninstalled.pc
 pkgconfig/gstreamer-net.pc
 pkgconfig/gstreamer-net-uninstalled.pc
-gst-element-check.m4
 gstreamer.spec
 )
 
diff --git a/docs/design/draft-klass.txt b/docs/design/draft-klass.txt
index ee1d8da..2fae20b 100644
--- a/docs/design/draft-klass.txt
+++ b/docs/design/draft-klass.txt
@@ -131,7 +131,7 @@
    id3demux         : Extracter/Metadata
    udpsrc           : Source/Network/Protocol/Device
    videomixer       : Mixer/Video
-   ffmpegcolorspace : Filter/Video             (intended use to convert video with as little
+   videoconvert     : Filter/Video             (intended use to convert video with as little
                                                 visible change as possible)
    vertigotv        : Effect/Video             (intended use is to change the video)
    volume           : Effect/Audio             (intended use is to change the audio data)
diff --git a/docs/design/part-events.txt b/docs/design/part-events.txt
index c8ffde6..001e8b7 100644
--- a/docs/design/part-events.txt
+++ b/docs/design/part-events.txt
@@ -13,7 +13,6 @@
   GST_EVENT_FLUSH_START:   data is to be discarded
   GST_EVENT_FLUSH_STOP:    data is allowed again
   GST_EVENT_CAPS:          Format information about the following buffers
-  GST_EVENT_STREAM_CONFIG: Stream config: stream headers and codec setup data
   GST_EVENT_SEGMENT:       Timing information for the following buffers
   GST_EVENT_TAG:           Stream metadata.
   GST_EVENT_BUFFERSIZE:    Buffer size requirements
@@ -142,26 +141,6 @@
 A FLUSH_STOP event on an element flushes the EOS state and all pending EOS messages.
 
 
-GST_EVENT_STREAM_CONFIG
-~~~~~~~~~~~~~~~~~~~~~~~
-
-A stream config event is sent downstream by an element to pass stream headers
-or codec/stream setup data to elements downstream.
-
-Stream headers are buffers that are to be pre-pended to a stream to create
-a valid decodable bitstream. This is useful for e.g. network elements who
-will send such stream headers first when a new client connects in the middle
-of a streaming session. The stream headers and the current data will then
-create a valid decodable stream. Stream headers are usually also sent as
-buffers at the beginning of a stream in addition to the rest of the stream
-data.
-
-Setup data is codec config data that must be communicated outside of the
-data stream and is required by the consumer / downstream element in order
-to interpret the data stream correctly. Prepending it to the data stream is
-usually not allowed and will not yield a valid stream.
-
-
 SEGMENT
 ~~~~~~~
 
diff --git a/docs/design/part-missing-plugins.txt b/docs/design/part-missing-plugins.txt
index f92d7e0..c467858 100644
--- a/docs/design/part-missing-plugins.txt
+++ b/docs/design/part-missing-plugins.txt
@@ -168,7 +168,7 @@
              e.g. urisource-http or urisource-mms
 
          - element-$(ELEMENT_REQUIRED),
-             e.g. element-ffmpegcolorspace
+             e.g. element-videoconvert
 
          - decoder-$(CAPS_REQUIRED)
              e.g. decoder-audio/x-vorbis or
diff --git a/docs/faq/using.xml b/docs/faq/using.xml
index 4ee7eed..939ff40 100644
--- a/docs/faq/using.xml
+++ b/docs/faq/using.xml
@@ -179,18 +179,18 @@
 To automatically detect the right codec in a pipeline, try 
 <programlisting>
 gst-launch filesrc location=my-random-media-file.mpeg ! decodebin !
- audioconvert ! audioresample ! osssink
+ audioconvert ! pulsesink
 </programlisting>.
 or
 <programlisting>
 gst-launch filesrc location=my-random-media-file.mpeg ! decodebin !
- ffmpegcolorspace ! xvimagesink
+ videoconvert ! xvimagesink
 </programlisting>
 Something more complicated:
 <programlisting>
 gst-launch filesrc location=my-random-media-file.mpeg ! decodebin name=decoder
-   decoder. ! ffmpegcolorspace ! xvimagesink
-   decoder. ! audioconvert ! audioresample ! osssink
+   decoder. ! videoconvert ! xvimagesink
+   decoder. ! audioconvert ! pulsesink
 </programlisting>
         </para>
         <para>
diff --git a/docs/gst/Makefile.in b/docs/gst/Makefile.in
index 07c77e6..266666c 100644
--- a/docs/gst/Makefile.in
+++ b/docs/gst/Makefile.in
@@ -932,8 +932,7 @@
 	            $(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE).devhelp2 \
 	            $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; \
 	  fi; \
-	  (which gtkdoc-rebase >/dev/null && \
-	    gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR)) || true ; \
+	  $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) || true ; \
 	fi)
 uninstall-local:
 	if test -d $(DESTDIR)$(TARGET_DIR); then \
diff --git a/docs/gst/gstreamer-docs.sgml b/docs/gst/gstreamer-docs.sgml
index 1004509..d4388c2 100644
--- a/docs/gst/gstreamer-docs.sgml
+++ b/docs/gst/gstreamer-docs.sgml
@@ -57,6 +57,7 @@
     </para>
 
     <xi:include href="xml/gst.xml" />
+    <xi:include href="xml/gstallocator.xml" />
     <xi:include href="xml/gstatomicqueue.xml" />
     <xi:include href="xml/gstbin.xml" />
     <xi:include href="xml/gstbuffer.xml" />
diff --git a/docs/gst/gstreamer-sections.txt b/docs/gst/gstreamer-sections.txt
index 760feb8..fa80173 100644
--- a/docs/gst/gstreamer-sections.txt
+++ b/docs/gst/gstreamer-sections.txt
@@ -546,7 +546,6 @@
 gst_clock_id_get_time
 gst_clock_id_wait
 gst_clock_id_wait_async
-gst_clock_id_wait_async_full
 gst_clock_id_unschedule
 gst_clock_id_compare_func
 gst_clock_id_ref
@@ -1011,17 +1010,6 @@
 gst_event_new_caps
 gst_event_parse_caps
 
-GstStreamConfigFlags
-gst_event_new_stream_config
-gst_event_parse_stream_config
-
-gst_event_set_stream_config_setup_data
-gst_event_parse_stream_config_setup_data
-
-gst_event_add_stream_config_header
-gst_event_get_n_stream_config_headers
-gst_event_parse_nth_stream_config_header
-
 gst_event_new_toc
 gst_event_parse_toc
 
@@ -1058,8 +1046,6 @@
 gst_seek_flags_get_type
 gst_qos_type_get_type
 gst_event_type_flags_get_type
-GST_TYPE_STREAM_CONFIG_FLAGS
-gst_stream_config_flags_get_type
 </SECTION>
 
 <SECTION>
@@ -1100,21 +1086,16 @@
 
 gst_ghost_pad_construct
 
-gst_ghost_pad_unlink_default
-gst_ghost_pad_link_default
 gst_ghost_pad_activate_mode_default
 
 gst_ghost_pad_internal_activate_mode_default
 
 gst_proxy_pad_get_internal
 
-gst_proxy_pad_event_default
-gst_proxy_pad_query_default
 gst_proxy_pad_iterate_internal_links_default
 gst_proxy_pad_chain_default
 gst_proxy_pad_chain_list_default
 gst_proxy_pad_getrange_default
-gst_proxy_pad_unlink_default
 <SUBSECTION Standard>
 GstGhostPadClass
 GST_GHOST_PAD
@@ -1440,8 +1421,7 @@
 gst_message_parse_segment_start
 gst_message_new_segment_done
 gst_message_parse_segment_done
-gst_message_new_duration
-gst_message_parse_duration
+gst_message_new_duration_changed
 gst_message_new_latency
 gst_message_new_async_start
 gst_message_new_async_done
@@ -1458,6 +1438,7 @@
 gst_message_parse_toc
 gst_message_new_reset_time
 gst_message_parse_reset_time
+gst_message_new_stream_start
 
 GstStructureChangeType
 gst_message_new_structure_change
@@ -1638,9 +1619,11 @@
 GST_PAD_LINK_FAILED
 GST_PAD_LINK_SUCCESSFUL
 GstPadLinkCheck
-GST_PAD_LINK_CHECK_DEFAULT
 GstFlowReturn
+gst_flow_get_name
+gst_flow_to_quark
 GstPadMode
+gst_pad_mode_get_name
 
 <SUBSECTION Application>
 gst_pad_get_name
@@ -1747,6 +1730,7 @@
 gst_pad_set_activatemode_function_full
 GstPadActivateModeFunction
 
+gst_pad_needs_reconfigure
 gst_pad_check_reconfigure
 gst_pad_mark_reconfigure
 
@@ -1788,6 +1772,8 @@
 gst_pad_get_element_private
 
 gst_pad_create_stream_id
+gst_pad_create_stream_id_printf
+gst_pad_create_stream_id_printf_valist
 
 GstPadForwardFunction
 gst_pad_forward
@@ -1850,11 +1836,14 @@
 GST_PAD_HAS_PENDING_EVENTS
 GST_PAD_IS_PROXY_ALLOCATION
 GST_PAD_IS_PROXY_CAPS
+GST_PAD_IS_PROXY_SCHEDULING
 GST_PAD_NEEDS_PARENT
 GST_PAD_SET_PROXY_ALLOCATION
 GST_PAD_UNSET_PROXY_ALLOCATION
 GST_PAD_SET_PROXY_CAPS
 GST_PAD_UNSET_PROXY_CAPS
+GST_PAD_SET_PROXY_SCHEDULING
+GST_PAD_UNSET_PROXY_SCHEDULING
 
 GST_PAD_IS_IN_GETCAPS
 GST_PAD_MODE_ACTIVATE
@@ -2281,6 +2270,7 @@
 gst_query_get_n_scheduling_modes
 gst_query_parse_nth_scheduling_mode
 gst_query_has_scheduling_mode
+gst_query_has_scheduling_mode_with_flags
 
 gst_query_new_drain
 <SUBSECTION Standard>
@@ -2314,7 +2304,6 @@
 gst_registry_get_feature_list
 gst_registry_get_feature_list_cookie
 gst_registry_get_feature_list_by_plugin
-gst_registry_get_path_list
 gst_registry_get_plugin_list
 gst_registry_add_plugin
 gst_registry_remove_plugin
@@ -2323,7 +2312,6 @@
 gst_registry_find_plugin
 gst_registry_find_feature
 gst_registry_lookup_feature
-gst_registry_add_path
 gst_registry_scan_path
 gst_registry_lookup
 gst_registry_remove_feature
@@ -2479,6 +2467,8 @@
 GstTagForeachFunc
 GstTagMergeFunc
 
+GstTagScope
+
 GST_TAG_TITLE
 GST_TAG_TITLE_SORTNAME
 GST_TAG_ARTIST
@@ -2575,6 +2565,8 @@
 gst_tag_list_new_valist
 gst_tag_list_new_from_string
 gst_tag_list_free
+gst_tag_list_get_scope
+gst_tag_list_set_scope
 gst_tag_list_to_string
 gst_tag_list_is_empty
 gst_tag_list_is_equal
@@ -2630,10 +2622,12 @@
 GST_TYPE_TAG_LIST
 GST_TYPE_TAG_FLAG
 GST_TYPE_TAG_MERGE_MODE
+GST_TYPE_TAG_SCOPE
 <SUBSECTION Private>
 gst_tag_list_get_type
 gst_tag_flag_get_type
 gst_tag_merge_mode_get_type
+gst_tag_scope_get_type
 </SECTION>
 
 
@@ -2755,7 +2749,6 @@
 gst_toc_set_tags
 gst_toc_dump
 gst_toc_entry_new
-gst_toc_entry_new_with_pad
 gst_toc_entry_ref
 gst_toc_entry_unref
 gst_toc_entry_copy
@@ -2781,10 +2774,12 @@
 GST_TYPE_TOC
 GST_TYPE_TOC_ENTRY
 GST_TYPE_TOC_ENTRY_TYPE
+GST_TYPE_TOC_SCOPE
 <SUBSECTION Private>
 gst_toc_get_type
 gst_toc_entry_get_type
 gst_toc_entry_type_get_type
+gst_toc_scope_get_type
 </SECTION>
 
 
@@ -2940,8 +2935,6 @@
 GFLOAT_TO_LE
 
 
-gst_flow_get_name
-gst_flow_to_quark
 gst_guint64_to_gdouble
 gst_gdouble_to_guint64
 gst_util_dump_mem
@@ -2987,9 +2980,11 @@
 gst_date_time_get_second
 gst_date_time_get_year
 gst_date_time_new
+gst_date_time_new_ymd
+gst_date_time_new_ym
+gst_date_time_new_y
 gst_date_time_new_from_unix_epoch_local_time
 gst_date_time_new_from_unix_epoch_utc
-gst_date_time_new_ymd
 gst_date_time_new_local_time
 gst_date_time_new_now_local_time
 gst_date_time_new_now_utc
@@ -3002,9 +2997,6 @@
 gst_date_time_has_time
 gst_date_time_has_year
 
-gst_date_time_new_y
-gst_date_time_new_ym
-gst_date_time_new
 
 gst_date_time_new_from_iso8601_string
 gst_date_time_to_iso8601_string
diff --git a/docs/gst/html/GstAllocator.html b/docs/gst/html/GstAllocator.html
new file mode 100644
index 0000000..ec31006
--- /dev/null
+++ b/docs/gst/html/GstAllocator.html
@@ -0,0 +1,452 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GstAllocator</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
+<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
+<link rel="prev" href="gstreamer-Gst.html" title="Gst">
+<link rel="next" href="gstreamer-GstAtomicQueue.html" title="GstAtomicQueue">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="gstreamer-Gst.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="libgstreamer.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<th width="100%" align="center">GStreamer 1.0 Core Reference Manual</th>
+<td><a accesskey="n" href="gstreamer-GstAtomicQueue.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#GstAllocator.synopsis" class="shortcut">Top</a>
+                   | 
+                  <a href="#GstAllocator.description" class="shortcut">Description</a>
+                   | 
+                  <a href="#GstAllocator.object-hierarchy" class="shortcut">Object Hierarchy</a>
+</td></tr>
+</table>
+<div class="refentry">
+<a name="GstAllocator"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="GstAllocator.top_of_page"></a>GstAllocator</span></h2>
+<p>GstAllocator — allocate memory blocks</p>
+</td>
+<td valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<a name="GstAllocator.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">
+#include &lt;gst/gst.h&gt;
+
+                    <a class="link" href="GstAllocator.html#GstAllocator-struct" title="GstAllocator">GstAllocator</a>;
+enum                <a class="link" href="GstAllocator.html#GstAllocatorFlags" title="enum GstAllocatorFlags">GstAllocatorFlags</a>;
+struct              <a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams">GstAllocationParams</a>;
+#define             <a class="link" href="GstAllocator.html#GST-ALLOCATOR-SYSMEM:CAPS" title="GST_ALLOCATOR_SYSMEM">GST_ALLOCATOR_SYSMEM</a>
+<a class="link" href="GstAllocator.html" title="GstAllocator"><span class="returnvalue">GstAllocator</span></a> *      <a class="link" href="GstAllocator.html#gst-allocator-find" title="gst_allocator_find ()">gst_allocator_find</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> *name</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="GstAllocator.html#gst-allocator-register" title="gst_allocator_register ()">gst_allocator_register</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> *name</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="GstAllocator.html#gst-allocator-set-default" title="gst_allocator_set_default ()">gst_allocator_set_default</a>           (<em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="GstAllocator.html#gst-allocation-params-init" title="gst_allocation_params_init ()">gst_allocation_params_init</a>          (<em class="parameter"><code><a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);
+<a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="returnvalue">GstAllocationParams</span></a> * <a class="link" href="GstAllocator.html#gst-allocation-params-copy" title="gst_allocation_params_copy ()">gst_allocation_params_copy</a>        (<em class="parameter"><code>const <a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="GstAllocator.html#gst-allocation-params-free" title="gst_allocation_params_free ()">gst_allocation_params_free</a>          (<em class="parameter"><code><a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);
+<a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="returnvalue">GstMemory</span></a> *         <a class="link" href="GstAllocator.html#gst-allocator-alloc" title="gst_allocator_alloc ()">gst_allocator_alloc</a>                 (<em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>,
+                                                         <em class="parameter"><code><span class="type">gsize</span> size</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="GstAllocator.html#gst-allocator-free" title="gst_allocator_free ()">gst_allocator_free</a>                  (<em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *memory</code></em>);
+<a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="returnvalue">GstMemory</span></a> *         <a class="link" href="GstAllocator.html#gst-memory-new-wrapped" title="gst_memory_new_wrapped ()">gst_memory_new_wrapped</a>              (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemoryFlags" title="enum GstMemoryFlags"><span class="type">GstMemoryFlags</span></a> flags</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> data</code></em>,
+                                                         <em class="parameter"><code><span class="type">gsize</span> maxsize</code></em>,
+                                                         <em class="parameter"><code><span class="type">gsize</span> offset</code></em>,
+                                                         <em class="parameter"><code><span class="type">gsize</span> size</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>,
+                                                         <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>
+</div>
+<div class="refsect1">
+<a name="GstAllocator.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<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 class="link" href="GstObject.html" title="GstObject">GstObject</a>
+               +----GstAllocator
+</pre>
+</div>
+<div class="refsect1">
+<a name="GstAllocator.description"></a><h2>Description</h2>
+<p>
+Memory is usually created by allocators with a <a class="link" href="GstAllocator.html#gst-allocator-alloc" title="gst_allocator_alloc ()"><code class="function">gst_allocator_alloc()</code></a>
+method call. When NULL is used as the allocator, the default allocator will
+be used.
+</p>
+<p>
+New allocators can be registered with <a class="link" href="GstAllocator.html#gst-allocator-register" title="gst_allocator_register ()"><code class="function">gst_allocator_register()</code></a>.
+Allocators are identified by name and can be retrieved with
+<a class="link" href="GstAllocator.html#gst-allocator-find" title="gst_allocator_find ()"><code class="function">gst_allocator_find()</code></a>. <a class="link" href="GstAllocator.html#gst-allocator-set-default" title="gst_allocator_set_default ()"><code class="function">gst_allocator_set_default()</code></a> can be used to change the
+default allocator.
+</p>
+<p>
+New memory can be created with <a class="link" href="GstAllocator.html#gst-memory-new-wrapped" title="gst_memory_new_wrapped ()"><code class="function">gst_memory_new_wrapped()</code></a> that wraps the memory
+allocated elsewhere.
+</p>
+<p>
+Last reviewed on 2012-07-09 (0.11.3)
+</p>
+</div>
+<div class="refsect1">
+<a name="GstAllocator.details"></a><h2>Details</h2>
+<div class="refsect2">
+<a name="GstAllocator-struct"></a><h3>GstAllocator</h3>
+<pre class="programlisting">typedef struct _GstAllocator GstAllocator;</pre>
+<p>
+The <a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> is used to create new memory.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstAllocatorFlags"></a><h3>enum GstAllocatorFlags</h3>
+<pre class="programlisting">typedef enum {
+  GST_ALLOCATOR_FLAG_CUSTOM_ALLOC  = (GST_OBJECT_FLAG_LAST &lt;&lt; 0),
+
+  GST_ALLOCATOR_FLAG_LAST          = (GST_OBJECT_FLAG_LAST &lt;&lt; 16)
+} GstAllocatorFlags;
+</pre>
+<p>
+Flags for allocators.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><a name="GST-ALLOCATOR-FLAG-CUSTOM-ALLOC:CAPS"></a><span class="term"><code class="literal">GST_ALLOCATOR_FLAG_CUSTOM_ALLOC</code></span></p></td>
+<td>The allocator has a custom alloc function.
+</td>
+</tr>
+<tr>
+<td><p><a name="GST-ALLOCATOR-FLAG-LAST:CAPS"></a><span class="term"><code class="literal">GST_ALLOCATOR_FLAG_LAST</code></span></p></td>
+<td>first flag that can be used for custom purposes
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstAllocationParams"></a><h3>struct GstAllocationParams</h3>
+<pre class="programlisting">struct GstAllocationParams {
+  GstMemoryFlags flags;
+  gsize          align;
+  gsize          prefix;
+  gsize          padding;
+};
+</pre>
+<p>
+Parameters to control the allocation of memory
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><a class="link" href="gstreamer-GstMemory.html#GstMemoryFlags" title="enum GstMemoryFlags"><span class="type">GstMemoryFlags</span></a> <em class="structfield"><code><a name="GstAllocationParams.flags"></a>flags</code></em>;</span></p></td>
+<td>flags to control allocation</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="type">gsize</span> <em class="structfield"><code><a name="GstAllocationParams.align"></a>align</code></em>;</span></p></td>
+<td>the desired alignment of the memory</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="type">gsize</span> <em class="structfield"><code><a name="GstAllocationParams.prefix"></a>prefix</code></em>;</span></p></td>
+<td>the desired prefix</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="type">gsize</span> <em class="structfield"><code><a name="GstAllocationParams.padding"></a>padding</code></em>;</span></p></td>
+<td>the desired padding</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GST-ALLOCATOR-SYSMEM:CAPS"></a><h3>GST_ALLOCATOR_SYSMEM</h3>
+<pre class="programlisting">#define GST_ALLOCATOR_SYSMEM   "SystemMemory"
+</pre>
+<p>
+The allocator name for the default system memory allocator
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-allocator-find"></a><h3>gst_allocator_find ()</h3>
+<pre class="programlisting"><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="returnvalue">GstAllocator</span></a> *      gst_allocator_find                  (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+<p>
+Find a previously registered allocator with <em class="parameter"><code>name</code></em>. When <em class="parameter"><code>name</code></em> is NULL, the
+default allocator will be returned.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
+<td>the name of the allocator</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a <a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> or NULL when the allocator with <em class="parameter"><code>name</code></em> was not
+registered. Use <a class="link" href="GstObject.html#gst-object-unref" title="gst_object_unref ()"><code class="function">gst_object_unref()</code></a> to release the allocator after usage. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-allocator-register"></a><h3>gst_allocator_register ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_allocator_register              (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>);</pre>
+<p>
+Registers the memory <em class="parameter"><code>allocator</code></em> with <em class="parameter"><code>name</code></em>. This function takes ownership of
+<em class="parameter"><code>allocator</code></em>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
+<td>the name of the allocator</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td>
+<td>
+<a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-allocator-set-default"></a><h3>gst_allocator_set_default ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_allocator_set_default           (<em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>);</pre>
+<p>
+Set the default allocator. This function takes ownership of <em class="parameter"><code>allocator</code></em>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td>
+<td>a <a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-allocation-params-init"></a><h3>gst_allocation_params_init ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_allocation_params_init          (<em class="parameter"><code><a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
+<p>
+Initialize <em class="parameter"><code>params</code></em> to its default values
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
+<td>a <a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-allocation-params-copy"></a><h3>gst_allocation_params_copy ()</h3>
+<pre class="programlisting"><a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="returnvalue">GstAllocationParams</span></a> * gst_allocation_params_copy        (<em class="parameter"><code>const <a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
+<p>
+Create a copy of <em class="parameter"><code>params</code></em>.
+</p>
+<p>
+Free-function: gst_allocation_params_free
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
+<td>a <a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</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>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new #<a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a>, free with
+<a class="link" href="GstAllocator.html#gst-allocation-params-free" title="gst_allocation_params_free ()"><code class="function">gst_allocation_params_free()</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>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-allocation-params-free"></a><h3>gst_allocation_params_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_allocation_params_free          (<em class="parameter"><code><a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
+<p>
+Free <em class="parameter"><code>params</code></em>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
+<td>a <a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a>. <span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-allocator-alloc"></a><h3>gst_allocator_alloc ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="returnvalue">GstMemory</span></a> *         gst_allocator_alloc                 (<em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>,
+                                                         <em class="parameter"><code><span class="type">gsize</span> size</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
+<p>
+Use <em class="parameter"><code>allocator</code></em> to allocate a new memory block with memory that is at least
+<em class="parameter"><code>size</code></em> big.
+</p>
+<p>
+The optional <em class="parameter"><code>params</code></em> can specify the prefix and padding for the memory. If
+NULL is passed, no flags, no extra prefix/padding and a default alignment is
+used.
+</p>
+<p>
+The prefix/padding will be filled with 0 if flags contains
+<a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-FLAG-ZERO-PREFIXED:CAPS"><span class="type">GST_MEMORY_FLAG_ZERO_PREFIXED</span></a> and <a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-FLAG-ZERO-PADDED:CAPS"><span class="type">GST_MEMORY_FLAG_ZERO_PADDED</span></a> respectively.
+</p>
+<p>
+When <em class="parameter"><code>allocator</code></em> is NULL, the default allocator will be used.
+</p>
+<p>
+The alignment in <em class="parameter"><code>params</code></em> is given as a bitmask so that <em class="parameter"><code>align</code></em> + 1 equals
+the amount of bytes to align to. For example, to align to 8 bytes,
+use an alignment of 7.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td>
+<td>a <a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> to use. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
+<td>size of the visible memory area</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
+<td>optional parameters. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-allocator-free"></a><h3>gst_allocator_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_allocator_free                  (<em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *memory</code></em>);</pre>
+<p>
+Free <em class="parameter"><code>memory</code></em> that was previously allocated with <a class="link" href="GstAllocator.html#gst-allocator-alloc" title="gst_allocator_alloc ()"><code class="function">gst_allocator_alloc()</code></a>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td>
+<td>a <a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> to use. <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>
+<td><p><span class="term"><em class="parameter"><code>memory</code></em> :</span></p></td>
+<td>the memory to free. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-memory-new-wrapped"></a><h3>gst_memory_new_wrapped ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="returnvalue">GstMemory</span></a> *         gst_memory_new_wrapped              (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemoryFlags" title="enum GstMemoryFlags"><span class="type">GstMemoryFlags</span></a> flags</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> data</code></em>,
+                                                         <em class="parameter"><code><span class="type">gsize</span> maxsize</code></em>,
+                                                         <em class="parameter"><code><span class="type">gsize</span> offset</code></em>,
+                                                         <em class="parameter"><code><span class="type">gsize</span> size</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>,
+                                                         <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>
+Allocate a new memory block that wraps the given <em class="parameter"><code>data</code></em>.
+</p>
+<p>
+The prefix/padding must be filled with 0 if <em class="parameter"><code>flags</code></em> contains
+<a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-FLAG-ZERO-PREFIXED:CAPS"><span class="type">GST_MEMORY_FLAG_ZERO_PREFIXED</span></a> and <a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-FLAG-ZERO-PADDED:CAPS"><span class="type">GST_MEMORY_FLAG_ZERO_PADDED</span></a> respectively.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
+<td><a class="link" href="gstreamer-GstMemory.html#GstMemoryFlags" title="enum GstMemoryFlags"><span class="type">GstMemoryFlags</span></a></td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
+<td>data to wrap</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>maxsize</code></em> :</span></p></td>
+<td>allocated size of <em class="parameter"><code>data</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>offset</code></em> :</span></p></td>
+<td>offset in <em class="parameter"><code>data</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
+<td>size of valid data</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
+<td>user_data</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
+<td>called with <em class="parameter"><code>user_data</code></em> when the memory is freed</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a>.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="GstAllocator.see-also"></a><h2>See Also</h2>
+<a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a>
+</div>
+</div>
+<div class="footer">
+<hr>
+          Generated by GTK-Doc V1.18</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/gst/html/GstBin.html b/docs/gst/html/GstBin.html
index 5ebfeb2..6bff814 100644
--- a/docs/gst/html/GstBin.html
+++ b/docs/gst/html/GstBin.html
@@ -157,7 +157,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp6749552"></a><h3>Notes</h3>
+<a name="idp7424032"></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:
@@ -183,7 +183,7 @@
     a SEGMENT_START have posted a SEGMENT_DONE.</p></td>
 </tr>
 <tr>
-<td><p><span class="term">GST_MESSAGE_DURATION</span></p></td>
+<td><p><span class="term">GST_MESSAGE_DURATION_CHANGED</span></p></td>
 <td><p> Is posted by an element that detected a change
     in the stream duration. The default bin behaviour is to clear any
     cached duration values so that the next duration query will perform
diff --git a/docs/gst/html/GstChildProxy.html b/docs/gst/html/GstChildProxy.html
index a025435..225f090 100644
--- a/docs/gst/html/GstChildProxy.html
+++ b/docs/gst/html/GstChildProxy.html
@@ -55,7 +55,7 @@
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a> *           <a class="link" href="GstChildProxy.html#gst-child-proxy-get-child-by-index" title="gst_child_proxy_get_child_by_index ()">gst_child_proxy_get_child_by_index</a>  (<em class="parameter"><code><a class="link" href="GstChildProxy.html" title="GstChildProxy"><span class="type">GstChildProxy</span></a> *parent</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> index</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="GstChildProxy.html#gst-child-proxy-lookup" title="gst_child_proxy_lookup ()">gst_child_proxy_lookup</a>              (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</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="GstChildProxy.html#gst-child-proxy-lookup" title="gst_child_proxy_lookup ()">gst_child_proxy_lookup</a>              (<em class="parameter"><code><a class="link" href="GstChildProxy.html" title="GstChildProxy"><span class="type">GstChildProxy</span></a> *object</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><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> **target</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> **pspec</code></em>);
@@ -265,7 +265,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-child-proxy-lookup"></a><h3>gst_child_proxy_lookup ()</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_child_proxy_lookup              (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_child_proxy_lookup              (<em class="parameter"><code><a class="link" href="GstChildProxy.html" title="GstChildProxy"><span class="type">GstChildProxy</span></a> *object</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><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> **target</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> **pspec</code></em>);</pre>
@@ -279,8 +279,8 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
-<td>object to lookup the property in</td>
+<td><p><span class="term"><em class="parameter"><code>childproxy</code></em> :</span></p></td>
+<td>child proxy object to lookup the property in</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
@@ -295,7 +295,7 @@
 <tr>
 <td><p><span class="term"><em class="parameter"><code>pspec</code></em> :</span></p></td>
 <td>pointer to take the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>
-describing the property. <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>
+describing the property. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
 </td>
 </tr>
 <tr>
diff --git a/docs/gst/html/GstControlBinding.html b/docs/gst/html/GstControlBinding.html
index 4bd9f5f..cd779bc 100644
--- a/docs/gst/html/GstControlBinding.html
+++ b/docs/gst/html/GstControlBinding.html
@@ -98,8 +98,8 @@
 <div class="refsect2">
 <a name="GstControlBinding-struct"></a><h3>struct GstControlBinding</h3>
 <pre class="programlisting">struct GstControlBinding {
-  gchar *name;                  /* name of the property */
-  GParamSpec *pspec;            /* GParamSpec for this property */
+  gchar *name;
+  GParamSpec *pspec;
 };
 </pre>
 <p>
@@ -114,7 +114,8 @@
 </tr>
 <tr>
 <td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> *<em class="structfield"><code><a name="GstControlBinding-struct.pspec"></a>pspec</code></em>;</span></p></td>
-<td></td>
+<td>
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> for this property</td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/gst/html/GstElement.html b/docs/gst/html/GstElement.html
index 54710f2..f0ea817 100644
--- a/docs/gst/html/GstElement.html
+++ b/docs/gst/html/GstElement.html
@@ -2286,7 +2286,7 @@
 parents, the link fails.
 </p>
 <p>
-Calling <a class="link" href="GstElement.html#gst-element-link-pads-full" title="gst_element_link_pads_full ()"><code class="function">gst_element_link_pads_full()</code></a> with <em class="parameter"><code>flags</code></em> == <a class="link" href="GstPad.html#GST-PAD-LINK-CHECK-DEFAULT:CAPS" title="GST_PAD_LINK_CHECK_DEFAULT"><code class="literal">GST_PAD_LINK_CHECK_DEFAULT</code></a>
+Calling <a class="link" href="GstElement.html#gst-element-link-pads-full" title="gst_element_link_pads_full ()"><code class="function">gst_element_link_pads_full()</code></a> with <em class="parameter"><code>flags</code></em> == <a class="link" href="GstPad.html#GST-PAD-LINK-CHECK-DEFAULT:CAPS"><code class="literal">GST_PAD_LINK_CHECK_DEFAULT</code></a>
 is the same as calling <a class="link" href="GstElement.html#gst-element-link-pads" title="gst_element_link_pads ()"><code class="function">gst_element_link_pads()</code></a> and the recommended way of
 linking pads with safety checks applied.
 </p>
diff --git a/docs/gst/html/GstElementFactory.html b/docs/gst/html/GstElementFactory.html
index 8a91ee5..64a63e7 100644
--- a/docs/gst/html/GstElementFactory.html
+++ b/docs/gst/html/GstElementFactory.html
@@ -141,7 +141,7 @@
 <p>
 </p>
 <div class="example">
-<a name="idp17551616"></a><p class="title"><b>Example 6. Using an element factory</b></p>
+<a name="idp21134832"></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>
diff --git a/docs/gst/html/GstObject.html b/docs/gst/html/GstObject.html
index 2373aa6..3af337f 100644
--- a/docs/gst/html/GstObject.html
+++ b/docs/gst/html/GstObject.html
@@ -132,7 +132,7 @@
   <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>
          +----GstObject
-               +----GstAllocator
+               +----<a class="link" href="GstAllocator.html" title="GstAllocator">GstAllocator</a>
                +----<a class="link" href="GstPad.html" title="GstPad">GstPad</a>
                +----<a class="link" href="GstPadTemplate.html" title="GstPadTemplate">GstPadTemplate</a>
                +----<a class="link" href="GstPluginFeature.html" title="GstPluginFeature">GstPluginFeature</a>
@@ -186,7 +186,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp29641840"></a><h3>controlled properties</h3>
+<a name="idp31695632"></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
@@ -732,9 +732,9 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>excluded_props</code></em> :</span></p></td>
-<td>(array zero-terminated=1) (element-type gchar*)
-(allow-none): a set of user-specified properties to exclude or
-NULL to show all changes.</td>
+<td>a set of user-specified properties to exclude or NULL to show
+all changes. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> gchar*][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/gst/html/GstPad.html b/docs/gst/html/GstPad.html
index 002bf5f..8e3c2b6 100644
--- a/docs/gst/html/GstPad.html
+++ b/docs/gst/html/GstPad.html
@@ -54,9 +54,11 @@
 #define             <a class="link" href="GstPad.html#GST-PAD-LINK-FAILED:CAPS" title="GST_PAD_LINK_FAILED()">GST_PAD_LINK_FAILED</a>                 (ret)
 #define             <a class="link" href="GstPad.html#GST-PAD-LINK-SUCCESSFUL:CAPS" title="GST_PAD_LINK_SUCCESSFUL()">GST_PAD_LINK_SUCCESSFUL</a>             (ret)
 enum                <a class="link" href="GstPad.html#GstPadLinkCheck" title="enum GstPadLinkCheck">GstPadLinkCheck</a>;
-#define             <a class="link" href="GstPad.html#GST-PAD-LINK-CHECK-DEFAULT:CAPS" title="GST_PAD_LINK_CHECK_DEFAULT">GST_PAD_LINK_CHECK_DEFAULT</a>
 enum                <a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn">GstFlowReturn</a>;
+const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       <a class="link" href="GstPad.html#gst-flow-get-name" title="gst_flow_get_name ()">gst_flow_get_name</a>                   (<em class="parameter"><code><a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> ret</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>              <a class="link" href="GstPad.html#gst-flow-to-quark" title="gst_flow_to_quark ()">gst_flow_to_quark</a>                   (<em class="parameter"><code><a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> ret</code></em>);
 enum                <a class="link" href="GstPad.html#GstPadMode" title="enum GstPadMode">GstPadMode</a>;
+const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       <a class="link" href="GstPad.html#gst-pad-mode-get-name" title="gst_pad_mode_get_name ()">gst_pad_mode_get_name</a>               (<em class="parameter"><code><a class="link" href="GstPad.html#GstPadMode" title="enum GstPadMode"><span class="type">GstPadMode</span></a> mode</code></em>);
 
 #define             <a class="link" href="GstPad.html#gst-pad-get-name" title="gst_pad_get_name()">gst_pad_get_name</a>                    (pad)
 <a class="link" href="GstPad.html#GstPadDirection" title="enum GstPadDirection"><span class="returnvalue">GstPadDirection</span></a>     <a class="link" href="GstPad.html#gst-pad-get-direction" title="gst_pad_get_direction ()">gst_pad_get_direction</a>               (<em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>);
@@ -217,6 +219,7 @@
                                                          <em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *parent</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstPad.html#GstPadMode" title="enum GstPadMode"><span class="type">GstPadMode</span></a> mode</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> active</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="GstPad.html#gst-pad-needs-reconfigure" title="gst_pad_needs_reconfigure ()">gst_pad_needs_reconfigure</a>           (<em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</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="GstPad.html#gst-pad-check-reconfigure" title="gst_pad_check_reconfigure ()">gst_pad_check_reconfigure</a>           (<em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstPad.html#gst-pad-mark-reconfigure" title="gst_pad_mark_reconfigure ()">gst_pad_mark_reconfigure</a>            (<em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>);
 <a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       <a class="link" href="GstPad.html#gst-pad-push" title="gst_pad_push ()">gst_pad_push</a>                        (<em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>,
@@ -302,6 +305,15 @@
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             <a class="link" href="GstPad.html#gst-pad-create-stream-id" title="gst_pad_create_stream_id ()">gst_pad_create_stream_id</a>            (<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="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *parent</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> *stream_id</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             <a class="link" href="GstPad.html#gst-pad-create-stream-id-printf" title="gst_pad_create_stream_id_printf ()">gst_pad_create_stream_id_printf</a>     (<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="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *parent</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> *stream_id</code></em>,
+                                                         <em class="parameter"><code>...</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             <a class="link" href="GstPad.html#gst-pad-create-stream-id-printf-valist" title="gst_pad_create_stream_id_printf_valist ()">gst_pad_create_stream_id_printf_valist</a>
+                                                        (<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="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *parent</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> *stream_id</code></em>,
+                                                         <em class="parameter"><code><span class="type">va_list</span> var_args</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="GstPad.html#GstPadForwardFunction" title="GstPadForwardFunction ()">*GstPadForwardFunction</a>)            (<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 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="GstPad.html#gst-pad-forward" title="gst_pad_forward ()">gst_pad_forward</a>                     (<em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>,
@@ -695,7 +707,9 @@
   GST_PAD_LINK_CHECK_NOTHING       = 0,
   GST_PAD_LINK_CHECK_HIERARCHY     = 1 &lt;&lt; 0,
   GST_PAD_LINK_CHECK_TEMPLATE_CAPS = 1 &lt;&lt; 1,
-  GST_PAD_LINK_CHECK_CAPS          = 1 &lt;&lt; 2
+  GST_PAD_LINK_CHECK_CAPS          = 1 &lt;&lt; 2,
+
+  GST_PAD_LINK_CHECK_DEFAULT       = GST_PAD_LINK_CHECK_HIERARCHY | GST_PAD_LINK_CHECK_CAPS
 } GstPadLinkCheck;
 </pre>
 <p>
@@ -710,7 +724,7 @@
 <p>
 Only disable some of the checks if you are 100% certain you know the link
 will not fail because of hierarchy/caps compatibility failures. If uncertain,
-use the default checks (<a class="link" href="GstPad.html#GST-PAD-LINK-CHECK-DEFAULT:CAPS" title="GST_PAD_LINK_CHECK_DEFAULT"><code class="literal">GST_PAD_LINK_CHECK_DEFAULT</code></a>) or the regular methods
+use the default checks (<a class="link" href="GstPad.html#GST-PAD-LINK-CHECK-DEFAULT:CAPS"><code class="literal">GST_PAD_LINK_CHECK_DEFAULT</code></a>) or the regular methods
 for linking the pads.
 </p>
 </div>
@@ -744,21 +758,17 @@
   caps returned by <a class="link" href="GstPad.html#gst-pad-query-caps" title="gst_pad_query_caps ()"><code class="function">gst_pad_query_caps()</code></a>.
 </td>
 </tr>
+<tr>
+<td><p><a name="GST-PAD-LINK-CHECK-DEFAULT:CAPS"></a><span class="term"><code class="literal">GST_PAD_LINK_CHECK_DEFAULT</code></span></p></td>
+<td>The default checks done when linking
+  pads (i.e. the ones used by <a class="link" href="GstPad.html#gst-pad-link" title="gst_pad_link ()"><code class="function">gst_pad_link()</code></a>).
+</td>
+</tr>
 </tbody>
 </table></div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="GST-PAD-LINK-CHECK-DEFAULT:CAPS"></a><h3>GST_PAD_LINK_CHECK_DEFAULT</h3>
-<pre class="programlisting">#define GST_PAD_LINK_CHECK_DEFAULT ((GstPadLinkCheck) (GST_PAD_LINK_CHECK_HIERARCHY | GST_PAD_LINK_CHECK_CAPS))
-</pre>
-<p>
-The default checks done when linking pads (i.e. the ones used by
-<a class="link" href="GstPad.html#gst-pad-link" title="gst_pad_link ()"><code class="function">gst_pad_link()</code></a>).
-</p>
-</div>
-<hr>
-<div class="refsect2">
 <a name="GstFlowReturn"></a><h3>enum GstFlowReturn</h3>
 <pre class="programlisting">typedef enum {
   /* custom success starts here */
@@ -872,6 +882,49 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="gst-flow-get-name"></a><h3>gst_flow_get_name ()</h3>
+<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       gst_flow_get_name                   (<em class="parameter"><code><a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> ret</code></em>);</pre>
+<p>
+Gets a string representing the given flow return.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>ret</code></em> :</span></p></td>
+<td>a <a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> to get the name of.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a static string with the name of the flow return.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-flow-to-quark"></a><h3>gst_flow_to_quark ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>              gst_flow_to_quark                   (<em class="parameter"><code><a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> ret</code></em>);</pre>
+<p>
+Get the unique quark for the given GstFlowReturn.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>ret</code></em> :</span></p></td>
+<td>a <a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> to get the quark of.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the quark associated with the flow return or 0 if an
+invalid return was specified.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
 <a name="GstPadMode"></a><h3>enum GstPadMode</h3>
 <pre class="programlisting">typedef enum {
   GST_PAD_MODE_NONE,
@@ -907,6 +960,28 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="gst-pad-mode-get-name"></a><h3>gst_pad_mode_get_name ()</h3>
+<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       gst_pad_mode_get_name               (<em class="parameter"><code><a class="link" href="GstPad.html#GstPadMode" title="enum GstPadMode"><span class="type">GstPadMode</span></a> mode</code></em>);</pre>
+<p>
+Return the name of a pad mode, for use in debug messages mostly.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td>
+<td>the pad mode</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>short mnemonic for pad mode <em class="parameter"><code>mode</code></em>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
 <a name="gst-pad-get-name"></a><h3>gst_pad_get_name()</h3>
 <pre class="programlisting">#define gst_pad_get_name(pad) gst_object_get_name (GST_OBJECT_CAST (pad))
 </pre>
@@ -2945,6 +3020,29 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="gst-pad-needs-reconfigure"></a><h3>gst_pad_needs_reconfigure ()</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_pad_needs_reconfigure           (<em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
+<p>
+Check the <a class="link" href="GstPad.html#GST-PAD-FLAG-NEED-RECONFIGURE:CAPS"><span class="type">GST_PAD_FLAG_NEED_RECONFIGURE</span></a> flag on <em class="parameter"><code>pad</code></em> and return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>
+if the flag was set.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
+<td>the <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> to check</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> is the GST_PAD_FLAG_NEED_RECONFIGURE flag is set on <em class="parameter"><code>pad</code></em>.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
 <a name="gst-pad-check-reconfigure"></a><h3>gst_pad_check_reconfigure ()</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_pad_check_reconfigure           (<em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
 <p>
@@ -4049,6 +4147,151 @@
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             gst_pad_create_stream_id            (<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="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *parent</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> *stream_id</code></em>);</pre>
+<p>
+Creates a stream-id for the source <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> <em class="parameter"><code>pad</code></em> by combining the
+upstream information with the optional <em class="parameter"><code>stream_id</code></em> of the stream
+of <em class="parameter"><code>pad</code></em>. <em class="parameter"><code>pad</code></em> must have a parent <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> and which must have zero
+or one sinkpad. <em class="parameter"><code>stream_id</code></em> can only be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the parent element
+of <em class="parameter"><code>pad</code></em> has only a single source pad.
+</p>
+<p>
+This function generates an unique stream-id by getting the upstream
+stream-start event stream ID and appending <em class="parameter"><code>stream_id</code></em> to it. If the
+element has no sinkpad it will generate an upstream stream-id by
+doing an URI query on the element and in the worst case just uses
+a random number. Source elements that don't implement the URI
+handler interface should ideally generate a unique, deterministic
+stream-id manually instead.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
+<td>A source <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>parent</code></em> :</span></p></td>
+<td>Parent <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> of <em class="parameter"><code>pad</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>stream_id</code></em> :</span></p></td>
+<td>The stream-id. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>A stream-id for <em class="parameter"><code>pad</code></em>. <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-pad-create-stream-id-printf"></a><h3>gst_pad_create_stream_id_printf ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             gst_pad_create_stream_id_printf     (<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="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *parent</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> *stream_id</code></em>,
+                                                         <em class="parameter"><code>...</code></em>);</pre>
+<p>
+Creates a stream-id for the source <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> <em class="parameter"><code>pad</code></em> by combining the
+upstream information with the optional <em class="parameter"><code>stream_id</code></em> of the stream
+of <em class="parameter"><code>pad</code></em>. <em class="parameter"><code>pad</code></em> must have a parent <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> and which must have zero
+or one sinkpad. <em class="parameter"><code>stream_id</code></em> can only be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the parent element
+of <em class="parameter"><code>pad</code></em> has only a single source pad.
+</p>
+<p>
+This function generates an unique stream-id by getting the upstream
+stream-start event stream ID and appending <em class="parameter"><code>stream_id</code></em> to it. If the
+element has no sinkpad it will generate an upstream stream-id by
+doing an URI query on the element and in the worst case just uses
+a random number. Source elements that don't implement the URI
+handler interface should ideally generate a unique, deterministic
+stream-id manually instead.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
+<td>A source <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>parent</code></em> :</span></p></td>
+<td>Parent <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> of <em class="parameter"><code>pad</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>stream_id</code></em> :</span></p></td>
+<td>The stream-id. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
+<td>parameters for the <em class="parameter"><code>stream_id</code></em> format string</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>A stream-id for <em class="parameter"><code>pad</code></em>. <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-pad-create-stream-id-printf-valist"></a><h3>gst_pad_create_stream_id_printf_valist ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             gst_pad_create_stream_id_printf_valist
+                                                        (<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="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *parent</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> *stream_id</code></em>,
+                                                         <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
+<p>
+Creates a stream-id for the source <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> <em class="parameter"><code>pad</code></em> by combining the
+upstream information with the optional <em class="parameter"><code>stream_id</code></em> of the stream
+of <em class="parameter"><code>pad</code></em>. <em class="parameter"><code>pad</code></em> must have a parent <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> and which must have zero
+or one sinkpad. <em class="parameter"><code>stream_id</code></em> can only be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the parent element
+of <em class="parameter"><code>pad</code></em> has only a single source pad.
+</p>
+<p>
+This function generates an unique stream-id by getting the upstream
+stream-start event stream ID and appending <em class="parameter"><code>stream_id</code></em> to it. If the
+element has no sinkpad it will generate an upstream stream-id by
+doing an URI query on the element and in the worst case just uses
+a random number. Source elements that don't implement the URI
+handler interface should ideally generate a unique, deterministic
+stream-id manually instead.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
+<td>A source <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>parent</code></em> :</span></p></td>
+<td>Parent <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> of <em class="parameter"><code>pad</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>stream_id</code></em> :</span></p></td>
+<td>The stream-id. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>var_args</code></em> :</span></p></td>
+<td>parameters for the <em class="parameter"><code>stream_id</code></em> format string</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>A stream-id for <em class="parameter"><code>pad</code></em>. <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/gst/html/GstPadTemplate.html b/docs/gst/html/GstPadTemplate.html
index 8a99ed0..2ffc8f2 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="idp18030608"></a><p class="title"><b>Example 11. Create a pad from a padtemplate</b></p>
+<a name="idp8219680"></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>
diff --git a/docs/gst/html/GstRegistry.html b/docs/gst/html/GstRegistry.html
index c4e23ed..8b38553 100644
--- a/docs/gst/html/GstRegistry.html
+++ b/docs/gst/html/GstRegistry.html
@@ -53,7 +53,6 @@
 <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="GstRegistry.html#gst-registry-get-feature-list-by-plugin" title="gst_registry_get_feature_list_by_plugin ()">gst_registry_get_feature_list_by_plugin</a>
                                                         (<em class="parameter"><code><a class="link" href="GstRegistry.html" title="GstRegistry"><span class="type">GstRegistry</span></a> *registry</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="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *             <a class="link" href="GstRegistry.html#gst-registry-get-path-list" title="gst_registry_get_path_list ()">gst_registry_get_path_list</a>          (<em class="parameter"><code><a class="link" href="GstRegistry.html" title="GstRegistry"><span class="type">GstRegistry</span></a> *registry</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="GstRegistry.html#gst-registry-get-plugin-list" title="gst_registry_get_plugin_list ()">gst_registry_get_plugin_list</a>        (<em class="parameter"><code><a class="link" href="GstRegistry.html" title="GstRegistry"><span class="type">GstRegistry</span></a> *registry</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="GstRegistry.html#gst-registry-add-plugin" title="gst_registry_add_plugin ()">gst_registry_add_plugin</a>             (<em class="parameter"><code><a class="link" href="GstRegistry.html" title="GstRegistry"><span class="type">GstRegistry</span></a> *registry</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstPlugin.html" title="GstPlugin"><span class="type">GstPlugin</span></a> *plugin</code></em>);
@@ -74,8 +73,6 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>);
 <a class="link" href="GstPluginFeature.html" title="GstPluginFeature"><span class="returnvalue">GstPluginFeature</span></a> *  <a class="link" href="GstRegistry.html#gst-registry-lookup-feature" title="gst_registry_lookup_feature ()">gst_registry_lookup_feature</a>         (<em class="parameter"><code><a class="link" href="GstRegistry.html" title="GstRegistry"><span class="type">GstRegistry</span></a> *registry</code></em>,
                                                          <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="GstRegistry.html#gst-registry-add-path" title="gst_registry_add_path ()">gst_registry_add_path</a>               (<em class="parameter"><code><a class="link" href="GstRegistry.html" title="GstRegistry"><span class="type">GstRegistry</span></a> *registry</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> *path</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="GstRegistry.html#gst-registry-scan-path" title="gst_registry_scan_path ()">gst_registry_scan_path</a>              (<em class="parameter"><code><a class="link" href="GstRegistry.html" title="GstRegistry"><span class="type">GstRegistry</span></a> *registry</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> *path</code></em>);
 <a class="link" href="GstPlugin.html" title="GstPlugin"><span class="returnvalue">GstPlugin</span></a> *         <a class="link" href="GstRegistry.html#gst-registry-lookup" title="gst_registry_lookup ()">gst_registry_lookup</a>                 (<em class="parameter"><code><a class="link" href="GstRegistry.html" title="GstRegistry"><span class="type">GstRegistry</span></a> *registry</code></em>,
@@ -297,30 +294,6 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-registry-get-path-list"></a><h3>gst_registry_get_path_list ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *             gst_registry_get_path_list          (<em class="parameter"><code><a class="link" href="GstRegistry.html" title="GstRegistry"><span class="type">GstRegistry</span></a> *registry</code></em>);</pre>
-<p>
-Get the list of paths for the given registry.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>registry</code></em> :</span></p></td>
-<td>the registry to get the pathlist of</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of paths as
-strings. g_list_free after use.
-MT safe. <span class="annotation">[<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> char*]</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
 <a name="gst-registry-get-plugin-list"></a><h3>gst_registry_get_plugin_list ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *             gst_registry_get_plugin_list        (<em class="parameter"><code><a class="link" href="GstRegistry.html" title="GstRegistry"><span class="type">GstRegistry</span></a> *registry</code></em>);</pre>
 <p>
@@ -584,30 +557,6 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-registry-add-path"></a><h3>gst_registry_add_path ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_registry_add_path               (<em class="parameter"><code><a class="link" href="GstRegistry.html" title="GstRegistry"><span class="type">GstRegistry</span></a> *registry</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> *path</code></em>);</pre>
-<p>
-Add the given path to the registry. The syntax of the
-path is specific to the registry. If the path has already been
-added, do nothing.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>registry</code></em> :</span></p></td>
-<td>the registry to add the path to</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
-<td>the path to add to the registry</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
 <a name="gst-registry-scan-path"></a><h3>gst_registry_scan_path ()</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_registry_scan_path              (<em class="parameter"><code><a class="link" href="GstRegistry.html" title="GstRegistry"><span class="type">GstRegistry</span></a> *registry</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> *path</code></em>);</pre>
diff --git a/docs/gst/html/GstTypeFindFactory.html b/docs/gst/html/GstTypeFindFactory.html
index 99f0e48..0604ef7 100644
--- a/docs/gst/html/GstTypeFindFactory.html
+++ b/docs/gst/html/GstTypeFindFactory.html
@@ -73,7 +73,7 @@
 <p>
 </p>
 <div class="example">
-<a name="idp12056528"></a><p class="title"><b>Example 13. how to write a simple typefinder</b></p>
+<a name="idp20982832"></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>
diff --git a/docs/gst/html/api-index-full.html b/docs/gst/html/api-index-full.html
index a88240d..c19eb13 100644
--- a/docs/gst/html/api-index-full.html
+++ b/docs/gst/html/api-index-full.html
@@ -67,51 +67,51 @@
 <a name="api-index-full"></a>API Index</h2></div></div></div>
 <a name="idx"></a><a name="idxA"></a><h3 class="title">A</h3>
 <dt>
-GstAllocationParams, struct in GstAllocator
+<a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams">GstAllocationParams</a>, struct in <a class="link" href="GstAllocator.html" title="GstAllocator">GstAllocator</a>
 </dt>
 <dd></dd>
 <dt>
-gst_allocation_params_copy, function in GstAllocator
+<a class="link" href="GstAllocator.html#gst-allocation-params-copy" title="gst_allocation_params_copy ()">gst_allocation_params_copy</a>, function in <a class="link" href="GstAllocator.html" title="GstAllocator">GstAllocator</a>
 </dt>
 <dd></dd>
 <dt>
-gst_allocation_params_free, function in GstAllocator
+<a class="link" href="GstAllocator.html#gst-allocation-params-free" title="gst_allocation_params_free ()">gst_allocation_params_free</a>, function in <a class="link" href="GstAllocator.html" title="GstAllocator">GstAllocator</a>
 </dt>
 <dd></dd>
 <dt>
-gst_allocation_params_init, function in GstAllocator
+<a class="link" href="GstAllocator.html#gst-allocation-params-init" title="gst_allocation_params_init ()">gst_allocation_params_init</a>, function in <a class="link" href="GstAllocator.html" title="GstAllocator">GstAllocator</a>
 </dt>
 <dd></dd>
 <dt>
-GstAllocator, struct in GstAllocator
+<a class="link" href="GstAllocator.html#GstAllocator-struct" title="GstAllocator">GstAllocator</a>, struct in <a class="link" href="GstAllocator.html" title="GstAllocator">GstAllocator</a>
 </dt>
 <dd></dd>
 <dt>
-GstAllocatorFlags, enum in GstAllocator
+<a class="link" href="GstAllocator.html#GstAllocatorFlags" title="enum GstAllocatorFlags">GstAllocatorFlags</a>, enum in <a class="link" href="GstAllocator.html" title="GstAllocator">GstAllocator</a>
 </dt>
 <dd></dd>
 <dt>
-gst_allocator_alloc, function in GstAllocator
+<a class="link" href="GstAllocator.html#gst-allocator-alloc" title="gst_allocator_alloc ()">gst_allocator_alloc</a>, function in <a class="link" href="GstAllocator.html" title="GstAllocator">GstAllocator</a>
 </dt>
 <dd></dd>
 <dt>
-gst_allocator_find, function in GstAllocator
+<a class="link" href="GstAllocator.html#gst-allocator-find" title="gst_allocator_find ()">gst_allocator_find</a>, function in <a class="link" href="GstAllocator.html" title="GstAllocator">GstAllocator</a>
 </dt>
 <dd></dd>
 <dt>
-gst_allocator_free, function in GstAllocator
+<a class="link" href="GstAllocator.html#gst-allocator-free" title="gst_allocator_free ()">gst_allocator_free</a>, function in <a class="link" href="GstAllocator.html" title="GstAllocator">GstAllocator</a>
 </dt>
 <dd></dd>
 <dt>
-gst_allocator_register, function in GstAllocator
+<a class="link" href="GstAllocator.html#gst-allocator-register" title="gst_allocator_register ()">gst_allocator_register</a>, function in <a class="link" href="GstAllocator.html" title="GstAllocator">GstAllocator</a>
 </dt>
 <dd></dd>
 <dt>
-gst_allocator_set_default, function in GstAllocator
+<a class="link" href="GstAllocator.html#gst-allocator-set-default" title="gst_allocator_set_default ()">gst_allocator_set_default</a>, function in <a class="link" href="GstAllocator.html" title="GstAllocator">GstAllocator</a>
 </dt>
 <dd></dd>
 <dt>
-GST_ALLOCATOR_SYSMEM, macro in GstAllocator
+<a class="link" href="GstAllocator.html#GST-ALLOCATOR-SYSMEM:CAPS" title="GST_ALLOCATOR_SYSMEM">GST_ALLOCATOR_SYSMEM</a>, macro in <a class="link" href="GstAllocator.html" title="GstAllocator">GstAllocator</a>
 </dt>
 <dd></dd>
 <dt>
@@ -304,11 +304,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-append" title="gst_buffer_append()">gst_buffer_append</a>, macro in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
+<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-append" title="gst_buffer_append ()">gst_buffer_append</a>, function in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-append-memory" title="gst_buffer_append_memory()">gst_buffer_append_memory</a>, macro in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
+<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-append-memory" title="gst_buffer_append_memory ()">gst_buffer_append_memory</a>, function in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
 </dt>
 <dd></dd>
 <dt>
@@ -384,11 +384,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-get-all-memory" title="gst_buffer_get_all_memory()">gst_buffer_get_all_memory</a>, macro in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
+<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-get-all-memory" title="gst_buffer_get_all_memory ()">gst_buffer_get_all_memory</a>, function in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-get-memory" title="gst_buffer_get_memory()">gst_buffer_get_memory</a>, macro in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
+<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-get-memory" title="gst_buffer_get_memory ()">gst_buffer_get_memory</a>, function in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
 </dt>
 <dd></dd>
 <dt>
@@ -400,11 +400,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-get-size" title="gst_buffer_get_size()">gst_buffer_get_size</a>, macro in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
+<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-get-size" title="gst_buffer_get_size ()">gst_buffer_get_size</a>, function in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-get-sizes" title="gst_buffer_get_sizes()">gst_buffer_get_sizes</a>, macro in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
+<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-get-sizes" title="gst_buffer_get_sizes ()">gst_buffer_get_sizes</a>, function in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
 </dt>
 <dd></dd>
 <dt>
@@ -484,7 +484,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-map" title="gst_buffer_map()">gst_buffer_map</a>, macro in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
+<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-map" title="gst_buffer_map ()">gst_buffer_map</a>, function in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
 </dt>
 <dd></dd>
 <dt>
@@ -616,7 +616,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-prepend-memory" title="gst_buffer_prepend_memory()">gst_buffer_prepend_memory</a>, macro in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
+<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-prepend-memory" title="gst_buffer_prepend_memory ()">gst_buffer_prepend_memory</a>, function in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
 </dt>
 <dd></dd>
 <dt>
@@ -632,11 +632,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-remove-all-memory" title="gst_buffer_remove_all_memory()">gst_buffer_remove_all_memory</a>, macro in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
+<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-remove-all-memory" title="gst_buffer_remove_all_memory ()">gst_buffer_remove_all_memory</a>, function in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-remove-memory" title="gst_buffer_remove_memory()">gst_buffer_remove_memory</a>, macro in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
+<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-remove-memory" title="gst_buffer_remove_memory ()">gst_buffer_remove_memory</a>, function in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
 </dt>
 <dd></dd>
 <dt>
@@ -652,11 +652,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-replace-all-memory" title="gst_buffer_replace_all_memory()">gst_buffer_replace_all_memory</a>, macro in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
+<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-replace-all-memory" title="gst_buffer_replace_all_memory ()">gst_buffer_replace_all_memory</a>, function in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-replace-memory" title="gst_buffer_replace_memory()">gst_buffer_replace_memory</a>, macro in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
+<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-replace-memory" title="gst_buffer_replace_memory ()">gst_buffer_replace_memory</a>, function in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
 </dt>
 <dd></dd>
 <dt>
@@ -664,7 +664,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-resize" title="gst_buffer_resize()">gst_buffer_resize</a>, macro in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
+<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-resize" title="gst_buffer_resize ()">gst_buffer_resize</a>, function in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
 </dt>
 <dd></dd>
 <dt>
@@ -672,7 +672,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-set-size" title="gst_buffer_set_size()">gst_buffer_set_size</a>, macro in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
+<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-set-size" title="gst_buffer_set_size ()">gst_buffer_set_size</a>, function in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
 </dt>
 <dd></dd>
 <dt>
@@ -2319,10 +2319,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstEvent.html#gst-event-add-stream-config-header" title="gst_event_add_stream_config_header ()">gst_event_add_stream_config_header</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstEvent.html#gst-event-copy" title="gst_event_copy ()">gst_event_copy</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
 </dt>
 <dd></dd>
@@ -2331,10 +2327,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstEvent.html#gst-event-get-n-stream-config-headers" title="gst_event_get_n_stream_config_headers ()">gst_event_get_n_stream_config_headers</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstEvent.html#gst-event-get-seqnum" title="gst_event_get_seqnum ()">gst_event_get_seqnum</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
 </dt>
 <dd></dd>
@@ -2439,10 +2431,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstEvent.html#gst-event-new-stream-config" title="gst_event_new_stream_config ()">gst_event_new_stream_config</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstEvent.html#gst-event-new-stream-start" title="gst_event_new_stream_start ()">gst_event_new_stream_start</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
 </dt>
 <dd></dd>
@@ -2479,10 +2467,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstEvent.html#gst-event-parse-nth-stream-config-header" title="gst_event_parse_nth_stream_config_header ()">gst_event_parse_nth_stream_config_header</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-qos" title="gst_event_parse_qos ()">gst_event_parse_qos</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
 </dt>
 <dd></dd>
@@ -2507,14 +2491,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstEvent.html#gst-event-parse-stream-config" title="gst_event_parse_stream_config ()">gst_event_parse_stream_config</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gstreamer-GstEvent.html#gst-event-parse-stream-config-setup-data" title="gst_event_parse_stream_config_setup_data ()">gst_event_parse_stream_config_setup_data</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-stream-start" title="gst_event_parse_stream_start ()">gst_event_parse_stream_start</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
 </dt>
 <dd></dd>
@@ -2547,10 +2523,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstEvent.html#gst-event-set-stream-config-setup-data" title="gst_event_set_stream_config_setup_data ()">gst_event_set_stream_config_setup_data</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstEvent.html#gst-event-steal" title="gst_event_steal ()">gst_event_steal</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
 </dt>
 <dd></dd>
@@ -2612,11 +2584,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstUtils.html#gst-flow-get-name" title="gst_flow_get_name ()">gst_flow_get_name</a>, function in <a class="link" href="gstreamer-GstUtils.html" title="GstUtils">GstUtils</a>
+<a class="link" href="GstPad.html#gst-flow-get-name" title="gst_flow_get_name ()">gst_flow_get_name</a>, function in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstUtils.html#gst-flow-to-quark" title="gst_flow_to_quark ()">gst_flow_to_quark</a>, function in <a class="link" href="gstreamer-GstUtils.html" title="GstUtils">GstUtils</a>
+<a class="link" href="GstPad.html#gst-flow-to-quark" title="gst_flow_to_quark ()">gst_flow_to_quark</a>, function in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
 </dt>
 <dd></dd>
 <dt>
@@ -3048,7 +3020,7 @@
 </dt>
 <dd></dd>
 <dt>
-gst_memory_new_wrapped, function in GstAllocator
+<a class="link" href="GstAllocator.html#gst-memory-new-wrapped" title="gst_memory_new_wrapped ()">gst_memory_new_wrapped</a>, function in <a class="link" href="GstAllocator.html" title="GstAllocator">GstAllocator</a>
 </dt>
 <dd></dd>
 <dt>
@@ -3140,7 +3112,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstMessage.html#gst-message-new-duration" title="gst_message_new_duration ()">gst_message_new_duration</a>, function in <a class="link" href="gstreamer-GstMessage.html" title="GstMessage">GstMessage</a>
+<a class="link" href="gstreamer-GstMessage.html#gst-message-new-duration-changed" title="gst_message_new_duration_changed ()">gst_message_new_duration_changed</a>, function in <a class="link" href="gstreamer-GstMessage.html" title="GstMessage">GstMessage</a>
 </dt>
 <dd></dd>
 <dt>
@@ -3208,6 +3180,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstMessage.html#gst-message-new-stream-start" title="gst_message_new_stream_start ()">gst_message_new_stream_start</a>, function in <a class="link" href="gstreamer-GstMessage.html" title="GstMessage">GstMessage</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstMessage.html#gst-message-new-stream-status" title="gst_message_new_stream_status ()">gst_message_new_stream_status</a>, function in <a class="link" href="gstreamer-GstMessage.html" title="GstMessage">GstMessage</a>
 </dt>
 <dd></dd>
@@ -3248,10 +3224,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstMessage.html#gst-message-parse-duration" title="gst_message_parse_duration ()">gst_message_parse_duration</a>, function in <a class="link" href="gstreamer-GstMessage.html" title="GstMessage">GstMessage</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-error" title="gst_message_parse_error ()">gst_message_parse_error</a>, function in <a class="link" href="gstreamer-GstMessage.html" title="GstMessage">GstMessage</a>
 </dt>
 <dd></dd>
@@ -3939,6 +3911,14 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="GstPad.html#gst-pad-create-stream-id-printf" title="gst_pad_create_stream_id_printf ()">gst_pad_create_stream_id_printf</a>, function in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GstPad.html#gst-pad-create-stream-id-printf-valist" title="gst_pad_create_stream_id_printf_valist ()">gst_pad_create_stream_id_printf_valist</a>, function in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="GstPad.html#gst-pad-event-default" title="gst_pad_event_default ()">gst_pad_event_default</a>, function in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
 </dt>
 <dd></dd>
@@ -4035,10 +4015,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstPad.html#GST-PAD-LINK-CHECK-DEFAULT:CAPS" title="GST_PAD_LINK_CHECK_DEFAULT">GST_PAD_LINK_CHECK_DEFAULT</a>, macro in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="GstPad.html#GST-PAD-LINK-FAILED:CAPS" title="GST_PAD_LINK_FAILED()">GST_PAD_LINK_FAILED</a>, macro in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
 </dt>
 <dd></dd>
@@ -4055,6 +4031,14 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="GstPad.html#gst-pad-mode-get-name" title="gst_pad_mode_get_name ()">gst_pad_mode_get_name</a>, function in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GstPad.html#gst-pad-needs-reconfigure" title="gst_pad_needs_reconfigure ()">gst_pad_needs_reconfigure</a>, function in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="GstPad.html#gst-pad-new" title="gst_pad_new ()">gst_pad_new</a>, function in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
 </dt>
 <dd></dd>
@@ -4940,6 +4924,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstQuery.html#gst-query-has-scheduling-mode-with-flags" title="gst_query_has_scheduling_mode_with_flags ()">gst_query_has_scheduling_mode_with_flags</a>, function in <a class="link" href="gstreamer-GstQuery.html" title="GstQuery">GstQuery</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstQuery.html#GST-QUERY-IS-DOWNSTREAM:CAPS" title="GST_QUERY_IS_DOWNSTREAM()">GST_QUERY_IS_DOWNSTREAM</a>, macro in <a class="link" href="gstreamer-GstQuery.html" title="GstQuery">GstQuery</a>
 </dt>
 <dd></dd>
@@ -5301,10 +5289,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstRegistry.html#gst-registry-add-path" title="gst_registry_add_path ()">gst_registry_add_path</a>, function in <a class="link" href="GstRegistry.html" title="GstRegistry">GstRegistry</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="GstRegistry.html#gst-registry-add-plugin" title="gst_registry_add_plugin ()">gst_registry_add_plugin</a>, function in <a class="link" href="GstRegistry.html" title="GstRegistry">GstRegistry</a>
 </dt>
 <dd></dd>
@@ -5349,10 +5333,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstRegistry.html#gst-registry-get-path-list" title="gst_registry_get_path_list ()">gst_registry_get_path_list</a>, function in <a class="link" href="GstRegistry.html" title="GstRegistry">GstRegistry</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="GstRegistry.html#gst-registry-get-plugin-list" title="gst_registry_get_plugin_list ()">gst_registry_get_plugin_list</a>, function in <a class="link" href="GstRegistry.html" title="GstRegistry">GstRegistry</a>
 </dt>
 <dd></dd>
@@ -5646,10 +5626,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstEvent.html#GstStreamConfigFlags" title="enum GstStreamConfigFlags">GstStreamConfigFlags</a>, enum in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstGError.html#GstStreamError" title="enum GstStreamError">GstStreamError</a>, enum in <a class="link" href="gstreamer-GstGError.html" title="GstGError">GstGError</a>
 </dt>
 <dd></dd>
@@ -5967,6 +5943,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstTagList.html#GstTagScope" title="enum GstTagScope">GstTagScope</a>, enum in <a class="link" href="gstreamer-GstTagList.html" title="GstTagList">GstTagList</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="GstTagSetter.html#GstTagSetter-struct" title="GstTagSetter">GstTagSetter</a>, struct in <a class="link" href="GstTagSetter.html" title="GstTagSetter">GstTagSetter</a>
 </dt>
 <dd></dd>
@@ -6331,6 +6311,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstTagList.html#gst-tag-list-get-scope" title="gst_tag_list_get_scope ()">gst_tag_list_get_scope</a>, function in <a class="link" href="gstreamer-GstTagList.html" title="GstTagList">GstTagList</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstTagList.html#gst-tag-list-get-string" title="gst_tag_list_get_string ()">gst_tag_list_get_string</a>, function in <a class="link" href="gstreamer-GstTagList.html" title="GstTagList">GstTagList</a>
 </dt>
 <dd></dd>
@@ -6423,6 +6407,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstTagList.html#gst-tag-list-set-scope" title="gst_tag_list_set_scope ()">gst_tag_list_set_scope</a>, function in <a class="link" href="gstreamer-GstTagList.html" title="GstTagList">GstTagList</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstTagList.html#gst-tag-list-to-string" title="gst_tag_list_to_string ()">gst_tag_list_to_string</a>, function in <a class="link" href="gstreamer-GstTagList.html" title="GstTagList">GstTagList</a>
 </dt>
 <dd></dd>
diff --git a/docs/gst/html/gst-building.html b/docs/gst/html/gst-building.html
index bb0800e..b25945a 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="idp7187984"></a><h2>Building GStreamer on UNIX</h2>
+<a name="idp11420832"></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="idp10591376"></a><h2>Building GStreamer Applications</h2>
+<a name="idp10766496"></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 95dc51f..f9b6e23 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="idp11705424"></a><h2>Running and debugging GStreamer Applications</h2>
+<a name="idp11719520"></a><h2>Running and debugging GStreamer Applications</h2>
 <div class="refsect2">
-<a name="idp11902880"></a><h3>Environment variables</h3>
+<a name="idp8741872"></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 f4904e7..a93f64f 100644
--- a/docs/gst/html/gstreamer-Gst.html
+++ b/docs/gst/html/gstreamer-Gst.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
 <link rel="prev" href="libgstreamer.html" title="GStreamer Core Library">
-<link rel="next" href="gstreamer-GstAtomicQueue.html" title="GstAtomicQueue">
+<link rel="next" href="GstAllocator.html" title="GstAllocator">
 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -18,7 +18,7 @@
 <td><a accesskey="u" href="libgstreamer.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
 <th width="100%" align="center">GStreamer 1.0 Core Reference Manual</th>
-<td><a accesskey="n" href="gstreamer-GstAtomicQueue.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="GstAllocator.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
 </tr>
 <tr><td colspan="5" class="shortcuts">
 <a href="#gstreamer-Gst.synopsis" class="shortcut">Top</a>
@@ -83,7 +83,7 @@
 <p>
 </p>
 <div class="example">
-<a name="idp9241488"></a><p class="title"><b>Example 1. Initializing the gstreamer library</b></p>
+<a name="idp7526688"></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>
@@ -119,7 +119,7 @@
 the next code fragment:
 </p>
 <div class="example">
-<a name="idp10664336"></a><p class="title"><b>Example 2. Initializing own parameters when initializing gstreamer</b></p>
+<a name="idp6669920"></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>
diff --git a/docs/gst/html/gstreamer-GstAtomicQueue.html b/docs/gst/html/gstreamer-GstAtomicQueue.html
index 5692f1e..8c6ca60 100644
--- a/docs/gst/html/gstreamer-GstAtomicQueue.html
+++ b/docs/gst/html/gstreamer-GstAtomicQueue.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
-<link rel="prev" href="gstreamer-Gst.html" title="Gst">
+<link rel="prev" href="GstAllocator.html" title="GstAllocator">
 <link rel="next" href="GstBin.html" title="GstBin">
 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
@@ -14,7 +14,7 @@
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
 <tr valign="middle">
-<td><a accesskey="p" href="gstreamer-Gst.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="GstAllocator.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
 <td><a accesskey="u" href="libgstreamer.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
 <th width="100%" align="center">GStreamer 1.0 Core Reference Manual</th>
diff --git a/docs/gst/html/gstreamer-GstBuffer.html b/docs/gst/html/gstreamer-GstBuffer.html
index 74672c7..b23a504 100644
--- a/docs/gst/html/gstreamer-GstBuffer.html
+++ b/docs/gst/html/gstreamer-GstBuffer.html
@@ -62,9 +62,9 @@
 #define             <a class="link" href="gstreamer-GstBuffer.html#GST-BUFFER-OFFSET-END-IS-VALID:CAPS" title="GST_BUFFER_OFFSET_END_IS_VALID()">GST_BUFFER_OFFSET_END_IS_VALID</a>      (buffer)
 #define             <a class="link" href="gstreamer-GstBuffer.html#GST-BUFFER-IS-DISCONT:CAPS" title="GST_BUFFER_IS_DISCONT()">GST_BUFFER_IS_DISCONT</a>               (buffer)
 <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-new" title="gst_buffer_new ()">gst_buffer_new</a>                      (<em class="parameter"><code><span class="type">void</span></code></em>);
-<a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-new-allocate" title="gst_buffer_new_allocate ()">gst_buffer_new_allocate</a>             (<em class="parameter"><code><span class="type">GstAllocator</span> *allocator</code></em>,
+<a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-new-allocate" title="gst_buffer_new_allocate ()">gst_buffer_new_allocate</a>             (<em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> size</code></em>,
-                                                         <em class="parameter"><code><span class="type">GstAllocationParams</span> *params</code></em>);
+                                                         <em class="parameter"><code><a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);
 <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-new-wrapped" title="gst_buffer_new_wrapped ()">gst_buffer_new_wrapped</a>              (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> size</code></em>);
 <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-new-wrapped-full" title="gst_buffer_new_wrapped_full ()">gst_buffer_new_wrapped_full</a>         (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemoryFlags" title="enum GstMemoryFlags"><span class="type">GstMemoryFlags</span></a> flags</code></em>,
@@ -76,10 +76,10 @@
                                                          <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>);
 <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-ref" title="gst_buffer_ref ()">gst_buffer_ref</a>                      (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-unref" title="gst_buffer_unref ()">gst_buffer_unref</a>                    (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>);
-#define             <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-get-sizes" title="gst_buffer_get_sizes()">gst_buffer_get_sizes</a>                (b,
-                                                         of,
-                                                         ms)
-#define             <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-get-size" title="gst_buffer_get_size()">gst_buffer_get_size</a>                 (b)
+<span class="returnvalue">gsize</span>               <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-get-sizes" title="gst_buffer_get_sizes ()">gst_buffer_get_sizes</a>                (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+                                                         <em class="parameter"><code><span class="type">gsize</span> *offset</code></em>,
+                                                         <em class="parameter"><code><span class="type">gsize</span> *maxsize</code></em>);
+<span class="returnvalue">gsize</span>               <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-get-size" title="gst_buffer_get_size ()">gst_buffer_get_size</a>                 (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>);
 <span class="returnvalue">gsize</span>               <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-get-sizes-range" title="gst_buffer_get_sizes_range ()">gst_buffer_get_sizes_range</a>          (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct 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#guint"><span class="type">guint</span></a> idx</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> length</code></em>,
@@ -90,11 +90,11 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> length</code></em>,
                                                          <em class="parameter"><code><span class="type">gssize</span> offset</code></em>,
                                                          <em class="parameter"><code><span class="type">gssize</span> size</code></em>);
-#define             <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-resize" title="gst_buffer_resize()">gst_buffer_resize</a>                   (b,
-                                                         of,
-                                                         s)
-#define             <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-set-size" title="gst_buffer_set_size()">gst_buffer_set_size</a>                 (b,
-                                                         s)
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-resize" title="gst_buffer_resize ()">gst_buffer_resize</a>                   (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+                                                         <em class="parameter"><code><span class="type">gssize</span> offset</code></em>,
+                                                         <em class="parameter"><code><span class="type">gssize</span> size</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-set-size" title="gst_buffer_set_size ()">gst_buffer_set_size</a>                 (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+                                                         <em class="parameter"><code><span class="type">gssize</span> size</code></em>);
 <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="returnvalue">GstMemory</span></a> *         <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-peek-memory" title="gst_buffer_peek_memory ()">gst_buffer_peek_memory</a>              (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct 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#guint"><span class="type">guint</span></a> idx</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-GstBuffer.html#gst-buffer-n-memory" title="gst_buffer_n_memory ()">gst_buffer_n_memory</a>                 (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>);
@@ -117,24 +117,24 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *idx</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><span class="type">gsize</span> *skip</code></em>);
-#define             <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-prepend-memory" title="gst_buffer_prepend_memory()">gst_buffer_prepend_memory</a>           (b,
-                                                         m)
-#define             <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-append-memory" title="gst_buffer_append_memory()">gst_buffer_append_memory</a>            (b,
-                                                         m)
-#define             <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-replace-memory" title="gst_buffer_replace_memory()">gst_buffer_replace_memory</a>           (b,
-                                                         i,
-                                                         m)
-#define             <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-replace-all-memory" title="gst_buffer_replace_all_memory()">gst_buffer_replace_all_memory</a>       (b,
-                                                         m)
-#define             <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-get-memory" title="gst_buffer_get_memory()">gst_buffer_get_memory</a>               (b,
-                                                         i)
-#define             <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-get-all-memory" title="gst_buffer_get_all_memory()">gst_buffer_get_all_memory</a>           (b)
-#define             <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-remove-memory" title="gst_buffer_remove_memory()">gst_buffer_remove_memory</a>            (b,
-                                                         i)
-#define             <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-remove-all-memory" title="gst_buffer_remove_all_memory()">gst_buffer_remove_all_memory</a>        (b)
-#define             <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-map" title="gst_buffer_map()">gst_buffer_map</a>                      (b,
-                                                         i,
-                                                         f)
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-prepend-memory" title="gst_buffer_prepend_memory ()">gst_buffer_prepend_memory</a>           (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *mem</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-append-memory" title="gst_buffer_append_memory ()">gst_buffer_append_memory</a>            (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *mem</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-replace-memory" title="gst_buffer_replace_memory ()">gst_buffer_replace_memory</a>           (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct 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#guint"><span class="type">guint</span></a> idx</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *mem</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-replace-all-memory" title="gst_buffer_replace_all_memory ()">gst_buffer_replace_all_memory</a>       (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *mem</code></em>);
+<a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="returnvalue">GstMemory</span></a> *         <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-get-memory" title="gst_buffer_get_memory ()">gst_buffer_get_memory</a>               (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct 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#guint"><span class="type">guint</span></a> idx</code></em>);
+<a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="returnvalue">GstMemory</span></a> *         <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-get-all-memory" title="gst_buffer_get_all_memory ()">gst_buffer_get_all_memory</a>           (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-remove-memory" title="gst_buffer_remove_memory ()">gst_buffer_remove_memory</a>            (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct 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#guint"><span class="type">guint</span></a> idx</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-remove-all-memory" title="gst_buffer_remove_all_memory ()">gst_buffer_remove_all_memory</a>        (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</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-GstBuffer.html#gst-buffer-map" title="gst_buffer_map ()">gst_buffer_map</a>                      (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMapInfo" title="GstMapInfo"><span class="type">GstMapInfo</span></a> *info</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMapFlags" title="enum GstMapFlags"><span class="type">GstMapFlags</span></a> flags</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-GstBuffer.html#gst-buffer-map-range" title="gst_buffer_map_range ()">gst_buffer_map_range</a>                (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct 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#guint"><span class="type">guint</span></a> idx</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> length</code></em>,
@@ -175,8 +175,8 @@
 #define             <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-make-writable" title="gst_buffer_make_writable()">gst_buffer_make_writable</a>            (buf)
 <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-GstBuffer.html#gst-buffer-replace" title="gst_buffer_replace ()">gst_buffer_replace</a>                  (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> **obuf</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *nbuf</code></em>);
-#define             <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-append" title="gst_buffer_append()">gst_buffer_append</a>                   (b1,
-                                                         b2)
+<a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-append" title="gst_buffer_append ()">gst_buffer_append</a>                   (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buf1</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buf2</code></em>);
 <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-append-region" title="gst_buffer_append_region ()">gst_buffer_append_region</a>            (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buf1</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buf2</code></em>,
                                                          <em class="parameter"><code><span class="type">gssize</span> offset</code></em>,
@@ -212,7 +212,7 @@
 with a given width, height and bits per plane.
 </p>
 <div class="example">
-<a name="idp13658544"></a><p class="title"><b>Example 3. Creating a buffer for a video frame</b></p>
+<a name="idp13056736"></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>
@@ -232,7 +232,7 @@
 <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">gst_allocator_alloc</span> <span class="gtkdoc opt">(</span>NULL<span class="gtkdoc opt">,</span> size<span class="gtkdoc opt">,</span> NULL<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>
 <span class="gtkdoc opt">...</span></pre></td>
       </tr>
@@ -299,7 +299,7 @@
 </p>
 <p>
 Buffers can be efficiently merged into a larger buffer with
-<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-append" title="gst_buffer_append()"><code class="function">gst_buffer_append()</code></a>. Copying of memory will only be done when absolutely
+<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-append" title="gst_buffer_append ()"><code class="function">gst_buffer_append()</code></a>. Copying of memory will only be done when absolutely
 needed.
 </p>
 <p>
@@ -453,8 +453,7 @@
 <tr>
 <td><p><a name="GST-BUFFER-FLAG-HEADER:CAPS"></a><span class="term"><code class="literal">GST_BUFFER_FLAG_HEADER</code></span></p></td>
 <td>the buffer contains header information that is
-                              needed to decode the following data. The buffer
-                              is also part of the headers of the STREAM_CONFIG event.
+                              needed to decode the following data.
 </td>
 </tr>
 <tr>
@@ -787,9 +786,9 @@
 <hr>
 <div class="refsect2">
 <a name="gst-buffer-new-allocate"></a><h3>gst_buffer_new_allocate ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_buffer_new_allocate             (<em class="parameter"><code><span class="type">GstAllocator</span> *allocator</code></em>,
+<pre class="programlisting"><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_buffer_new_allocate             (<em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> size</code></em>,
-                                                         <em class="parameter"><code><span class="type">GstAllocationParams</span> *params</code></em>);</pre>
+                                                         <em class="parameter"><code><a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
 <p>
 Tries to create a newly allocated buffer with data of the given size and
 extra parameters from <em class="parameter"><code>allocator</code></em>. If the requested amount of memory can't be
@@ -809,7 +808,7 @@
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td>
-<td>the <span class="type">GstAllocator</span> to use, or NULL to use the
+<td>the <a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> to use, or NULL to use the
 default allocator. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
 </td>
 </tr>
@@ -848,7 +847,8 @@
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
-<td>data to wrap</td>
+<td>data to wrap. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span>
+</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
@@ -894,7 +894,8 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
-<td>data to wrap</td>
+<td>data to wrap. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span>
+</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>maxsize</code></em> :</span></p></td>
@@ -975,61 +976,61 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-buffer-get-sizes"></a><h3>gst_buffer_get_sizes()</h3>
-<pre class="programlisting">#define     gst_buffer_get_sizes(b,of,ms)  gst_buffer_get_sizes_range ((b), 0, -1, (of), (ms))
-</pre>
+<a name="gst-buffer-get-sizes"></a><h3>gst_buffer_get_sizes ()</h3>
+<pre class="programlisting"><span class="returnvalue">gsize</span>               gst_buffer_get_sizes                (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+                                                         <em class="parameter"><code><span class="type">gsize</span> *offset</code></em>,
+                                                         <em class="parameter"><code><span class="type">gsize</span> *maxsize</code></em>);</pre>
 <p>
 Get the total size of the memory blocks in <em class="parameter"><code>b</code></em>.
 </p>
 <p>
-When not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, <em class="parameter"><code>of</code></em> will contain the offset of the data in the first
-memory block in <em class="parameter"><code>buffer</code></em> and <em class="parameter"><code>maxsize</code></em> will contain the sum of the size
-and <em class="parameter"><code>of</code></em> and the amount of extra padding on the last memory block.
-<em class="parameter"><code>of</code></em> and <em class="parameter"><code>ms</code></em> can be used to resize the buffer memory blocks with
-<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-resize" title="gst_buffer_resize()"><code class="function">gst_buffer_resize()</code></a>.
+When not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, <em class="parameter"><code>offset</code></em> will contain the offset of the data in the
+first memory block in <em class="parameter"><code>buffer</code></em> and <em class="parameter"><code>maxsize</code></em> will contain the sum of
+the size and <em class="parameter"><code>offset</code></em> and the amount of extra padding on the last
+memory block.  <em class="parameter"><code>offset</code></em> and <em class="parameter"><code>maxsize</code></em> can be used to resize the
+buffer memory blocks with <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-resize" title="gst_buffer_resize ()"><code class="function">gst_buffer_resize()</code></a>.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
 <td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>.</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>of</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>offset</code></em> :</span></p></td>
 <td>a pointer to the offset. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
 </td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>ms</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>maxsize</code></em> :</span></p></td>
 <td>a pointer to the maxsize. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
 </td>
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>total size of the memory blocks in <em class="parameter"><code>b</code></em>.</td>
+<td>total size of the memory blocks in <em class="parameter"><code>buffer</code></em>.</td>
 </tr>
 </tbody>
 </table></div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-buffer-get-size"></a><h3>gst_buffer_get_size()</h3>
-<pre class="programlisting">#define     gst_buffer_get_size(b)         gst_buffer_get_sizes_range ((b), 0, -1, NULL, NULL)
-</pre>
+<a name="gst-buffer-get-size"></a><h3>gst_buffer_get_size ()</h3>
+<pre class="programlisting"><span class="returnvalue">gsize</span>               gst_buffer_get_size                 (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>);</pre>
 <p>
-Get the total size of the memory blocks in <em class="parameter"><code>b</code></em>.
+Get the total size of the memory blocks in <em class="parameter"><code>buffer</code></em>.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
 <td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>.</td>
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>total size of the memory blocks in <em class="parameter"><code>b</code></em>.</td>
+<td>total size of the memory blocks in <em class="parameter"><code>buffer</code></em>.</td>
 </tr>
 </tbody>
 </table></div>
@@ -1125,25 +1126,26 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-buffer-resize"></a><h3>gst_buffer_resize()</h3>
-<pre class="programlisting">#define     gst_buffer_resize(b,of,s)      gst_buffer_resize_range ((b), 0, -1, (of), (s))
-</pre>
+<a name="gst-buffer-resize"></a><h3>gst_buffer_resize ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_buffer_resize                   (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+                                                         <em class="parameter"><code><span class="type">gssize</span> offset</code></em>,
+                                                         <em class="parameter"><code><span class="type">gssize</span> size</code></em>);</pre>
 <p>
-Set the offset and total size of the memory blocks in <em class="parameter"><code>b</code></em>.
+Set the offset and total size of the memory blocks in <em class="parameter"><code>buffer</code></em>.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
 <td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>.</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>of</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>offset</code></em> :</span></p></td>
 <td>the offset adjustement</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
 <td>the new size or -1 to just adjust the offset</td>
 </tr>
 </tbody>
@@ -1151,21 +1153,21 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-buffer-set-size"></a><h3>gst_buffer_set_size()</h3>
-<pre class="programlisting">#define     gst_buffer_set_size(b,s)       gst_buffer_resize_range ((b), 0, -1, 0, (s))
-</pre>
+<a name="gst-buffer-set-size"></a><h3>gst_buffer_set_size ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_buffer_set_size                 (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+                                                         <em class="parameter"><code><span class="type">gssize</span> size</code></em>);</pre>
 <p>
-Set the total size of the memory blocks in <em class="parameter"><code>b</code></em>.
+Set the total size of the memory blocks in <em class="parameter"><code>buffer</code></em>.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
 <td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>.</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
 <td>the new size</td>
 </tr>
 </tbody>
@@ -1427,22 +1429,22 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-buffer-prepend-memory"></a><h3>gst_buffer_prepend_memory()</h3>
-<pre class="programlisting">#define     gst_buffer_prepend_memory(b,m)     gst_buffer_insert_memory ((b), 0, (m))
-</pre>
+<a name="gst-buffer-prepend-memory"></a><h3>gst_buffer_prepend_memory ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_buffer_prepend_memory           (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *mem</code></em>);</pre>
 <p>
-Prepend the memory block <em class="parameter"><code>m</code></em> to <em class="parameter"><code>b</code></em>. This function takes ownership
-of <em class="parameter"><code>m</code></em> and thus doesn't increase its refcount.
+Prepend the memory block <em class="parameter"><code>mem</code></em> to <em class="parameter"><code>buffer</code></em>. This function takes
+ownership of <em class="parameter"><code>mem</code></em> and thus doesn't increase its refcount.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
 <td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>.</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>m</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
 <td>a <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
@@ -1451,22 +1453,22 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-buffer-append-memory"></a><h3>gst_buffer_append_memory()</h3>
-<pre class="programlisting">#define     gst_buffer_append_memory(b,m)      gst_buffer_insert_memory ((b), -1, (m))
-</pre>
+<a name="gst-buffer-append-memory"></a><h3>gst_buffer_append_memory ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_buffer_append_memory            (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *mem</code></em>);</pre>
 <p>
-Append the memory block <em class="parameter"><code>m</code></em> to <em class="parameter"><code>b</code></em>. This function takes ownership
-of <em class="parameter"><code>m</code></em> and thus doesn't increase its refcount.
+Append the memory block <em class="parameter"><code>mem</code></em> to <em class="parameter"><code>buffer</code></em>. This function takes
+ownership of <em class="parameter"><code>mem</code></em> and thus doesn't increase its refcount.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
 <td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>.</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>m</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
 <td>a <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
@@ -1475,25 +1477,26 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-buffer-replace-memory"></a><h3>gst_buffer_replace_memory()</h3>
-<pre class="programlisting">#define     gst_buffer_replace_memory(b,i,m)   gst_buffer_replace_memory_range ((b), (i), 1, (m))
-</pre>
+<a name="gst-buffer-replace-memory"></a><h3>gst_buffer_replace_memory ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_buffer_replace_memory           (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct 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#guint"><span class="type">guint</span></a> idx</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *mem</code></em>);</pre>
 <p>
-Replaces the memory block at index <em class="parameter"><code>i</code></em> in <em class="parameter"><code>b</code></em> with <em class="parameter"><code>m</code></em>.
+Replaces the memory block at index <em class="parameter"><code>idx</code></em> in <em class="parameter"><code>buffer</code></em> with <em class="parameter"><code>mem</code></em>.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
 <td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>.</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>i</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
 <td>an index</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>m</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
 <td>a <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
@@ -1502,21 +1505,21 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-buffer-replace-all-memory"></a><h3>gst_buffer_replace_all_memory()</h3>
-<pre class="programlisting">#define     gst_buffer_replace_all_memory(b,m) gst_buffer_replace_memory_range ((b), 0, -1, (m))
-</pre>
+<a name="gst-buffer-replace-all-memory"></a><h3>gst_buffer_replace_all_memory ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_buffer_replace_all_memory       (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *mem</code></em>);</pre>
 <p>
-Replaces all memory in <em class="parameter"><code>b</code></em> with <em class="parameter"><code>m</code></em>.
+Replaces all memory in <em class="parameter"><code>buffer</code></em> with <em class="parameter"><code>mem</code></em>.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
 <td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>.</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>m</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
 <td>a <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
@@ -1525,21 +1528,21 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-buffer-get-memory"></a><h3>gst_buffer_get_memory()</h3>
-<pre class="programlisting">#define     gst_buffer_get_memory(b,i)         gst_buffer_get_memory_range ((b), (i), 1)
-</pre>
+<a name="gst-buffer-get-memory"></a><h3>gst_buffer_get_memory ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="returnvalue">GstMemory</span></a> *         gst_buffer_get_memory               (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct 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#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
 <p>
-Get the memory block at index <em class="parameter"><code>i</code></em> in <em class="parameter"><code>buffer</code></em>.
+Get the memory block at index <em class="parameter"><code>idx</code></em> in <em class="parameter"><code>buffer</code></em>.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
 <td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>.</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>i</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
 <td>an index</td>
 </tr>
 <tr>
@@ -1553,9 +1556,8 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-buffer-get-all-memory"></a><h3>gst_buffer_get_all_memory()</h3>
-<pre class="programlisting">#define     gst_buffer_get_all_memory(b)       gst_buffer_get_memory_range ((b), 0, -1)
-</pre>
+<a name="gst-buffer-get-all-memory"></a><h3>gst_buffer_get_all_memory ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="returnvalue">GstMemory</span></a> *         gst_buffer_get_all_memory           (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>);</pre>
 <p>
 Get all the memory block in <em class="parameter"><code>buffer</code></em>. The memory blocks will be merged
 into one large <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a>.
@@ -1564,7 +1566,7 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
 <td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>.</td>
 </tr>
 <tr>
@@ -1578,9 +1580,9 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-buffer-remove-memory"></a><h3>gst_buffer_remove_memory()</h3>
-<pre class="programlisting">#define     gst_buffer_remove_memory(b,i)      gst_buffer_remove_memory_range ((b), (i), 1)
-</pre>
+<a name="gst-buffer-remove-memory"></a><h3>gst_buffer_remove_memory ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_buffer_remove_memory            (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct 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#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
 <p>
 Remove the memory block in <em class="parameter"><code>b</code></em> at index <em class="parameter"><code>i</code></em>.
 </p>
@@ -1588,11 +1590,11 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
 <td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>.</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>i</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
 <td>an index</td>
 </tr>
 </tbody>
@@ -1600,28 +1602,28 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-buffer-remove-all-memory"></a><h3>gst_buffer_remove_all_memory()</h3>
-<pre class="programlisting">#define     gst_buffer_remove_all_memory(b)    gst_buffer_remove_memory_range ((b), 0, -1)
-</pre>
+<a name="gst-buffer-remove-all-memory"></a><h3>gst_buffer_remove_all_memory ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_buffer_remove_all_memory        (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>);</pre>
 <p>
-Remove all the memory blocks in <em class="parameter"><code>b</code></em>.
+Remove all the memory blocks in <em class="parameter"><code>buffer</code></em>.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
 <td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>.</td>
 </tr></tbody>
 </table></div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-buffer-map"></a><h3>gst_buffer_map()</h3>
-<pre class="programlisting">#define     gst_buffer_map(b,i,f)          gst_buffer_map_range ((b), 0, -1, (i), (f))
-</pre>
+<a name="gst-buffer-map"></a><h3>gst_buffer_map ()</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_buffer_map                      (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMapInfo" title="GstMapInfo"><span class="type">GstMapInfo</span></a> *info</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMapFlags" title="enum GstMapFlags"><span class="type">GstMapFlags</span></a> flags</code></em>);</pre>
 <p>
-This function fills <em class="parameter"><code>i</code></em> with the <a class="link" href="gstreamer-GstMemory.html#GstMapInfo" title="GstMapInfo"><span class="type">GstMapInfo</span></a> of all merged memory blocks
-in <em class="parameter"><code>buffer</code></em>.
+This function fills <em class="parameter"><code>info</code></em> with the <a class="link" href="gstreamer-GstMemory.html#GstMapInfo" title="GstMapInfo"><span class="type">GstMapInfo</span></a> of all merged memory
+blocks in <em class="parameter"><code>buffer</code></em>.
 </p>
 <p>
 <em class="parameter"><code>flags</code></em> describe the desired access of the memory. When <em class="parameter"><code>flags</code></em> is
@@ -1630,32 +1632,33 @@
 </p>
 <p>
 When <em class="parameter"><code>buffer</code></em> is writable but the memory isn't, a writable copy will
-automatically be created and returned. The readonly copy of the buffer memory
-will then also be replaced with this writable copy.
+automatically be created and returned. The readonly copy of the
+buffer memory will then also be replaced with this writable copy.
 </p>
 <p>
-The memory in <em class="parameter"><code>i</code></em> should be unmapped with <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-unmap" title="gst_buffer_unmap ()"><code class="function">gst_buffer_unmap()</code></a> after usage.
+The memory in <em class="parameter"><code>info</code></em> should be unmapped with <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-unmap" title="gst_buffer_unmap ()"><code class="function">gst_buffer_unmap()</code></a> after
+usage.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
 <td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>.</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>i</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
 <td>info about the mapping. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
 </td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>f</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
 <td>flags for the mapping</td>
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the map succeeded and <em class="parameter"><code>i</code></em> contains valid data.</td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the map succeeded and <em class="parameter"><code>info</code></em> contains valid data.</td>
 </tr>
 </tbody>
 </table></div>
@@ -1725,7 +1728,7 @@
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_buffer_unmap                    (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMapInfo" title="GstMapInfo"><span class="type">GstMapInfo</span></a> *info</code></em>);</pre>
 <p>
-Release the memory previously mapped with <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-map" title="gst_buffer_map()"><code class="function">gst_buffer_map()</code></a>.
+Release the memory previously mapped with <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-map" title="gst_buffer_map ()"><code class="function">gst_buffer_map()</code></a>.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -2169,9 +2172,9 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-buffer-append"></a><h3>gst_buffer_append()</h3>
-<pre class="programlisting">#define         gst_buffer_append(b1,b2)        gst_buffer_append_region ((b1), (b2), 0, -1)
-</pre>
+<a name="gst-buffer-append"></a><h3>gst_buffer_append ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_buffer_append                   (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buf1</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buf2</code></em>);</pre>
 <p>
 Append all the memory from <em class="parameter"><code>buf2</code></em> to <em class="parameter"><code>buf1</code></em>. The result buffer will contain a
 concatenation of the memory of <em class="parameter"><code>buf1</code></em> and <em class="parameter"><code>buf2</code></em>.
diff --git a/docs/gst/html/gstreamer-GstBufferPool.html b/docs/gst/html/gstreamer-GstBufferPool.html
index 8bdeac6..3d815c1 100644
--- a/docs/gst/html/gstreamer-GstBufferPool.html
+++ b/docs/gst/html/gstreamer-GstBufferPool.html
@@ -56,12 +56,12 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> max_buffers</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-GstBufferPool.html#gst-buffer-pool-config-get-allocator" title="gst_buffer_pool_config_get_allocator ()">gst_buffer_pool_config_get_allocator</a>
                                                         (<em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *config</code></em>,
-                                                         <em class="parameter"><code><span class="type">GstAllocator</span> **allocator</code></em>,
-                                                         <em class="parameter"><code><span class="type">GstAllocationParams</span> *params</code></em>);
+                                                         <em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> **allocator</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstBufferPool.html#gst-buffer-pool-config-set-allocator" title="gst_buffer_pool_config_set_allocator ()">gst_buffer_pool_config_set_allocator</a>
                                                         (<em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *config</code></em>,
-                                                         <em class="parameter"><code><span class="type">GstAllocator</span> *allocator</code></em>,
-                                                         <em class="parameter"><code>const <span class="type">GstAllocationParams</span> *params</code></em>);
+                                                         <em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</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-GstBufferPool.html#gst-buffer-pool-config-n-options" title="gst_buffer_pool_config_n_options ()">gst_buffer_pool_config_n_options</a>    (<em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *config</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstBufferPool.html#gst-buffer-pool-config-add-option" title="gst_buffer_pool_config_add_option ()">gst_buffer_pool_config_add_option</a>   (<em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *config</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> *option</code></em>);
@@ -369,8 +369,8 @@
 <a name="gst-buffer-pool-config-get-allocator"></a><h3>gst_buffer_pool_config_get_allocator ()</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_buffer_pool_config_get_allocator
                                                         (<em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *config</code></em>,
-                                                         <em class="parameter"><code><span class="type">GstAllocator</span> **allocator</code></em>,
-                                                         <em class="parameter"><code><span class="type">GstAllocationParams</span> *params</code></em>);</pre>
+                                                         <em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> **allocator</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
 <p>
 Get the allocator and params from <em class="parameter"><code>config</code></em>.
 </p>
@@ -384,12 +384,12 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td>
-<td>a <span class="type">GstAllocator</span>. <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 class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</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>
 <td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
-<td><span class="type">GstAllocationParams</span></td>
+<td><a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a></td>
 </tr>
 </tbody>
 </table></div>
@@ -399,8 +399,8 @@
 <a name="gst-buffer-pool-config-set-allocator"></a><h3>gst_buffer_pool_config_set_allocator ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_buffer_pool_config_set_allocator
                                                         (<em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *config</code></em>,
-                                                         <em class="parameter"><code><span class="type">GstAllocator</span> *allocator</code></em>,
-                                                         <em class="parameter"><code>const <span class="type">GstAllocationParams</span> *params</code></em>);</pre>
+                                                         <em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
 <p>
 Set the <em class="parameter"><code>allocator</code></em> and <em class="parameter"><code>params</code></em> on <em class="parameter"><code>config</code></em>.
 </p>
@@ -408,7 +408,7 @@
 One of <em class="parameter"><code>allocator</code></em> and <em class="parameter"><code>params</code></em> can be NULL, but not both. When <em class="parameter"><code>allocator</code></em>
 is NULL, the default allocator of the pool will use the values in <em class="parameter"><code>param</code></em>
 to perform its allocation. When <em class="parameter"><code>param</code></em> is NULL, the pool will use the
-provided allocator with its default <span class="type">GstAllocationParams</span>.
+provided allocator with its default <a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a>.
 </p>
 <p>
 A call to <a class="link" href="gstreamer-GstBufferPool.html#gst-buffer-pool-set-config" title="gst_buffer_pool_set_config ()"><code class="function">gst_buffer_pool_set_config()</code></a> can update the allocator and params
@@ -426,12 +426,12 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td>
-<td>a <span class="type">GstAllocator</span>
+<td>a <a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a>
 </td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
-<td><span class="type">GstAllocationParams</span></td>
+<td><a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a></td>
 </tr>
 </tbody>
 </table></div>
@@ -628,12 +628,16 @@
 <p>
 <em class="parameter"><code>config</code></em> is a <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> that contains the configuration parameters for
 the pool. A default and mandatory set of parameters can be configured with
-<code class="function">gst_buffer_pool_config_set()</code>. This function takes ownership of <em class="parameter"><code>config</code></em>.
+<a class="link" href="gstreamer-GstBufferPool.html#gst-buffer-pool-config-set-params" title="gst_buffer_pool_config_set_params ()"><code class="function">gst_buffer_pool_config_set_params()</code></a>, <a class="link" href="gstreamer-GstBufferPool.html#gst-buffer-pool-config-set-allocator" title="gst_buffer_pool_config_set_allocator ()"><code class="function">gst_buffer_pool_config_set_allocator()</code></a>
+and <a class="link" href="gstreamer-GstBufferPool.html#gst-buffer-pool-config-add-option" title="gst_buffer_pool_config_add_option ()"><code class="function">gst_buffer_pool_config_add_option()</code></a>.
 </p>
 <p>
 If the parameters in <em class="parameter"><code>config</code></em> can not be set exactly, this function returns
 FALSE and will try to update as much state as possible. The new state can
-then be retrieved and refined with <code class="function">gst_buffer_pool_config_get()</code>.
+then be retrieved and refined with <a class="link" href="gstreamer-GstBufferPool.html#gst-buffer-pool-get-config" title="gst_buffer_pool_get_config ()"><code class="function">gst_buffer_pool_get_config()</code></a>.
+</p>
+<p>
+This function takes ownership of <em class="parameter"><code>config</code></em>.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
diff --git a/docs/gst/html/gstreamer-GstCaps.html b/docs/gst/html/gstreamer-GstCaps.html
index a2aaa9f..c6d7cd5 100644
--- a/docs/gst/html/gstreamer-GstCaps.html
+++ b/docs/gst/html/gstreamer-GstCaps.html
@@ -160,7 +160,7 @@
 <p>
 </p>
 <div class="example">
-<a name="idp16949152"></a><p class="title"><b>Example 4. Creating caps</b></p>
+<a name="idp16859840"></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>
diff --git a/docs/gst/html/gstreamer-GstDateTime.html b/docs/gst/html/gstreamer-GstDateTime.html
index a65000d..0377c07 100644
--- a/docs/gst/html/gstreamer-GstDateTime.html
+++ b/docs/gst/html/gstreamer-GstDateTime.html
@@ -57,13 +57,16 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> hour</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> minute</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> seconds</code></em>);
+<a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="returnvalue">GstDateTime</span></a> *       <a class="link" href="gstreamer-GstDateTime.html#gst-date-time-new-ymd" title="gst_date_time_new_ymd ()">gst_date_time_new_ymd</a>               (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> year</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> month</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> day</code></em>);
+<a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="returnvalue">GstDateTime</span></a> *       <a class="link" href="gstreamer-GstDateTime.html#gst-date-time-new-ym" title="gst_date_time_new_ym ()">gst_date_time_new_ym</a>                (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> year</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> month</code></em>);
+<a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="returnvalue">GstDateTime</span></a> *       <a class="link" href="gstreamer-GstDateTime.html#gst-date-time-new-y" title="gst_date_time_new_y ()">gst_date_time_new_y</a>                 (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> year</code></em>);
 <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="returnvalue">GstDateTime</span></a> *       <a class="link" href="gstreamer-GstDateTime.html#gst-date-time-new-from-unix-epoch-local-time" title="gst_date_time_new_from_unix_epoch_local_time ()">gst_date_time_new_from_unix_epoch_local_time</a>
                                                         (<em class="parameter"><code><span class="type">gint64</span> secs</code></em>);
 <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="returnvalue">GstDateTime</span></a> *       <a class="link" href="gstreamer-GstDateTime.html#gst-date-time-new-from-unix-epoch-utc" title="gst_date_time_new_from_unix_epoch_utc ()">gst_date_time_new_from_unix_epoch_utc</a>
                                                         (<em class="parameter"><code><span class="type">gint64</span> secs</code></em>);
-<a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="returnvalue">GstDateTime</span></a> *       <a class="link" href="gstreamer-GstDateTime.html#gst-date-time-new-ymd" title="gst_date_time_new_ymd ()">gst_date_time_new_ymd</a>               (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> year</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> month</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> day</code></em>);
 <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="returnvalue">GstDateTime</span></a> *       <a class="link" href="gstreamer-GstDateTime.html#gst-date-time-new-local-time" title="gst_date_time_new_local_time ()">gst_date_time_new_local_time</a>        (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> year</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> month</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> day</code></em>,
@@ -79,9 +82,6 @@
 <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-GstDateTime.html#gst-date-time-has-second" title="gst_date_time_has_second ()">gst_date_time_has_second</a>            (<em class="parameter"><code>const <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</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-GstDateTime.html#gst-date-time-has-time" title="gst_date_time_has_time ()">gst_date_time_has_time</a>              (<em class="parameter"><code>const <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</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-GstDateTime.html#gst-date-time-has-year" title="gst_date_time_has_year ()">gst_date_time_has_year</a>              (<em class="parameter"><code>const <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);
-<a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="returnvalue">GstDateTime</span></a> *       <a class="link" href="gstreamer-GstDateTime.html#gst-date-time-new-y" title="gst_date_time_new_y ()">gst_date_time_new_y</a>                 (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> year</code></em>);
-<a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="returnvalue">GstDateTime</span></a> *       <a class="link" href="gstreamer-GstDateTime.html#gst-date-time-new-ym" title="gst_date_time_new_ym ()">gst_date_time_new_ym</a>                (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> year</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> month</code></em>);
 <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="returnvalue">GstDateTime</span></a> *       <a class="link" href="gstreamer-GstDateTime.html#gst-date-time-new-from-iso8601-string" title="gst_date_time_new_from_iso8601_string ()">gst_date_time_new_from_iso8601_string</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> *string</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             <a class="link" href="gstreamer-GstDateTime.html#gst-date-time-to-iso8601-string" title="gst_date_time_to_iso8601_string ()">gst_date_time_to_iso8601_string</a>     (<em class="parameter"><code><a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);
@@ -398,6 +398,119 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="gst-date-time-new-ymd"></a><h3>gst_date_time_new_ymd ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="returnvalue">GstDateTime</span></a> *       gst_date_time_new_ymd               (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> year</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> month</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> day</code></em>);</pre>
+<p>
+Creates a new <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> using the date and times in the gregorian calendar
+in the local timezone.
+</p>
+<p>
+<em class="parameter"><code>year</code></em> should be from 1 to 9999, <em class="parameter"><code>month</code></em> should be from 1 to 12, <em class="parameter"><code>day</code></em> from
+1 to 31.
+</p>
+<p>
+If value is -1 then all over value will be ignored. For example
+if <em class="parameter"><code>month</code></em> == -1, then <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> will created only for <em class="parameter"><code>year</code></em>. If
+<em class="parameter"><code>day</code></em> == -1, then <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> will created for <em class="parameter"><code>year</code></em> and <em class="parameter"><code>month</code></em> and
+so on.
+</p>
+<p>
+Free-function: gst_date_time_unref
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>year</code></em> :</span></p></td>
+<td>the gregorian year</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>month</code></em> :</span></p></td>
+<td>the gregorian month</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>day</code></em> :</span></p></td>
+<td>the day of the gregorian month</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the newly created <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-date-time-new-ym"></a><h3>gst_date_time_new_ym ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="returnvalue">GstDateTime</span></a> *       gst_date_time_new_ym                (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> year</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> month</code></em>);</pre>
+<p>
+Creates a new <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> using the date and times in the gregorian calendar
+in the local timezone.
+</p>
+<p>
+<em class="parameter"><code>year</code></em> should be from 1 to 9999, <em class="parameter"><code>month</code></em> should be from 1 to 12.
+</p>
+<p>
+If value is -1 then all over value will be ignored. For example
+if <em class="parameter"><code>month</code></em> == -1, then <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> will created only for <em class="parameter"><code>year</code></em>.
+</p>
+<p>
+Free-function: gst_date_time_unref
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>year</code></em> :</span></p></td>
+<td>the gregorian year</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>month</code></em> :</span></p></td>
+<td>the gregorian month</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the newly created <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-date-time-new-y"></a><h3>gst_date_time_new_y ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="returnvalue">GstDateTime</span></a> *       gst_date_time_new_y                 (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> year</code></em>);</pre>
+<p>
+Creates a new <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> using the date and times in the gregorian calendar
+in the local timezone.
+</p>
+<p>
+<em class="parameter"><code>year</code></em> should be from 1 to 9999.
+</p>
+<p>
+Free-function: gst_date_time_unref
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>year</code></em> :</span></p></td>
+<td>the gregorian year</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the newly created <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
 <a name="gst-date-time-new-from-unix-epoch-local-time"></a><h3>gst_date_time_new_from_unix_epoch_local_time ()</h3>
 <pre class="programlisting"><a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="returnvalue">GstDateTime</span></a> *       gst_date_time_new_from_unix_epoch_local_time
                                                         (<em class="parameter"><code><span class="type">gint64</span> secs</code></em>);</pre>
@@ -452,52 +565,6 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-date-time-new-ymd"></a><h3>gst_date_time_new_ymd ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="returnvalue">GstDateTime</span></a> *       gst_date_time_new_ymd               (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> year</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> month</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> day</code></em>);</pre>
-<p>
-Creates a new <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> using the date and times in the gregorian calendar
-in the local timezone.
-</p>
-<p>
-<em class="parameter"><code>year</code></em> should be from 1 to 9999, <em class="parameter"><code>month</code></em> should be from 1 to 12, <em class="parameter"><code>day</code></em> from
-1 to 31.
-</p>
-<p>
-If value is -1 then all over value will be ignored. For example
-if <em class="parameter"><code>month</code></em> == -1, then <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> will created only for <em class="parameter"><code>year</code></em>. If
-<em class="parameter"><code>day</code></em> == -1, then <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> will created for <em class="parameter"><code>year</code></em> and <em class="parameter"><code>month</code></em> and
-so on.
-</p>
-<p>
-Free-function: gst_date_time_unref
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>year</code></em> :</span></p></td>
-<td>the gregorian year</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>month</code></em> :</span></p></td>
-<td>the gregorian month</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>day</code></em> :</span></p></td>
-<td>the day of the gregorian month</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the newly created <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
 <a name="gst-date-time-new-local-time"></a><h3>gst_date_time_new_local_time ()</h3>
 <pre class="programlisting"><a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="returnvalue">GstDateTime</span></a> *       gst_date_time_new_local_time        (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> year</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> month</code></em>,
@@ -744,73 +811,6 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-date-time-new-y"></a><h3>gst_date_time_new_y ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="returnvalue">GstDateTime</span></a> *       gst_date_time_new_y                 (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> year</code></em>);</pre>
-<p>
-Creates a new <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> using the date and times in the gregorian calendar
-in the local timezone.
-</p>
-<p>
-<em class="parameter"><code>year</code></em> should be from 1 to 9999.
-</p>
-<p>
-Free-function: gst_date_time_unref
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>year</code></em> :</span></p></td>
-<td>the gregorian year</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the newly created <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-date-time-new-ym"></a><h3>gst_date_time_new_ym ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="returnvalue">GstDateTime</span></a> *       gst_date_time_new_ym                (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> year</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> month</code></em>);</pre>
-<p>
-Creates a new <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> using the date and times in the gregorian calendar
-in the local timezone.
-</p>
-<p>
-<em class="parameter"><code>year</code></em> should be from 1 to 9999, <em class="parameter"><code>month</code></em> should be from 1 to 12.
-</p>
-<p>
-If value is -1 then all over value will be ignored. For example
-if <em class="parameter"><code>month</code></em> == -1, then <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> will created only for <em class="parameter"><code>year</code></em>.
-</p>
-<p>
-Free-function: gst_date_time_unref
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>year</code></em> :</span></p></td>
-<td>the gregorian year</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>month</code></em> :</span></p></td>
-<td>the gregorian month</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the newly created <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
 <a name="gst-date-time-new-from-iso8601-string"></a><h3>gst_date_time_new_from_iso8601_string ()</h3>
 <pre class="programlisting"><a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="returnvalue">GstDateTime</span></a> *       gst_date_time_new_from_iso8601_string
                                                         (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *string</code></em>);</pre>
diff --git a/docs/gst/html/gstreamer-GstEvent.html b/docs/gst/html/gstreamer-GstEvent.html
index f79555d..ad8cb4e 100644
--- a/docs/gst/html/gstreamer-GstEvent.html
+++ b/docs/gst/html/gstreamer-GstEvent.html
@@ -157,24 +157,6 @@
 <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> *          <a class="link" href="gstreamer-GstEvent.html#gst-event-new-caps" title="gst_event_new_caps ()">gst_event_new_caps</a>                  (<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-caps" title="gst_event_parse_caps ()">gst_event_parse_caps</a>                (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> **caps</code></em>);
-enum                <a class="link" href="gstreamer-GstEvent.html#GstStreamConfigFlags" title="enum GstStreamConfigFlags">GstStreamConfigFlags</a>;
-<a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> *          <a class="link" href="gstreamer-GstEvent.html#gst-event-new-stream-config" title="gst_event_new_stream_config ()">gst_event_new_stream_config</a>         (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstStreamConfigFlags" title="enum GstStreamConfigFlags"><span class="type">GstStreamConfigFlags</span></a> flags</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-stream-config" title="gst_event_parse_stream_config ()">gst_event_parse_stream_config</a>       (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstStreamConfigFlags" title="enum GstStreamConfigFlags"><span class="type">GstStreamConfigFlags</span></a> *flags</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstEvent.html#gst-event-set-stream-config-setup-data" title="gst_event_set_stream_config_setup_data ()">gst_event_set_stream_config_setup_data</a>
-                                                        (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buf</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-GstEvent.html#gst-event-parse-stream-config-setup-data" title="gst_event_parse_stream_config_setup_data ()">gst_event_parse_stream_config_setup_data</a>
-                                                        (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> **buf</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstEvent.html#gst-event-add-stream-config-header" title="gst_event_add_stream_config_header ()">gst_event_add_stream_config_header</a>  (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buf</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-GstEvent.html#gst-event-get-n-stream-config-headers" title="gst_event_get_n_stream_config_headers ()">gst_event_get_n_stream_config_headers</a>
-                                                        (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</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-GstEvent.html#gst-event-parse-nth-stream-config-header" title="gst_event_parse_nth_stream_config_header ()">gst_event_parse_nth_stream_config_header</a>
-                                                        (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct 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#guint"><span class="type">guint</span></a> index</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> **buf</code></em>);
 <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> *          <a class="link" href="gstreamer-GstEvent.html#gst-event-new-toc" title="gst_event_new_toc ()">gst_event_new_toc</a>                   (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> *toc</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> updated</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-toc" title="gst_event_parse_toc ()">gst_event_parse_toc</a>                 (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
@@ -224,7 +206,7 @@
 the needed parameters to specify seeking time and mode.
 </p>
 <div class="example">
-<a name="idp22888576"></a><p class="title"><b>Example 8. performing a seek on a pipeline</b></p>
+<a name="idp22480288"></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>
@@ -400,7 +382,6 @@
   /* downstream serialized events */
   GST_EVENT_STREAM_START          = GST_EVENT_MAKE_TYPE (40, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY)),
   GST_EVENT_CAPS                  = GST_EVENT_MAKE_TYPE (50, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY)),
-  GST_EVENT_STREAM_CONFIG         = GST_EVENT_MAKE_TYPE (60, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY)),
   GST_EVENT_SEGMENT               = GST_EVENT_MAKE_TYPE (70, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY)),
   GST_EVENT_TAG                   = GST_EVENT_MAKE_TYPE (80, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY) | FLAG(STICKY_MULTI)),
   GST_EVENT_BUFFERSIZE            = GST_EVENT_MAKE_TYPE (90, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY)),
@@ -474,12 +455,6 @@
 </td>
 </tr>
 <tr>
-<td><p><a name="GST-EVENT-STREAM-CONFIG:CAPS"></a><span class="term"><code class="literal">GST_EVENT_STREAM_CONFIG</code></span></p></td>
-<td>(unimplemented) contains configuration information for the stream,
-                for example stream-headers and codec-data.
-</td>
-</tr>
-<tr>
 <td><p><a name="GST-EVENT-SEGMENT:CAPS"></a><span class="term"><code class="literal">GST_EVENT_SEGMENT</code></span></p></td>
 <td>A new media segment follows in the dataflow. The
                 segment events contains information for clipping buffers and
@@ -1388,7 +1363,8 @@
 stream. A new stream-id should only be created for a stream if the upstream
 stream is split into (potentially) multiple new streams, e.g. in a demuxer,
 but not for every single element in the pipeline.
-<code class="function">gst_util_create_stream_id()</code> can be used to create a stream-id.
+<a class="link" href="GstPad.html#gst-pad-create-stream-id" title="gst_pad_create_stream_id ()"><code class="function">gst_pad_create_stream_id()</code></a> or <a class="link" href="GstPad.html#gst-pad-create-stream-id-printf" title="gst_pad_create_stream_id_printf ()"><code class="function">gst_pad_create_stream_id_printf()</code></a> can be
+used to create a stream-id.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -1411,7 +1387,10 @@
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_event_parse_stream_start        (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</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> **stream_id</code></em>);</pre>
 <p>
-Parse a stream-id <em class="parameter"><code>event</code></em> and store the result in the given <em class="parameter"><code>stream_id</code></em> location.
+Parse a stream-id <em class="parameter"><code>event</code></em> and store the result in the given <em class="parameter"><code>stream_id</code></em>
+location. The string stored in <em class="parameter"><code>stream_id</code></em> must not be modified and will
+remain valid only until <em class="parameter"><code>event</code></em> gets freed. Make a copy if you want to
+modify it or store it for later use.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -2452,225 +2431,6 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="GstStreamConfigFlags"></a><h3>enum GstStreamConfigFlags</h3>
-<pre class="programlisting">typedef enum {
-  GST_STREAM_CONFIG_FLAG_NONE = 0
-} GstStreamConfigFlags;
-</pre>
-<p>
-GstStreamConfigFlags are flags passed with the stream config event, see
-<a class="link" href="gstreamer-GstEvent.html#gst-event-new-stream-config" title="gst_event_new_stream_config ()"><code class="function">gst_event_new_stream_config()</code></a>.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><tr>
-<td><p><a name="GST-STREAM-CONFIG-FLAG-NONE:CAPS"></a><span class="term"><code class="literal">GST_STREAM_CONFIG_FLAG_NONE</code></span></p></td>
-<td>no flags set
-</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-event-new-stream-config"></a><h3>gst_event_new_stream_config ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> *          gst_event_new_stream_config         (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstStreamConfigFlags" title="enum GstStreamConfigFlags"><span class="type">GstStreamConfigFlags</span></a> flags</code></em>);</pre>
-<p>
-Create a new STREAM CONFIG event. The stream config event travels
-downstream synchronized with the buffer flow and contains stream
-configuration information for the stream, such as stream-headers
-or setup-data. It is optional and should be sent after the CAPS
-event.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td>the stream config flags</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the new STREAM CONFIG event. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-event-parse-stream-config"></a><h3>gst_event_parse_stream_config ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_event_parse_stream_config       (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstStreamConfigFlags" title="enum GstStreamConfigFlags"><span class="type">GstStreamConfigFlags</span></a> *flags</code></em>);</pre>
-<p>
-Get the stream config flags from <em class="parameter"><code>event</code></em>.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
-<td>The event to parse</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td>a pointer to a variable to store the stream config flags. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-event-set-stream-config-setup-data"></a><h3>gst_event_set_stream_config_setup_data ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_event_set_stream_config_setup_data
-                                                        (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>);</pre>
-<p>
-Set setup data on the stream info event to signal out of bound setup data
-to downstream elements. Unlike stream headers, setup data contains data
-that is required to interpret the data stream, but is not valid as-is
-inside the data stream and thus can't just be prepended to or inserted
-into the data stream.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
-<td>a stream config event</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
-<td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> with setup data</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-event-parse-stream-config-setup-data"></a><h3>gst_event_parse_stream_config_setup_data ()</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_event_parse_stream_config_setup_data
-                                                        (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> **buf</code></em>);</pre>
-<p>
-Extracts the setup data buffer from the stream info event. Will store
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in <em class="parameter"><code>buf</code></em> if the event contains no setup data. The buffer returned
-will remain valid as long as <em class="parameter"><code>event</code></em> remains valid. The caller should
-acquire a reference to to <em class="parameter"><code>buf</code></em> if needed.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
-<td>a stream config event</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
-<td>location where to store the <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> with setup data. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TRUE if <em class="parameter"><code>event</code></em> contained setup data and <em class="parameter"><code>buf</code></em> has been set,
-otherwise FALSE.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-event-add-stream-config-header"></a><h3>gst_event_add_stream_config_header ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_event_add_stream_config_header  (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>);</pre>
-<p>
-Adds a stream header to the stream info event to signal stream headers to
-to downstream elements such as multifilesink, tcpserversink etc. Stream
-headers can be and should usually be prepended to the data stream at any
-point in the stream (which requires a streamable format), e.g. to a new
-client connecting, or when starting a new file segment. stream header
-buffers will all be used together in the order they were added to the
-stream config event. Stream headers are sent as buffers at the beginning
-of the data flow in addition to the stream config event. Elements that
-care about stream headers need to make sure that they don't insert or
-interpret these header buffers twice if they interpret them.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
-<td>a stream config event</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
-<td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> with stream header data</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-event-get-n-stream-config-headers"></a><h3>gst_event_get_n_stream_config_headers ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               gst_event_get_n_stream_config_headers
-                                                        (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>);</pre>
-<p>
-Extract the number of stream header buffers.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
-<td>a stream config event</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the number of stream header buffers attached to the stream info
-<em class="parameter"><code>event</code></em>.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-event-parse-nth-stream-config-header"></a><h3>gst_event_parse_nth_stream_config_header ()</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_event_parse_nth_stream_config_header
-                                                        (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct 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#guint"><span class="type">guint</span></a> index</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> **buf</code></em>);</pre>
-<p>
-Retrieves the n-th stream header buffer attached to the stream config
-event and stores it in <em class="parameter"><code>buf</code></em>. Will store <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in <em class="parameter"><code>buf</code></em> if there is no such
-stream header.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
-<td>a stream config event</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
-<td>number of the stream header to retrieve</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
-<td>location where to store the n-th stream
-header <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TRUE if <em class="parameter"><code>event</code></em> contained a stream header at <em class="parameter"><code>index</code></em> and <em class="parameter"><code>buf</code></em> has
-been set, otherwise FALSE.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
 <a name="gst-event-new-toc"></a><h3>gst_event_new_toc ()</h3>
 <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> *          gst_event_new_toc                   (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> *toc</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> updated</code></em>);</pre>
diff --git a/docs/gst/html/gstreamer-GstGError.html b/docs/gst/html/gstreamer-GstGError.html
index f3b0fbd..578287b 100644
--- a/docs/gst/html/gstreamer-GstGError.html
+++ b/docs/gst/html/gstreamer-GstGError.html
@@ -115,7 +115,7 @@
 <p>
 </p>
 <div class="example">
-<a name="idp9531472"></a><p class="title"><b>Example 7. Throwing an error</b></p>
+<a name="idp11163632"></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>
diff --git a/docs/gst/html/gstreamer-GstIterator.html b/docs/gst/html/gstreamer-GstIterator.html
index 054cc8e..ae491a6 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="idp21761296"></a><p class="title"><b>Example 9. Using an iterator</b></p>
+<a name="idp25610576"></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>
diff --git a/docs/gst/html/gstreamer-GstMemory.html b/docs/gst/html/gstreamer-GstMemory.html
index 92e8a05..624a605 100644
--- a/docs/gst/html/gstreamer-GstMemory.html
+++ b/docs/gst/html/gstreamer-GstMemory.html
@@ -70,7 +70,7 @@
                                                          <em class="parameter"><code><span class="type">gsize</span> *offset</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMemory.html#gst-memory-init" title="gst_memory_init ()">gst_memory_init</a>                     (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *mem</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemoryFlags" title="enum GstMemoryFlags"><span class="type">GstMemoryFlags</span></a> flags</code></em>,
-                                                         <em class="parameter"><code><span class="type">GstAllocator</span> *allocator</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *parent</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> maxsize</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> align</code></em>,
@@ -121,18 +121,18 @@
 in the allocated region.
 </p>
 <p>
-Memory is usually created by allocators with a <code class="function">gst_allocator_alloc()</code>
+Memory is usually created by allocators with a <a class="link" href="GstAllocator.html#gst-allocator-alloc" title="gst_allocator_alloc ()"><code class="function">gst_allocator_alloc()</code></a>
 method call. When NULL is used as the allocator, the default allocator will
 be used.
 </p>
 <p>
-New allocators can be registered with <code class="function">gst_allocator_register()</code>.
+New allocators can be registered with <a class="link" href="GstAllocator.html#gst-allocator-register" title="gst_allocator_register ()"><code class="function">gst_allocator_register()</code></a>.
 Allocators are identified by name and can be retrieved with
-<code class="function">gst_allocator_find()</code>. <code class="function">gst_allocator_set_default()</code> can be used to change the
+<a class="link" href="GstAllocator.html#gst-allocator-find" title="gst_allocator_find ()"><code class="function">gst_allocator_find()</code></a>. <a class="link" href="GstAllocator.html#gst-allocator-set-default" title="gst_allocator_set_default ()"><code class="function">gst_allocator_set_default()</code></a> can be used to change the
 default allocator.
 </p>
 <p>
-New memory can be created with <code class="function">gst_memory_new_wrapped()</code> that wraps the memory
+New memory can be created with <a class="link" href="GstAllocator.html#gst-memory-new-wrapped" title="gst_memory_new_wrapped ()"><code class="function">gst_memory_new_wrapped()</code></a> that wraps the memory
 allocated elsewhere.
 </p>
 <p>
@@ -361,8 +361,8 @@
 <td>parent structure</td>
 </tr>
 <tr>
-<td><p><span class="term"><span class="type">GstAllocator</span> *<em class="structfield"><code><a name="GstMemory.allocator"></a>allocator</code></em>;</span></p></td>
-<td>pointer to the <span class="type">GstAllocator</span>
+<td><p><span class="term"><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> *<em class="structfield"><code><a name="GstMemory.allocator"></a>allocator</code></em>;</span></p></td>
+<td>pointer to the <a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a>
 </td>
 </tr>
 <tr>
@@ -651,7 +651,7 @@
 <a name="gst-memory-init"></a><h3>gst_memory_init ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_memory_init                     (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *mem</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemoryFlags" title="enum GstMemoryFlags"><span class="type">GstMemoryFlags</span></a> flags</code></em>,
-                                                         <em class="parameter"><code><span class="type">GstAllocator</span> *allocator</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *parent</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> maxsize</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> align</code></em>,
@@ -675,7 +675,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td>
-<td>the <span class="type">GstAllocator</span>
+<td>the <a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a>
 </td>
 </tr>
 <tr>
diff --git a/docs/gst/html/gstreamer-GstMessage.html b/docs/gst/html/gstreamer-GstMessage.html
index 0cffd73..34d6efd 100644
--- a/docs/gst/html/gstreamer-GstMessage.html
+++ b/docs/gst/html/gstreamer-GstMessage.html
@@ -159,12 +159,7 @@
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-segment-done" title="gst_message_parse_segment_done ()">gst_message_parse_segment_done</a>      (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> *position</code></em>);
-<a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-duration" title="gst_message_new_duration ()">gst_message_new_duration</a>            (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
-                                                         <em class="parameter"><code><span class="type">gint64</span> duration</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-duration" title="gst_message_parse_duration ()">gst_message_parse_duration</a>          (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>,
-                                                         <em class="parameter"><code><span class="type">gint64</span> *duration</code></em>);
+<a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-duration-changed" title="gst_message_new_duration_changed ()">gst_message_new_duration_changed</a>    (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>);
 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-latency" title="gst_message_new_latency ()">gst_message_new_latency</a>             (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>);
 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-async-start" title="gst_message_new_async_start ()">gst_message_new_async_start</a>         (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>);
 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-async-done" title="gst_message_new_async_done ()">gst_message_new_async_done</a>          (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
@@ -223,6 +218,7 @@
                                                          <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> running_time</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-reset-time" title="gst_message_parse_reset_time ()">gst_message_parse_reset_time</a>        (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> *running_time</code></em>);
+<a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-stream-start" title="gst_message_new_stream_start ()">gst_message_new_stream_start</a>        (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>);
 enum                <a class="link" href="gstreamer-GstMessage.html#GstStructureChangeType" title="enum GstStructureChangeType">GstStructureChangeType</a>;
 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-structure-change" title="gst_message_new_structure_change ()">gst_message_new_structure_change</a>    (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstStructureChangeType" title="enum GstStructureChangeType"><span class="type">GstStructureChangeType</span></a> type</code></em>,
@@ -277,7 +273,7 @@
 <p>
 </p>
 <div class="example">
-<a name="idp30377120"></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="idp29701328"></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>
@@ -365,7 +361,7 @@
   GST_MESSAGE_ELEMENT           = (1 &lt;&lt; 15),
   GST_MESSAGE_SEGMENT_START     = (1 &lt;&lt; 16),
   GST_MESSAGE_SEGMENT_DONE      = (1 &lt;&lt; 17),
-  GST_MESSAGE_DURATION          = (1 &lt;&lt; 18),
+  GST_MESSAGE_DURATION_CHANGED  = (1 &lt;&lt; 18),
   GST_MESSAGE_LATENCY           = (1 &lt;&lt; 19),
   GST_MESSAGE_ASYNC_START       = (1 &lt;&lt; 20),
   GST_MESSAGE_ASYNC_DONE        = (1 &lt;&lt; 21),
@@ -505,9 +501,9 @@
 </td>
 </tr>
 <tr>
-<td><p><a name="GST-MESSAGE-DURATION:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_DURATION</code></span></p></td>
-<td>The duration of a pipeline changed. The application
-can get the new duration with a duration query.
+<td><p><a name="GST-MESSAGE-DURATION-CHANGED:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_DURATION_CHANGED</code></span></p></td>
+<td>The duration of a pipeline changed. The
+application can get the new duration with a duration query.
 </td>
 </tr>
 <tr>
@@ -556,16 +552,23 @@
 <tr>
 <td><p><a name="GST-MESSAGE-TOC:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_TOC</code></span></p></td>
 <td>A new table of contents (TOC) was found or previously found TOC
-was updated. Since:
+was updated.
 </td>
 </tr>
 <tr>
 <td><p><a name="GST-MESSAGE-RESET-TIME:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_RESET_TIME</code></span></p></td>
-<td></td>
+<td>Message to request resetting the pipeline's
+    running time from the pipeline. This is an internal message which
+    applications will likely never receive.
+</td>
 </tr>
 <tr>
 <td><p><a name="GST-MESSAGE-STREAM-START:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_STREAM_START</code></span></p></td>
-<td></td>
+<td>Message indicating start of a new stream. Useful
+    e.g. when using playbin in gapless playback mode, to get notified when
+    the next title actually starts playing (which will be some time after
+    the URI for the next title has been set).
+</td>
 </tr>
 <tr>
 <td><p><a name="GST-MESSAGE-ANY:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_ANY</code></span></p></td>
@@ -2229,13 +2232,11 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-message-new-duration"></a><h3>gst_message_new_duration ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_duration            (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
-                                                         <em class="parameter"><code><span class="type">gint64</span> duration</code></em>);</pre>
+<a name="gst-message-new-duration-changed"></a><h3>gst_message_new_duration_changed ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_duration_changed    (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>);</pre>
 <p>
-Create a new duration message. This message is posted by elements that
-know the duration of a stream in a specific format. This message
+Create a new duration changed message. This message is posted by elements
+that know the duration of a stream when the duration changes. This message
 is received by bins and is used to calculate the total duration of a
 pipeline. Elements may post a duration message with a duration of
 GST_CLOCK_TIME_NONE to indicate that the duration has changed and the 
@@ -2251,16 +2252,8 @@
 </td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
-<td>The format of the duration</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>duration</code></em> :</span></p></td>
-<td>The new duration</td>
-</tr>
-<tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>The new duration message.
+<td>The new duration-changed message.
 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
@@ -2269,41 +2262,6 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-message-parse-duration"></a><h3>gst_message_parse_duration ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_duration          (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>,
-                                                         <em class="parameter"><code><span class="type">gint64</span> *duration</code></em>);</pre>
-<p>
-Extracts the duration and format from the duration message. The duration
-might be GST_CLOCK_TIME_NONE, which indicates that the duration has
-changed. Applications should always use a query to retrieve the duration
-of a pipeline.
-</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>message</code></em> :</span></p></td>
-<td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_DURATION.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
-<td>Result location for the format, or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>duration</code></em> :</span></p></td>
-<td>Result location for the duration, or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
 <a name="gst-message-new-latency"></a><h3>gst_message_new_latency ()</h3>
 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_latency             (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>);</pre>
 <p>
@@ -2951,6 +2909,32 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="gst-message-new-stream-start"></a><h3>gst_message_new_stream_start ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_stream_start        (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>);</pre>
+<p>
+Create a new stream_start message. This message is generated and posted in
+the sink elements of a GstBin. The bin will only forward the STREAM_START
+message to the application if all sinks have posted an STREAM_START message.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
+<td>The object originating the message. <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>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The new stream_start message.
+MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
 <a name="GstStructureChangeType"></a><h3>enum GstStructureChangeType</h3>
 <pre class="programlisting">typedef enum {
   GST_STRUCTURE_CHANGE_TYPE_PAD_LINK   = 0,
diff --git a/docs/gst/html/gstreamer-GstMiniObject.html b/docs/gst/html/gstreamer-GstMiniObject.html
index 44374a3..1199022 100644
--- a/docs/gst/html/gstreamer-GstMiniObject.html
+++ b/docs/gst/html/gstreamer-GstMiniObject.html
@@ -264,7 +264,8 @@
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *obj</code></em>);</pre>
 <p>
 A <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectNotify" title="GstMiniObjectNotify ()"><span class="type">GstMiniObjectNotify</span></a> function can be added to a mini object as a
-callback that gets triggered with <code class="function">gst_mini_object_notify()</code>.
+callback that gets triggered when <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-unref" title="gst_mini_object_unref ()"><code class="function">gst_mini_object_unref()</code></a> drops the
+last ref and <em class="parameter"><code>obj</code></em> is about to be freed.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -558,6 +559,11 @@
 </td>
 </tr>
 <tr>
+<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
+<td>initial <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectFlags" title="enum GstMiniObjectFlags"><span class="type">GstMiniObjectFlags</span></a>
+</td>
+</tr>
+<tr>
 <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
 <td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of the mini-object to create</td>
 </tr>
diff --git a/docs/gst/html/gstreamer-GstQuery.html b/docs/gst/html/gstreamer-GstQuery.html
index d733740..636714a 100644
--- a/docs/gst/html/gstreamer-GstQuery.html
+++ b/docs/gst/html/gstreamer-GstQuery.html
@@ -215,18 +215,18 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> min_buffers</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> max_buffers</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstQuery.html#gst-query-add-allocation-param" title="gst_query_add_allocation_param ()">gst_query_add_allocation_param</a>      (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
-                                                         <em class="parameter"><code><span class="type">GstAllocator</span> *allocator</code></em>,
-                                                         <em class="parameter"><code>const <span class="type">GstAllocationParams</span> *params</code></em>);
+                                                         <em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</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-GstQuery.html#gst-query-get-n-allocation-params" title="gst_query_get_n_allocation_params ()">gst_query_get_n_allocation_params</a>   (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-nth-allocation-param" title="gst_query_parse_nth_allocation_param ()">gst_query_parse_nth_allocation_param</a>
                                                         (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>,
-                                                         <em class="parameter"><code><span class="type">GstAllocator</span> **allocator</code></em>,
-                                                         <em class="parameter"><code><span class="type">GstAllocationParams</span> *params</code></em>);
+                                                         <em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> **allocator</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstQuery.html#gst-query-set-nth-allocation-param" title="gst_query_set_nth_allocation_param ()">gst_query_set_nth_allocation_param</a>  (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>,
-                                                         <em class="parameter"><code><span class="type">GstAllocator</span> *allocator</code></em>,
-                                                         <em class="parameter"><code>const <span class="type">GstAllocationParams</span> *params</code></em>);
+                                                         <em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstQuery.html#gst-query-add-allocation-meta" title="gst_query_add_allocation_meta ()">gst_query_add_allocation_meta</a>       (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> api</code></em>,
                                                          <em class="parameter"><code>const <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *params</code></em>);
@@ -259,6 +259,10 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>);
 <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-GstQuery.html#gst-query-has-scheduling-mode" title="gst_query_has_scheduling_mode ()">gst_query_has_scheduling_mode</a>       (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstPad.html#GstPadMode" title="enum GstPadMode"><span class="type">GstPadMode</span></a> mode</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-GstQuery.html#gst-query-has-scheduling-mode-with-flags" title="gst_query_has_scheduling_mode_with_flags ()">gst_query_has_scheduling_mode_with_flags</a>
+                                                        (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="GstPad.html#GstPadMode" title="enum GstPadMode"><span class="type">GstPadMode</span></a> mode</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstSchedulingFlags" title="enum GstSchedulingFlags"><span class="type">GstSchedulingFlags</span></a> flags</code></em>);
 <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> *          <a class="link" href="gstreamer-GstQuery.html#gst-query-new-drain" title="gst_query_new_drain ()">gst_query_new_drain</a>                 (<em class="parameter"><code><span class="type">void</span></code></em>);
 </pre>
 </div>
@@ -280,7 +284,7 @@
 <p>
 </p>
 <div class="example">
-<a name="idp40045456"></a><p class="title"><b>Example 12. Query duration on a pipeline</b></p>
+<a name="idp39630736"></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>
@@ -2545,8 +2549,8 @@
 <div class="refsect2">
 <a name="gst-query-add-allocation-param"></a><h3>gst_query_add_allocation_param ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_query_add_allocation_param      (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
-                                                         <em class="parameter"><code><span class="type">GstAllocator</span> *allocator</code></em>,
-                                                         <em class="parameter"><code>const <span class="type">GstAllocationParams</span> *params</code></em>);</pre>
+                                                         <em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
 <p>
 Add <em class="parameter"><code>allocator</code></em> and its <em class="parameter"><code>params</code></em> as a supported memory allocator.
 </p>
@@ -2565,7 +2569,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
-<td>a <span class="type">GstAllocationParams</span>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+<td>a <a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
 </td>
 </tr>
 </tbody>
@@ -2604,8 +2608,8 @@
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_query_parse_nth_allocation_param
                                                         (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>,
-                                                         <em class="parameter"><code><span class="type">GstAllocator</span> **allocator</code></em>,
-                                                         <em class="parameter"><code><span class="type">GstAllocationParams</span> *params</code></em>);</pre>
+                                                         <em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> **allocator</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
 <p>
 Parse an available query and get the alloctor and its params
 at <em class="parameter"><code>index</code></em> of the allocator array.
@@ -2640,8 +2644,8 @@
 <a name="gst-query-set-nth-allocation-param"></a><h3>gst_query_set_nth_allocation_param ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_query_set_nth_allocation_param  (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>,
-                                                         <em class="parameter"><code><span class="type">GstAllocator</span> *allocator</code></em>,
-                                                         <em class="parameter"><code>const <span class="type">GstAllocationParams</span> *params</code></em>);</pre>
+                                                         <em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>,
+                                                         <em class="parameter"><code>const <a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
 <p>
 Parse an available query and get the alloctor and its params
 at <em class="parameter"><code>index</code></em> of the allocator array.
@@ -3024,6 +3028,20 @@
 <p>
 Check if <em class="parameter"><code>query</code></em> has scheduling mode set.
 </p>
+<p>
+</p>
+<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Note</h3>
+<p>
+    When checking if upstream supports pull mode, it is usually not
+    enough to just check for GST_PAD_MODE_PULL with this function, you
+    also want to check whether the scheduling flags returned by
+    <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-scheduling" title="gst_query_parse_scheduling ()"><code class="function">gst_query_parse_scheduling()</code></a> have the seeking flag set (meaning
+    random access is supported, not only sequential pulls).
+  </p>
+</div>
+<p>
+</p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -3045,6 +3063,41 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="gst-query-has-scheduling-mode-with-flags"></a><h3>gst_query_has_scheduling_mode_with_flags ()</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_query_has_scheduling_mode_with_flags
+                                                        (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="GstPad.html#GstPadMode" title="enum GstPadMode"><span class="type">GstPadMode</span></a> mode</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstSchedulingFlags" title="enum GstSchedulingFlags"><span class="type">GstSchedulingFlags</span></a> flags</code></em>);</pre>
+<p>
+Check if <em class="parameter"><code>query</code></em> has scheduling mode set and <em class="parameter"><code>flags</code></em> is set in
+query scheduling flags.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
+<td>a GST_QUERY_SCHEDULING type query <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td>
+<td>the scheduling mode</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
+<td><a class="link" href="gstreamer-GstQuery.html#GstSchedulingFlags" title="enum GstSchedulingFlags"><span class="type">GstSchedulingFlags</span></a></td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>TRUE when <em class="parameter"><code>mode</code></em> is in the list of scheduling modes
+and <em class="parameter"><code>flags</code></em> are compatible with query flags.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
 <a name="gst-query-new-drain"></a><h3>gst_query_new_drain ()</h3>
 <pre class="programlisting"><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> *          gst_query_new_drain                 (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
 <p>
diff --git a/docs/gst/html/gstreamer-GstSegment.html b/docs/gst/html/gstreamer-GstSegment.html
index 60fb442..1bb66e1 100644
--- a/docs/gst/html/gstreamer-GstSegment.html
+++ b/docs/gst/html/gstreamer-GstSegment.html
@@ -334,7 +334,7 @@
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_segment_init                    (<em class="parameter"><code><a class="link" href="gstreamer-GstSegment.html#GstSegment" title="struct GstSegment"><span class="type">GstSegment</span></a> *segment</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>);</pre>
 <p>
-The start/last_stop positions are set to 0 and the stop/duration
+The start/position fields are set to 0 and the stop/duration
 fields are set to -1 (unknown). The default rate of 1.0 and no
 flags are set.
 </p>
diff --git a/docs/gst/html/gstreamer-GstTagList.html b/docs/gst/html/gstreamer-GstTagList.html
index 45e80af..79438cf 100644
--- a/docs/gst/html/gstreamer-GstTagList.html
+++ b/docs/gst/html/gstreamer-GstTagList.html
@@ -48,6 +48,7 @@
                                                          <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>);
 <span class="returnvalue">void</span>                (<a class="link" href="gstreamer-GstTagList.html#GstTagMergeFunc" title="GstTagMergeFunc ()">*GstTagMergeFunc</a>)                  (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *dest</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *src</code></em>);
+enum                <a class="link" href="gstreamer-GstTagList.html#GstTagScope" title="enum GstTagScope">GstTagScope</a>;
 #define             <a class="link" href="gstreamer-GstTagList.html#GST-TAG-TITLE:CAPS" title="GST_TAG_TITLE">GST_TAG_TITLE</a>
 #define             <a class="link" href="gstreamer-GstTagList.html#GST-TAG-TITLE-SORTNAME:CAPS" title="GST_TAG_TITLE_SORTNAME">GST_TAG_TITLE_SORTNAME</a>
 #define             <a class="link" href="gstreamer-GstTagList.html#GST-TAG-ARTIST:CAPS" title="GST_TAG_ARTIST">GST_TAG_ARTIST</a>
@@ -156,6 +157,9 @@
 <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="returnvalue">GstTagList</span></a> *        <a class="link" href="gstreamer-GstTagList.html#gst-tag-list-new-valist" title="gst_tag_list_new_valist ()">gst_tag_list_new_valist</a>             (<em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
 <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="returnvalue">GstTagList</span></a> *        <a class="link" href="gstreamer-GstTagList.html#gst-tag-list-new-from-string" title="gst_tag_list_new_from_string ()">gst_tag_list_new_from_string</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> *str</code></em>);
 #define             <a class="link" href="gstreamer-GstTagList.html#gst-tag-list-free" title="gst_tag_list_free()">gst_tag_list_free</a>                   (taglist)
+<a class="link" href="gstreamer-GstTagList.html#GstTagScope" title="enum GstTagScope"><span class="returnvalue">GstTagScope</span></a>         <a class="link" href="gstreamer-GstTagList.html#gst-tag-list-get-scope" title="gst_tag_list_get_scope ()">gst_tag_list_get_scope</a>              (<em class="parameter"><code>const <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *list</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstTagList.html#gst-tag-list-set-scope" title="gst_tag_list_set_scope ()">gst_tag_list_set_scope</a>              (<em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *list</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagScope" title="enum GstTagScope"><span class="type">GstTagScope</span></a> scope</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             <a class="link" href="gstreamer-GstTagList.html#gst-tag-list-to-string" title="gst_tag_list_to_string ()">gst_tag_list_to_string</a>              (<em class="parameter"><code>const <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *list</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-GstTagList.html#gst-tag-list-is-empty" title="gst_tag_list_is_empty ()">gst_tag_list_is_empty</a>               (<em class="parameter"><code>const <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *list</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-GstTagList.html#gst-tag-list-is-equal" title="gst_tag_list_is_equal ()">gst_tag_list_is_equal</a>               (<em class="parameter"><code>const <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *list1</code></em>,
@@ -355,7 +359,7 @@
 <p>
 </p>
 <div class="table">
-<a name="idp44799952"></a><p class="title"><b>Table 1. merge mode</b></p>
+<a name="idp44356448"></a><p class="title"><b>Table 1. merge mode</b></p>
 <div class="table-contents"><table summary="merge mode" border="1">
 <colgroup>
 <col>
@@ -567,6 +571,34 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="GstTagScope"></a><h3>enum GstTagScope</h3>
+<pre class="programlisting">typedef enum {
+  GST_TAG_SCOPE_STREAM,
+  GST_TAG_SCOPE_GLOBAL
+} GstTagScope;
+</pre>
+<p>
+GstTagScope specifies if a taglist applies to the complete
+medium or only to one single stream.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><a name="GST-TAG-SCOPE-STREAM:CAPS"></a><span class="term"><code class="literal">GST_TAG_SCOPE_STREAM</code></span></p></td>
+<td>tags specific to this single stream
+</td>
+</tr>
+<tr>
+<td><p><a name="GST-TAG-SCOPE-GLOBAL:CAPS"></a><span class="term"><code class="literal">GST_TAG_SCOPE_GLOBAL</code></span></p></td>
+<td>global tags for the complete medium
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
 <a name="GST-TAG-TITLE:CAPS"></a><h3>GST_TAG_TITLE</h3>
 <pre class="programlisting">#define GST_TAG_TITLE                  "title"
 </pre>
@@ -1695,6 +1727,11 @@
 (e.g. strings, buffers).
 </p>
 <p>
+After creation you might also want to set a <a class="link" href="gstreamer-GstTagList.html#GstTagScope" title="enum GstTagScope"><span class="type">GstTagScope</span></a> on the returned
+taglist to signal if the contained tags are global or stream tags. By
+default stream scope is assumes. See <a class="link" href="gstreamer-GstTagList.html#gst-tag-list-set-scope" title="gst_tag_list_set_scope ()"><code class="function">gst_tag_list_set_scope()</code></a>.
+</p>
+<p>
 Free-function: gst_tag_list_unref
 </p>
 <div class="variablelist"><table border="0">
@@ -1793,6 +1830,54 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="gst-tag-list-get-scope"></a><h3>gst_tag_list_get_scope ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstTagList.html#GstTagScope" title="enum GstTagScope"><span class="returnvalue">GstTagScope</span></a>         gst_tag_list_get_scope              (<em class="parameter"><code>const <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *list</code></em>);</pre>
+<p>
+Gets the scope of <em class="parameter"><code>list</code></em>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The scope of <em class="parameter"><code>list</code></em>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-tag-list-set-scope"></a><h3>gst_tag_list_set_scope ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_tag_list_set_scope              (<em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *list</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagScope" title="enum GstTagScope"><span class="type">GstTagScope</span></a> scope</code></em>);</pre>
+<p>
+Sets the scope of <em class="parameter"><code>list</code></em> to <em class="parameter"><code>scope</code></em>. By default the scope
+of a taglist is stream scope.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>scope</code></em> :</span></p></td>
+<td>new scope for <em class="parameter"><code>list</code></em>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
 <a name="gst-tag-list-to-string"></a><h3>gst_tag_list_to_string ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             gst_tag_list_to_string              (<em class="parameter"><code>const <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *list</code></em>);</pre>
 <p>
diff --git a/docs/gst/html/gstreamer-GstToc.html b/docs/gst/html/gstreamer-GstToc.html
index ea3d8f1..d39f836 100644
--- a/docs/gst/html/gstreamer-GstToc.html
+++ b/docs/gst/html/gstreamer-GstToc.html
@@ -110,10 +110,9 @@
 <p>
 Using TOC is very easy. Firstly, create <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> structure which represents root
 contents of the source. You can also attach TOC-specific tags to it. Then fill
-it with <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> entries by appending them to <span class="type">GstToc.entries</span> <span class="type">GstTocEntry.subentries</span>
-lists. You should use GST_TOC_ENTRY_TYPE_CHAPTER for generic TOC entry and
-GST_TOC_ENTRY_TYPE_EDITION for the entries which are considered to be alternatives
-(like DVD angles, Matroska editions and so on).
+it with <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> entries by appending them to the <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> using
+<a class="link" href="gstreamer-GstToc.html#gst-toc-append-entry" title="gst_toc_append_entry ()"><code class="function">gst_toc_append_entry()</code></a>, and appending subentries to a <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> using
+<a class="link" href="gstreamer-GstToc.html#gst-toc-entry-append-sub-entry" title="gst_toc_entry_append_sub_entry ()"><code class="function">gst_toc_entry_append_sub_entry()</code></a>.
 </p>
 <p>
 Note that root level of the TOC can contain only either editions or chapters. You
@@ -122,19 +121,23 @@
  stop values.
 </p>
 <p>
-Please, use <span class="type">GstToc.info</span> and <span class="type">GstTocEntry.info</span> fields in that way: create a <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a>,
-put all info related to your element there and put this structure into the info field under
-the name of your element. Some fields in the info structure can be used for internal purposes,
-so you should use it in the way described above to not to overwrite already existent fields.
-</p>
-<p>
 Use <a class="link" href="gstreamer-GstEvent.html#gst-event-new-toc" title="gst_event_new_toc ()"><code class="function">gst_event_new_toc()</code></a> to create a new TOC <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>, and <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-toc" title="gst_event_parse_toc ()"><code class="function">gst_event_parse_toc()</code></a> to
 parse received TOC event. Use <a class="link" href="gstreamer-GstEvent.html#gst-event-new-toc-select" title="gst_event_new_toc_select ()"><code class="function">gst_event_new_toc_select()</code></a> to create a new TOC select <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>,
 and <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-toc-select" title="gst_event_parse_toc_select ()"><code class="function">gst_event_parse_toc_select()</code></a> to parse received TOC select event. The same rule for
 the <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a>: <a class="link" href="gstreamer-GstMessage.html#gst-message-new-toc" title="gst_message_new_toc ()"><code class="function">gst_message_new_toc()</code></a> to create new TOC <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a>, and
-<a class="link" href="gstreamer-GstMessage.html#gst-message-parse-toc" title="gst_message_parse_toc ()"><code class="function">gst_message_parse_toc()</code></a> to parse received TOC message. Also you can create a new TOC query
-with <code class="function">gst_query_new_toc()</code>, set it with <code class="function">gst_query_set_toc()</code> and parse it with
-<code class="function">gst_query_parse_toc()</code>.
+<a class="link" href="gstreamer-GstMessage.html#gst-message-parse-toc" title="gst_message_parse_toc ()"><code class="function">gst_message_parse_toc()</code></a> to parse received TOC message.
+</p>
+<p>
+TOCs can have global scope or current scope. Global scope TOCs contain
+all entries that can possibly be selected using a toc select event, and
+are what an application is usually interested in. TOCs with current scope
+only contain the parts of the TOC relevant to the currently selected/playing
+stream; the current scope TOC is used by downstream elements such as muxers
+to write correct TOC entries when transcoding files, for example. When
+playing a DVD, the global TOC would contain a hierarchy of all titles,
+chapters and angles, for example, while the current TOC would only contain
+the chapters for the currently playing title if playback of a specific
+title was requested.
 </p>
 </div>
 <div class="refsect1">
@@ -295,7 +298,7 @@
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>newly allocated <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> in case of success, NULL otherwise;
-free it when done with <code class="function">gst_toc_free()</code>.</td>
+free it when done with <a class="link" href="gstreamer-GstToc.html#gst-toc-unref" title="gst_toc_unref()"><code class="function">gst_toc_unref()</code></a>.</td>
 </tr>
 </tbody>
 </table></div>
@@ -573,7 +576,7 @@
 <a name="gst-toc-entry-get-uid"></a><h3>gst_toc_entry_get_uid ()</h3>
 <pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       gst_toc_entry_get_uid               (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>);</pre>
 <p>
-Gets the sub-entries of <em class="parameter"><code>entry</code></em>.
+Gets the UID of <em class="parameter"><code>entry</code></em>.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -584,7 +587,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> of <em class="parameter"><code>entry</code></em>. <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> Gst.TocEntry]</span>
+<td>The UID of <em class="parameter"><code>entry</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
 </td>
 </tr>
 </tbody>
@@ -616,6 +619,23 @@
 <div class="refsect2">
 <a name="gst-toc-entry-get-sub-entries"></a><h3>gst_toc_entry_get_sub_entries ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *             gst_toc_entry_get_sub_entries       (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>);</pre>
+<p>
+Gets the sub-entries of <em class="parameter"><code>entry</code></em>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
+<td>A <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> instance</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> of <em class="parameter"><code>entry</code></em>. <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> Gst.TocEntry]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/gst/html/gstreamer-GstUtils.html b/docs/gst/html/gstreamer-GstUtils.html
index 7ff1198..ae19c23 100644
--- a/docs/gst/html/gstreamer-GstUtils.html
+++ b/docs/gst/html/gstreamer-GstUtils.html
@@ -108,8 +108,6 @@
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gfloat"><span class="returnvalue">gfloat</span></a>              <a class="link" href="gstreamer-GstUtils.html#GFLOAT-SWAP-LE-BE:CAPS" title="GFLOAT_SWAP_LE_BE ()">GFLOAT_SWAP_LE_BE</a>                   (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> in</code></em>);
 #define             <a class="link" href="gstreamer-GstUtils.html#GFLOAT-TO-BE:CAPS" title="GFLOAT_TO_BE()">GFLOAT_TO_BE</a>                        (val)
 #define             <a class="link" href="gstreamer-GstUtils.html#GFLOAT-TO-LE:CAPS" title="GFLOAT_TO_LE()">GFLOAT_TO_LE</a>                        (val)
-const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       <a class="link" href="gstreamer-GstUtils.html#gst-flow-get-name" title="gst_flow_get_name ()">gst_flow_get_name</a>                   (<em class="parameter"><code><a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> ret</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>              <a class="link" href="gstreamer-GstUtils.html#gst-flow-to-quark" title="gst_flow_to_quark ()">gst_flow_to_quark</a>                   (<em class="parameter"><code><a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> ret</code></em>);
 #define             <a class="link" href="gstreamer-GstUtils.html#gst-guint64-to-gdouble" title="gst_guint64_to_gdouble()">gst_guint64_to_gdouble</a>              (value)
 #define             <a class="link" href="gstreamer-GstUtils.html#gst-gdouble-to-guint64" title="gst_gdouble_to_guint64()">gst_gdouble_to_guint64</a>              (value)
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstUtils.html#gst-util-dump-mem" title="gst_util_dump_mem ()">gst_util_dump_mem</a>                   (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guchar"><span class="type">guchar</span></a> *mem</code></em>,
@@ -1121,49 +1119,6 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-flow-get-name"></a><h3>gst_flow_get_name ()</h3>
-<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       gst_flow_get_name                   (<em class="parameter"><code><a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> ret</code></em>);</pre>
-<p>
-Gets a string representing the given flow return.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>ret</code></em> :</span></p></td>
-<td>a <a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> to get the name of.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a static string with the name of the flow return.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-flow-to-quark"></a><h3>gst_flow_to_quark ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>              gst_flow_to_quark                   (<em class="parameter"><code><a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> ret</code></em>);</pre>
-<p>
-Get the unique quark for the given GstFlowReturn.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>ret</code></em> :</span></p></td>
-<td>a <a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> to get the quark of.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the quark associated with the flow return or 0 if an
-invalid return was specified.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
 <a name="gst-guint64-to-gdouble"></a><h3>gst_guint64_to_gdouble()</h3>
 <pre class="programlisting">#define         gst_guint64_to_gdouble(value)   gst_util_guint64_to_gdouble(value)
 </pre>
diff --git a/docs/gst/html/gstreamer-hierarchy.html b/docs/gst/html/gstreamer-hierarchy.html
index b55e2b8..bcd681f 100644
--- a/docs/gst/html/gstreamer-hierarchy.html
+++ b/docs/gst/html/gstreamer-hierarchy.html
@@ -26,7 +26,7 @@
     <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 class="link" href="GstObject.html" title="GstObject">GstObject</a>
-                GstAllocator
+                <a class="link" href="GstAllocator.html" title="GstAllocator">GstAllocator</a>
                 <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
                     <a class="link" href="GstGhostPad.html#GstProxyPad">GstProxyPad</a>
                         <a class="link" href="GstGhostPad.html" title="GstGhostPad">GstGhostPad</a>
diff --git a/docs/gst/html/gstreamer.devhelp2 b/docs/gst/html/gstreamer.devhelp2
index 2c9faa2..feb5fac 100644
--- a/docs/gst/html/gstreamer.devhelp2
+++ b/docs/gst/html/gstreamer.devhelp2
@@ -8,6 +8,7 @@
     </sub>
     <sub name="GStreamer Core Library" link="libgstreamer.html">
       <sub name="Gst" link="gstreamer-Gst.html"/>
+      <sub name="GstAllocator" link="GstAllocator.html"/>
       <sub name="GstAtomicQueue" link="gstreamer-GstAtomicQueue.html"/>
       <sub name="GstBin" link="GstBin.html"/>
       <sub name="GstBuffer" link="gstreamer-GstBuffer.html"/>
@@ -70,7 +71,7 @@
     <sub name="Annotation Glossary" link="annotation-glossary.html"/>
   </chapters>
   <functions>
-    <keyword type="" name="Environment variables" link="gst-running.html#idp11902880"/>
+    <keyword type="" name="Environment variables" link="gst-running.html#idp8741872"/>
     <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"/>
@@ -83,6 +84,19 @@
     <keyword type="function" name="gst_registry_fork_is_enabled ()" link="gstreamer-Gst.html#gst-registry-fork-is-enabled"/>
     <keyword type="function" name="gst_registry_fork_set_enabled ()" link="gstreamer-Gst.html#gst-registry-fork-set-enabled"/>
     <keyword type="function" name="gst_update_registry ()" link="gstreamer-Gst.html#gst-update-registry"/>
+    <keyword type="struct" name="GstAllocator" link="GstAllocator.html#GstAllocator-struct"/>
+    <keyword type="enum" name="enum GstAllocatorFlags" link="GstAllocator.html#GstAllocatorFlags"/>
+    <keyword type="struct" name="struct GstAllocationParams" link="GstAllocator.html#GstAllocationParams"/>
+    <keyword type="macro" name="GST_ALLOCATOR_SYSMEM" link="GstAllocator.html#GST-ALLOCATOR-SYSMEM:CAPS"/>
+    <keyword type="function" name="gst_allocator_find ()" link="GstAllocator.html#gst-allocator-find"/>
+    <keyword type="function" name="gst_allocator_register ()" link="GstAllocator.html#gst-allocator-register"/>
+    <keyword type="function" name="gst_allocator_set_default ()" link="GstAllocator.html#gst-allocator-set-default"/>
+    <keyword type="function" name="gst_allocation_params_init ()" link="GstAllocator.html#gst-allocation-params-init"/>
+    <keyword type="function" name="gst_allocation_params_copy ()" link="GstAllocator.html#gst-allocation-params-copy"/>
+    <keyword type="function" name="gst_allocation_params_free ()" link="GstAllocator.html#gst-allocation-params-free"/>
+    <keyword type="function" name="gst_allocator_alloc ()" link="GstAllocator.html#gst-allocator-alloc"/>
+    <keyword type="function" name="gst_allocator_free ()" link="GstAllocator.html#gst-allocator-free"/>
+    <keyword type="function" name="gst_memory_new_wrapped ()" link="GstAllocator.html#gst-memory-new-wrapped"/>
     <keyword type="struct" name="GstAtomicQueue" link="gstreamer-GstAtomicQueue.html#GstAtomicQueue"/>
     <keyword type="function" name="gst_atomic_queue_new ()" link="gstreamer-GstAtomicQueue.html#gst-atomic-queue-new"/>
     <keyword type="function" name="gst_atomic_queue_ref ()" link="gstreamer-GstAtomicQueue.html#gst-atomic-queue-ref"/>
@@ -91,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#idp6749552"/>
+    <keyword type="" name="Notes" link="GstBin.html#idp7424032"/>
     <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"/>
@@ -143,12 +157,12 @@
     <keyword type="function" name="gst_buffer_new_wrapped_full ()" link="gstreamer-GstBuffer.html#gst-buffer-new-wrapped-full"/>
     <keyword type="function" name="gst_buffer_ref ()" link="gstreamer-GstBuffer.html#gst-buffer-ref"/>
     <keyword type="function" name="gst_buffer_unref ()" link="gstreamer-GstBuffer.html#gst-buffer-unref"/>
-    <keyword type="macro" name="gst_buffer_get_sizes()" link="gstreamer-GstBuffer.html#gst-buffer-get-sizes"/>
-    <keyword type="macro" name="gst_buffer_get_size()" link="gstreamer-GstBuffer.html#gst-buffer-get-size"/>
+    <keyword type="function" name="gst_buffer_get_sizes ()" link="gstreamer-GstBuffer.html#gst-buffer-get-sizes"/>
+    <keyword type="function" name="gst_buffer_get_size ()" link="gstreamer-GstBuffer.html#gst-buffer-get-size"/>
     <keyword type="function" name="gst_buffer_get_sizes_range ()" link="gstreamer-GstBuffer.html#gst-buffer-get-sizes-range"/>
     <keyword type="function" name="gst_buffer_resize_range ()" link="gstreamer-GstBuffer.html#gst-buffer-resize-range"/>
-    <keyword type="macro" name="gst_buffer_resize()" link="gstreamer-GstBuffer.html#gst-buffer-resize"/>
-    <keyword type="macro" name="gst_buffer_set_size()" link="gstreamer-GstBuffer.html#gst-buffer-set-size"/>
+    <keyword type="function" name="gst_buffer_resize ()" link="gstreamer-GstBuffer.html#gst-buffer-resize"/>
+    <keyword type="function" name="gst_buffer_set_size ()" link="gstreamer-GstBuffer.html#gst-buffer-set-size"/>
     <keyword type="function" name="gst_buffer_peek_memory ()" link="gstreamer-GstBuffer.html#gst-buffer-peek-memory"/>
     <keyword type="function" name="gst_buffer_n_memory ()" link="gstreamer-GstBuffer.html#gst-buffer-n-memory"/>
     <keyword type="function" name="gst_buffer_insert_memory ()" link="gstreamer-GstBuffer.html#gst-buffer-insert-memory"/>
@@ -156,15 +170,15 @@
     <keyword type="function" name="gst_buffer_get_memory_range ()" link="gstreamer-GstBuffer.html#gst-buffer-get-memory-range"/>
     <keyword type="function" name="gst_buffer_remove_memory_range ()" link="gstreamer-GstBuffer.html#gst-buffer-remove-memory-range"/>
     <keyword type="function" name="gst_buffer_find_memory ()" link="gstreamer-GstBuffer.html#gst-buffer-find-memory"/>
-    <keyword type="macro" name="gst_buffer_prepend_memory()" link="gstreamer-GstBuffer.html#gst-buffer-prepend-memory"/>
-    <keyword type="macro" name="gst_buffer_append_memory()" link="gstreamer-GstBuffer.html#gst-buffer-append-memory"/>
-    <keyword type="macro" name="gst_buffer_replace_memory()" link="gstreamer-GstBuffer.html#gst-buffer-replace-memory"/>
-    <keyword type="macro" name="gst_buffer_replace_all_memory()" link="gstreamer-GstBuffer.html#gst-buffer-replace-all-memory"/>
-    <keyword type="macro" name="gst_buffer_get_memory()" link="gstreamer-GstBuffer.html#gst-buffer-get-memory"/>
-    <keyword type="macro" name="gst_buffer_get_all_memory()" link="gstreamer-GstBuffer.html#gst-buffer-get-all-memory"/>
-    <keyword type="macro" name="gst_buffer_remove_memory()" link="gstreamer-GstBuffer.html#gst-buffer-remove-memory"/>
-    <keyword type="macro" name="gst_buffer_remove_all_memory()" link="gstreamer-GstBuffer.html#gst-buffer-remove-all-memory"/>
-    <keyword type="macro" name="gst_buffer_map()" link="gstreamer-GstBuffer.html#gst-buffer-map"/>
+    <keyword type="function" name="gst_buffer_prepend_memory ()" link="gstreamer-GstBuffer.html#gst-buffer-prepend-memory"/>
+    <keyword type="function" name="gst_buffer_append_memory ()" link="gstreamer-GstBuffer.html#gst-buffer-append-memory"/>
+    <keyword type="function" name="gst_buffer_replace_memory ()" link="gstreamer-GstBuffer.html#gst-buffer-replace-memory"/>
+    <keyword type="function" name="gst_buffer_replace_all_memory ()" link="gstreamer-GstBuffer.html#gst-buffer-replace-all-memory"/>
+    <keyword type="function" name="gst_buffer_get_memory ()" link="gstreamer-GstBuffer.html#gst-buffer-get-memory"/>
+    <keyword type="function" name="gst_buffer_get_all_memory ()" link="gstreamer-GstBuffer.html#gst-buffer-get-all-memory"/>
+    <keyword type="function" name="gst_buffer_remove_memory ()" link="gstreamer-GstBuffer.html#gst-buffer-remove-memory"/>
+    <keyword type="function" name="gst_buffer_remove_all_memory ()" link="gstreamer-GstBuffer.html#gst-buffer-remove-all-memory"/>
+    <keyword type="function" name="gst_buffer_map ()" link="gstreamer-GstBuffer.html#gst-buffer-map"/>
     <keyword type="function" name="gst_buffer_map_range ()" link="gstreamer-GstBuffer.html#gst-buffer-map-range"/>
     <keyword type="function" name="gst_buffer_unmap ()" link="gstreamer-GstBuffer.html#gst-buffer-unmap"/>
     <keyword type="function" name="gst_buffer_memcmp ()" link="gstreamer-GstBuffer.html#gst-buffer-memcmp"/>
@@ -180,7 +194,7 @@
     <keyword type="macro" name="gst_buffer_is_writable()" link="gstreamer-GstBuffer.html#gst-buffer-is-writable"/>
     <keyword type="macro" name="gst_buffer_make_writable()" link="gstreamer-GstBuffer.html#gst-buffer-make-writable"/>
     <keyword type="function" name="gst_buffer_replace ()" link="gstreamer-GstBuffer.html#gst-buffer-replace"/>
-    <keyword type="macro" name="gst_buffer_append()" link="gstreamer-GstBuffer.html#gst-buffer-append"/>
+    <keyword type="function" name="gst_buffer_append ()" link="gstreamer-GstBuffer.html#gst-buffer-append"/>
     <keyword type="function" name="gst_buffer_append_region ()" link="gstreamer-GstBuffer.html#gst-buffer-append-region"/>
     <keyword type="function" name="gst_buffer_get_meta ()" link="gstreamer-GstBuffer.html#gst-buffer-get-meta"/>
     <keyword type="function" name="gst_buffer_add_meta ()" link="gstreamer-GstBuffer.html#gst-buffer-add-meta"/>
@@ -435,9 +449,11 @@
     <keyword type="function" name="gst_date_time_get_second ()" link="gstreamer-GstDateTime.html#gst-date-time-get-second"/>
     <keyword type="function" name="gst_date_time_get_year ()" link="gstreamer-GstDateTime.html#gst-date-time-get-year"/>
     <keyword type="function" name="gst_date_time_new ()" link="gstreamer-GstDateTime.html#gst-date-time-new"/>
+    <keyword type="function" name="gst_date_time_new_ymd ()" link="gstreamer-GstDateTime.html#gst-date-time-new-ymd"/>
+    <keyword type="function" name="gst_date_time_new_ym ()" link="gstreamer-GstDateTime.html#gst-date-time-new-ym"/>
+    <keyword type="function" name="gst_date_time_new_y ()" link="gstreamer-GstDateTime.html#gst-date-time-new-y"/>
     <keyword type="function" name="gst_date_time_new_from_unix_epoch_local_time ()" link="gstreamer-GstDateTime.html#gst-date-time-new-from-unix-epoch-local-time"/>
     <keyword type="function" name="gst_date_time_new_from_unix_epoch_utc ()" link="gstreamer-GstDateTime.html#gst-date-time-new-from-unix-epoch-utc"/>
-    <keyword type="function" name="gst_date_time_new_ymd ()" link="gstreamer-GstDateTime.html#gst-date-time-new-ymd"/>
     <keyword type="function" name="gst_date_time_new_local_time ()" link="gstreamer-GstDateTime.html#gst-date-time-new-local-time"/>
     <keyword type="function" name="gst_date_time_new_now_local_time ()" link="gstreamer-GstDateTime.html#gst-date-time-new-now-local-time"/>
     <keyword type="function" name="gst_date_time_new_now_utc ()" link="gstreamer-GstDateTime.html#gst-date-time-new-now-utc"/>
@@ -448,8 +464,6 @@
     <keyword type="function" name="gst_date_time_has_second ()" link="gstreamer-GstDateTime.html#gst-date-time-has-second"/>
     <keyword type="function" name="gst_date_time_has_time ()" link="gstreamer-GstDateTime.html#gst-date-time-has-time"/>
     <keyword type="function" name="gst_date_time_has_year ()" link="gstreamer-GstDateTime.html#gst-date-time-has-year"/>
-    <keyword type="function" name="gst_date_time_new_y ()" link="gstreamer-GstDateTime.html#gst-date-time-new-y"/>
-    <keyword type="function" name="gst_date_time_new_ym ()" link="gstreamer-GstDateTime.html#gst-date-time-new-ym"/>
     <keyword type="function" name="gst_date_time_new_from_iso8601_string ()" link="gstreamer-GstDateTime.html#gst-date-time-new-from-iso8601-string"/>
     <keyword type="function" name="gst_date_time_to_iso8601_string ()" link="gstreamer-GstDateTime.html#gst-date-time-to-iso8601-string"/>
     <keyword type="function" name="gst_date_time_new_from_g_date_time ()" link="gstreamer-GstDateTime.html#gst-date-time-new-from-g-date-time"/>
@@ -669,14 +683,6 @@
     <keyword type="function" name="gst_event_new_reconfigure ()" link="gstreamer-GstEvent.html#gst-event-new-reconfigure"/>
     <keyword type="function" name="gst_event_new_caps ()" link="gstreamer-GstEvent.html#gst-event-new-caps"/>
     <keyword type="function" name="gst_event_parse_caps ()" link="gstreamer-GstEvent.html#gst-event-parse-caps"/>
-    <keyword type="enum" name="enum GstStreamConfigFlags" link="gstreamer-GstEvent.html#GstStreamConfigFlags"/>
-    <keyword type="function" name="gst_event_new_stream_config ()" link="gstreamer-GstEvent.html#gst-event-new-stream-config"/>
-    <keyword type="function" name="gst_event_parse_stream_config ()" link="gstreamer-GstEvent.html#gst-event-parse-stream-config"/>
-    <keyword type="function" name="gst_event_set_stream_config_setup_data ()" link="gstreamer-GstEvent.html#gst-event-set-stream-config-setup-data"/>
-    <keyword type="function" name="gst_event_parse_stream_config_setup_data ()" link="gstreamer-GstEvent.html#gst-event-parse-stream-config-setup-data"/>
-    <keyword type="function" name="gst_event_add_stream_config_header ()" link="gstreamer-GstEvent.html#gst-event-add-stream-config-header"/>
-    <keyword type="function" name="gst_event_get_n_stream_config_headers ()" link="gstreamer-GstEvent.html#gst-event-get-n-stream-config-headers"/>
-    <keyword type="function" name="gst_event_parse_nth_stream_config_header ()" link="gstreamer-GstEvent.html#gst-event-parse-nth-stream-config-header"/>
     <keyword type="function" name="gst_event_new_toc ()" link="gstreamer-GstEvent.html#gst-event-new-toc"/>
     <keyword type="function" name="gst_event_parse_toc ()" link="gstreamer-GstEvent.html#gst-event-parse-toc"/>
     <keyword type="function" name="gst_event_new_toc_select ()" link="gstreamer-GstEvent.html#gst-event-new-toc-select"/>
@@ -819,8 +825,7 @@
     <keyword type="function" name="gst_message_parse_segment_start ()" link="gstreamer-GstMessage.html#gst-message-parse-segment-start"/>
     <keyword type="function" name="gst_message_new_segment_done ()" link="gstreamer-GstMessage.html#gst-message-new-segment-done"/>
     <keyword type="function" name="gst_message_parse_segment_done ()" link="gstreamer-GstMessage.html#gst-message-parse-segment-done"/>
-    <keyword type="function" name="gst_message_new_duration ()" link="gstreamer-GstMessage.html#gst-message-new-duration"/>
-    <keyword type="function" name="gst_message_parse_duration ()" link="gstreamer-GstMessage.html#gst-message-parse-duration"/>
+    <keyword type="function" name="gst_message_new_duration_changed ()" link="gstreamer-GstMessage.html#gst-message-new-duration-changed"/>
     <keyword type="function" name="gst_message_new_latency ()" link="gstreamer-GstMessage.html#gst-message-new-latency"/>
     <keyword type="function" name="gst_message_new_async_start ()" link="gstreamer-GstMessage.html#gst-message-new-async-start"/>
     <keyword type="function" name="gst_message_new_async_done ()" link="gstreamer-GstMessage.html#gst-message-new-async-done"/>
@@ -837,6 +842,7 @@
     <keyword type="function" name="gst_message_parse_toc ()" link="gstreamer-GstMessage.html#gst-message-parse-toc"/>
     <keyword type="function" name="gst_message_new_reset_time ()" link="gstreamer-GstMessage.html#gst-message-new-reset-time"/>
     <keyword type="function" name="gst_message_parse_reset_time ()" link="gstreamer-GstMessage.html#gst-message-parse-reset-time"/>
+    <keyword type="function" name="gst_message_new_stream_start ()" link="gstreamer-GstMessage.html#gst-message-new-stream-start"/>
     <keyword type="enum" name="enum GstStructureChangeType" link="gstreamer-GstMessage.html#GstStructureChangeType"/>
     <keyword type="function" name="gst_message_new_structure_change ()" link="gstreamer-GstMessage.html#gst-message-new-structure-change"/>
     <keyword type="function" name="gst_message_parse_structure_change ()" link="gstreamer-GstMessage.html#gst-message-parse-structure-change"/>
@@ -900,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#idp29641840"/>
+    <keyword type="" name="controlled properties" link="GstObject.html#idp31695632"/>
     <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"/>
@@ -953,9 +959,11 @@
     <keyword type="macro" name="GST_PAD_LINK_FAILED()" link="GstPad.html#GST-PAD-LINK-FAILED:CAPS"/>
     <keyword type="macro" name="GST_PAD_LINK_SUCCESSFUL()" link="GstPad.html#GST-PAD-LINK-SUCCESSFUL:CAPS"/>
     <keyword type="enum" name="enum GstPadLinkCheck" link="GstPad.html#GstPadLinkCheck"/>
-    <keyword type="macro" name="GST_PAD_LINK_CHECK_DEFAULT" link="GstPad.html#GST-PAD-LINK-CHECK-DEFAULT:CAPS"/>
     <keyword type="enum" name="enum GstFlowReturn" link="GstPad.html#GstFlowReturn"/>
+    <keyword type="function" name="gst_flow_get_name ()" link="GstPad.html#gst-flow-get-name"/>
+    <keyword type="function" name="gst_flow_to_quark ()" link="GstPad.html#gst-flow-to-quark"/>
     <keyword type="enum" name="enum GstPadMode" link="GstPad.html#GstPadMode"/>
+    <keyword type="function" name="gst_pad_mode_get_name ()" link="GstPad.html#gst-pad-mode-get-name"/>
     <keyword type="macro" name="gst_pad_get_name()" link="GstPad.html#gst-pad-get-name"/>
     <keyword type="function" name="gst_pad_get_direction ()" link="GstPad.html#gst-pad-get-direction"/>
     <keyword type="macro" name="gst_pad_get_parent()" link="GstPad.html#gst-pad-get-parent"/>
@@ -1035,6 +1043,7 @@
     <keyword type="macro" name="gst_pad_set_activatemode_function()" link="GstPad.html#gst-pad-set-activatemode-function"/>
     <keyword type="function" name="gst_pad_set_activatemode_function_full ()" link="GstPad.html#gst-pad-set-activatemode-function-full"/>
     <keyword type="function" name="GstPadActivateModeFunction ()" link="GstPad.html#GstPadActivateModeFunction"/>
+    <keyword type="function" name="gst_pad_needs_reconfigure ()" link="GstPad.html#gst-pad-needs-reconfigure"/>
     <keyword type="function" name="gst_pad_check_reconfigure ()" link="GstPad.html#gst-pad-check-reconfigure"/>
     <keyword type="function" name="gst_pad_mark_reconfigure ()" link="GstPad.html#gst-pad-mark-reconfigure"/>
     <keyword type="function" name="gst_pad_push ()" link="GstPad.html#gst-pad-push"/>
@@ -1068,6 +1077,8 @@
     <keyword type="function" name="gst_pad_set_element_private ()" link="GstPad.html#gst-pad-set-element-private"/>
     <keyword type="function" name="gst_pad_get_element_private ()" link="GstPad.html#gst-pad-get-element-private"/>
     <keyword type="function" name="gst_pad_create_stream_id ()" link="GstPad.html#gst-pad-create-stream-id"/>
+    <keyword type="function" name="gst_pad_create_stream_id_printf ()" link="GstPad.html#gst-pad-create-stream-id-printf"/>
+    <keyword type="function" name="gst_pad_create_stream_id_printf_valist ()" link="GstPad.html#gst-pad-create-stream-id-printf-valist"/>
     <keyword type="function" name="GstPadForwardFunction ()" link="GstPad.html#GstPadForwardFunction"/>
     <keyword type="function" name="gst_pad_forward ()" link="GstPad.html#gst-pad-forward"/>
     <keyword type="function" name="gst_pad_chain ()" link="GstPad.html#gst-pad-chain"/>
@@ -1310,13 +1321,13 @@
     <keyword type="function" name="gst_query_get_n_scheduling_modes ()" link="gstreamer-GstQuery.html#gst-query-get-n-scheduling-modes"/>
     <keyword type="function" name="gst_query_parse_nth_scheduling_mode ()" link="gstreamer-GstQuery.html#gst-query-parse-nth-scheduling-mode"/>
     <keyword type="function" name="gst_query_has_scheduling_mode ()" link="gstreamer-GstQuery.html#gst-query-has-scheduling-mode"/>
+    <keyword type="function" name="gst_query_has_scheduling_mode_with_flags ()" link="gstreamer-GstQuery.html#gst-query-has-scheduling-mode-with-flags"/>
     <keyword type="function" name="gst_query_new_drain ()" link="gstreamer-GstQuery.html#gst-query-new-drain"/>
     <keyword type="struct" name="struct GstRegistry" link="GstRegistry.html#GstRegistry-struct"/>
     <keyword type="function" name="gst_registry_get ()" link="GstRegistry.html#gst-registry-get"/>
     <keyword type="function" name="gst_registry_get_feature_list ()" link="GstRegistry.html#gst-registry-get-feature-list"/>
     <keyword type="function" name="gst_registry_get_feature_list_cookie ()" link="GstRegistry.html#gst-registry-get-feature-list-cookie"/>
     <keyword type="function" name="gst_registry_get_feature_list_by_plugin ()" link="GstRegistry.html#gst-registry-get-feature-list-by-plugin"/>
-    <keyword type="function" name="gst_registry_get_path_list ()" link="GstRegistry.html#gst-registry-get-path-list"/>
     <keyword type="function" name="gst_registry_get_plugin_list ()" link="GstRegistry.html#gst-registry-get-plugin-list"/>
     <keyword type="function" name="gst_registry_add_plugin ()" link="GstRegistry.html#gst-registry-add-plugin"/>
     <keyword type="function" name="gst_registry_remove_plugin ()" link="GstRegistry.html#gst-registry-remove-plugin"/>
@@ -1325,7 +1336,6 @@
     <keyword type="function" name="gst_registry_find_plugin ()" link="GstRegistry.html#gst-registry-find-plugin"/>
     <keyword type="function" name="gst_registry_find_feature ()" link="GstRegistry.html#gst-registry-find-feature"/>
     <keyword type="function" name="gst_registry_lookup_feature ()" link="GstRegistry.html#gst-registry-lookup-feature"/>
-    <keyword type="function" name="gst_registry_add_path ()" link="GstRegistry.html#gst-registry-add-path"/>
     <keyword type="function" name="gst_registry_scan_path ()" link="GstRegistry.html#gst-registry-scan-path"/>
     <keyword type="function" name="gst_registry_lookup ()" link="GstRegistry.html#gst-registry-lookup"/>
     <keyword type="function" name="gst_registry_remove_feature ()" link="GstRegistry.html#gst-registry-remove-feature"/>
@@ -1420,6 +1430,7 @@
     <keyword type="enum" name="enum GstTagFlag" link="gstreamer-GstTagList.html#GstTagFlag"/>
     <keyword type="function" name="GstTagForeachFunc ()" link="gstreamer-GstTagList.html#GstTagForeachFunc"/>
     <keyword type="function" name="GstTagMergeFunc ()" link="gstreamer-GstTagList.html#GstTagMergeFunc"/>
+    <keyword type="enum" name="enum GstTagScope" link="gstreamer-GstTagList.html#GstTagScope"/>
     <keyword type="macro" name="GST_TAG_TITLE" link="gstreamer-GstTagList.html#GST-TAG-TITLE:CAPS"/>
     <keyword type="macro" name="GST_TAG_TITLE_SORTNAME" link="gstreamer-GstTagList.html#GST-TAG-TITLE-SORTNAME:CAPS"/>
     <keyword type="macro" name="GST_TAG_ARTIST" link="gstreamer-GstTagList.html#GST-TAG-ARTIST:CAPS"/>
@@ -1515,6 +1526,8 @@
     <keyword type="function" name="gst_tag_list_new_valist ()" link="gstreamer-GstTagList.html#gst-tag-list-new-valist"/>
     <keyword type="function" name="gst_tag_list_new_from_string ()" link="gstreamer-GstTagList.html#gst-tag-list-new-from-string"/>
     <keyword type="macro" name="gst_tag_list_free()" link="gstreamer-GstTagList.html#gst-tag-list-free"/>
+    <keyword type="function" name="gst_tag_list_get_scope ()" link="gstreamer-GstTagList.html#gst-tag-list-get-scope"/>
+    <keyword type="function" name="gst_tag_list_set_scope ()" link="gstreamer-GstTagList.html#gst-tag-list-set-scope"/>
     <keyword type="function" name="gst_tag_list_to_string ()" link="gstreamer-GstTagList.html#gst-tag-list-to-string"/>
     <keyword type="function" name="gst_tag_list_is_empty ()" link="gstreamer-GstTagList.html#gst-tag-list-is-empty"/>
     <keyword type="function" name="gst_tag_list_is_equal ()" link="gstreamer-GstTagList.html#gst-tag-list-is-equal"/>
@@ -1731,8 +1744,6 @@
     <keyword type="function" name="GFLOAT_SWAP_LE_BE ()" link="gstreamer-GstUtils.html#GFLOAT-SWAP-LE-BE:CAPS"/>
     <keyword type="macro" name="GFLOAT_TO_BE()" link="gstreamer-GstUtils.html#GFLOAT-TO-BE:CAPS"/>
     <keyword type="macro" name="GFLOAT_TO_LE()" link="gstreamer-GstUtils.html#GFLOAT-TO-LE:CAPS"/>
-    <keyword type="function" name="gst_flow_get_name ()" link="gstreamer-GstUtils.html#gst-flow-get-name"/>
-    <keyword type="function" name="gst_flow_to_quark ()" link="gstreamer-GstUtils.html#gst-flow-to-quark"/>
     <keyword type="macro" name="gst_guint64_to_gdouble()" link="gstreamer-GstUtils.html#gst-guint64-to-gdouble"/>
     <keyword type="macro" name="gst_gdouble_to_guint64()" link="gstreamer-GstUtils.html#gst-gdouble-to-guint64"/>
     <keyword type="function" name="gst_util_dump_mem ()" link="gstreamer-GstUtils.html#gst-util-dump-mem"/>
@@ -1936,6 +1947,8 @@
     <keyword type="macro" name="GST_TIME_ARGS()" link="gstreamer-GstInfo.html#GST-TIME-ARGS:CAPS"/>
     <keyword type="function" name="gst_debug_bin_to_dot_file ()" link="gstreamer-GstInfo.html#gst-debug-bin-to-dot-file"/>
     <keyword type="function" name="gst_debug_bin_to_dot_file_with_ts ()" link="gstreamer-GstInfo.html#gst-debug-bin-to-dot-file-with-ts"/>
+    <keyword type="constant" name="GST_ALLOCATOR_FLAG_CUSTOM_ALLOC" link="GstAllocator.html#GST-ALLOCATOR-FLAG-CUSTOM-ALLOC:CAPS"/>
+    <keyword type="constant" name="GST_ALLOCATOR_FLAG_LAST" link="GstAllocator.html#GST-ALLOCATOR-FLAG-LAST:CAPS"/>
     <keyword type="constant" name="GST_BIN_FLAG_LAST" link="GstBin.html#GST-BIN-FLAG-LAST:CAPS"/>
     <keyword type="constant" name="GST_BUFFER_FLAG_LIVE" link="gstreamer-GstBuffer.html#GST-BUFFER-FLAG-LIVE:CAPS"/>
     <keyword type="constant" name="GST_BUFFER_FLAG_DECODE_ONLY" link="gstreamer-GstBuffer.html#GST-BUFFER-FLAG-DECODE-ONLY:CAPS"/>
@@ -2067,7 +2080,6 @@
     <keyword type="constant" name="GST_EVENT_FLUSH_STOP" link="gstreamer-GstEvent.html#GST-EVENT-FLUSH-STOP:CAPS"/>
     <keyword type="constant" name="GST_EVENT_STREAM_START" link="gstreamer-GstEvent.html#GST-EVENT-STREAM-START:CAPS"/>
     <keyword type="constant" name="GST_EVENT_CAPS" link="gstreamer-GstEvent.html#GST-EVENT-CAPS"/>
-    <keyword type="constant" name="GST_EVENT_STREAM_CONFIG" link="gstreamer-GstEvent.html#GST-EVENT-STREAM-CONFIG:CAPS"/>
     <keyword type="constant" name="GST_EVENT_SEGMENT" link="gstreamer-GstEvent.html#GST-EVENT-SEGMENT:CAPS"/>
     <keyword type="constant" name="GST_EVENT_TAG" link="gstreamer-GstEvent.html#GST-EVENT-TAG:CAPS"/>
     <keyword type="constant" name="GST_EVENT_BUFFERSIZE" link="gstreamer-GstEvent.html#GST-EVENT-BUFFERSIZE:CAPS"/>
@@ -2104,7 +2116,6 @@
     <keyword type="constant" name="GST_SEEK_FLAG_SNAP_BEFORE" link="gstreamer-GstEvent.html#GST-SEEK-FLAG-SNAP-BEFORE:CAPS"/>
     <keyword type="constant" name="GST_SEEK_FLAG_SNAP_AFTER" link="gstreamer-GstEvent.html#GST-SEEK-FLAG-SNAP-AFTER:CAPS"/>
     <keyword type="constant" name="GST_SEEK_FLAG_SNAP_NEAREST" link="gstreamer-GstEvent.html#GST-SEEK-FLAG-SNAP-NEAREST:CAPS"/>
-    <keyword type="constant" name="GST_STREAM_CONFIG_FLAG_NONE" link="gstreamer-GstEvent.html#GST-STREAM-CONFIG-FLAG-NONE:CAPS"/>
     <keyword type="constant" name="GST_FORMAT_UNDEFINED" link="gstreamer-GstFormat.html#GST-FORMAT-UNDEFINED:CAPS"/>
     <keyword type="constant" name="GST_FORMAT_DEFAULT" link="gstreamer-GstFormat.html#GST-FORMAT-DEFAULT:CAPS"/>
     <keyword type="constant" name="GST_FORMAT_BYTES" link="gstreamer-GstFormat.html#GST-FORMAT-BYTES:CAPS"/>
@@ -2145,7 +2156,7 @@
     <keyword type="constant" name="GST_MESSAGE_ELEMENT" link="gstreamer-GstMessage.html#GST-MESSAGE-ELEMENT:CAPS"/>
     <keyword type="constant" name="GST_MESSAGE_SEGMENT_START" link="gstreamer-GstMessage.html#GST-MESSAGE-SEGMENT-START:CAPS"/>
     <keyword type="constant" name="GST_MESSAGE_SEGMENT_DONE" link="gstreamer-GstMessage.html#GST-MESSAGE-SEGMENT-DONE:CAPS"/>
-    <keyword type="constant" name="GST_MESSAGE_DURATION" link="gstreamer-GstMessage.html#GST-MESSAGE-DURATION:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_DURATION_CHANGED" link="gstreamer-GstMessage.html#GST-MESSAGE-DURATION-CHANGED:CAPS"/>
     <keyword type="constant" name="GST_MESSAGE_LATENCY" link="gstreamer-GstMessage.html#GST-MESSAGE-LATENCY:CAPS"/>
     <keyword type="constant" name="GST_MESSAGE_ASYNC_START" link="gstreamer-GstMessage.html#GST-MESSAGE-ASYNC-START:CAPS"/>
     <keyword type="constant" name="GST_MESSAGE_ASYNC_DONE" link="gstreamer-GstMessage.html#GST-MESSAGE-ASYNC-DONE:CAPS"/>
@@ -2210,6 +2221,7 @@
     <keyword type="constant" name="GST_PAD_LINK_CHECK_HIERARCHY" link="GstPad.html#GST-PAD-LINK-CHECK-HIERARCHY:CAPS"/>
     <keyword type="constant" name="GST_PAD_LINK_CHECK_TEMPLATE_CAPS" link="GstPad.html#GST-PAD-LINK-CHECK-TEMPLATE-CAPS"/>
     <keyword type="constant" name="GST_PAD_LINK_CHECK_CAPS" link="GstPad.html#GST-PAD-LINK-CHECK-CAPS"/>
+    <keyword type="constant" name="GST_PAD_LINK_CHECK_DEFAULT" link="GstPad.html#GST-PAD-LINK-CHECK-DEFAULT:CAPS"/>
     <keyword type="constant" name="GST_FLOW_CUSTOM_SUCCESS_2" link="GstPad.html#GST-FLOW-CUSTOM-SUCCESS-2:CAPS"/>
     <keyword type="constant" name="GST_FLOW_CUSTOM_SUCCESS_1" link="GstPad.html#GST-FLOW-CUSTOM-SUCCESS-1:CAPS"/>
     <keyword type="constant" name="GST_FLOW_CUSTOM_SUCCESS" link="GstPad.html#GST-FLOW-CUSTOM-SUCCESS:CAPS"/>
@@ -2316,6 +2328,8 @@
     <keyword type="constant" name="GST_TAG_FLAG_ENCODED" link="gstreamer-GstTagList.html#GST-TAG-FLAG-ENCODED:CAPS"/>
     <keyword type="constant" name="GST_TAG_FLAG_DECODED" link="gstreamer-GstTagList.html#GST-TAG-FLAG-DECODED:CAPS"/>
     <keyword type="constant" name="GST_TAG_FLAG_COUNT" link="gstreamer-GstTagList.html#GST-TAG-FLAG-COUNT:CAPS"/>
+    <keyword type="constant" name="GST_TAG_SCOPE_STREAM" link="gstreamer-GstTagList.html#GST-TAG-SCOPE-STREAM:CAPS"/>
+    <keyword type="constant" name="GST_TAG_SCOPE_GLOBAL" link="gstreamer-GstTagList.html#GST-TAG-SCOPE-GLOBAL:CAPS"/>
     <keyword type="constant" name="GST_TASK_STARTED" link="GstTask.html#GST-TASK-STARTED:CAPS"/>
     <keyword type="constant" name="GST_TASK_STOPPED" link="GstTask.html#GST-TASK-STOPPED:CAPS"/>
     <keyword type="constant" name="GST_TASK_PAUSED" link="GstTask.html#GST-TASK-PAUSED:CAPS"/>
diff --git a/docs/gst/html/index.html b/docs/gst/html/index.html
index 01ec023..108faf1 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 (0.11.93)
+      for GStreamer Core 1.0 (0.11.94)
       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>
@@ -43,6 +43,9 @@
                     graphs.</span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="GstAllocator.html">GstAllocator</a></span><span class="refpurpose"> — allocate memory blocks</span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gstreamer-GstAtomicQueue.html">GstAtomicQueue</a></span><span class="refpurpose"> — An atomic queue implementation</span>
 </dt>
 <dt>
diff --git a/docs/gst/html/index.sgml b/docs/gst/html/index.sgml
index 4e494f2..105d340 100644
--- a/docs/gst/html/index.sgml
+++ b/docs/gst/html/index.sgml
@@ -17,6 +17,27 @@
 <ANCHOR id="gst-registry-fork-is-enabled" href="gstreamer-1.0/gstreamer-Gst.html#gst-registry-fork-is-enabled">
 <ANCHOR id="gst-registry-fork-set-enabled" href="gstreamer-1.0/gstreamer-Gst.html#gst-registry-fork-set-enabled">
 <ANCHOR id="gst-update-registry" href="gstreamer-1.0/gstreamer-Gst.html#gst-update-registry">
+<ANCHOR id="GstAllocator" href="gstreamer-1.0/GstAllocator.html">
+<ANCHOR id="GstAllocator.synopsis" href="gstreamer-1.0/GstAllocator.html#GstAllocator.synopsis">
+<ANCHOR id="GstAllocator.object-hierarchy" href="gstreamer-1.0/GstAllocator.html#GstAllocator.object-hierarchy">
+<ANCHOR id="GstAllocator.description" href="gstreamer-1.0/GstAllocator.html#GstAllocator.description">
+<ANCHOR id="GstAllocator.details" href="gstreamer-1.0/GstAllocator.html#GstAllocator.details">
+<ANCHOR id="GstAllocator-struct" href="gstreamer-1.0/GstAllocator.html#GstAllocator-struct">
+<ANCHOR id="GstAllocatorFlags" href="gstreamer-1.0/GstAllocator.html#GstAllocatorFlags">
+<ANCHOR id="GST-ALLOCATOR-FLAG-CUSTOM-ALLOC:CAPS" href="gstreamer-1.0/GstAllocator.html#GST-ALLOCATOR-FLAG-CUSTOM-ALLOC:CAPS">
+<ANCHOR id="GST-ALLOCATOR-FLAG-LAST:CAPS" href="gstreamer-1.0/GstAllocator.html#GST-ALLOCATOR-FLAG-LAST:CAPS">
+<ANCHOR id="GstAllocationParams" href="gstreamer-1.0/GstAllocator.html#GstAllocationParams">
+<ANCHOR id="GST-ALLOCATOR-SYSMEM:CAPS" href="gstreamer-1.0/GstAllocator.html#GST-ALLOCATOR-SYSMEM:CAPS">
+<ANCHOR id="gst-allocator-find" href="gstreamer-1.0/GstAllocator.html#gst-allocator-find">
+<ANCHOR id="gst-allocator-register" href="gstreamer-1.0/GstAllocator.html#gst-allocator-register">
+<ANCHOR id="gst-allocator-set-default" href="gstreamer-1.0/GstAllocator.html#gst-allocator-set-default">
+<ANCHOR id="gst-allocation-params-init" href="gstreamer-1.0/GstAllocator.html#gst-allocation-params-init">
+<ANCHOR id="gst-allocation-params-copy" href="gstreamer-1.0/GstAllocator.html#gst-allocation-params-copy">
+<ANCHOR id="gst-allocation-params-free" href="gstreamer-1.0/GstAllocator.html#gst-allocation-params-free">
+<ANCHOR id="gst-allocator-alloc" href="gstreamer-1.0/GstAllocator.html#gst-allocator-alloc">
+<ANCHOR id="gst-allocator-free" href="gstreamer-1.0/GstAllocator.html#gst-allocator-free">
+<ANCHOR id="gst-memory-new-wrapped" href="gstreamer-1.0/GstAllocator.html#gst-memory-new-wrapped">
+<ANCHOR id="GstAllocator.see-also" href="gstreamer-1.0/GstAllocator.html#GstAllocator.see-also">
 <ANCHOR id="gstreamer-GstAtomicQueue" href="gstreamer-1.0/gstreamer-GstAtomicQueue.html">
 <ANCHOR id="gstreamer-GstAtomicQueue.synopsis" href="gstreamer-1.0/gstreamer-GstAtomicQueue.html#gstreamer-GstAtomicQueue.synopsis">
 <ANCHOR id="gstreamer-GstAtomicQueue.description" href="gstreamer-1.0/gstreamer-GstAtomicQueue.html#gstreamer-GstAtomicQueue.description">
@@ -503,9 +524,11 @@
 <ANCHOR id="gst-date-time-get-second" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-get-second">
 <ANCHOR id="gst-date-time-get-year" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-get-year">
 <ANCHOR id="gst-date-time-new" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-new">
+<ANCHOR id="gst-date-time-new-ymd" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-new-ymd">
+<ANCHOR id="gst-date-time-new-ym" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-new-ym">
+<ANCHOR id="gst-date-time-new-y" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-new-y">
 <ANCHOR id="gst-date-time-new-from-unix-epoch-local-time" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-new-from-unix-epoch-local-time">
 <ANCHOR id="gst-date-time-new-from-unix-epoch-utc" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-new-from-unix-epoch-utc">
-<ANCHOR id="gst-date-time-new-ymd" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-new-ymd">
 <ANCHOR id="gst-date-time-new-local-time" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-new-local-time">
 <ANCHOR id="gst-date-time-new-now-local-time" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-new-now-local-time">
 <ANCHOR id="gst-date-time-new-now-utc" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-new-now-utc">
@@ -516,8 +539,6 @@
 <ANCHOR id="gst-date-time-has-second" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-has-second">
 <ANCHOR id="gst-date-time-has-time" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-has-time">
 <ANCHOR id="gst-date-time-has-year" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-has-year">
-<ANCHOR id="gst-date-time-new-y" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-new-y">
-<ANCHOR id="gst-date-time-new-ym" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-new-ym">
 <ANCHOR id="gst-date-time-new-from-iso8601-string" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-new-from-iso8601-string">
 <ANCHOR id="gst-date-time-to-iso8601-string" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-to-iso8601-string">
 <ANCHOR id="gst-date-time-new-from-g-date-time" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-new-from-g-date-time">
@@ -787,7 +808,6 @@
 <ANCHOR id="GST-EVENT-FLUSH-STOP:CAPS" href="gstreamer-1.0/gstreamer-GstEvent.html#GST-EVENT-FLUSH-STOP:CAPS">
 <ANCHOR id="GST-EVENT-STREAM-START:CAPS" href="gstreamer-1.0/gstreamer-GstEvent.html#GST-EVENT-STREAM-START:CAPS">
 <ANCHOR id="GST-EVENT-CAPS" href="gstreamer-1.0/gstreamer-GstEvent.html#GST-EVENT-CAPS">
-<ANCHOR id="GST-EVENT-STREAM-CONFIG:CAPS" href="gstreamer-1.0/gstreamer-GstEvent.html#GST-EVENT-STREAM-CONFIG:CAPS">
 <ANCHOR id="GST-EVENT-SEGMENT:CAPS" href="gstreamer-1.0/gstreamer-GstEvent.html#GST-EVENT-SEGMENT:CAPS">
 <ANCHOR id="GST-EVENT-TAG:CAPS" href="gstreamer-1.0/gstreamer-GstEvent.html#GST-EVENT-TAG:CAPS">
 <ANCHOR id="GST-EVENT-BUFFERSIZE:CAPS" href="gstreamer-1.0/gstreamer-GstEvent.html#GST-EVENT-BUFFERSIZE:CAPS">
@@ -881,15 +901,6 @@
 <ANCHOR id="gst-event-new-reconfigure" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-new-reconfigure">
 <ANCHOR id="gst-event-new-caps" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-new-caps">
 <ANCHOR id="gst-event-parse-caps" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-parse-caps">
-<ANCHOR id="GstStreamConfigFlags" href="gstreamer-1.0/gstreamer-GstEvent.html#GstStreamConfigFlags">
-<ANCHOR id="GST-STREAM-CONFIG-FLAG-NONE:CAPS" href="gstreamer-1.0/gstreamer-GstEvent.html#GST-STREAM-CONFIG-FLAG-NONE:CAPS">
-<ANCHOR id="gst-event-new-stream-config" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-new-stream-config">
-<ANCHOR id="gst-event-parse-stream-config" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-parse-stream-config">
-<ANCHOR id="gst-event-set-stream-config-setup-data" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-set-stream-config-setup-data">
-<ANCHOR id="gst-event-parse-stream-config-setup-data" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-parse-stream-config-setup-data">
-<ANCHOR id="gst-event-add-stream-config-header" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-add-stream-config-header">
-<ANCHOR id="gst-event-get-n-stream-config-headers" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-get-n-stream-config-headers">
-<ANCHOR id="gst-event-parse-nth-stream-config-header" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-parse-nth-stream-config-header">
 <ANCHOR id="gst-event-new-toc" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-new-toc">
 <ANCHOR id="gst-event-parse-toc" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-parse-toc">
 <ANCHOR id="gst-event-new-toc-select" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-new-toc-select">
@@ -1050,7 +1061,7 @@
 <ANCHOR id="GST-MESSAGE-ELEMENT:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-ELEMENT:CAPS">
 <ANCHOR id="GST-MESSAGE-SEGMENT-START:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-SEGMENT-START:CAPS">
 <ANCHOR id="GST-MESSAGE-SEGMENT-DONE:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-SEGMENT-DONE:CAPS">
-<ANCHOR id="GST-MESSAGE-DURATION:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-DURATION:CAPS">
+<ANCHOR id="GST-MESSAGE-DURATION-CHANGED:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-DURATION-CHANGED:CAPS">
 <ANCHOR id="GST-MESSAGE-LATENCY:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-LATENCY:CAPS">
 <ANCHOR id="GST-MESSAGE-ASYNC-START:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-ASYNC-START:CAPS">
 <ANCHOR id="GST-MESSAGE-ASYNC-DONE:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-ASYNC-DONE:CAPS">
@@ -1111,8 +1122,7 @@
 <ANCHOR id="gst-message-parse-segment-start" href="gstreamer-1.0/gstreamer-GstMessage.html#gst-message-parse-segment-start">
 <ANCHOR id="gst-message-new-segment-done" href="gstreamer-1.0/gstreamer-GstMessage.html#gst-message-new-segment-done">
 <ANCHOR id="gst-message-parse-segment-done" href="gstreamer-1.0/gstreamer-GstMessage.html#gst-message-parse-segment-done">
-<ANCHOR id="gst-message-new-duration" href="gstreamer-1.0/gstreamer-GstMessage.html#gst-message-new-duration">
-<ANCHOR id="gst-message-parse-duration" href="gstreamer-1.0/gstreamer-GstMessage.html#gst-message-parse-duration">
+<ANCHOR id="gst-message-new-duration-changed" href="gstreamer-1.0/gstreamer-GstMessage.html#gst-message-new-duration-changed">
 <ANCHOR id="gst-message-new-latency" href="gstreamer-1.0/gstreamer-GstMessage.html#gst-message-new-latency">
 <ANCHOR id="gst-message-new-async-start" href="gstreamer-1.0/gstreamer-GstMessage.html#gst-message-new-async-start">
 <ANCHOR id="gst-message-new-async-done" href="gstreamer-1.0/gstreamer-GstMessage.html#gst-message-new-async-done">
@@ -1129,6 +1139,7 @@
 <ANCHOR id="gst-message-parse-toc" href="gstreamer-1.0/gstreamer-GstMessage.html#gst-message-parse-toc">
 <ANCHOR id="gst-message-new-reset-time" href="gstreamer-1.0/gstreamer-GstMessage.html#gst-message-new-reset-time">
 <ANCHOR id="gst-message-parse-reset-time" href="gstreamer-1.0/gstreamer-GstMessage.html#gst-message-parse-reset-time">
+<ANCHOR id="gst-message-new-stream-start" href="gstreamer-1.0/gstreamer-GstMessage.html#gst-message-new-stream-start">
 <ANCHOR id="GstStructureChangeType" href="gstreamer-1.0/gstreamer-GstMessage.html#GstStructureChangeType">
 <ANCHOR id="GST-STRUCTURE-CHANGE-TYPE-PAD-LINK:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-STRUCTURE-CHANGE-TYPE-PAD-LINK:CAPS">
 <ANCHOR id="GST-STRUCTURE-CHANGE-TYPE-PAD-UNLINK:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-STRUCTURE-CHANGE-TYPE-PAD-UNLINK:CAPS">
@@ -1337,10 +1348,13 @@
 <ANCHOR id="GST-FLOW-CUSTOM-ERROR:CAPS" href="gstreamer-1.0/GstPad.html#GST-FLOW-CUSTOM-ERROR:CAPS">
 <ANCHOR id="GST-FLOW-CUSTOM-ERROR-1:CAPS" href="gstreamer-1.0/GstPad.html#GST-FLOW-CUSTOM-ERROR-1:CAPS">
 <ANCHOR id="GST-FLOW-CUSTOM-ERROR-2:CAPS" href="gstreamer-1.0/GstPad.html#GST-FLOW-CUSTOM-ERROR-2:CAPS">
+<ANCHOR id="gst-flow-get-name" href="gstreamer-1.0/GstPad.html#gst-flow-get-name">
+<ANCHOR id="gst-flow-to-quark" href="gstreamer-1.0/GstPad.html#gst-flow-to-quark">
 <ANCHOR id="GstPadMode" href="gstreamer-1.0/GstPad.html#GstPadMode">
 <ANCHOR id="GST-PAD-MODE-NONE:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-MODE-NONE:CAPS">
 <ANCHOR id="GST-PAD-MODE-PUSH:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-MODE-PUSH:CAPS">
 <ANCHOR id="GST-PAD-MODE-PULL:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-MODE-PULL:CAPS">
+<ANCHOR id="gst-pad-mode-get-name" href="gstreamer-1.0/GstPad.html#gst-pad-mode-get-name">
 <ANCHOR id="gst-pad-get-name" href="gstreamer-1.0/GstPad.html#gst-pad-get-name">
 <ANCHOR id="gst-pad-get-direction" href="gstreamer-1.0/GstPad.html#gst-pad-get-direction">
 <ANCHOR id="gst-pad-get-parent" href="gstreamer-1.0/GstPad.html#gst-pad-get-parent">
@@ -1436,6 +1450,7 @@
 <ANCHOR id="gst-pad-set-activatemode-function" href="gstreamer-1.0/GstPad.html#gst-pad-set-activatemode-function">
 <ANCHOR id="gst-pad-set-activatemode-function-full" href="gstreamer-1.0/GstPad.html#gst-pad-set-activatemode-function-full">
 <ANCHOR id="GstPadActivateModeFunction" href="gstreamer-1.0/GstPad.html#GstPadActivateModeFunction">
+<ANCHOR id="gst-pad-needs-reconfigure" href="gstreamer-1.0/GstPad.html#gst-pad-needs-reconfigure">
 <ANCHOR id="gst-pad-check-reconfigure" href="gstreamer-1.0/GstPad.html#gst-pad-check-reconfigure">
 <ANCHOR id="gst-pad-mark-reconfigure" href="gstreamer-1.0/GstPad.html#gst-pad-mark-reconfigure">
 <ANCHOR id="gst-pad-push" href="gstreamer-1.0/GstPad.html#gst-pad-push">
@@ -1469,6 +1484,8 @@
 <ANCHOR id="gst-pad-set-element-private" href="gstreamer-1.0/GstPad.html#gst-pad-set-element-private">
 <ANCHOR id="gst-pad-get-element-private" href="gstreamer-1.0/GstPad.html#gst-pad-get-element-private">
 <ANCHOR id="gst-pad-create-stream-id" href="gstreamer-1.0/GstPad.html#gst-pad-create-stream-id">
+<ANCHOR id="gst-pad-create-stream-id-printf" href="gstreamer-1.0/GstPad.html#gst-pad-create-stream-id-printf">
+<ANCHOR id="gst-pad-create-stream-id-printf-valist" href="gstreamer-1.0/GstPad.html#gst-pad-create-stream-id-printf-valist">
 <ANCHOR id="GstPadForwardFunction" href="gstreamer-1.0/GstPad.html#GstPadForwardFunction">
 <ANCHOR id="gst-pad-forward" href="gstreamer-1.0/GstPad.html#gst-pad-forward">
 <ANCHOR id="gst-pad-chain" href="gstreamer-1.0/GstPad.html#gst-pad-chain">
@@ -1821,6 +1838,7 @@
 <ANCHOR id="gst-query-get-n-scheduling-modes" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-get-n-scheduling-modes">
 <ANCHOR id="gst-query-parse-nth-scheduling-mode" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-parse-nth-scheduling-mode">
 <ANCHOR id="gst-query-has-scheduling-mode" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-has-scheduling-mode">
+<ANCHOR id="gst-query-has-scheduling-mode-with-flags" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-has-scheduling-mode-with-flags">
 <ANCHOR id="gst-query-new-drain" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-new-drain">
 <ANCHOR id="gstreamer-GstQuery.see-also" href="gstreamer-1.0/gstreamer-GstQuery.html#gstreamer-GstQuery.see-also">
 <ANCHOR id="GstRegistry" href="gstreamer-1.0/GstRegistry.html">
@@ -1834,7 +1852,6 @@
 <ANCHOR id="gst-registry-get-feature-list" href="gstreamer-1.0/GstRegistry.html#gst-registry-get-feature-list">
 <ANCHOR id="gst-registry-get-feature-list-cookie" href="gstreamer-1.0/GstRegistry.html#gst-registry-get-feature-list-cookie">
 <ANCHOR id="gst-registry-get-feature-list-by-plugin" href="gstreamer-1.0/GstRegistry.html#gst-registry-get-feature-list-by-plugin">
-<ANCHOR id="gst-registry-get-path-list" href="gstreamer-1.0/GstRegistry.html#gst-registry-get-path-list">
 <ANCHOR id="gst-registry-get-plugin-list" href="gstreamer-1.0/GstRegistry.html#gst-registry-get-plugin-list">
 <ANCHOR id="gst-registry-add-plugin" href="gstreamer-1.0/GstRegistry.html#gst-registry-add-plugin">
 <ANCHOR id="gst-registry-remove-plugin" href="gstreamer-1.0/GstRegistry.html#gst-registry-remove-plugin">
@@ -1843,7 +1860,6 @@
 <ANCHOR id="gst-registry-find-plugin" href="gstreamer-1.0/GstRegistry.html#gst-registry-find-plugin">
 <ANCHOR id="gst-registry-find-feature" href="gstreamer-1.0/GstRegistry.html#gst-registry-find-feature">
 <ANCHOR id="gst-registry-lookup-feature" href="gstreamer-1.0/GstRegistry.html#gst-registry-lookup-feature">
-<ANCHOR id="gst-registry-add-path" href="gstreamer-1.0/GstRegistry.html#gst-registry-add-path">
 <ANCHOR id="gst-registry-scan-path" href="gstreamer-1.0/GstRegistry.html#gst-registry-scan-path">
 <ANCHOR id="gst-registry-lookup" href="gstreamer-1.0/GstRegistry.html#gst-registry-lookup">
 <ANCHOR id="gst-registry-remove-feature" href="gstreamer-1.0/GstRegistry.html#gst-registry-remove-feature">
@@ -1981,6 +1997,9 @@
 <ANCHOR id="GST-TAG-FLAG-COUNT:CAPS" href="gstreamer-1.0/gstreamer-GstTagList.html#GST-TAG-FLAG-COUNT:CAPS">
 <ANCHOR id="GstTagForeachFunc" href="gstreamer-1.0/gstreamer-GstTagList.html#GstTagForeachFunc">
 <ANCHOR id="GstTagMergeFunc" href="gstreamer-1.0/gstreamer-GstTagList.html#GstTagMergeFunc">
+<ANCHOR id="GstTagScope" href="gstreamer-1.0/gstreamer-GstTagList.html#GstTagScope">
+<ANCHOR id="GST-TAG-SCOPE-STREAM:CAPS" href="gstreamer-1.0/gstreamer-GstTagList.html#GST-TAG-SCOPE-STREAM:CAPS">
+<ANCHOR id="GST-TAG-SCOPE-GLOBAL:CAPS" href="gstreamer-1.0/gstreamer-GstTagList.html#GST-TAG-SCOPE-GLOBAL:CAPS">
 <ANCHOR id="GST-TAG-TITLE:CAPS" href="gstreamer-1.0/gstreamer-GstTagList.html#GST-TAG-TITLE:CAPS">
 <ANCHOR id="GST-TAG-TITLE-SORTNAME:CAPS" href="gstreamer-1.0/gstreamer-GstTagList.html#GST-TAG-TITLE-SORTNAME:CAPS">
 <ANCHOR id="GST-TAG-ARTIST:CAPS" href="gstreamer-1.0/gstreamer-GstTagList.html#GST-TAG-ARTIST:CAPS">
@@ -2076,6 +2095,8 @@
 <ANCHOR id="gst-tag-list-new-valist" href="gstreamer-1.0/gstreamer-GstTagList.html#gst-tag-list-new-valist">
 <ANCHOR id="gst-tag-list-new-from-string" href="gstreamer-1.0/gstreamer-GstTagList.html#gst-tag-list-new-from-string">
 <ANCHOR id="gst-tag-list-free" href="gstreamer-1.0/gstreamer-GstTagList.html#gst-tag-list-free">
+<ANCHOR id="gst-tag-list-get-scope" href="gstreamer-1.0/gstreamer-GstTagList.html#gst-tag-list-get-scope">
+<ANCHOR id="gst-tag-list-set-scope" href="gstreamer-1.0/gstreamer-GstTagList.html#gst-tag-list-set-scope">
 <ANCHOR id="gst-tag-list-to-string" href="gstreamer-1.0/gstreamer-GstTagList.html#gst-tag-list-to-string">
 <ANCHOR id="gst-tag-list-is-empty" href="gstreamer-1.0/gstreamer-GstTagList.html#gst-tag-list-is-empty">
 <ANCHOR id="gst-tag-list-is-equal" href="gstreamer-1.0/gstreamer-GstTagList.html#gst-tag-list-is-equal">
@@ -2363,8 +2384,6 @@
 <ANCHOR id="GFLOAT-SWAP-LE-BE:CAPS" href="gstreamer-1.0/gstreamer-GstUtils.html#GFLOAT-SWAP-LE-BE:CAPS">
 <ANCHOR id="GFLOAT-TO-BE:CAPS" href="gstreamer-1.0/gstreamer-GstUtils.html#GFLOAT-TO-BE:CAPS">
 <ANCHOR id="GFLOAT-TO-LE:CAPS" href="gstreamer-1.0/gstreamer-GstUtils.html#GFLOAT-TO-LE:CAPS">
-<ANCHOR id="gst-flow-get-name" href="gstreamer-1.0/gstreamer-GstUtils.html#gst-flow-get-name">
-<ANCHOR id="gst-flow-to-quark" href="gstreamer-1.0/gstreamer-GstUtils.html#gst-flow-to-quark">
 <ANCHOR id="gst-guint64-to-gdouble" href="gstreamer-1.0/gstreamer-GstUtils.html#gst-guint64-to-gdouble">
 <ANCHOR id="gst-gdouble-to-guint64" href="gstreamer-1.0/gstreamer-GstUtils.html#gst-gdouble-to-guint64">
 <ANCHOR id="gst-util-dump-mem" href="gstreamer-1.0/gstreamer-GstUtils.html#gst-util-dump-mem">
diff --git a/docs/gst/html/libgstreamer.html b/docs/gst/html/libgstreamer.html
index a10b468..79587dc 100644
--- a/docs/gst/html/libgstreamer.html
+++ b/docs/gst/html/libgstreamer.html
@@ -28,6 +28,9 @@
                     graphs.</span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="GstAllocator.html">GstAllocator</a></span><span class="refpurpose"> — allocate memory blocks</span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gstreamer-GstAtomicQueue.html">GstAtomicQueue</a></span><span class="refpurpose"> — An atomic queue implementation</span>
 </dt>
 <dt>
diff --git a/docs/libs/Makefile.in b/docs/libs/Makefile.in
index 4d65adb..be9c543 100644
--- a/docs/libs/Makefile.in
+++ b/docs/libs/Makefile.in
@@ -916,8 +916,7 @@
 	            $(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE).devhelp2 \
 	            $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; \
 	  fi; \
-	  (which gtkdoc-rebase >/dev/null && \
-	    gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR)) || true ; \
+	  $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) || true ; \
 	fi)
 uninstall-local:
 	if test -d $(DESTDIR)$(TARGET_DIR); then \
diff --git a/docs/libs/gstreamer-libs-sections.txt b/docs/libs/gstreamer-libs-sections.txt
index 73b1408..3a0694e 100644
--- a/docs/libs/gstreamer-libs-sections.txt
+++ b/docs/libs/gstreamer-libs-sections.txt
@@ -209,6 +209,8 @@
 gst_base_src_set_dynamic_size
 gst_base_src_new_seamless_segment
 gst_base_src_set_caps
+gst_base_src_get_allocator
+gst_base_src_get_buffer_pool
 
 GST_BASE_SRC_PAD
 <SUBSECTION Standard>
@@ -299,6 +301,8 @@
 gst_base_transform_set_gap_aware
 gst_base_transform_suggest
 gst_base_transform_reconfigure
+gst_base_transform_get_allocator
+gst_base_transform_get_buffer_pool
 
 GST_BASE_TRANSFORM_SINK_NAME
 GST_BASE_TRANSFORM_SRC_NAME
@@ -641,7 +645,6 @@
 gst_collect_pads_new
 
 gst_collect_pads_add_pad
-gst_collect_pads_add_pad_full
 gst_collect_pads_remove_pad
 
 gst_collect_pads_start
diff --git a/docs/libs/html/GstBaseSink.html b/docs/libs/html/GstBaseSink.html
index 4f49306..69d2451 100644
--- a/docs/libs/html/GstBaseSink.html
+++ b/docs/libs/html/GstBaseSink.html
@@ -171,8 +171,8 @@
 
   /* notify subclass of event */
   gboolean      (*event)        (GstBaseSink *sink, GstEvent *event);
-  /* wait for eos, subclasses should chain up to parent first */
-  GstFlowReturn (*wait_eos)     (GstBaseSink *sink, GstEvent *event);
+  /* wait for eos or gap, subclasses should chain up to parent first */
+  GstFlowReturn (*wait_event)   (GstBaseSink *sink, GstEvent *event);
 
   /* notify subclass of buffer or list before doing sync */
   GstFlowReturn (*prepare)      (GstBaseSink *sink, GstBuffer *buffer);
@@ -254,9 +254,10 @@
 <td>Override this to handle events arriving on the sink pad</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="structfield"><code><a name="GstBaseSinkClass.wait-eos"></a>wait_eos</code></em> ()</span></p></td>
-<td>Override this to implement custom logic to wait for the EOS time.
-subclasses should always first chain up to the default implementation.</td>
+<td><p><span class="term"><em class="structfield"><code><a name="GstBaseSinkClass.wait-event"></a>wait_event</code></em> ()</span></p></td>
+<td>Override this to implement custom logic to wait for the event
+time (for events like EOS and GAP). Subclasses should always first
+chain up to the default implementation.</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="structfield"><code><a name="GstBaseSinkClass.prepare"></a>prepare</code></em> ()</span></p></td>
diff --git a/docs/libs/html/GstBaseSrc.html b/docs/libs/html/GstBaseSrc.html
index 518525a..7605363 100644
--- a/docs/libs/html/GstBaseSrc.html
+++ b/docs/libs/html/GstBaseSrc.html
@@ -71,6 +71,10 @@
                                                          <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>);
+<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>);
 #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>
@@ -236,7 +240,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp6539136"></a><h3>Controlled shutdown of live sources in applications</h3>
+<a name="idp6662640"></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
@@ -835,6 +839,63 @@
 </div>
 <hr>
 <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>
+<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>.
+</p>
+<p>
+Unref the <em class="parameter"><code>allocator</code></em> after use it.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
+<td>a <a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a>
+</td>
+</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>
+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>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
+<td>the
+<span class="type">GstAllocatorParams</span> of <em class="parameter"><code>allocator</code></em>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
+<td>a <a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a>
+</td>
+</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
+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>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
 <a name="GST-BASE-SRC-PAD:CAPS"></a><h3>GST_BASE_SRC_PAD()</h3>
 <pre class="programlisting">#define GST_BASE_SRC_PAD(obj)                 (GST_BASE_SRC_CAST (obj)-&gt;srcpad)
 </pre>
diff --git a/docs/libs/html/GstBaseTransform.html b/docs/libs/html/GstBaseTransform.html
index d91487a..85f1fa2 100644
--- a/docs/libs/html/GstBaseTransform.html
+++ b/docs/libs/html/GstBaseTransform.html
@@ -61,6 +61,10 @@
                                                          <em class="parameter"><code><a href="../gstreamer-1.0/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>);
 #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)
@@ -111,7 +115,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp8304832"></a><h3>Use Cases</h3>
+<a name="idp8694336"></a><h3>Use Cases</h3>
 <p>
 </p>
 <div class="orderedlist"><ol class="orderedlist" type="1">
@@ -141,7 +145,7 @@
 <p class="title"><b>Example elements</b></p>
 <ul class="itemizedlist" type="disc">
 <li class="listitem">Level</li>
-<li class="listitem">Videoscale, audioconvert, ffmpegcolorspace, audioresample in
+<li class="listitem">Videoscale, audioconvert, videoconvert, audioresample in
     certain modes.</li>
 </ul>
 </div>
@@ -177,7 +181,7 @@
 <li class="listitem">Volume</li>
 <li class="listitem">Audioconvert in certain modes (signed/unsigned
     conversion)</li>
-<li class="listitem">ffmpegcolorspace in certain modes (endianness
+<li class="listitem">videoconvert in certain modes (endianness
     swapping)</li>
 </ul>
 </div>
@@ -224,7 +228,7 @@
 </div>
 <div class="itemizedlist">
 <p class="title"><b>Example elements</b></p>
-<ul class="itemizedlist" type="disc"><li class="listitem">Videoscale, ffmpegcolorspace, audioconvert when doing
+<ul class="itemizedlist" type="disc"><li class="listitem">Videoscale, videoconvert, audioconvert when doing
     scaling/conversions</li></ul>
 </div>
 </li>
@@ -251,7 +255,7 @@
 </p>
 <hr>
 <div class="refsect2">
-<a name="idp6194080"></a><h3>Sub-class settable flags on GstBaseTransform</h3>
+<a name="idp5510448"></a><h3>Sub-class settable flags on GstBaseTransform</h3>
 <p>
 </p>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -778,6 +782,63 @@
 </div>
 <hr>
 <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>
+<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>.
+</p>
+<p>
+Unref the <em class="parameter"><code>allocator</code></em> after use it.
+</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>allocator</code></em> :</span></p></td>
+<td>the <a href="../gstreamer-1.0/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>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
+<td>the
+<span class="type">GstAllocatorParams</span> of <em class="parameter"><code>allocator</code></em>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<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>
+<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"><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
+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>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
 <a name="GST-BASE-TRANSFORM-SINK-NAME:CAPS"></a><h3>GST_BASE_TRANSFORM_SINK_NAME</h3>
 <pre class="programlisting">#define GST_BASE_TRANSFORM_SINK_NAME "sink"
 </pre>
diff --git a/docs/libs/html/GstCollectPads.html b/docs/libs/html/GstCollectPads.html
index 6c52e82..78979cd 100644
--- a/docs/libs/html/GstCollectPads.html
+++ b/docs/libs/html/GstCollectPads.html
@@ -80,9 +80,6 @@
 <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://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</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-full" title="gst_collect_pads_add_pad_full ()">gst_collect_pads_add_pad_full</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://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>);
@@ -223,7 +220,7 @@
 <a name="GstCollectData"></a><h3>struct GstCollectData</h3>
 <pre class="programlisting">struct GstCollectData {
   /* with STREAM_LOCK of @collect */
-  GstCollectPads       *collect;
+  GstCollectPads        *collect;
   GstPad                *pad;
   GstBuffer             *buffer;
   guint                  pos;
@@ -699,57 +696,6 @@
 <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://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>);</pre>
-<p>
-Add a pad to the collection of collect pads. The pad has to be
-a sinkpad. The refcount of the pad is incremented. Use
-<a class="link" href="GstCollectPads.html#gst-collect-pads-remove-pad" title="gst_collect_pads_remove_pad ()"><code class="function">gst_collect_pads_remove_pad()</code></a> to remove the pad from the collection
-again.
-</p>
-<p>
-You specify a size for the returned <a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> structure
-so that you can use it to store additional information.
-</p>
-<p>
-The pad will be automatically activated in push mode when <em class="parameter"><code>pads</code></em> is
-started.
-</p>
-<p>
-This function calls <a class="link" href="GstCollectPads.html#gst-collect-pads-add-pad-full" title="gst_collect_pads_add_pad_full ()"><code class="function">gst_collect_pads_add_pad_full()</code></a> passing a value of NULL
-for destroy_notify and TRUE for locked.
-</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>pads</code></em> :</span></p></td>
-<td>the collectspads to use</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
-<td>the pad to add. <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>
-<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
-<td>the size of the returned <a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> structure</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new <a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> to identify the new pad. Or NULL
-if wrong parameters are supplied.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-collect-pads-add-pad-full"></a><h3>gst_collect_pads_add_pad_full ()</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_full       (<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://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>
diff --git a/docs/libs/html/api-index-full.html b/docs/libs/html/api-index-full.html
index a215b0a..d565efb 100644
--- a/docs/libs/html/api-index-full.html
+++ b/docs/libs/html/api-index-full.html
@@ -486,10 +486,18 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="GstBaseSrc.html#gst-base-src-get-allocator" title="gst_base_src_get_allocator ()">gst_base_src_get_allocator</a>, function in <a class="link" href="GstBaseSrc.html" title="GstBaseSrc">GstBaseSrc</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="GstBaseSrc.html#gst-base-src-get-blocksize" title="gst_base_src_get_blocksize ()">gst_base_src_get_blocksize</a>, function in <a class="link" href="GstBaseSrc.html" title="GstBaseSrc">GstBaseSrc</a>
 </dt>
 <dd></dd>
 <dt>
+<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>, function in <a class="link" href="GstBaseSrc.html" title="GstBaseSrc">GstBaseSrc</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="GstBaseSrc.html#gst-base-src-get-do-timestamp" title="gst_base_src_get_do_timestamp ()">gst_base_src_get_do_timestamp</a>, function in <a class="link" href="GstBaseSrc.html" title="GstBaseSrc">GstBaseSrc</a>
 </dt>
 <dd></dd>
@@ -542,6 +550,14 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="GstBaseTransform.html#gst-base-transform-get-allocator" title="gst_base_transform_get_allocator ()">gst_base_transform_get_allocator</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-get-buffer-pool" title="gst_base_transform_get_buffer_pool ()">gst_base_transform_get_buffer_pool</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-is-in-place" title="gst_base_transform_is_in_place ()">gst_base_transform_is_in_place</a>, function in <a class="link" href="GstBaseTransform.html" title="GstBaseTransform">GstBaseTransform</a>
 </dt>
 <dd></dd>
@@ -1579,10 +1595,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstCollectPads.html#gst-collect-pads-add-pad-full" title="gst_collect_pads_add_pad_full ()">gst_collect_pads_add_pad_full</a>, function in <a class="link" href="GstCollectPads.html" title="GstCollectPads">GstCollectPads</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="GstCollectPads.html#gst-collect-pads-available" title="gst_collect_pads_available ()">gst_collect_pads_available</a>, function in <a class="link" href="GstCollectPads.html" title="GstCollectPads">GstCollectPads</a>
 </dt>
 <dd></dd>
diff --git a/docs/libs/html/gstreamer-libs.devhelp2 b/docs/libs/html/gstreamer-libs.devhelp2
index cae1b46..13b1002 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#idp6539136"/>
+    <keyword type="" name="Controlled shutdown of live sources in applications" link="GstBaseSrc.html#idp6662640"/>
     <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"/>
@@ -80,6 +80,8 @@
     <keyword type="function" name="gst_base_src_set_dynamic_size ()" link="GstBaseSrc.html#gst-base-src-set-dynamic-size"/>
     <keyword type="function" name="gst_base_src_new_seamless_segment ()" link="GstBaseSrc.html#gst-base-src-new-seamless-segment"/>
     <keyword type="function" name="gst_base_src_set_caps ()" link="GstBaseSrc.html#gst-base-src-set-caps"/>
+    <keyword type="function" name="gst_base_src_get_allocator ()" link="GstBaseSrc.html#gst-base-src-get-allocator"/>
+    <keyword type="function" name="gst_base_src_get_buffer_pool ()" link="GstBaseSrc.html#gst-base-src-get-buffer-pool"/>
     <keyword type="macro" name="GST_BASE_SRC_PAD()" link="GstBaseSrc.html#GST-BASE-SRC-PAD:CAPS"/>
     <keyword type="property" name="The &quot;blocksize&quot; property" link="GstBaseSrc.html#GstBaseSrc--blocksize"/>
     <keyword type="property" name="The &quot;do-timestamp&quot; property" link="GstBaseSrc.html#GstBaseSrc--do-timestamp"/>
@@ -128,8 +130,8 @@
     <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#idp8304832"/>
-    <keyword type="" name="Sub-class settable flags on GstBaseTransform" link="GstBaseTransform.html#idp6194080"/>
+    <keyword type="" name="Use Cases" link="GstBaseTransform.html#idp8694336"/>
+    <keyword type="" name="Sub-class settable flags on GstBaseTransform" link="GstBaseTransform.html#idp5510448"/>
     <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"/>
@@ -140,6 +142,8 @@
     <keyword type="function" name="gst_base_transform_set_qos_enabled ()" link="GstBaseTransform.html#gst-base-transform-set-qos-enabled"/>
     <keyword type="function" name="gst_base_transform_update_qos ()" link="GstBaseTransform.html#gst-base-transform-update-qos"/>
     <keyword type="function" name="gst_base_transform_set_gap_aware ()" link="GstBaseTransform.html#gst-base-transform-set-gap-aware"/>
+    <keyword type="function" name="gst_base_transform_get_allocator ()" link="GstBaseTransform.html#gst-base-transform-get-allocator"/>
+    <keyword type="function" name="gst_base_transform_get_buffer_pool ()" link="GstBaseTransform.html#gst-base-transform-get-buffer-pool"/>
     <keyword type="macro" name="GST_BASE_TRANSFORM_SINK_NAME" link="GstBaseTransform.html#GST-BASE-TRANSFORM-SINK-NAME:CAPS"/>
     <keyword type="macro" name="GST_BASE_TRANSFORM_SRC_NAME" link="GstBaseTransform.html#GST-BASE-TRANSFORM-SRC-NAME:CAPS"/>
     <keyword type="macro" name="GST_BASE_TRANSFORM_SINK_PAD()" link="GstBaseTransform.html#GST-BASE-TRANSFORM-SINK-PAD:CAPS"/>
@@ -399,7 +403,6 @@
     <keyword type="macro" name="GST_COLLECT_PADS_STREAM_UNLOCK()" link="GstCollectPads.html#GST-COLLECT-PADS-STREAM-UNLOCK:CAPS"/>
     <keyword type="function" name="gst_collect_pads_new ()" link="GstCollectPads.html#gst-collect-pads-new"/>
     <keyword type="function" name="gst_collect_pads_add_pad ()" link="GstCollectPads.html#gst-collect-pads-add-pad"/>
-    <keyword type="function" name="gst_collect_pads_add_pad_full ()" link="GstCollectPads.html#gst-collect-pads-add-pad-full"/>
     <keyword type="function" name="gst_collect_pads_remove_pad ()" link="GstCollectPads.html#gst-collect-pads-remove-pad"/>
     <keyword type="function" name="gst_collect_pads_start ()" link="GstCollectPads.html#gst-collect-pads-start"/>
     <keyword type="function" name="gst_collect_pads_stop ()" link="GstCollectPads.html#gst-collect-pads-stop"/>
diff --git a/docs/libs/html/index.html b/docs/libs/html/index.html
index a5a8116..34b62b6 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 (0.11.93)
+      for GStreamer Library 1.0 (0.11.94)
       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>
diff --git a/docs/libs/html/index.sgml b/docs/libs/html/index.sgml
index 941bdb6..021eceb 100644
--- a/docs/libs/html/index.sgml
+++ b/docs/libs/html/index.sgml
@@ -59,6 +59,8 @@
 <ANCHOR id="gst-base-src-set-dynamic-size" href="gstreamer-libs-1.0/GstBaseSrc.html#gst-base-src-set-dynamic-size">
 <ANCHOR id="gst-base-src-new-seamless-segment" href="gstreamer-libs-1.0/GstBaseSrc.html#gst-base-src-new-seamless-segment">
 <ANCHOR id="gst-base-src-set-caps" href="gstreamer-libs-1.0/GstBaseSrc.html#gst-base-src-set-caps">
+<ANCHOR id="gst-base-src-get-allocator" href="gstreamer-libs-1.0/GstBaseSrc.html#gst-base-src-get-allocator">
+<ANCHOR id="gst-base-src-get-buffer-pool" href="gstreamer-libs-1.0/GstBaseSrc.html#gst-base-src-get-buffer-pool">
 <ANCHOR id="GST-BASE-SRC-PAD:CAPS" href="gstreamer-libs-1.0/GstBaseSrc.html#GST-BASE-SRC-PAD:CAPS">
 <ANCHOR id="GstBaseSrc.property-details" href="gstreamer-libs-1.0/GstBaseSrc.html#GstBaseSrc.property-details">
 <ANCHOR id="GstBaseSrc--blocksize" href="gstreamer-libs-1.0/GstBaseSrc.html#GstBaseSrc--blocksize">
@@ -132,6 +134,8 @@
 <ANCHOR id="gst-base-transform-set-qos-enabled" href="gstreamer-libs-1.0/GstBaseTransform.html#gst-base-transform-set-qos-enabled">
 <ANCHOR id="gst-base-transform-update-qos" href="gstreamer-libs-1.0/GstBaseTransform.html#gst-base-transform-update-qos">
 <ANCHOR id="gst-base-transform-set-gap-aware" href="gstreamer-libs-1.0/GstBaseTransform.html#gst-base-transform-set-gap-aware">
+<ANCHOR id="gst-base-transform-get-allocator" href="gstreamer-libs-1.0/GstBaseTransform.html#gst-base-transform-get-allocator">
+<ANCHOR id="gst-base-transform-get-buffer-pool" href="gstreamer-libs-1.0/GstBaseTransform.html#gst-base-transform-get-buffer-pool">
 <ANCHOR id="GST-BASE-TRANSFORM-SINK-NAME:CAPS" href="gstreamer-libs-1.0/GstBaseTransform.html#GST-BASE-TRANSFORM-SINK-NAME:CAPS">
 <ANCHOR id="GST-BASE-TRANSFORM-SRC-NAME:CAPS" href="gstreamer-libs-1.0/GstBaseTransform.html#GST-BASE-TRANSFORM-SRC-NAME:CAPS">
 <ANCHOR id="GST-BASE-TRANSFORM-SINK-PAD:CAPS" href="gstreamer-libs-1.0/GstBaseTransform.html#GST-BASE-TRANSFORM-SINK-PAD:CAPS">
@@ -426,7 +430,6 @@
 <ANCHOR id="GST-COLLECT-PADS-STREAM-UNLOCK:CAPS" href="gstreamer-libs-1.0/GstCollectPads.html#GST-COLLECT-PADS-STREAM-UNLOCK:CAPS">
 <ANCHOR id="gst-collect-pads-new" href="gstreamer-libs-1.0/GstCollectPads.html#gst-collect-pads-new">
 <ANCHOR id="gst-collect-pads-add-pad" href="gstreamer-libs-1.0/GstCollectPads.html#gst-collect-pads-add-pad">
-<ANCHOR id="gst-collect-pads-add-pad-full" href="gstreamer-libs-1.0/GstCollectPads.html#gst-collect-pads-add-pad-full">
 <ANCHOR id="gst-collect-pads-remove-pad" href="gstreamer-libs-1.0/GstCollectPads.html#gst-collect-pads-remove-pad">
 <ANCHOR id="gst-collect-pads-start" href="gstreamer-libs-1.0/GstCollectPads.html#gst-collect-pads-start">
 <ANCHOR id="gst-collect-pads-stop" href="gstreamer-libs-1.0/GstCollectPads.html#gst-collect-pads-stop">
diff --git a/docs/manual/advanced-dataaccess.xml b/docs/manual/advanced-dataaccess.xml
index 3781a36..be56564 100644
--- a/docs/manual/advanced-dataaccess.xml
+++ b/docs/manual/advanced-dataaccess.xml
@@ -98,9 +98,9 @@
   filter = gst_element_factory_make ("capsfilter", "filter");
   g_assert (filter != NULL); /* should always exist */
 
-  csp = gst_element_factory_make ("ffmpegcolorspace", "csp");
+  csp = gst_element_factory_make ("videoconvert", "csp");
   if (csp == NULL)
-    g_error ("Could not create 'ffmpegcolorspace' element");
+    g_error ("Could not create 'videoconvert' element");
 
   sink = gst_element_factory_make ("xvimagesink", "sink");
   if (sink == NULL) {
@@ -111,13 +111,11 @@
 
   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-rgb",
+  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,
-			   "bpp", G_TYPE_INT, 16,
-			   "depth", G_TYPE_INT, 16,
-			   "endianness", G_TYPE_INT, G_BYTE_ORDER,
 			   NULL);
   g_object_set (G_OBJECT (filter), "caps", filtercaps, NULL);
   gst_caps_unref (filtercaps);
@@ -313,18 +311,16 @@
   pipeline = gst_pipeline_new ("pipeline");
   fakesrc = gst_element_factory_make ("fakesrc", "source");
   flt = gst_element_factory_make ("capsfilter", "flt");
-  conv = gst_element_factory_make ("ffmpegcolorspace", "conv");
+  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-rgb",
+  		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,
-				     "bpp", G_TYPE_INT, 16,
-				     "depth", G_TYPE_INT, 16,
-				     "endianness", G_TYPE_INT, G_BYTE_ORDER,
 				     NULL), NULL);
   gst_bin_add_many (GST_BIN (pipeline), fakesrc, flt, conv, videosink, NULL);
   gst_element_link_many (fakesrc, flt, conv, videosink, NULL);
diff --git a/docs/manual/appendix-checklist.xml b/docs/manual/appendix-checklist.xml
index af9a239..f6e0143 100644
--- a/docs/manual/appendix-checklist.xml
+++ b/docs/manual/appendix-checklist.xml
@@ -132,7 +132,7 @@
     <para>
       &GStreamer; contains a bunch of conversion plugins that most
       applications will find useful. Specifically, those are videoscalers
-      (videoscale), colorspace convertors (ffmpegcolorspace), audio format
+      (videoscale), colorspace convertors (videoconvert), audio format
       convertors and channel resamplers (audioconvert) and audio samplerate
       convertors (audioresample). Those convertors don't do anything when not
       required, they will act in passthrough mode. They will activate when
@@ -155,7 +155,7 @@
         <command>gst-launch</command> is a simple script-like commandline
         application that can be used to test pipelines. For example, the
         command <command>gst-launch audiotestsrc ! audioconvert ! 
-        audio/x-raw-int,channels=2 ! alsasink</command> will run
+        audio/x-raw,channels=2 ! alsasink</command> will run
         a pipeline which generates a sine-wave audio stream and plays it
         to your ALSA audio card. <command>gst-launch</command> also allows
         the use of threads (will be used automatically as required or as queue
@@ -165,7 +165,7 @@
         or even omit the padname to automatically select a pad. Using
         all this, the pipeline
         <command>gst-launch filesrc location=file.ogg ! oggdemux name=d
-         d. ! queue ! theoradec ! ffmpegcolorspace ! xvimagesink
+         d. ! queue ! theoradec ! videoconvert ! xvimagesink
          d. ! queue ! vorbisdec ! audioconvert ! audioresample ! alsasink
         </command> will play an Ogg file
         containing a Theora video-stream and a Vorbis audio-stream. You can
diff --git a/docs/manual/appendix-programs.xml b/docs/manual/appendix-programs.xml
index 7e84a75..ca8eb11 100644
--- a/docs/manual/appendix-programs.xml
+++ b/docs/manual/appendix-programs.xml
@@ -21,7 +21,7 @@
     <screen>
 gst-launch filesrc location=redpill.vob ! dvddemux name=demux \
  demux.audio_00 ! queue ! a52dec ! audioconvert ! audioresample ! osssink \
- demux.video_00 ! queue ! mpeg2dec ! ffmpegcolorspace ! xvimagesink
+ demux.video_00 ! queue ! mpeg2dec ! videoconvert ! xvimagesink
     </screen>
 
     </para>
diff --git a/docs/manual/basics-pads.xml b/docs/manual/basics-pads.xml
index a56ee00..96459b7 100644
--- a/docs/manual/basics-pads.xml
+++ b/docs/manual/basics-pads.xml
@@ -245,23 +245,22 @@
         <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,
-	<quote>audio/x-raw-float</quote>).  The source pad will also
+	<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
         for now.
       </para>
       <programlisting>
+
 Pad Templates:
   SRC template: 'src'
     Availability: Always
     Capabilities:
-      audio/x-raw-float
-                   rate: [ 8000, 50000 ]
-               channels: [ 1, 2 ]
-             endianness: 1234
-                  width: 32
-          buffer-frames: 0
- 
+      audio/x-raw
+                 format: F32LE
+                   rate: [ 1, 2147483647 ]
+               channels: [ 1, 256 ]
+
   SINK template: 'sink'
     Availability: Always
     Capabilities:
@@ -435,7 +434,7 @@
           You can do caps filtering by inserting a capsfilter element into
           your pipeline and setting its <quote>caps</quote> property. Caps
           filters are often placed after converter elements like audioconvert,
-          audioresample, ffmpegcolorspace or videoscale to force those
+          audioresample, videoconvert or videoscale to force those
           converters to convert data to a specific output format at a
           certain point in a stream.
         </para>
@@ -528,8 +527,8 @@
   gboolean link_ok;
   GstCaps *caps;
 
-  caps = gst_caps_new_simple ("video/x-raw-yuv",
-  	      "format", GST_TYPE_FOURCC, GST_MAKE_FOURCC ('I', '4', '2', '0'),
+  caps = gst_caps_new_simple ("video/x-raw",
+  	      "format", G_TYPE_STRING, "I420",
 	      "width", G_TYPE_INT, 384,
 	      "height", G_TYPE_INT, 288,
 	      "framerate", GST_TYPE_FRACTION, 25, 1,
@@ -569,12 +568,12 @@
   GstCaps *caps;
                                                                                 
   caps = gst_caps_new_full (
-      gst_structure_new ("video/x-raw-yuv",
+      gst_structure_new ("video/x-raw",
 			 "width", G_TYPE_INT, 384,
 			 "height", G_TYPE_INT, 288,
 			 "framerate", GST_TYPE_FRACTION, 25, 1,
 			 NULL),
-      gst_structure_new ("video/x-raw-rgb",
+      gst_structure_new ("video/x-bayer",
 			 "width", G_TYPE_INT, 384,
 			 "height", G_TYPE_INT, 288,
 			 "framerate", GST_TYPE_FRACTION, 25, 1,
diff --git a/docs/plugins/Makefile.in b/docs/plugins/Makefile.in
index 5d60f4d..b00400d 100644
--- a/docs/plugins/Makefile.in
+++ b/docs/plugins/Makefile.in
@@ -1038,8 +1038,7 @@
 	            $(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE).devhelp2 \
 	            $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; \
 	  fi; \
-	  (which gtkdoc-rebase >/dev/null && \
-	    gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR)) || true ; \
+	  $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) || true ; \
 	fi)
 uninstall-local:
 	if test -d $(DESTDIR)$(TARGET_DIR); then \
diff --git a/docs/plugins/gstreamer-plugins.args b/docs/plugins/gstreamer-plugins.args
index 6c8b21a..be3f662 100644
--- a/docs/plugins/gstreamer-plugins.args
+++ b/docs/plugins/gstreamer-plugins.args
@@ -952,9 +952,9 @@
 <NAME>GstQueue2::temp-location</NAME>
 <TYPE>gchar*</TYPE>
 <RANGE></RANGE>
-<FLAGS>rw</FLAGS>
+<FLAGS>r</FLAGS>
 <NICK>Temporary File Location</NICK>
-<BLURB>Location to store temporary files in (Deprecated: Only read this property, use temp-template to configure the name template).</BLURB>
+<BLURB>Location to store temporary files in (Only read this property, use temp-template to configure the name template).</BLURB>
 <DEFAULT>NULL</DEFAULT>
 </ARG>
 
diff --git a/docs/plugins/gstreamer-plugins.hierarchy b/docs/plugins/gstreamer-plugins.hierarchy
index a180590..8e83253 100644
--- a/docs/plugins/gstreamer-plugins.hierarchy
+++ b/docs/plugins/gstreamer-plugins.hierarchy
@@ -1,6 +1,8 @@
 GObject
   GInitiallyUnowned
     GstObject
+      GstAllocator
+        GstDefaultAllocator
       GstBus
       GstClock
       GstControlBinding
diff --git a/docs/plugins/html/ch01.html b/docs/plugins/html/ch01.html
index bf8b32c..1cfa880 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="idp2939968"></a>gstreamer Elements</h2></div></div></div>
+<a name="idp3451888"></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 bac70cc..28d7eb9 100644
--- a/docs/plugins/html/ch02.html
+++ b/docs/plugins/html/ch02.html
@@ -21,9 +21,9 @@
 </tr></table>
 <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="idp282304"></a>gstreamer Plugins</h2></div></div></div>
+<a name="idp481824"></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>standard GStreamer elements</span>
+<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>
 <span style="color: red">&lt;xi:include&gt;&lt;/xi:include&gt;</span>
 </div>
diff --git a/docs/plugins/html/gstreamer-plugins-capsfilter.html b/docs/plugins/html/gstreamer-plugins-capsfilter.html
index b1767e8..ddf0c08 100644
--- a/docs/plugins/html/gstreamer-plugins-capsfilter.html
+++ b/docs/plugins/html/gstreamer-plugins-capsfilter.html
@@ -70,13 +70,13 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp8444528"></a><h3>Example launch line</h3>
+<a name="idp8663920"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <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">gst<span class="gtkdoc opt">-</span>launch videotestsrc <span class="gtkdoc opt">!</span> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">-</span>gray <span class="gtkdoc opt">!</span> ffmpegcolorspace <span class="gtkdoc opt">!</span> autovideosink</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch videotestsrc <span class="gtkdoc opt">!</span> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">,</span>format<span class="gtkdoc opt">=</span>GRAY8 <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> autovideosink</pre></td>
       </tr>
     </tbody>
   </table>
@@ -88,7 +88,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp7503952"></a><h3>Element Information</h3>
+<a name="idp8859408"></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="idp81264"></a><h3>Element Pads</h3>
+<a name="idp80752"></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-fakesink.html b/docs/plugins/html/gstreamer-plugins-fakesink.html
index 454cbb5..4dfc9ea 100644
--- a/docs/plugins/html/gstreamer-plugins-fakesink.html
+++ b/docs/plugins/html/gstreamer-plugins-fakesink.html
@@ -86,7 +86,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp6365968"></a><h3>Example launch line</h3>
+<a name="idp9613984"></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="idp10164512"></a><h3>Element Information</h3>
+<a name="idp9616592"></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="idp10172048"></a><h3>Element Pads</h3>
+<a name="idp10462960"></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-fakesrc.html b/docs/plugins/html/gstreamer-plugins-fakesrc.html
index 9083b56..dbb8d45 100644
--- a/docs/plugins/html/gstreamer-plugins-fakesrc.html
+++ b/docs/plugins/html/gstreamer-plugins-fakesrc.html
@@ -102,7 +102,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp9613184"></a><h3>Example launch line</h3>
+<a name="idp8641040"></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="idp9616368"></a><h3>Element Information</h3>
+<a name="idp6003120"></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="idp9623776"></a><h3>Element Pads</h3>
+<a name="idp6010528"></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-fdsink.html b/docs/plugins/html/gstreamer-plugins-fdsink.html
index ce70f3c..53a0c1a 100644
--- a/docs/plugins/html/gstreamer-plugins-fdsink.html
+++ b/docs/plugins/html/gstreamer-plugins-fdsink.html
@@ -85,7 +85,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp7949392"></a><h3>Element Information</h3>
+<a name="idp6444464"></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="idp9532496"></a><h3>Element Pads</h3>
+<a name="idp8851232"></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 87d3151..580d58d 100644
--- a/docs/plugins/html/gstreamer-plugins-fdsrc.html
+++ b/docs/plugins/html/gstreamer-plugins-fdsrc.html
@@ -97,7 +97,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp10131984"></a><h3>Example launch line</h3>
+<a name="idp8209888"></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="idp10135088"></a><h3>Element Information</h3>
+<a name="idp8213040"></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="idp10306288"></a><h3>Element Pads</h3>
+<a name="idp10592896"></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 07b2875..e1c469d 100644
--- a/docs/plugins/html/gstreamer-plugins-filesink.html
+++ b/docs/plugins/html/gstreamer-plugins-filesink.html
@@ -80,7 +80,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp6556784"></a><h3>Example launch line</h3>
+<a name="idp4979392"></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="idp6559344"></a><h3>Element Information</h3>
+<a name="idp4981952"></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="idp6566752"></a><h3>Element Pads</h3>
+<a name="idp4989360"></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 4cf1571..d7bb750 100644
--- a/docs/plugins/html/gstreamer-plugins-filesrc.html
+++ b/docs/plugins/html/gstreamer-plugins-filesrc.html
@@ -82,7 +82,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp9009152"></a><h3>Example launch line</h3>
+<a name="idp6544976"></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="idp9011760"></a><h3>Element Information</h3>
+<a name="idp6547584"></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="idp10528064"></a><h3>Element Pads</h3>
+<a name="idp10697200"></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 649586d..d9b9968 100644
--- a/docs/plugins/html/gstreamer-plugins-funnel.html
+++ b/docs/plugins/html/gstreamer-plugins-funnel.html
@@ -68,7 +68,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp8107120"></a><h3>Element Information</h3>
+<a name="idp8587440"></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="idp6236656"></a><h3>Element Pads</h3>
+<a name="idp7255920"></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 e670800..0ca06d7 100644
--- a/docs/plugins/html/gstreamer-plugins-identity.html
+++ b/docs/plugins/html/gstreamer-plugins-identity.html
@@ -90,7 +90,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp10684224"></a><h3>Element Information</h3>
+<a name="idp10949136"></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="idp10691680"></a><h3>Element Pads</h3>
+<a name="idp10956592"></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-input-selector.html b/docs/plugins/html/gstreamer-plugins-input-selector.html
index a2a6710..8e6f656 100644
--- a/docs/plugins/html/gstreamer-plugins-input-selector.html
+++ b/docs/plugins/html/gstreamer-plugins-input-selector.html
@@ -105,7 +105,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11010592"></a><h3>Element Information</h3>
+<a name="idp11257328"></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="idp11018128"></a><h3>Element Pads</h3>
+<a name="idp11263840"></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-multiqueue.html b/docs/plugins/html/gstreamer-plugins-multiqueue.html
index f3cfa8d..6a7d1e2 100644
--- a/docs/plugins/html/gstreamer-plugins-multiqueue.html
+++ b/docs/plugins/html/gstreamer-plugins-multiqueue.html
@@ -83,7 +83,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp10353504"></a><p>
+<a name="idp6856912"></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>
@@ -173,7 +173,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11141504"></a><h3>Element Information</h3>
+<a name="idp11375504"></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="idp11148960"></a><h3>Element Pads</h3>
+<a name="idp11382960"></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 8822b6c..764182f 100644
--- a/docs/plugins/html/gstreamer-plugins-output-selector.html
+++ b/docs/plugins/html/gstreamer-plugins-output-selector.html
@@ -70,7 +70,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp8727536"></a><h3>Element Information</h3>
+<a name="idp8294176"></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="idp10868576"></a><h3>Element Pads</h3>
+<a name="idp8930624"></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-plugin-coreelements.html b/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
index 1aeddb6..49f453f 100644
--- a/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
+++ b/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
@@ -23,12 +23,12 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle">coreelements</span></h2>
-<p>coreelements — <a name="plugin-coreelements"></a>standard GStreamer elements</p>
+<p>coreelements — <a name="plugin-coreelements"></a> GStreamer core elements</p>
 </td>
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp9857792"></a><h2>Plugin Information</h2>
+<a name="idp5155904"></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.92</td>
+<td>0.11.94</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="idp7434400"></a><h2>Elements</h2>
+<a name="idp8720624"></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 892b551..eceb8b1 100644
--- a/docs/plugins/html/gstreamer-plugins-queue.html
+++ b/docs/plugins/html/gstreamer-plugins-queue.html
@@ -122,7 +122,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp5812192"></a><h3>Element Information</h3>
+<a name="idp11519312"></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="idp5819648"></a><h3>Element Pads</h3>
+<a name="idp11526768"></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 86735e9..82b7659 100644
--- a/docs/plugins/html/gstreamer-plugins-queue2.html
+++ b/docs/plugins/html/gstreamer-plugins-queue2.html
@@ -65,7 +65,7 @@
   "<a class="link" href="gstreamer-plugins-queue2.html#GstQueue2--max-size-buffers" title='The "max-size-buffers" property'>max-size-buffers</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-queue2.html#GstQueue2--max-size-bytes" title='The "max-size-bytes" property'>max-size-bytes</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-queue2.html#GstQueue2--max-size-time" title='The "max-size-time" property'>max-size-time</a>"            <span class="type">guint64</span>               : Read / Write
-  "<a class="link" href="gstreamer-plugins-queue2.html#GstQueue2--temp-location" title='The "temp-location" property'>temp-location</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="gstreamer-plugins-queue2.html#GstQueue2--temp-location" title='The "temp-location" property'>temp-location</a>"            <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read
   "<a class="link" href="gstreamer-plugins-queue2.html#GstQueue2--temp-template" title='The "temp-template" property'>temp-template</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="gstreamer-plugins-queue2.html#GstQueue2--use-buffering" title='The "use-buffering" property'>use-buffering</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-queue2.html#GstQueue2--use-rate-estimate" title='The "use-rate-estimate" property'>use-rate-estimate</a>"        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
@@ -110,7 +110,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11916944"></a><h3>Element Information</h3>
+<a name="idp11854096"></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="idp11924352"></a><h3>Element Pads</h3>
+<a name="idp11861504"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -252,8 +252,8 @@
 <hr>
 <div class="refsect2">
 <a name="GstQueue2--temp-location"></a><h3>The <code class="literal">"temp-location"</code> property</h3>
-<pre class="programlisting">  "temp-location"            <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write</pre>
-<p>Location to store temporary files in (Deprecated: Only read this property, use temp-template to configure the name template).</p>
+<pre class="programlisting">  "temp-location"            <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read</pre>
+<p>Location to store temporary files in (Only read this property, use temp-template to configure the name template).</p>
 <p>Default value: NULL</p>
 </div>
 <hr>
diff --git a/docs/plugins/html/gstreamer-plugins-tee.html b/docs/plugins/html/gstreamer-plugins-tee.html
index 738f865..77ff8c1 100644
--- a/docs/plugins/html/gstreamer-plugins-tee.html
+++ b/docs/plugins/html/gstreamer-plugins-tee.html
@@ -83,13 +83,13 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp8955360"></a><h3>Example launch line</h3>
+<a name="idp9279296"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <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">gst<span class="gtkdoc opt">-</span>launch filesrc location<span class="gtkdoc opt">=</span>song<span class="gtkdoc opt">.</span>ogg <span class="gtkdoc opt">!</span> decodebin2 <span class="gtkdoc opt">!</span> tee name<span class="gtkdoc opt">=</span>t <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> autoaudiosink t<span class="gtkdoc opt">. !</span> queue <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> goom <span class="gtkdoc opt">!</span> ffmpegcolorspace <span class="gtkdoc opt">!</span> autovideosink</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch filesrc location<span class="gtkdoc opt">=</span>song<span class="gtkdoc opt">.</span>ogg <span class="gtkdoc opt">!</span> decodebin2 <span class="gtkdoc opt">!</span> tee name<span class="gtkdoc opt">=</span>t <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> autoaudiosink t<span class="gtkdoc opt">. !</span> queue <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> goom <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> autovideosink</pre></td>
       </tr>
     </tbody>
   </table>
@@ -102,7 +102,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp8958080"></a><h3>Element Information</h3>
+<a name="idp9282016"></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="idp5756432"></a><h3>Element Pads</h3>
+<a name="idp10008752"></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-typefind.html b/docs/plugins/html/gstreamer-plugins-typefind.html
index 868ea5e..c6e9019 100644
--- a/docs/plugins/html/gstreamer-plugins-typefind.html
+++ b/docs/plugins/html/gstreamer-plugins-typefind.html
@@ -90,7 +90,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp10821296"></a><h3>Element Information</h3>
+<a name="idp11127408"></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="idp10828704"></a><h3>Element Pads</h3>
+<a name="idp11134816"></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-valve.html b/docs/plugins/html/gstreamer-plugins-valve.html
index d6f4b69..1ca1a1d 100644
--- a/docs/plugins/html/gstreamer-plugins-valve.html
+++ b/docs/plugins/html/gstreamer-plugins-valve.html
@@ -81,7 +81,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp8474768"></a><h3>Element Information</h3>
+<a name="idm21680"></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="idp11699792"></a><h3>Element Pads</h3>
+<a name="idp11678096"></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 1c411ef..ce57065 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#idp8444528"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-capsfilter.html#idp7503952"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-capsfilter.html#idp81264"/>
+    <keyword type="" name="Example launch line" link="gstreamer-plugins-capsfilter.html#idp8663920"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-capsfilter.html#idp8859408"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-capsfilter.html#idp80752"/>
     <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#idp9613184"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-fakesrc.html#idp9616368"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-fakesrc.html#idp9623776"/>
+    <keyword type="" name="Example launch line" link="gstreamer-plugins-fakesrc.html#idp8641040"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-fakesrc.html#idp6003120"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-fakesrc.html#idp6010528"/>
     <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#idp6365968"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-fakesink.html#idp10164512"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-fakesink.html#idp10172048"/>
+    <keyword type="" name="Example launch line" link="gstreamer-plugins-fakesink.html#idp9613984"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-fakesink.html#idp9616592"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-fakesink.html#idp10462960"/>
     <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#idp7949392"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-fdsink.html#idp9532496"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-fdsink.html#idp6444464"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-fdsink.html#idp8851232"/>
     <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#idp10131984"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-fdsrc.html#idp10135088"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-fdsrc.html#idp10306288"/>
+    <keyword type="" name="Example launch line" link="gstreamer-plugins-fdsrc.html#idp8209888"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-fdsrc.html#idp8213040"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-fdsrc.html#idp10592896"/>
     <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#idp9009152"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-filesrc.html#idp9011760"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-filesrc.html#idp10528064"/>
+    <keyword type="" name="Example launch line" link="gstreamer-plugins-filesrc.html#idp6544976"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-filesrc.html#idp6547584"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-filesrc.html#idp10697200"/>
     <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#idp6556784"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-filesink.html#idp6559344"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-filesink.html#idp6566752"/>
+    <keyword type="" name="Example launch line" link="gstreamer-plugins-filesink.html#idp4979392"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-filesink.html#idp4981952"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-filesink.html#idp4989360"/>
     <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#idp8107120"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-funnel.html#idp6236656"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-funnel.html#idp8587440"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-funnel.html#idp7255920"/>
     <keyword type="struct" name="struct GstFunnel" link="gstreamer-plugins-funnel.html#GstFunnel-struct"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-identity.html#idp10684224"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-identity.html#idp10691680"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-identity.html#idp10949136"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-identity.html#idp10956592"/>
     <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#idp11010592"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-input-selector.html#idp11018128"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-input-selector.html#idp11257328"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-input-selector.html#idp11263840"/>
     <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#idp10353504"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-multiqueue.html#idp11141504"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-multiqueue.html#idp11148960"/>
+    <keyword type="" name="" link="gstreamer-plugins-multiqueue.html#idp6856912"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-multiqueue.html#idp11375504"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-multiqueue.html#idp11382960"/>
     <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#idp8727536"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-output-selector.html#idp10868576"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-output-selector.html#idp8294176"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-output-selector.html#idp8930624"/>
     <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#idp5812192"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-queue.html#idp5819648"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-queue.html#idp11519312"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-queue.html#idp11526768"/>
     <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#idp11916944"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-queue2.html#idp11924352"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-queue2.html#idp11854096"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-queue2.html#idp11861504"/>
     <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#idp8955360"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-tee.html#idp8958080"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-tee.html#idp5756432"/>
+    <keyword type="" name="Example launch line" link="gstreamer-plugins-tee.html#idp9279296"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-tee.html#idp9282016"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-tee.html#idp10008752"/>
     <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#idp10821296"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-typefind.html#idp10828704"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-typefind.html#idp11127408"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-typefind.html#idp11134816"/>
     <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#idp8474768"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-valve.html#idp11699792"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-valve.html#idm21680"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-valve.html#idp11678096"/>
     <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 ce76cd4..6f7a2d3 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 (0.11.93)
+      for GStreamer Core Plugins 1.0 (0.11.94)
       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>
@@ -79,7 +79,7 @@
 </dl></dd>
 <dt><span class="chapter"><a href="ch02.html">gstreamer Plugins</a></span></dt>
 <dd><dl><dt>
-<span class="refentrytitle"><a href="gstreamer-plugins-plugin-coreelements.html">coreelements</a></span><span class="refpurpose"> — <a name="plugin-coreelements"></a>standard GStreamer elements</span>
+<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></dd>
 </dl></div>
 </div>
diff --git a/docs/plugins/inspect/plugin-coreelements.xml b/docs/plugins/inspect/plugin-coreelements.xml
index 5795411..3ce8b0d 100644
--- a/docs/plugins/inspect/plugin-coreelements.xml
+++ b/docs/plugins/inspect/plugin-coreelements.xml
@@ -1,9 +1,9 @@
 <plugin>
   <name>coreelements</name>
-  <description>standard GStreamer elements</description>
+  <description> GStreamer core elements</description>
   <filename>../../plugins/elements/.libs/libgstcoreelements.so</filename>
   <basename>libgstcoreelements.so</basename>
-  <version>0.11.92</version>
+  <version>0.11.94</version>
   <license>LGPL</license>
   <source>gstreamer</source>
   <package>GStreamer source release</package>
diff --git a/docs/pwg/advanced-negotiation.xml b/docs/pwg/advanced-negotiation.xml
index 8a4e90f..1bae8b2 100644
--- a/docs/pwg/advanced-negotiation.xml
+++ b/docs/pwg/advanced-negotiation.xml
@@ -97,9 +97,8 @@
     </para>
     <programlisting>
 [..]
-  caps = gst_caps_new_simple ("audio/x-raw-float",
-      "width", G_TYPE_INT, 32,
-      "endianness", G_TYPE_INT, G_BYTE_ORDER,
+  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);
diff --git a/docs/pwg/advanced-types.xml b/docs/pwg/advanced-types.xml
index 810ce7a..a5b25b5 100644
--- a/docs/pwg/advanced-types.xml
+++ b/docs/pwg/advanced-types.xml
@@ -259,76 +259,18 @@
           <!-- ############ type ############# -->
 
           <row>
-            <entry morerows="3">audio/x-raw-int</entry>
-            <entry morerows="3">
-              Unstructured and uncompressed raw fixed-integer audio data.
-            </entry>
-            <entry>endianness</entry>
-            <entry>integer</entry>
-            <entry>G_BIG_ENDIAN (4321) or G_LITTLE_ENDIAN (1234)</entry>
+            <entry>audio/x-raw</entry>
             <entry>
-              The order of bytes in a sample. The value G_LITTLE_ENDIAN (1234)
-              means <quote>little-endian</quote> (byte-order is <quote>least
-              significant byte first</quote>). The value G_BIG_ENDIAN (4321)
-              means <quote>big-endian</quote> (byte order is <quote>most
-              significant byte first</quote>).
+              Unstructured and uncompressed raw audio data.
             </entry>
-          </row>
-          <row>
-            <entry>signed</entry>
-            <entry>boolean</entry>
-            <entry>TRUE or FALSE</entry>
+            <entry>format</entry>
+            <entry>string</entry>
             <entry>
-              Whether the values of the integer samples are signed or not.
-              Signed samples use one bit to indicate sign (negative or
-              positive) of the value. Unsigned samples are always positive.
+              S8 U8 S16LE S16BE U16LE U16BE S24_32LE S24_32BE U24_32LE U24_32BE S32LE S32BE U32LE U32BE
+              S24LE S24BE U24LE U24BE S20LE S20BE U20LE U20BE S18LE S18BE U18LE U18BE F32LE F32BE F64LE F64BE
             </entry>
-          </row>
-          <row>
-            <entry>width</entry>
-            <entry>integer</entry>
-            <entry>greater than 0</entry>
             <entry>
-              Number of bits allocated per sample.
-            </entry>
-          </row>
-          <row>
-            <entry>depth</entry>
-            <entry>integer</entry>
-            <entry>greater than 0</entry>
-            <entry>
-              The number of bits used per sample. This must be less than or
-              equal to the width: If the depth is less than the width, the
-              low bits are assumed to be the ones used. For example, a width
-              of 32 and a depth of 24 means that each sample is stored in a
-              32 bit word, but only the low 24 bits are actually used.
-            </entry>
-          </row>
-
-          <!-- ############ type ############# -->
-
-          <row>
-            <entry morerows="1">audio/x-raw-float</entry>
-            <entry>
-              Unstructured and uncompressed raw floating-point audio data.
-            </entry>
-            <entry>endianness</entry>
-            <entry>integer</entry>
-            <entry>G_BIG_ENDIAN (4321) or G_LITTLE_ENDIAN (1234)</entry>
-            <entry>
-              The order of bytes in a sample. The value G_LITTLE_ENDIAN (1234)
-              means <quote>little-endian</quote> (byte-order is <quote>least
-              significant byte first</quote>). The value G_BIG_ENDIAN (4321)
-              means <quote>big-endian</quote> (byte order is <quote>most
-              significant byte first</quote>).
-            </entry>
-          </row>
-          <row>
-            <entry>width</entry>
-            <entry>integer</entry>
-            <entry>greater than 0</entry>
-            <entry>
-              The amount of bits used and allocated per sample.
+              The format of the sample data.
             </entry>
           </row>
 
@@ -753,13 +695,15 @@
           <!-- ############ type ############# -->
 
           <row>
-            <entry>video/x-raw-yuv</entry>
-            <entry>YUV (or Y'Cb'Cr) video format.</entry>
+            <entry>video/x-raw</entry>
+            <entry>Unstructured and uncompressed raw video data.</entry>
             <entry>format</entry>
-            <entry>fourcc</entry>
+            <entry>string</entry>
             <entry>
-              YUY2, YVYU, UYVY, Y41P, IYU2, Y42B, YV12, I420, Y41B, YUV9, YVU9,
-              Y800
+              I420 YV12 YUY2 UYVY AYUV RGBx BGRx xRGB xBGR RGBA BGRA ARGB ABGR RGB BGR Y41B Y42B
+              YVYU Y444 v210 v216 NV12 NV21 GRAY8 GRAY16_BE GRAY16_LE
+              v308 RGB16 BGR16 RGB15 BGR15 UYVP A420 RGB8P YUV9 YVU9
+              IYU1 ARGB64 AYUV64 r210 I420_10LE I420_10BE I422_10LE I422_10BE
             </entry>
             <entry>
               The layout of the video. See <ulink type="http"
@@ -772,54 +716,6 @@
             </entry>
           </row>
 
-          <row>
-            <entry morerows="3">video/x-raw-rgb</entry>
-            <entry morerows="3">Red-Green-Blue (RGB) video.</entry>
-            <entry>bpp</entry>
-            <entry>integer</entry>
-            <entry>greater than 0</entry>
-            <entry>
-              The number of bits allocated per pixel. This is usually 16, 24
-              or 32.
-            </entry>
-          </row>
-
-          <row>
-            <entry>depth</entry>
-            <entry>integer</entry>
-            <entry>greater than 0</entry>
-            <entry>
-              The number of bits used per pixel by the R/G/B components. This
-              is usually 15, 16 or 24.
-            </entry>
-          </row>
-
-          <row>
-            <entry>endianness</entry>
-            <entry>integer</entry>
-            <entry>G_BIG_ENDIAN (4321) or G_LITTLE_ENDIAN (1234)</entry>
-            <entry>
-              The order of bytes in a sample. The value G_LITTLE_ENDIAN (1234)
-              means <quote>little-endian</quote> (byte-order is <quote>least
-              significant byte first</quote>). The value G_BIG_ENDIAN (4321)
-              means <quote>big-endian</quote> (byte order is <quote>most
-              significant byte first</quote>). For 24/32bpp, this should always
-              be big endian because the byte order can be given in both.
-            </entry>
-          </row>
-
-          <row>
-            <entry>red_mask, green_mask and blue_mask</entry>
-            <entry>integer</entry>
-            <entry>any</entry>
-            <entry>
-              The masks that cover all the bits used by each of the samples.
-              The mask should be given in the endianness specified above. This
-              means that for 24/32bpp, the masks might be opposite to host byte
-              order (if you are working on little-endian computers).
-            </entry>
-          </row>
-
           <!-- ############ subtitle ############# -->
 
           <row>
diff --git a/docs/pwg/building-boiler.xml b/docs/pwg/building-boiler.xml
index 537723f..3476005 100644
--- a/docs/pwg/building-boiler.xml
+++ b/docs/pwg/building-boiler.xml
@@ -374,10 +374,8 @@
   GST_PAD_SINK,
   GST_PAD_ALWAYS,
   GST_STATIC_CAPS (
-    "audio/x-raw-int, "
-      "width = (int) 16, "
-      "depth = (int) 16, "
-      "endianness = (int) BYTE_ORDER, "
+    "audio/x-raw, "
+      "format = (string) " GST_AUDIO_NE (S16) ", "
       "channels = (int) { 1, 2 }, "
       "rate = (int) [ 8000, 96000 ]"
   )
diff --git a/docs/pwg/building-pads.xml b/docs/pwg/building-pads.xml
index 81f9df8..06b3273 100644
--- a/docs/pwg/building-pads.xml
+++ b/docs/pwg/building-pads.xml
@@ -145,9 +145,9 @@
    * 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-int") != 0) {
+  if (strcmp (mime, "audio/x-raw") != 0) {
     GST_WARNING ("Wrong mimetype %s provided, we only support %s",
-		 mime, "audio/x-raw-int");
+		 mime, "audio/x-raw");
     return FALSE;
   }
 
diff --git a/docs/pwg/intro-basics.xml b/docs/pwg/intro-basics.xml
index c52eee6..9b05369 100644
--- a/docs/pwg/intro-basics.xml
+++ b/docs/pwg/intro-basics.xml
@@ -322,49 +322,18 @@
           <!-- ############ type ############# -->
 
           <row>
-            <entry morerows="3">audio/x-raw-int</entry>
-            <entry morerows="3">
+            <entry>audio/x-raw</entry>
+            <entry>
               Unstructured and uncompressed raw integer audio data.
             </entry>
-            <entry>endianness</entry>
-            <entry>integer</entry>
-            <entry>G_BIG_ENDIAN (4321) or G_LITTLE_ENDIAN (1234)</entry>
+            <entry>format</entry>
+            <entry>string</entry>
             <entry>
-              The order of bytes in a sample. The value G_LITTLE_ENDIAN (1234)
-              means <quote>little-endian</quote> (byte-order is <quote>least
-              significant byte first</quote>). The value G_BIG_ENDIAN (4321)
-              means <quote>big-endian</quote> (byte order is <quote>most
-              significant byte first</quote>).
+              S8 U8 S16LE S16BE U16LE U16BE S24_32LE S24_32BE U24_32LE U24_32BE S32LE S32BE U32LE U32BE
+              S24LE S24BE U24LE U24BE S20LE S20BE U20LE U20BE S18LE S18BE U18LE U18BE F32LE F32BE F64LE F64BE
             </entry>
-          </row>
-          <row>
-            <entry>signed</entry>
-            <entry>boolean</entry>
-            <entry>TRUE or FALSE</entry>
             <entry>
-              Whether the values of the integer samples are signed or not.
-              Signed samples use one bit to indicate sign (negative or
-              positive) of the value. Unsigned samples are always positive.
-            </entry>
-          </row>
-          <row>
-            <entry>width</entry>
-            <entry>integer</entry>
-            <entry>greater than 0</entry>
-            <entry>
-              Number of bits allocated per sample.
-            </entry>
-          </row>
-          <row>
-            <entry>depth</entry>
-            <entry>integer</entry>
-            <entry>greater than 0</entry>
-            <entry>
-              The number of bits used per sample. This must be less than or
-              equal to the width: If the depth is less than the width, the
-              low bits are assumed to be the ones used. For example, a width
-              of 32 and a depth of 24 means that each sample is stored in a
-              32 bit word, but only the low 24 bits are actually used.
+              The format of the sample data.
             </entry>
           </row>
 
diff --git a/docs/pwg/other-ntoone.xml b/docs/pwg/other-ntoone.xml
index 5cb1f35..2196b4e 100644
--- a/docs/pwg/other-ntoone.xml
+++ b/docs/pwg/other-ntoone.xml
@@ -80,7 +80,7 @@
      * stream structure (strh/strf). */
     [..]
     return GST_PAD_LINK_OK;
-  } else if !strcmp (str, "audio/x-raw-int")) {
+  } else if !strcmp (str, "audio/x-raw")) {
     /* See above, but now with the raw audio tag (0x0001). */
     [..]
     return GST_PAD_LINK_OK;
@@ -122,7 +122,7 @@
 			NULL);
             break;
           case 0x0001: /* pcm */
-            caps = gst_caps_new_simple ("audio/x-raw-int",
+            caps = gst_caps_new_simple ("audio/x-raw",
 					[..]);
             break;
           [..]
diff --git a/gst-element-check.m4 b/gst-element-check.m4
new file mode 100644
index 0000000..9ad421f
--- /dev/null
+++ b/gst-element-check.m4
@@ -0,0 +1,33 @@
+dnl Perform a check for a GStreamer element using gst-inspect-x.y
+dnl
+dnl GST_ELEMENT_CHECK(ELEMENT-NAME, MIN-VERSION, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND)
+dnl
+dnl ELEMENT-NAME        : element factory name (mandatory)
+dnl MIN-VERSION         : minimum version required, e.g. 1.0 or 1.0.5 (mandatory)
+dnl ACTION-IF_FOUND     : action if element exists and is of the desired version
+dnl ACTION-IF-NOT-FOUND : action if element does not exist or is too old
+dnl
+dnl gstapiversion=`echo $2 | tr '.' '\n' | head -n 2 | tr '\n' '.' | sed 's/\.$//'`
+
+AC_DEFUN([GST_ELEMENT_CHECK],
+[
+  AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+
+  gstapiversion=`echo "$2" | while IFS=. read a b; do echo "$a.0"; done`
+  gsttoolsdir=`$PKG_CONFIG --variable=toolsdir gstreamer-$gstapiversion`
+  if test "x$gsttoolsdir" != "x"; then
+    gstinspect="$gsttoolsdir/gst-inspect-$gstapiversion"
+    AC_MSG_CHECKING(GStreamer $gstapiversion element $1 >= $2)
+    if [ $gstinspect --exists --atleast-version=$2 $1 ]; then
+      AC_MSG_RESULT([found])
+      $3
+    else
+      if [ $gstinspect --exists $1 ]; then
+        AC_MSG_RESULT([found, but too old])
+      else
+        AC_MSG_RESULT([not found])
+      fi
+      $4
+    fi
+  fi
+])
diff --git a/gst-element-check.m4.in b/gst-element-check.m4.in
deleted file mode 100644
index e144490..0000000
--- a/gst-element-check.m4.in
+++ /dev/null
@@ -1,23 +0,0 @@
-dnl Perform a check for a GStreamer element using gst-inspect
-dnl Thomas Vander Stichele <thomas at apestaart dot org>
-dnl Last modification: 25/01/2005
-
-dnl AM_GST_ELEMENT_CHECK(ELEMENT-NAME, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND)
-
-AC_DEFUN([AM_GST_ELEMENT_CHECK],
-[
-  if test "x$GST_INSPECT" = "x"; then
-    AC_CHECK_PROG(GST_INSPECT, gst-inspect-@GST_API_VERSION@, gst-inspect-@GST_API_VERSION@, [])
-  fi
-
-  if test "x$GST_INSPECT" != "x"; then
-    AC_MSG_CHECKING(GStreamer @GST_API_VERSION@ element $1)
-    if [ $GST_INSPECT $1 > /dev/null 2> /dev/null ]; then
-      AC_MSG_RESULT(found.)
-      $2
-    else
-      AC_MSG_RESULT(not found.)
-      $3
-    fi
-  fi
-])
diff --git a/gst/Makefile.am b/gst/Makefile.am
index b6bb664..1cac7f2 100644
--- a/gst/Makefile.am
+++ b/gst/Makefile.am
@@ -218,7 +218,7 @@
 	gst_private.h
 
 gstenumtypes.h: $(gst_headers)
-	$(AM_V_GEN)glib-mkenums \
+	$(AM_V_GEN)$(GLIB_MKENUMS) \
 	--fhead "#ifndef __GST_ENUM_TYPES_H__\n#define __GST_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
 	--fprod "\n/* enumerations from \"@filename@\" */\n" \
 	--vhead "GType @enum_name@_get_type (void);\n#define GST_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n"         \
@@ -226,7 +226,7 @@
 	$^ > gstenumtypes.h
 
 gstenumtypes.c: $(gst_headers)
-	$(AM_V_GEN)glib-mkenums \
+	$(AM_V_GEN)$(GLIB_MKENUMS) \
 	--fhead "#include \"gst_private.h\"\n#include <gst/gst.h>\n#define C_ENUM(v) ((gint) v)\n#define C_FLAGS(v) ((guint) v)\n " \
 	--fprod "\n/* enumerations from \"@filename@\" */" \
 	--vhead "GType\n@enum_name@_get_type (void)\n{\n  static gsize id = 0;\n  static const G@Type@Value values[] = {"     \
diff --git a/gst/Makefile.in b/gst/Makefile.in
index 1cf9946..2891688 100644
--- a/gst/Makefile.in
+++ b/gst/Makefile.in
@@ -1801,7 +1801,7 @@
 
 
 gstenumtypes.h: $(gst_headers)
-	$(AM_V_GEN)glib-mkenums \
+	$(AM_V_GEN)$(GLIB_MKENUMS) \
 	--fhead "#ifndef __GST_ENUM_TYPES_H__\n#define __GST_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
 	--fprod "\n/* enumerations from \"@filename@\" */\n" \
 	--vhead "GType @enum_name@_get_type (void);\n#define GST_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n"         \
@@ -1809,7 +1809,7 @@
 	$^ > gstenumtypes.h
 
 gstenumtypes.c: $(gst_headers)
-	$(AM_V_GEN)glib-mkenums \
+	$(AM_V_GEN)$(GLIB_MKENUMS) \
 	--fhead "#include \"gst_private.h\"\n#include <gst/gst.h>\n#define C_ENUM(v) ((gint) v)\n#define C_FLAGS(v) ((guint) v)\n " \
 	--fprod "\n/* enumerations from \"@filename@\" */" \
 	--vhead "GType\n@enum_name@_get_type (void)\n{\n  static gsize id = 0;\n  static const G@Type@Value values[] = {"     \
diff --git a/gst/gst.c b/gst/gst.c
index b19bac0..1be9773 100644
--- a/gst/gst.c
+++ b/gst/gst.c
@@ -591,6 +591,11 @@
   }
 #endif
 
+#ifndef G_ATOMIC_LOCK_FREE
+  GST_CAT_WARNING (GST_CAT_PERFORMANCE, "GLib atomic operations are NOT "
+      "implemented using real hardware atomic operations!");
+#endif
+
   return TRUE;
 }
 
@@ -682,7 +687,6 @@
   g_type_class_ref (gst_event_type_get_type ());
   g_type_class_ref (gst_seek_type_get_type ());
   g_type_class_ref (gst_seek_flags_get_type ());
-  g_type_class_ref (gst_stream_config_flags_get_type ());
   g_type_class_ref (gst_qos_type_get_type ());
   g_type_class_ref (gst_format_get_type ());
   g_type_class_ref (gst_debug_level_get_type ());
@@ -1048,7 +1052,6 @@
   g_type_class_unref (g_type_class_peek (gst_parse_flags_get_type ()));
   g_type_class_unref (g_type_class_peek (gst_resource_error_get_type ()));
   g_type_class_unref (g_type_class_peek (gst_search_mode_get_type ()));
-  g_type_class_unref (g_type_class_peek (gst_stream_config_flags_get_type ()));
   g_type_class_unref (g_type_class_peek (gst_stream_error_get_type ()));
   g_type_class_unref (g_type_class_peek (gst_stream_status_type_get_type ()));
   g_type_class_unref (g_type_class_peek (gst_structure_change_type_get_type
diff --git a/gst/gstallocator.c b/gst/gstallocator.c
index fea534b..df5b04f 100644
--- a/gst/gstallocator.c
+++ b/gst/gstallocator.c
@@ -94,7 +94,7 @@
 {
   GstMemory *copy;
   GstMapInfo sinfo, dinfo;
-  GstAllocationParams params = { 0, 0, 0, mem->align, };
+  GstAllocationParams params = { 0, mem->align, 0, 0, };
 
   if (!gst_memory_map (mem, &sinfo, GST_MAP_READ))
     return NULL;
@@ -453,8 +453,8 @@
     size = mem->mem.size > offset ? mem->mem.size - offset : 0;
 
   copy =
-      _default_mem_new_block (0, mem->mem.maxsize, 0, mem->mem.offset + offset,
-      size);
+      _default_mem_new_block (0, mem->mem.maxsize, mem->mem.align,
+      mem->mem.offset + offset, size);
   GST_CAT_DEBUG (GST_CAT_PERFORMANCE,
       "memcpy %" G_GSIZE_FORMAT " memory %p -> %p", mem->mem.maxsize, mem,
       copy);
diff --git a/gst/gstbin.c b/gst/gstbin.c
index b1e05bf..cc39027 100644
--- a/gst/gstbin.c
+++ b/gst/gstbin.c
@@ -78,7 +78,7 @@
  *     a SEGMENT_START have posted a SEGMENT_DONE.</para></listitem>
  *   </varlistentry>
  *   <varlistentry>
- *     <term>GST_MESSAGE_DURATION</term>
+ *     <term>GST_MESSAGE_DURATION_CHANGED</term>
  *     <listitem><para> Is posted by an element that detected a change
  *     in the stream duration. The default bin behaviour is to clear any
  *     cached duration values so that the next duration query will perform
@@ -3229,7 +3229,7 @@
  *     with the segment_done message. If there are no more segment_start
  *     messages, post segment_done message upwards.
  *
- * GST_MESSAGE_DURATION: remove all previously cached duration messages.
+ * GST_MESSAGE_DURATION_CHANGED: clear any cached durations.
  *     Whenever someone performs a duration query on the bin, we store the
  *     result so we can answer it quicker the next time. Any element that
  *     changes its duration marks our cached values invalid.
@@ -3392,13 +3392,15 @@
       }
       break;
     }
-    case GST_MESSAGE_DURATION:
+    case GST_MESSAGE_DURATION_CHANGED:
     {
-      /* remove all cached duration messages, next time somebody asks
+      /* FIXME: remove all cached durations, next time somebody asks
        * for duration, we will recalculate. */
+#if 0
       GST_OBJECT_LOCK (bin);
       bin_remove_messages (bin, NULL, GST_MESSAGE_DURATION);
       GST_OBJECT_UNLOCK (bin);
+#endif
       goto forward;
     }
     case GST_MESSAGE_CLOCK_LOST:
@@ -3634,11 +3636,14 @@
 
   GST_DEBUG_OBJECT (bin, "max duration %" G_GINT64_FORMAT, fold->max);
 
+  /* FIXME: re-implement duration caching */
+#if 0
   /* and cache now */
   GST_OBJECT_LOCK (bin);
   bin->messages = g_list_prepend (bin->messages,
       gst_message_new_duration (GST_OBJECT_CAST (bin), format, fold->max));
   GST_OBJECT_UNLOCK (bin);
+#endif
 }
 
 static gboolean
@@ -3752,6 +3757,8 @@
   switch (GST_QUERY_TYPE (query)) {
     case GST_QUERY_DURATION:
     {
+      /* FIXME: implement duration caching in GstBin again */
+#if 0
       GList *cached;
       GstFormat qformat;
 
@@ -3782,6 +3789,9 @@
         }
       }
       GST_OBJECT_UNLOCK (bin);
+#else
+      GST_FIXME ("implement duration caching in GstBin again");
+#endif
       /* no cached value found, iterate and collect durations */
       fold_func = (GstIteratorFoldFunction) bin_query_duration_fold;
       fold_init = bin_query_min_max_init;
@@ -3847,7 +3857,6 @@
 done:
   gst_iterator_free (iter);
 
-exit:
   GST_DEBUG_OBJECT (bin, "query %p result %d", query, res);
 
   return res;
diff --git a/gst/gstbuffer.c b/gst/gstbuffer.c
index 385dde6..9e8962c 100644
--- a/gst/gstbuffer.c
+++ b/gst/gstbuffer.c
@@ -691,7 +691,7 @@
 /**
  * gst_buffer_new_wrapped_full:
  * @flags: #GstMemoryFlags
- * @data: data to wrap
+ * @data: (array length=size) (element-type guint8): data to wrap
  * @maxsize: allocated size of @data
  * @offset: offset in @data
  * @size: size of valid data
@@ -726,7 +726,7 @@
 
 /**
  * gst_buffer_new_wrapped:
- * @data: data to wrap
+ * @data: (array length=size) (element-type guint8): data to wrap
  * @size: allocated size of @data
  *
  * Creates a new buffer that wraps the given @data. The memory will be freed
@@ -760,20 +760,32 @@
 
 /**
  * gst_buffer_prepend_memory:
- * @b: a #GstBuffer.
- * @m: (transfer full): a #GstMemory.
+ * @buffer: a #GstBuffer.
+ * @mem: (transfer full): a #GstMemory.
  *
- * Prepend the memory block @m to @b. This function takes ownership
- * of @m and thus doesn't increase its refcount.
+ * Prepend the memory block @mem to @buffer. This function takes
+ * ownership of @mem and thus doesn't increase its refcount.
  */
+void
+gst_buffer_prepend_memory (GstBuffer * buffer, GstMemory * mem)
+{
+  gst_buffer_insert_memory (buffer, 0, mem);
+}
+
 /**
  * gst_buffer_append_memory:
- * @b: a #GstBuffer.
- * @m: (transfer full): a #GstMemory.
+ * @buffer: a #GstBuffer.
+ * @mem: (transfer full): a #GstMemory.
  *
- * Append the memory block @m to @b. This function takes ownership
- * of @m and thus doesn't increase its refcount.
+ * Append the memory block @mem to @buffer. This function takes
+ * ownership of @mem and thus doesn't increase its refcount.
  */
+void
+gst_buffer_append_memory (GstBuffer * buffer, GstMemory * mem)
+{
+  gst_buffer_insert_memory (buffer, -1, mem);
+}
+
 /**
  * gst_buffer_insert_memory:
  * @buffer: a #GstBuffer.
@@ -846,17 +858,23 @@
 
 /**
  * gst_buffer_get_memory:
- * @b: a #GstBuffer.
- * @i: an index
+ * @buffer: a #GstBuffer.
+ * @idx: an index
  *
- * Get the memory block at index @i in @buffer.
+ * Get the memory block at index @idx in @buffer.
  *
  * Returns: (transfer full): a #GstMemory that contains the data of the
  * memory block at @idx. Use gst_memory_unref () after usage.
  */
+GstMemory *
+gst_buffer_get_memory (GstBuffer * buffer, guint idx)
+{
+  return gst_buffer_get_memory_range (buffer, idx, 1);
+}
+
 /**
  * gst_buffer_get_all_memory:
- * @b: a #GstBuffer.
+ * @buffer: a #GstBuffer.
  *
  * Get all the memory block in @buffer. The memory blocks will be merged
  * into one large #GstMemory.
@@ -864,6 +882,12 @@
  * Returns: (transfer full): a #GstMemory that contains the merged memory.
  * Use gst_memory_unref () after usage.
  */
+GstMemory *
+gst_buffer_get_all_memory (GstBuffer * buffer)
+{
+  return gst_buffer_get_memory_range (buffer, 0, -1);
+}
+
 /**
  * gst_buffer_get_memory_range:
  * @buffer: a #GstBuffer.
@@ -898,19 +922,31 @@
 
 /**
  * gst_buffer_replace_memory:
- * @b: a #GstBuffer.
- * @i: an index
- * @m: (transfer full): a #GstMemory
+ * @buffer: a #GstBuffer.
+ * @idx: an index
+ * @mem: (transfer full): a #GstMemory
  *
- * Replaces the memory block at index @i in @b with @m.
+ * Replaces the memory block at index @idx in @buffer with @mem.
  */
+void
+gst_buffer_replace_memory (GstBuffer * buffer, guint idx, GstMemory * mem)
+{
+  gst_buffer_replace_memory_range (buffer, idx, 1, mem);
+}
+
 /**
  * gst_buffer_replace_all_memory:
- * @b: a #GstBuffer.
- * @m: (transfer full): a #GstMemory
+ * @buffer: a #GstBuffer.
+ * @mem: (transfer full): a #GstMemory
  *
- * Replaces all memory in @b with @m.
+ * Replaces all memory in @buffer with @mem.
  */
+void
+gst_buffer_replace_all_memory (GstBuffer * buffer, GstMemory * mem)
+{
+  gst_buffer_replace_memory_range (buffer, 0, -1, mem);
+}
+
 /**
  * gst_buffer_replace_memory_range:
  * @buffer: a #GstBuffer.
@@ -948,17 +984,29 @@
 
 /**
  * gst_buffer_remove_memory:
- * @b: a #GstBuffer.
- * @i: an index
+ * @buffer: a #GstBuffer.
+ * @idx: an index
  *
  * Remove the memory block in @b at index @i.
  */
+void
+gst_buffer_remove_memory (GstBuffer * buffer, guint idx)
+{
+  gst_buffer_remove_memory_range (buffer, idx, 1);
+}
+
 /**
  * gst_buffer_remove_all_memory:
- * @b: a #GstBuffer.
+ * @buffer: a #GstBuffer.
  *
- * Remove all the memory blocks in @b.
+ * Remove all the memory blocks in @buffer.
  */
+void
+gst_buffer_remove_all_memory (GstBuffer * buffer)
+{
+  gst_buffer_remove_memory_range (buffer, 0, -1);
+}
+
 /**
  * gst_buffer_remove_memory_range:
  * @buffer: a #GstBuffer.
@@ -1064,28 +1112,40 @@
 
 /**
  * gst_buffer_get_sizes:
- * @b: a #GstBuffer.
- * @of: (out): a pointer to the offset
- * @ms: (out): a pointer to the maxsize
+ * @buffer: a #GstBuffer.
+ * @offset: (out): a pointer to the offset
+ * @maxsize: (out): a pointer to the maxsize
  *
  * Get the total size of the memory blocks in @b.
  *
- * When not %NULL, @of will contain the offset of the data in the first
- * memory block in @buffer and @maxsize will contain the sum of the size
- * and @of and the amount of extra padding on the last memory block.
- * @of and @ms can be used to resize the buffer memory blocks with
- * gst_buffer_resize().
+ * When not %NULL, @offset will contain the offset of the data in the
+ * first memory block in @buffer and @maxsize will contain the sum of
+ * the size and @offset and the amount of extra padding on the last
+ * memory block.  @offset and @maxsize can be used to resize the
+ * buffer memory blocks with gst_buffer_resize().
  *
- * Returns: total size of the memory blocks in @b.
+ * Returns: total size of the memory blocks in @buffer.
  */
+gsize
+gst_buffer_get_sizes (GstBuffer * buffer, gsize * offset, gsize * maxsize)
+{
+  return gst_buffer_get_sizes_range (buffer, 0, -1, offset, maxsize);
+}
+
 /**
  * gst_buffer_get_size:
- * @b: a #GstBuffer.
+ * @buffer: a #GstBuffer.
  *
- * Get the total size of the memory blocks in @b.
+ * Get the total size of the memory blocks in @buffer.
  *
- * Returns: total size of the memory blocks in @b.
+ * Returns: total size of the memory blocks in @buffer.
  */
+gsize
+gst_buffer_get_size (GstBuffer * buffer)
+{
+  return gst_buffer_get_sizes_range (buffer, 0, -1, NULL, NULL);
+}
+
 /**
  * gst_buffer_get_sizes_range:
  * @buffer: a #GstBuffer.
@@ -1160,19 +1220,31 @@
 
 /**
  * gst_buffer_resize:
- * @b: a #GstBuffer.
- * @of: the offset adjustement
- * @s: the new size or -1 to just adjust the offset
+ * @buffer: a #GstBuffer.
+ * @offset: the offset adjustement
+ * @size: the new size or -1 to just adjust the offset
  *
- * Set the offset and total size of the memory blocks in @b.
+ * Set the offset and total size of the memory blocks in @buffer.
  */
+void
+gst_buffer_resize (GstBuffer * buffer, gssize offset, gssize size)
+{
+  gst_buffer_resize_range (buffer, 0, -1, offset, size);
+}
+
 /**
  * gst_buffer_set_size:
- * @b: a #GstBuffer.
- * @s: the new size
+ * @buffer: a #GstBuffer.
+ * @size: the new size
  *
- * Set the total size of the memory blocks in @b.
+ * Set the total size of the memory blocks in @buffer.
  */
+void
+gst_buffer_set_size (GstBuffer * buffer, gssize size)
+{
+  gst_buffer_resize_range (buffer, 0, -1, 0, size);
+}
+
 /**
  * gst_buffer_resize_range:
  * @buffer: a #GstBuffer.
@@ -1268,25 +1340,32 @@
 
 /**
  * gst_buffer_map:
- * @b: a #GstBuffer.
- * @i: (out): info about the mapping
- * @f: flags for the mapping
+ * @buffer: a #GstBuffer.
+ * @info: (out): info about the mapping
+ * @flags: flags for the mapping
  *
- * This function fills @i with the #GstMapInfo of all merged memory blocks
- * in @buffer.
+ * This function fills @info with the #GstMapInfo of all merged memory
+ * blocks in @buffer.
  *
  * @flags describe the desired access of the memory. When @flags is
  * #GST_MAP_WRITE, @buffer should be writable (as returned from
  * gst_buffer_is_writable()).
  *
  * When @buffer is writable but the memory isn't, a writable copy will
- * automatically be created and returned. The readonly copy of the buffer memory
- * will then also be replaced with this writable copy.
+ * automatically be created and returned. The readonly copy of the
+ * buffer memory will then also be replaced with this writable copy.
  *
- * The memory in @i should be unmapped with gst_buffer_unmap() after usage.
+ * The memory in @info should be unmapped with gst_buffer_unmap() after
+ * usage.
  *
- * Returns: %TRUE if the map succeeded and @i contains valid data.
+ * Returns: %TRUE if the map succeeded and @info contains valid data.
  */
+gboolean
+gst_buffer_map (GstBuffer * buffer, GstMapInfo * info, GstMapFlags flags)
+{
+  return gst_buffer_map_range (buffer, 0, -1, info, flags);
+}
+
 /**
  * gst_buffer_map_range:
  * @buffer: a #GstBuffer.
@@ -1661,6 +1740,12 @@
  * Returns: (transfer full): the new #GstBuffer that contains the memory
  *     of the two source buffers.
  */
+GstBuffer *
+gst_buffer_append (GstBuffer * buf1, GstBuffer * buf2)
+{
+  return gst_buffer_append_region (buf1, buf2, 0, -1);
+}
+
 /**
  * gst_buffer_append_region:
  * @buf1: (transfer full): the first source #GstBuffer to append.
diff --git a/gst/gstbuffer.h b/gst/gstbuffer.h
index 772e0a1..49ad3d5 100644
--- a/gst/gstbuffer.h
+++ b/gst/gstbuffer.h
@@ -184,8 +184,7 @@
  *                               video this is typically the end of a frame boundary, for audio
  *                               this is usually the start of a talkspurt.
  * @GST_BUFFER_FLAG_HEADER:      the buffer contains header information that is
- *                               needed to decode the following data. The buffer
- *                               is also part of the headers of the STREAM_CONFIG event.
+ *                               needed to decode the following data.
  * @GST_BUFFER_FLAG_GAP:         the buffer has been created to fill a gap in the
  *                               stream and contains media neutral data (elements can
  *                               switch to optimized code path that ignores the buffer
@@ -271,14 +270,14 @@
 GstMemory * gst_buffer_get_memory_range     (GstBuffer *buffer, guint idx, gint length);
 void        gst_buffer_remove_memory_range  (GstBuffer *buffer, guint idx, gint length);
 
-#define     gst_buffer_prepend_memory(b,m)     gst_buffer_insert_memory ((b), 0, (m))
-#define     gst_buffer_append_memory(b,m)      gst_buffer_insert_memory ((b), -1, (m))
-#define     gst_buffer_replace_memory(b,i,m)   gst_buffer_replace_memory_range ((b), (i), 1, (m))
-#define     gst_buffer_replace_all_memory(b,m) gst_buffer_replace_memory_range ((b), 0, -1, (m))
-#define     gst_buffer_get_memory(b,i)         gst_buffer_get_memory_range ((b), (i), 1)
-#define     gst_buffer_get_all_memory(b)       gst_buffer_get_memory_range ((b), 0, -1)
-#define     gst_buffer_remove_memory(b,i)      gst_buffer_remove_memory_range ((b), (i), 1)
-#define     gst_buffer_remove_all_memory(b)    gst_buffer_remove_memory_range ((b), 0, -1)
+void        gst_buffer_prepend_memory       (GstBuffer *buffer, GstMemory *mem);
+void        gst_buffer_append_memory        (GstBuffer *buffer, GstMemory *mem);
+void        gst_buffer_replace_memory       (GstBuffer *buffer, guint idx, GstMemory *mem);
+void        gst_buffer_replace_all_memory   (GstBuffer *buffer, GstMemory *mem);
+GstMemory * gst_buffer_get_memory           (GstBuffer *buffer, guint idx);
+GstMemory * gst_buffer_get_all_memory       (GstBuffer *buffer);
+void        gst_buffer_remove_memory        (GstBuffer *buffer, guint idx);
+void        gst_buffer_remove_all_memory    (GstBuffer *buffer);
 
 gboolean    gst_buffer_find_memory         (GstBuffer *buffer, gsize offset, gsize size,
                                             guint *idx, guint *length, gsize *skip);
@@ -297,14 +296,14 @@
 void        gst_buffer_resize_range        (GstBuffer *buffer, guint idx, gint length,
                                             gssize offset, gssize size);
 
-#define     gst_buffer_get_sizes(b,of,ms)  gst_buffer_get_sizes_range ((b), 0, -1, (of), (ms))
-#define     gst_buffer_get_size(b)         gst_buffer_get_sizes_range ((b), 0, -1, NULL, NULL)
-#define     gst_buffer_resize(b,of,s)      gst_buffer_resize_range ((b), 0, -1, (of), (s))
-#define     gst_buffer_set_size(b,s)       gst_buffer_resize_range ((b), 0, -1, 0, (s))
+gsize       gst_buffer_get_sizes           (GstBuffer *buffer, gsize *offset, gsize *maxsize);
+gsize       gst_buffer_get_size            (GstBuffer *buffer);
+void        gst_buffer_resize              (GstBuffer *buffer, gssize offset, gssize size);
+void        gst_buffer_set_size            (GstBuffer *buffer, gssize size);
 
 gboolean    gst_buffer_map_range           (GstBuffer *buffer, guint idx, gint length,
                                             GstMapInfo *info, GstMapFlags flags);
-#define     gst_buffer_map(b,i,f)          gst_buffer_map_range ((b), 0, -1, (i), (f))
+gboolean    gst_buffer_map                 (GstBuffer *buffer, GstMapInfo *info, GstMapFlags flags);
 
 void        gst_buffer_unmap               (GstBuffer *buffer, GstMapInfo *info);
 
@@ -474,7 +473,7 @@
 /* append two buffers */
 GstBuffer*      gst_buffer_append_region        (GstBuffer *buf1, GstBuffer *buf2,
                                                  gssize offset, gssize size);
-#define         gst_buffer_append(b1,b2)        gst_buffer_append_region ((b1), (b2), 0, -1)
+GstBuffer*      gst_buffer_append               (GstBuffer *buf1, GstBuffer *buf2);
 
 /* metadata */
 #include <gst/gstmeta.h>
diff --git a/gst/gstbufferpool.c b/gst/gstbufferpool.c
index 2aebd29..f8a4225 100644
--- a/gst/gstbufferpool.c
+++ b/gst/gstbufferpool.c
@@ -108,6 +108,7 @@
   guint size;
   guint min_buffers;
   guint max_buffers;
+  guint cur_buffers;
   GstAllocator *allocator;
   GstAllocationParams params;
 };
@@ -247,6 +248,58 @@
   return TRUE;
 }
 
+static GstFlowReturn
+do_alloc_buffer (GstBufferPool * pool, GstBuffer ** buffer,
+    GstBufferPoolAcquireParams * params)
+{
+  GstBufferPoolPrivate *priv = pool->priv;
+  GstFlowReturn result;
+  gint cur_buffers, max_buffers;
+  GstBufferPoolClass *pclass;
+
+  pclass = GST_BUFFER_POOL_GET_CLASS (pool);
+
+  if (G_UNLIKELY (!pclass->alloc_buffer))
+    goto no_function;
+
+  max_buffers = priv->max_buffers;
+
+  /* increment the allocation counter */
+  cur_buffers = g_atomic_int_add (&priv->cur_buffers, 1);
+  if (max_buffers && cur_buffers >= max_buffers)
+    goto max_reached;
+
+  result = pclass->alloc_buffer (pool, buffer, params);
+  if (G_UNLIKELY (result != GST_FLOW_OK))
+    goto alloc_failed;
+
+  gst_buffer_foreach_meta (*buffer, mark_meta_pooled, pool);
+
+  GST_LOG_OBJECT (pool, "allocated buffer %d/%d, %p", cur_buffers,
+      max_buffers, buffer);
+
+  return result;
+
+  /* ERRORS */
+no_function:
+  {
+    GST_ERROR_OBJECT (pool, "no alloc function");
+    return GST_FLOW_NOT_SUPPORTED;
+  }
+max_reached:
+  {
+    GST_DEBUG_OBJECT (pool, "max buffers reached");
+    g_atomic_int_add (&priv->cur_buffers, -1);
+    return GST_FLOW_EOS;
+  }
+alloc_failed:
+  {
+    GST_WARNING_OBJECT (pool, "alloc function failed");
+    g_atomic_int_add (&priv->cur_buffers, -1);
+    return result;
+  }
+}
+
 /* the default implementation for preallocating the buffers
  * in the pool */
 static gboolean
@@ -258,19 +311,13 @@
 
   pclass = GST_BUFFER_POOL_GET_CLASS (pool);
 
-  /* no alloc function, error */
-  if (G_UNLIKELY (pclass->alloc_buffer == NULL))
-    goto no_alloc;
-
   /* we need to prealloc buffers */
   for (i = 0; i < priv->min_buffers; i++) {
     GstBuffer *buffer;
 
-    if (pclass->alloc_buffer (pool, &buffer, NULL) != GST_FLOW_OK)
+    if (do_alloc_buffer (pool, &buffer, NULL) != GST_FLOW_OK)
       goto alloc_failed;
 
-    gst_buffer_foreach_meta (buffer, mark_meta_pooled, pool);
-    GST_LOG_OBJECT (pool, "prealloced buffer %d: %p", i, buffer);
     /* release to the queue, we call the vmethod directly, we don't need to do
      * the other refcount handling right now. */
     if (G_LIKELY (pclass->release_buffer))
@@ -279,14 +326,9 @@
   return TRUE;
 
   /* ERRORS */
-no_alloc:
-  {
-    GST_WARNING_OBJECT (pool, "no alloc function");
-    return FALSE;
-  }
 alloc_failed:
   {
-    GST_WARNING_OBJECT (pool, "alloc function failed");
+    GST_WARNING_OBJECT (pool, "failed to allocate buffer");
     return FALSE;
   }
 }
@@ -295,7 +337,9 @@
 static gboolean
 do_start (GstBufferPool * pool)
 {
-  if (!pool->priv->started) {
+  GstBufferPoolPrivate *priv = pool->priv;
+
+  if (!priv->started) {
     GstBufferPoolClass *pclass;
 
     pclass = GST_BUFFER_POOL_GET_CLASS (pool);
@@ -307,7 +351,7 @@
       if (!pclass->start (pool))
         return FALSE;
     }
-    pool->priv->started = TRUE;
+    priv->started = TRUE;
   }
   return TRUE;
 }
@@ -323,19 +367,22 @@
 static gboolean
 default_stop (GstBufferPool * pool)
 {
+  GstBufferPoolPrivate *priv = pool->priv;
   GstBuffer *buffer;
   GstBufferPoolClass *pclass;
 
   pclass = GST_BUFFER_POOL_GET_CLASS (pool);
 
   /* clear the pool */
-  while ((buffer = gst_atomic_queue_pop (pool->priv->queue))) {
+  while ((buffer = gst_atomic_queue_pop (priv->queue))) {
     GST_LOG_OBJECT (pool, "freeing %p", buffer);
-    gst_poll_read_control (pool->priv->poll);
+    gst_poll_read_control (priv->poll);
 
     if (G_LIKELY (pclass->free_buffer))
       pclass->free_buffer (pool, buffer);
   }
+  priv->cur_buffers = 0;
+
   return TRUE;
 }
 
@@ -343,7 +390,9 @@
 static gboolean
 do_stop (GstBufferPool * pool)
 {
-  if (pool->priv->started) {
+  GstBufferPoolPrivate *priv = pool->priv;
+
+  if (priv->started) {
     GstBufferPoolClass *pclass;
 
     pclass = GST_BUFFER_POOL_GET_CLASS (pool);
@@ -353,7 +402,7 @@
       if (!pclass->stop (pool))
         return FALSE;
     }
-    pool->priv->started = FALSE;
+    priv->started = FALSE;
   }
   return TRUE;
 }
@@ -380,18 +429,21 @@
 gst_buffer_pool_set_active (GstBufferPool * pool, gboolean active)
 {
   gboolean res = TRUE;
+  GstBufferPoolPrivate *priv;
 
   g_return_val_if_fail (GST_IS_BUFFER_POOL (pool), FALSE);
 
   GST_LOG_OBJECT (pool, "active %d", active);
 
+  priv = pool->priv;
+
   GST_BUFFER_POOL_LOCK (pool);
   /* just return if we are already in the right state */
-  if (pool->priv->active == active)
+  if (priv->active == active)
     goto was_ok;
 
   /* we need to be configured */
-  if (!pool->priv->configured)
+  if (!priv->configured)
     goto not_configured;
 
   if (active) {
@@ -399,25 +451,25 @@
       goto start_failed;
 
     /* unset the flushing state now */
-    gst_poll_read_control (pool->priv->poll);
+    gst_poll_read_control (priv->poll);
     g_atomic_int_set (&pool->flushing, 0);
   } else {
     gint outstanding;
 
     /* set to flushing first */
     g_atomic_int_set (&pool->flushing, 1);
-    gst_poll_write_control (pool->priv->poll);
+    gst_poll_write_control (priv->poll);
 
     /* when all buffers are in the pool, free them. Else they will be
      * freed when they are released */
-    outstanding = g_atomic_int_get (&pool->priv->outstanding);
+    outstanding = g_atomic_int_get (&priv->outstanding);
     GST_LOG_OBJECT (pool, "outstanding buffers %d", outstanding);
     if (outstanding == 0) {
       if (!do_stop (pool))
         goto stop_failed;
     }
   }
-  pool->priv->active = active;
+  priv->active = active;
   GST_BUFFER_POOL_UNLOCK (pool);
 
   return res;
@@ -491,6 +543,7 @@
   priv->size = size;
   priv->min_buffers = min_buffers;
   priv->max_buffers = max_buffers;
+  priv->cur_buffers = 0;
 
   if (priv->allocator)
     gst_object_unref (priv->allocator);
@@ -518,11 +571,14 @@
  *
  * @config is a #GstStructure that contains the configuration parameters for
  * the pool. A default and mandatory set of parameters can be configured with
- * gst_buffer_pool_config_set(). This function takes ownership of @config.
+ * gst_buffer_pool_config_set_params(), gst_buffer_pool_config_set_allocator()
+ * and gst_buffer_pool_config_add_option().
  *
  * If the parameters in @config can not be set exactly, this function returns
  * FALSE and will try to update as much state as possible. The new state can
- * then be retrieved and refined with gst_buffer_pool_config_get().
+ * then be retrieved and refined with gst_buffer_pool_get_config().
+ *
+ * This function takes ownership of @config.
  *
  * Returns: TRUE when the configuration could be set.
  */
@@ -531,17 +587,20 @@
 {
   gboolean result;
   GstBufferPoolClass *pclass;
+  GstBufferPoolPrivate *priv;
 
   g_return_val_if_fail (GST_IS_BUFFER_POOL (pool), FALSE);
   g_return_val_if_fail (config != NULL, FALSE);
 
+  priv = pool->priv;
+
   GST_BUFFER_POOL_LOCK (pool);
   /* can't change the settings when active */
-  if (pool->priv->active)
+  if (priv->active)
     goto was_active;
 
   /* we can't change when outstanding buffers */
-  if (g_atomic_int_get (&pool->priv->outstanding) != 0)
+  if (g_atomic_int_get (&priv->outstanding) != 0)
     goto have_outstanding;
 
   pclass = GST_BUFFER_POOL_GET_CLASS (pool);
@@ -553,12 +612,12 @@
     result = FALSE;
 
   if (result) {
-    if (pool->priv->config)
-      gst_structure_free (pool->priv->config);
-    pool->priv->config = config;
+    if (priv->config)
+      gst_structure_free (priv->config);
+    priv->config = config;
 
     /* now we are configured */
-    pool->priv->configured = TRUE;
+    priv->configured = TRUE;
   } else {
     gst_structure_free (config);
   }
@@ -917,49 +976,41 @@
     GstBufferPoolAcquireParams * params)
 {
   GstFlowReturn result;
-  GstBufferPoolClass *pclass;
   GstBufferPoolPrivate *priv = pool->priv;
 
-  pclass = GST_BUFFER_POOL_GET_CLASS (pool);
-
   while (TRUE) {
     if (G_UNLIKELY (GST_BUFFER_POOL_IS_FLUSHING (pool)))
       goto flushing;
 
     /* try to get a buffer from the queue */
-    *buffer = gst_atomic_queue_pop (pool->priv->queue);
+    *buffer = gst_atomic_queue_pop (priv->queue);
     if (G_LIKELY (*buffer)) {
-      gst_poll_read_control (pool->priv->poll);
+      gst_poll_read_control (priv->poll);
       result = GST_FLOW_OK;
       GST_LOG_OBJECT (pool, "acquired buffer %p", *buffer);
       break;
     }
 
-    /* no buffer */
-    if (priv->max_buffers == 0) {
-      /* no max_buffers, we allocate some more */
-      if (G_LIKELY (pclass->alloc_buffer)) {
-        result = pclass->alloc_buffer (pool, buffer, params);
-        if (result == GST_FLOW_OK && *buffer)
-          gst_buffer_foreach_meta (*buffer, mark_meta_pooled, pool);
-        else
-          result = GST_FLOW_ERROR;
-      } else
-        result = GST_FLOW_NOT_SUPPORTED;
-      GST_LOG_OBJECT (pool, "alloc buffer %p", *buffer);
+    /* no buffer, try to allocate some more */
+    GST_LOG_OBJECT (pool, "no buffer, trying to allocate");
+    result = do_alloc_buffer (pool, buffer, NULL);
+    if (G_LIKELY (result == GST_FLOW_OK))
+      /* we have a buffer, return it */
       break;
-    }
+
+    if (G_UNLIKELY (result != GST_FLOW_EOS))
+      /* something went wrong, return error */
+      break;
 
     /* check if we need to wait */
     if (params && (params->flags & GST_BUFFER_POOL_ACQUIRE_FLAG_DONTWAIT)) {
       GST_LOG_OBJECT (pool, "no more buffers");
-      result = GST_FLOW_EOS;
       break;
     }
 
     /* now wait */
     GST_LOG_OBJECT (pool, "waiting for free buffers");
-    gst_poll_wait (pool->priv->poll, GST_CLOCK_TIME_NONE);
+    gst_poll_wait (priv->poll, GST_CLOCK_TIME_NONE);
   }
 
   return result;
diff --git a/gst/gstchildproxy.c b/gst/gstchildproxy.c
index c2979e5..67becb7 100644
--- a/gst/gstchildproxy.c
+++ b/gst/gstchildproxy.c
@@ -163,11 +163,11 @@
 
 /**
  * gst_child_proxy_lookup:
- * @object: object to lookup the property in
+ * @childproxy: child proxy object to lookup the property in
  * @name: name of the property to look up
  * @target: (out) (allow-none) (transfer full): pointer to a #GObject that
  *     takes the real object to set property on
- * @pspec: (out) (allow-none) (transfer full): pointer to take the #GParamSpec
+ * @pspec: (out) (allow-none) (transfer none): pointer to take the #GParamSpec
  *     describing the property
  *
  * Looks up which object and #GParamSpec would be effected by the given @name.
@@ -179,19 +179,20 @@
  * usage. For plain GObjects @target is the same as @object.
  */
 gboolean
-gst_child_proxy_lookup (GObject * object, const gchar * name,
+gst_child_proxy_lookup (GstChildProxy * childproxy, const gchar * name,
     GObject ** target, GParamSpec ** pspec)
 {
+  GObject *object;
   gboolean res = FALSE;
   gchar **names, **current;
 
-  g_return_val_if_fail (G_IS_OBJECT (object), FALSE);
+  g_return_val_if_fail (GST_IS_CHILD_PROXY (childproxy), FALSE);
   g_return_val_if_fail (name != NULL, FALSE);
 
-  g_object_ref (object);
+  object = g_object_ref (childproxy);
 
   current = names = g_strsplit (name, "::", -1);
-  // find the owner of the property
+  /* find the owner of the property */
   while (current[1]) {
     GObject *next;
 
@@ -212,7 +213,7 @@
     current++;
   }
 
-  // look for psec
+  /* look for psec */
   if (current[1] == NULL) {
     GParamSpec *spec =
         g_object_class_find_property (G_OBJECT_GET_CLASS (object), current[0]);
@@ -253,7 +254,7 @@
   g_return_if_fail (name != NULL);
   g_return_if_fail (G_IS_VALUE (value));
 
-  if (!gst_child_proxy_lookup ((GObject *) object, name, &target, &pspec))
+  if (!gst_child_proxy_lookup (object, name, &target, &pspec))
     goto not_found;
 
   g_object_get_property (target, pspec->name, value);
@@ -293,7 +294,7 @@
 
   /* iterate over pairs */
   while (name) {
-    if (!gst_child_proxy_lookup ((GObject *) object, name, &target, &pspec))
+    if (!gst_child_proxy_lookup (object, name, &target, &pspec))
       goto not_found;
 
     g_value_init (&value, pspec->value_type);
@@ -363,7 +364,7 @@
   g_return_if_fail (name != NULL);
   g_return_if_fail (G_IS_VALUE (value));
 
-  if (!gst_child_proxy_lookup ((GObject *) object, name, &target, &pspec))
+  if (!gst_child_proxy_lookup (object, name, &target, &pspec))
     goto not_found;
 
   g_object_set_property (target, pspec->name, value);
@@ -402,7 +403,7 @@
 
   /* iterate over pairs */
   while (name) {
-    if (!gst_child_proxy_lookup ((GObject *) object, name, &target, &pspec))
+    if (!gst_child_proxy_lookup (object, name, &target, &pspec))
       goto not_found;
 
     G_VALUE_COLLECT_INIT (&value, pspec->value_type, var_args,
diff --git a/gst/gstchildproxy.h b/gst/gstchildproxy.h
index 0943606..1614d4b 100644
--- a/gst/gstchildproxy.h
+++ b/gst/gstchildproxy.h
@@ -74,7 +74,7 @@
 guint     gst_child_proxy_get_children_count (GstChildProxy * parent);
 GObject * gst_child_proxy_get_child_by_index (GstChildProxy * parent, guint index);
 
-gboolean  gst_child_proxy_lookup             (GObject *object, const gchar *name,
+gboolean  gst_child_proxy_lookup             (GstChildProxy *object, const gchar *name,
                                               GObject **target, GParamSpec **pspec);
 
 void      gst_child_proxy_get_property       (GstChildProxy * object, const gchar *name,
diff --git a/gst/gstcompat.h b/gst/gstcompat.h
index 62ee85d..cace2e1 100644
--- a/gst/gstcompat.h
+++ b/gst/gstcompat.h
@@ -47,8 +47,6 @@
 #define gst_pad_get_caps_reffed(p)             gst_pad_get_caps(p)
 #define gst_pad_peer_get_caps_reffed(p)        gst_pad_peer_get_caps(p)
 
-//#define gst_buffer_create_sub(b,o,s)           gst_buffer_copy_region(b,GST_BUFFER_COPY_ALL,o,s)
-
 #define gst_buffer_new_and_alloc(s)            gst_buffer_new_allocate(NULL, s, NULL)
 
 #define GST_BUFFER_TIMESTAMP          GST_BUFFER_PTS
@@ -80,6 +78,19 @@
 
 #ifndef GST_DISABLE_DEPRECATED
 
+#define GST_MESSAGE_DURATION GST_MESSAGE_DURATION_CHANGED
+#define gst_message_new_duration(src,fmt,dur) \
+    gst_message_new_duration_changed(src)
+#define gst_message_parse_duration(msg,fmt,dur) \
+G_STMT_START { \
+  GstFormat *p_fmt = fmt; \
+  gint64 *p_dur = dur; \
+  if (p_fmt) \
+    *p_fmt = GST_FORMAT_TIME; \
+  if (p_dur) \
+    *p_dur = GST_CLOCK_TIME_NONE; \
+} G_STMT_END
+
 #endif /* not GST_DISABLE_DEPRECATED */
 
 G_END_DECLS
diff --git a/gst/gstcontrolbinding.h b/gst/gstcontrolbinding.h
index c33c1d4..a37be1d 100644
--- a/gst/gstcontrolbinding.h
+++ b/gst/gstcontrolbinding.h
@@ -60,6 +60,7 @@
 /**
  * GstControlBinding:
  * @name: name of the property of this binding
+ * @pspec: #GParamSpec for this property
  *
  * The instance structure of #GstControlBinding.
  */
@@ -67,8 +68,8 @@
   GstObject parent;
   
   /*< public >*/
-  gchar *name;                  /* name of the property */
-  GParamSpec *pspec;            /* GParamSpec for this property */
+  gchar *name;
+  GParamSpec *pspec;
 
   /*< private >*/
   GstObject *object;            /* GstObject owning the property
@@ -81,7 +82,6 @@
 /**
  * GstControlBindingClass:
  * @parent_class: Parent class
- * @convert: Class method to convert control-values
  *
  * The class structure of #GstControlBinding.
  */
diff --git a/gst/gstelementfactory.c b/gst/gstelementfactory.c
index f3e1bdb..c97e8c9 100644
--- a/gst/gstelementfactory.c
+++ b/gst/gstelementfactory.c
@@ -686,6 +686,11 @@
   klass =
       gst_element_factory_get_metadata (factory, GST_ELEMENT_METADATA_KLASS);
 
+  if (klass == NULL) {
+    GST_ERROR_OBJECT (factory, "element factory is missing klass identifiers");
+    return res;
+  }
+
   /* Filter by element type first, as soon as it matches
    * one type, we skip all other tests */
   if (!res && (type & GST_ELEMENT_FACTORY_TYPE_SINK))
diff --git a/gst/gsterror.c b/gst/gsterror.c
index 17ec81f..08321c6 100644
--- a/gst/gsterror.c
+++ b/gst/gsterror.c
@@ -143,7 +143,7 @@
     case GST_CORE_ERROR_THREAD:
       return _("Internal GStreamer error: thread problem." FILE_A_BUG);
     case GST_CORE_ERROR_NEGOTIATION:
-      return _("Internal GStreamer error: negotiation problem." FILE_A_BUG);
+      return _("GStreamer error: negotiation problem.");
     case GST_CORE_ERROR_EVENT:
       return _("Internal GStreamer error: event problem." FILE_A_BUG);
     case GST_CORE_ERROR_SEEK:
@@ -155,7 +155,7 @@
     case GST_CORE_ERROR_MISSING_PLUGIN:
       return _("Your GStreamer installation is missing a plug-in.");
     case GST_CORE_ERROR_CLOCK:
-      return _("Internal GStreamer error: clock problem." FILE_A_BUG);
+      return _("GStreamer error: clock problem.");
     case GST_CORE_ERROR_DISABLED:
       return _("This application is trying to use GStreamer functionality "
           "that has been disabled.");
diff --git a/gst/gstevent.c b/gst/gstevent.c
index bee382e..188325d 100644
--- a/gst/gstevent.c
+++ b/gst/gstevent.c
@@ -110,7 +110,6 @@
   {GST_EVENT_FLUSH_STOP, "flush-stop", 0},
   {GST_EVENT_STREAM_START, "stream-start", 0},
   {GST_EVENT_CAPS, "caps", 0},
-  {GST_EVENT_STREAM_CONFIG, "stream-config", 0},
   {GST_EVENT_SEGMENT, "segment", 0},
   {GST_EVENT_TAG, "tag", 0},
   {GST_EVENT_TOC, "toc", 0},
@@ -660,225 +659,6 @@
 }
 
 /**
- * gst_event_new_stream_config:
- * @flags: the stream config flags
- *
- * Create a new STREAM CONFIG event. The stream config event travels
- * downstream synchronized with the buffer flow and contains stream
- * configuration information for the stream, such as stream-headers
- * or setup-data. It is optional and should be sent after the CAPS
- * event.
- *
- * Returns: (transfer full): the new STREAM CONFIG event.
- */
-GstEvent *
-gst_event_new_stream_config (GstStreamConfigFlags flags)
-{
-  GstEvent *event;
-
-  GST_CAT_INFO (GST_CAT_EVENT, "creating stream info event, flags=0x%x", flags);
-
-  event = gst_event_new_custom (GST_EVENT_STREAM_CONFIG,
-      gst_structure_new_id (GST_QUARK (EVENT_STREAM_CONFIG),
-          GST_QUARK (FLAGS), GST_TYPE_STREAM_CONFIG_FLAGS, flags, NULL));
-
-  return event;
-}
-
-/**
- * gst_event_parse_stream_config:
- * @event: The event to parse
- * @flags: (out): a pointer to a variable to store the stream config flags
- *
- * Get the stream config flags from @event.
- */
-void
-gst_event_parse_stream_config (GstEvent * event, GstStreamConfigFlags * flags)
-{
-  GstStructure *structure;
-
-  g_return_if_fail (GST_IS_EVENT (event));
-  g_return_if_fail (GST_EVENT_TYPE (event) == GST_EVENT_STREAM_CONFIG);
-
-  structure = GST_EVENT_STRUCTURE (event);
-  if (G_LIKELY (flags != NULL)) {
-    *flags =
-        g_value_get_enum (gst_structure_id_get_value (structure,
-            GST_QUARK (FLAGS)));
-  }
-}
-
-/**
- * gst_event_set_stream_config_setup_data:
- * @event: a stream config event
- * @buf: a #GstBuffer with setup data
- *
- * Set setup data on the stream info event to signal out of bound setup data
- * to downstream elements. Unlike stream headers, setup data contains data
- * that is required to interpret the data stream, but is not valid as-is
- * inside the data stream and thus can't just be prepended to or inserted
- * into the data stream.
- */
-void
-gst_event_set_stream_config_setup_data (GstEvent * event, GstBuffer * buf)
-{
-  GstStructure *s;
-
-  g_return_if_fail (GST_IS_EVENT (event));
-  g_return_if_fail (GST_EVENT_TYPE (event) == GST_EVENT_STREAM_CONFIG);
-  g_return_if_fail (GST_IS_BUFFER (buf) && gst_buffer_get_size (buf) > 0);
-
-  s = GST_EVENT_STRUCTURE (event);
-  gst_structure_id_set (s, GST_QUARK (SETUP_DATA), GST_TYPE_BUFFER, buf, NULL);
-}
-
-/**
- * gst_event_parse_stream_config_setup_data:
- * @event: a stream config event
- * @buf: (out) (transfer none): location where to store the #GstBuffer with setup data
- *
- * Extracts the setup data buffer from the stream info event. Will store
- * %NULL in @buf if the event contains no setup data. The buffer returned
- * will remain valid as long as @event remains valid. The caller should
- * acquire a reference to to @buf if needed.
- *
- * Returns: TRUE if @event contained setup data and @buf has been set,
- *     otherwise FALSE.
- */
-gboolean
-gst_event_parse_stream_config_setup_data (GstEvent * event, GstBuffer ** buf)
-{
-  const GValue *val;
-  GstStructure *s;
-
-  g_return_val_if_fail (GST_IS_EVENT (event), FALSE);
-  g_return_val_if_fail (GST_EVENT_TYPE (event) == GST_EVENT_STREAM_CONFIG,
-      FALSE);
-  g_return_val_if_fail (buf != NULL, FALSE);
-
-  s = GST_EVENT_STRUCTURE (event);
-  val = gst_structure_id_get_value (s, GST_QUARK (SETUP_DATA));
-  if (val != NULL)
-    *buf = g_value_get_boxed (val);
-  else
-    *buf = NULL;
-
-  return (*buf != NULL);
-}
-
-/**
- * gst_event_add_stream_config_header:
- * @event: a stream config event
- * @buf: a #GstBuffer with stream header data
- *
- * Adds a stream header to the stream info event to signal stream headers to
- * to downstream elements such as multifilesink, tcpserversink etc. Stream
- * headers can be and should usually be prepended to the data stream at any
- * point in the stream (which requires a streamable format), e.g. to a new
- * client connecting, or when starting a new file segment. stream header
- * buffers will all be used together in the order they were added to the
- * stream config event. Stream headers are sent as buffers at the beginning
- * of the data flow in addition to the stream config event. Elements that
- * care about stream headers need to make sure that they don't insert or
- * interpret these header buffers twice if they interpret them.
- */
-void
-gst_event_add_stream_config_header (GstEvent * event, GstBuffer * buf)
-{
-  GstStructure *s;
-  GValue buf_val = { 0, };
-  GValue *val;
-
-  g_return_if_fail (GST_IS_EVENT (event));
-  g_return_if_fail (GST_EVENT_TYPE (event) == GST_EVENT_STREAM_CONFIG);
-  g_return_if_fail (GST_IS_BUFFER (buf) && gst_buffer_get_size (buf) > 0);
-
-  g_value_init (&buf_val, GST_TYPE_BUFFER);
-  g_value_set_boxed (&buf_val, buf);
-
-  s = GST_EVENT_STRUCTURE (event);
-  val = (GValue *) gst_structure_id_get_value (s, GST_QUARK (STREAM_HEADERS));
-  if (val == NULL) {
-    GValue new_array = { 0, };
-
-    g_value_init (&new_array, GST_TYPE_ARRAY);
-    gst_value_array_append_value (&new_array, &buf_val);
-    gst_structure_id_take_value (s, GST_QUARK (STREAM_HEADERS), &new_array);
-  } else {
-    gst_value_array_append_value (val, &buf_val);
-  }
-  g_value_unset (&buf_val);
-}
-
-/**
- * gst_event_get_n_stream_config_headers:
- * @event: a stream config event
- *
- * Extract the number of stream header buffers.
- *
- * Returns: the number of stream header buffers attached to the stream info
- * @event.
- */
-guint
-gst_event_get_n_stream_config_headers (GstEvent * event)
-{
-  const GValue *val;
-  GstStructure *s;
-  guint num = 0;
-
-  g_return_val_if_fail (GST_IS_EVENT (event), 0);
-  g_return_val_if_fail (GST_EVENT_TYPE (event) == GST_EVENT_STREAM_CONFIG, 0);
-
-  s = GST_EVENT_STRUCTURE (event);
-  val = gst_structure_id_get_value (s, GST_QUARK (STREAM_HEADERS));
-
-  if (val != NULL)
-    num = gst_value_array_get_size (val);
-
-  return num;
-}
-
-/**
- * gst_event_parse_nth_stream_config_header:
- * @event: a stream config event
- * @index: number of the stream header to retrieve
- * @buf: (out) (transfer none): location where to store the n-th stream
- *     header #GstBuffer
- *
- * Retrieves the n-th stream header buffer attached to the stream config
- * event and stores it in @buf. Will store %NULL in @buf if there is no such
- * stream header.
- *
- * Returns: TRUE if @event contained a stream header at @index and @buf has
- *    been set, otherwise FALSE.
- */
-gboolean
-gst_event_parse_nth_stream_config_header (GstEvent * event, guint index,
-    GstBuffer ** buf)
-{
-  const GValue *val, *buf_val;
-  GstStructure *s;
-  GstBuffer *ret = NULL;
-
-  g_return_val_if_fail (GST_IS_EVENT (event), FALSE);
-  g_return_val_if_fail (GST_EVENT_TYPE (event) == GST_EVENT_STREAM_CONFIG,
-      FALSE);
-  g_return_val_if_fail (buf != NULL, FALSE);
-
-  s = GST_EVENT_STRUCTURE (event);
-  val = gst_structure_id_get_value (s, GST_QUARK (STREAM_HEADERS));
-
-  if (val != NULL) {
-    buf_val = gst_value_array_get_value (val, index);
-    if (buf_val != NULL)
-      ret = g_value_get_boxed (buf_val);
-  }
-
-  *buf = ret;
-  return (ret != NULL);
-}
-
-/**
  * gst_event_new_segment:
  * @segment: (transfer none): a #GstSegment
  *
@@ -1611,7 +1391,8 @@
  * stream. A new stream-id should only be created for a stream if the upstream
  * stream is split into (potentially) multiple new streams, e.g. in a demuxer,
  * but not for every single element in the pipeline.
- * gst_util_create_stream_id() can be used to create a stream-id.
+ * gst_pad_create_stream_id() or gst_pad_create_stream_id_printf() can be
+ * used to create a stream-id.
  *
  * Returns: (transfer full): the new STREAM_START event.
  */
@@ -1633,21 +1414,25 @@
  * @event: a stream-start event.
  * @stream_id: (out): pointer to store the stream-id
  *
- * Parse a stream-id @event and store the result in the given @stream_id location.
+ * Parse a stream-id @event and store the result in the given @stream_id
+ * location. The string stored in @stream_id must not be modified and will
+ * remain valid only until @event gets freed. Make a copy if you want to
+ * modify it or store it for later use.
  */
 void
 gst_event_parse_stream_start (GstEvent * event, const gchar ** stream_id)
 {
   const GstStructure *structure;
+  const GValue *val;
 
   g_return_if_fail (event != NULL);
   g_return_if_fail (GST_EVENT_TYPE (event) == GST_EVENT_STREAM_START);
 
   structure = gst_event_get_structure (event);
+  val = gst_structure_id_get_value (structure, GST_QUARK (STREAM_ID));
 
   if (stream_id)
-    gst_structure_id_get (structure,
-        GST_QUARK (STREAM_ID), G_TYPE_STRING, stream_id, NULL);
+    *stream_id = g_value_get_string (val);
 }
 
 /**
diff --git a/gst/gstevent.h b/gst/gstevent.h
index 39af270..7907a69 100644
--- a/gst/gstevent.h
+++ b/gst/gstevent.h
@@ -83,8 +83,6 @@
  *                 other serialized event and only sent at the start of a new stream,
  *                 not after flushing seeks.
  * @GST_EVENT_CAPS: #GstCaps event. Notify the pad of a new media type.
- * @GST_EVENT_STREAM_CONFIG: (unimplemented) contains configuration information for the stream,
- *                 for example stream-headers and codec-data.
  * @GST_EVENT_SEGMENT: A new media segment follows in the dataflow. The
  *                 segment events contains information for clipping buffers and
  *                 converting buffer timestamps to running-time and
@@ -143,7 +141,6 @@
   /* downstream serialized events */
   GST_EVENT_STREAM_START          = GST_EVENT_MAKE_TYPE (40, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY)),
   GST_EVENT_CAPS                  = GST_EVENT_MAKE_TYPE (50, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY)),
-  GST_EVENT_STREAM_CONFIG         = GST_EVENT_MAKE_TYPE (60, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY)),
   GST_EVENT_SEGMENT               = GST_EVENT_MAKE_TYPE (70, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY)),
   GST_EVENT_TAG                   = GST_EVENT_MAKE_TYPE (80, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY) | FLAG(STICKY_MULTI)),
   GST_EVENT_BUFFERSIZE            = GST_EVENT_MAKE_TYPE (90, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY)),
@@ -368,17 +365,6 @@
 } GstQOSType;
 
 /**
- * GstStreamConfigFlags:
- * @GST_STREAM_CONFIG_FLAG_NONE: no flags set
- *
- * GstStreamConfigFlags are flags passed with the stream config event, see
- * gst_event_new_stream_config().
- */
-typedef enum {
-  GST_STREAM_CONFIG_FLAG_NONE = 0
-} GstStreamConfigFlags;
-
-/**
  * GstEvent:
  * @mini_object: the parent structure
  * @type: the #GstEventType of the event
@@ -496,23 +482,6 @@
 GstEvent *      gst_event_new_caps              (GstCaps *caps) G_GNUC_MALLOC;
 void            gst_event_parse_caps            (GstEvent *event, GstCaps **caps);
 
-/* Stream config */
-GstEvent *      gst_event_new_stream_config                (GstStreamConfigFlags flags) G_GNUC_MALLOC;
-
-void            gst_event_parse_stream_config              (GstEvent * event, GstStreamConfigFlags * flags);
-
-
-void            gst_event_set_stream_config_setup_data     (GstEvent * event, GstBuffer  * buf);
-
-gboolean        gst_event_parse_stream_config_setup_data   (GstEvent * event, GstBuffer ** buf);
-
-
-void            gst_event_add_stream_config_header         (GstEvent * event, GstBuffer  * buf);
-
-guint           gst_event_get_n_stream_config_headers      (GstEvent * event);
-
-gboolean        gst_event_parse_nth_stream_config_header   (GstEvent * event, guint index, GstBuffer ** buf);
-
 /* segment event */
 GstEvent*       gst_event_new_segment           (const GstSegment *segment) G_GNUC_MALLOC;
 void            gst_event_parse_segment         (GstEvent *event, const GstSegment **segment);
diff --git a/gst/gstghostpad.c b/gst/gstghostpad.c
index e6ef133..590737a 100644
--- a/gst/gstghostpad.c
+++ b/gst/gstghostpad.c
@@ -836,7 +836,8 @@
 
   if (newtarget) {
     /* and link to internal pad without any checks */
-    GST_DEBUG_OBJECT (gpad, "connecting internal pad to target");
+    GST_DEBUG_OBJECT (gpad, "connecting internal pad to target %"
+        GST_PTR_FORMAT, newtarget);
 
     if (GST_PAD_IS_SRC (internal))
       lret =
diff --git a/gst/gstmemory.h b/gst/gstmemory.h
index e249cb4..0820818 100644
--- a/gst/gstmemory.h
+++ b/gst/gstmemory.h
@@ -179,8 +179,11 @@
   guint8 *data;
   gsize size;
   gsize maxsize;
-  /*< private >*/
+  /*< protected >*/
   gpointer user_data[4];
+
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
 } GstMapInfo;
 
 /**
@@ -303,6 +306,7 @@
 #define        gst_memory_lock(m,f)        gst_mini_object_lock (GST_MINI_OBJECT_CAST (m), (f))
 #define        gst_memory_unlock(m,f)      gst_mini_object_unlock (GST_MINI_OBJECT_CAST (m), (f))
 #define        gst_memory_is_writable(m)   gst_mini_object_is_writable (GST_MINI_OBJECT_CAST (m))
+#define        gst_memory_make_writable(m) GST_MEMORY_CAST (gst_mini_object_make_writable (GST_MINI_OBJECT_CAST (m)))
 
 /* retrieving data */
 GstMemory *    gst_memory_make_mapped  (GstMemory *mem, GstMapInfo *info, GstMapFlags flags);
diff --git a/gst/gstmessage.c b/gst/gstmessage.c
index d7a9735..d2bb8d7 100644
--- a/gst/gstmessage.c
+++ b/gst/gstmessage.c
@@ -96,7 +96,7 @@
   {GST_MESSAGE_ELEMENT, "element", 0},
   {GST_MESSAGE_SEGMENT_START, "segment-start", 0},
   {GST_MESSAGE_SEGMENT_DONE, "segment-done", 0},
-  {GST_MESSAGE_DURATION, "duration", 0},
+  {GST_MESSAGE_DURATION_CHANGED, "duration-changed", 0},
   {GST_MESSAGE_LATENCY, "latency", 0},
   {GST_MESSAGE_ASYNC_START, "async-start", 0},
   {GST_MESSAGE_ASYNC_DONE, "async-done", 0},
@@ -805,33 +805,28 @@
 }
 
 /**
- * gst_message_new_duration:
+ * gst_message_new_duration_changed:
  * @src: (transfer none): The object originating the message.
- * @format: The format of the duration
- * @duration: The new duration 
  *
- * Create a new duration message. This message is posted by elements that
- * know the duration of a stream in a specific format. This message
+ * Create a new duration changed message. This message is posted by elements
+ * that know the duration of a stream when the duration changes. This message
  * is received by bins and is used to calculate the total duration of a
  * pipeline. Elements may post a duration message with a duration of
  * GST_CLOCK_TIME_NONE to indicate that the duration has changed and the 
  * cached duration should be discarded. The new duration can then be 
  * retrieved via a query.
  *
- * Returns: (transfer full): The new duration message.
+ * Returns: (transfer full): The new duration-changed message.
  *
  * MT safe.
  */
 GstMessage *
-gst_message_new_duration (GstObject * src, GstFormat format, gint64 duration)
+gst_message_new_duration_changed (GstObject * src)
 {
   GstMessage *message;
-  GstStructure *structure;
 
-  structure = gst_structure_new_id (GST_QUARK (MESSAGE_DURATION),
-      GST_QUARK (FORMAT), GST_TYPE_FORMAT, format,
-      GST_QUARK (DURATION), G_TYPE_INT64, duration, NULL);
-  message = gst_message_new_custom (GST_MESSAGE_DURATION, src, structure);
+  message = gst_message_new_custom (GST_MESSAGE_DURATION_CHANGED, src,
+      gst_structure_new_id_empty (GST_QUARK (MESSAGE_DURATION_CHANGED)));
 
   return message;
 }
@@ -1482,39 +1477,6 @@
 }
 
 /**
- * gst_message_parse_duration:
- * @message: A valid #GstMessage of type GST_MESSAGE_DURATION.
- * @format: (out): Result location for the format, or NULL
- * @duration: (out): Result location for the duration, or NULL
- *
- * Extracts the duration and format from the duration message. The duration
- * might be GST_CLOCK_TIME_NONE, which indicates that the duration has
- * changed. Applications should always use a query to retrieve the duration
- * of a pipeline.
- *
- * MT safe.
- */
-void
-gst_message_parse_duration (GstMessage * message, GstFormat * format,
-    gint64 * duration)
-{
-  GstStructure *structure;
-
-  g_return_if_fail (GST_IS_MESSAGE (message));
-  g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_DURATION);
-
-  structure = GST_MESSAGE_STRUCTURE (message);
-  if (format)
-    *format = (GstFormat)
-        g_value_get_enum (gst_structure_id_get_value (structure,
-            GST_QUARK (FORMAT)));
-  if (duration)
-    *duration =
-        g_value_get_int64 (gst_structure_id_get_value (structure,
-            GST_QUARK (DURATION)));
-}
-
-/**
  * gst_message_parse_async_done:
  * @message: A valid #GstMessage of type GST_MESSAGE_ASYNC_DONE.
  * @running_time: (out): Result location for the running_time or NULL
diff --git a/gst/gstmessage.h b/gst/gstmessage.h
index 185a3f2..0328667 100644
--- a/gst/gstmessage.h
+++ b/gst/gstmessage.h
@@ -71,8 +71,8 @@
  * @GST_MESSAGE_SEGMENT_DONE: pipeline completed playback of a segment. This
  * message is forwarded to the application after all elements that posted
  * @GST_MESSAGE_SEGMENT_START posted a GST_MESSAGE_SEGMENT_DONE message.
- * @GST_MESSAGE_DURATION: The duration of a pipeline changed. The application
- * can get the new duration with a duration query.
+ * @GST_MESSAGE_DURATION_CHANGED: The duration of a pipeline changed. The
+ * application can get the new duration with a duration query.
  * @GST_MESSAGE_ASYNC_START: Posted by elements when they start an ASYNC
  * #GstStateChange. This message is not forwarded to the application but is used
  * internally.
@@ -89,7 +89,14 @@
  * strategy for Quality of Service reasons.
  * @GST_MESSAGE_PROGRESS: A progress message.
  * @GST_MESSAGE_TOC: A new table of contents (TOC) was found or previously found TOC
- * was updated. Since:
+ * was updated.
+ * @GST_MESSAGE_RESET_TIME: Message to request resetting the pipeline's
+ *     running time from the pipeline. This is an internal message which
+ *     applications will likely never receive.
+ * @GST_MESSAGE_STREAM_START: Message indicating start of a new stream. Useful
+ *     e.g. when using playbin in gapless playback mode, to get notified when
+ *     the next title actually starts playing (which will be some time after
+ *     the URI for the next title has been set).
  * @GST_MESSAGE_ANY: mask for all of the above messages.
  *
  * The different message types that are available.
@@ -118,7 +125,7 @@
   GST_MESSAGE_ELEMENT           = (1 << 15),
   GST_MESSAGE_SEGMENT_START     = (1 << 16),
   GST_MESSAGE_SEGMENT_DONE      = (1 << 17),
-  GST_MESSAGE_DURATION          = (1 << 18),
+  GST_MESSAGE_DURATION_CHANGED  = (1 << 18),
   GST_MESSAGE_LATENCY           = (1 << 19),
   GST_MESSAGE_ASYNC_START       = (1 << 20),
   GST_MESSAGE_ASYNC_DONE        = (1 << 21),
@@ -481,10 +488,8 @@
 void            gst_message_parse_segment_done  (GstMessage *message, GstFormat *format,
                                                  gint64 *position);
 
-/* DURATION */
-GstMessage *    gst_message_new_duration        (GstObject * src, GstFormat format, gint64 duration) G_GNUC_MALLOC;
-void            gst_message_parse_duration      (GstMessage *message, GstFormat *format,
-                                                 gint64 *duration);
+/* DURATION_CHANGED */
+GstMessage *    gst_message_new_duration_changed (GstObject * src) G_GNUC_MALLOC;
 
 /* LATENCY */
 GstMessage *    gst_message_new_latency         (GstObject * src) G_GNUC_MALLOC;
diff --git a/gst/gstminiobject.c b/gst/gstminiobject.c
index 14b55de..d88fd9a 100644
--- a/gst/gstminiobject.c
+++ b/gst/gstminiobject.c
@@ -104,6 +104,7 @@
 /**
  * gst_mini_object_init: (skip)
  * @mini_object: a #GstMiniObject
+ * @flags: initial #GstMiniObjectFlags
  * @type: the #GType of the mini-object to create
  * @copy_func: the copy function, or NULL
  * @dispose_func: the dispose function, or NULL
@@ -287,7 +288,7 @@
   g_return_val_if_fail (mini_object != NULL, FALSE);
 
   if (GST_MINI_OBJECT_IS_LOCKABLE (mini_object)) {
-    result = (g_atomic_int_get (&mini_object->lockstate) & SHARE_MASK) < 2;
+    result = !IS_SHARED (g_atomic_int_get (&mini_object->lockstate));
   } else {
     result = (GST_MINI_OBJECT_REFCOUNT_VALUE (mini_object) == 1);
   }
diff --git a/gst/gstminiobject.h b/gst/gstminiobject.h
index 7ec67a9..f873b7a 100644
--- a/gst/gstminiobject.h
+++ b/gst/gstminiobject.h
@@ -73,7 +73,8 @@
  * @obj: the mini object
  *
  * A #GstMiniObjectNotify function can be added to a mini object as a
- * callback that gets triggered with gst_mini_object_notify().
+ * callback that gets triggered when gst_mini_object_unref() drops the
+ * last ref and @obj is about to be freed.
  */
 typedef void (*GstMiniObjectNotify) (gpointer user_data, GstMiniObject * obj);
 
diff --git a/gst/gstobject.c b/gst/gstobject.c
index eedd108..70536cd 100644
--- a/gst/gstobject.c
+++ b/gst/gstobject.c
@@ -477,9 +477,9 @@
  * @object: the #GObject that signalled the notify.
  * @orig: a #GstObject that initiated the notify.
  * @pspec: a #GParamSpec of the property.
- * @excluded_props: (array zero-terminated=1) (element-type gchar*)
- *     (allow-none): a set of user-specified properties to exclude or
- *     NULL to show all changes.
+ * @excluded_props: (array zero-terminated=1) (element-type gchar*) (allow-none):
+ *     a set of user-specified properties to exclude or NULL to show
+ *     all changes.
  *
  * A default deep_notify signal callback for an object. The user data
  * should contain a pointer to an array of strings that should be excluded
@@ -507,7 +507,10 @@
     g_value_init (&value, pspec->value_type);
     g_object_get_property (G_OBJECT (orig), pspec->name, &value);
 
-    str = gst_value_serialize (&value);
+    if (G_VALUE_HOLDS_STRING (&value))
+      str = g_value_dup_string (&value);
+    else
+      str = gst_value_serialize (&value);
     name = gst_object_get_path_string (orig);
     g_print ("%s: %s = %s\n", name, pspec->name, str);
     g_free (name);
@@ -1177,8 +1180,6 @@
 
   g_return_val_if_fail (GST_IS_OBJECT (object), FALSE);
   g_return_val_if_fail (GST_IS_CONTROL_BINDING (binding), FALSE);
-  //g_return_val_if_fail (g_type_is_a (binding->pspec->owner_type,
-  //        G_OBJECT_TYPE (object)), FALSE);
 
   GST_OBJECT_LOCK (object);
   if ((old = gst_object_find_control_binding (object, binding->name))) {
diff --git a/gst/gstpad.c b/gst/gstpad.c
index 49b65aa..60f1d6e 100644
--- a/gst/gstpad.c
+++ b/gst/gstpad.c
@@ -808,8 +808,15 @@
   return gst_pad_activate_mode (pad, GST_PAD_MODE_PUSH, TRUE);
 }
 
-#ifndef GST_DISABLE_GST_DEBUG
-static const gchar *
+/**
+ * gst_pad_mode_get_name:
+ * @mode: the pad mode
+ *
+ * Return the name of a pad mode, for use in debug messages mostly.
+ *
+ * Returns: short mnemonic for pad mode @mode
+ */
+const gchar *
 gst_pad_mode_get_name (GstPadMode mode)
 {
   switch (mode) {
@@ -824,7 +831,6 @@
   }
   return "unknown";
 }
-#endif
 
 static void
 pre_activate (GstPad * pad, GstPadMode new_mode)
@@ -1358,6 +1364,30 @@
 }
 
 /**
+ * gst_pad_needs_reconfigure:
+ * @pad: the #GstPad to check
+ *
+ * Check the #GST_PAD_FLAG_NEED_RECONFIGURE flag on @pad and return %TRUE
+ * if the flag was set.
+ *
+ * Returns: %TRUE is the GST_PAD_FLAG_NEED_RECONFIGURE flag is set on @pad.
+ */
+gboolean
+gst_pad_needs_reconfigure (GstPad * pad)
+{
+  gboolean reconfigure;
+
+  g_return_val_if_fail (GST_IS_PAD (pad), FALSE);
+
+  GST_OBJECT_LOCK (pad);
+  reconfigure = GST_PAD_NEEDS_RECONFIGURE (pad);
+  GST_DEBUG_OBJECT (pad, "peeking RECONFIGURE flag %d", reconfigure);
+  GST_OBJECT_UNLOCK (pad);
+
+  return reconfigure;
+}
+
+/**
  * gst_pad_check_reconfigure:
  * @pad: the #GstPad to check
  *
@@ -2695,7 +2725,8 @@
   g_return_val_if_fail (GST_IS_PAD (pad), FALSE);
   g_return_val_if_fail (event != NULL, FALSE);
 
-  GST_LOG_OBJECT (pad, "default event handler");
+  GST_LOG_OBJECT (pad, "default event handler for event %" GST_PTR_FORMAT,
+      event);
 
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_CAPS:
@@ -3786,6 +3817,10 @@
   /* do block probes */
   PROBE_PUSH (pad, type | GST_PAD_PROBE_TYPE_BLOCK, data, probe_stopped);
 
+  /* recheck sticky events because the probe might have cause a relink */
+  if (G_UNLIKELY ((ret = check_sticky (pad))) != GST_FLOW_OK)
+    goto events_error;
+
   /* do post-blocking probes */
   PROBE_PUSH (pad, type, data, probe_stopped);
 
@@ -3968,6 +4003,10 @@
   PROBE_PULL (pad, GST_PAD_PROBE_TYPE_PULL | GST_PAD_PROBE_TYPE_BLOCK,
       res_buf, offset, size, probe_stopped);
 
+  /* recheck sticky events because the probe might have cause a relink */
+  if (G_UNLIKELY ((ret = check_sticky (pad))) != GST_FLOW_OK)
+    goto events_error;
+
   ACQUIRE_PARENT (pad, parent, no_parent);
   GST_OBJECT_UNLOCK (pad);
 
@@ -4441,9 +4480,8 @@
 
   /* Note: we gave away ownership of the event at this point but we can still
    * print the old pointer */
-  GST_LOG_OBJECT (pad,
-      "sent event %p to peerpad %" GST_PTR_FORMAT ", ret %s", event, peerpad,
-      gst_flow_get_name (ret));
+  GST_LOG_OBJECT (pad, "sent event %p to peerpad %" GST_PTR_FORMAT ", ret %s",
+      event, peerpad, gst_flow_get_name (ret));
 
   gst_object_unref (peerpad);
 
diff --git a/gst/gstpad.h b/gst/gstpad.h
index 9bf812a..f14e7fe 100644
--- a/gst/gstpad.h
+++ b/gst/gstpad.h
@@ -192,6 +192,8 @@
  *   would be unsafe e.g. if one pad has %GST_CAPS_ANY.
  * @GST_PAD_LINK_CHECK_CAPS: Check if the pads are compatible by comparing the
  *   caps returned by gst_pad_query_caps().
+ * @GST_PAD_LINK_CHECK_DEFAULT: The default checks done when linking
+ *   pads (i.e. the ones used by gst_pad_link()).
  *
  * The amount of checking to be done when linking pads. @GST_PAD_LINK_CHECK_CAPS
  * and @GST_PAD_LINK_CHECK_TEMPLATE_CAPS are mutually exclusive. If both are
@@ -209,16 +211,10 @@
   GST_PAD_LINK_CHECK_NOTHING       = 0,
   GST_PAD_LINK_CHECK_HIERARCHY     = 1 << 0,
   GST_PAD_LINK_CHECK_TEMPLATE_CAPS = 1 << 1,
-  GST_PAD_LINK_CHECK_CAPS          = 1 << 2
-} GstPadLinkCheck;
+  GST_PAD_LINK_CHECK_CAPS          = 1 << 2,
 
-/**
- * GST_PAD_LINK_CHECK_DEFAULT:
- *
- * The default checks done when linking pads (i.e. the ones used by
- * gst_pad_link()).
- */
-#define GST_PAD_LINK_CHECK_DEFAULT ((GstPadLinkCheck) (GST_PAD_LINK_CHECK_HIERARCHY | GST_PAD_LINK_CHECK_CAPS))
+  GST_PAD_LINK_CHECK_DEFAULT       = GST_PAD_LINK_CHECK_HIERARCHY | GST_PAD_LINK_CHECK_CAPS
+} GstPadLinkCheck;
 
 /* pad states */
 /**
@@ -856,6 +852,7 @@
 gboolean		gst_pad_is_blocking			(GstPad *pad);
 
 void                    gst_pad_mark_reconfigure                (GstPad *pad);
+gboolean		gst_pad_needs_reconfigure               (GstPad *pad);
 gboolean		gst_pad_check_reconfigure               (GstPad *pad);
 
 void			gst_pad_set_element_private		(GstPad *pad, gpointer priv);
@@ -982,6 +979,8 @@
 gboolean		gst_pad_forward                         (GstPad *pad, GstPadForwardFunction forward,
 								 gpointer user_data);
 
+const gchar   * gst_pad_mode_get_name (GstPadMode mode);
+
 G_END_DECLS
 
 #endif /* __GST_PAD_H__ */
diff --git a/gst/gstpluginfeature.c b/gst/gstpluginfeature.c
index f22f2b4..065834e 100644
--- a/gst/gstpluginfeature.c
+++ b/gst/gstpluginfeature.c
@@ -317,13 +317,16 @@
     GST_DEBUG ("version string '%s' parsed to %d values", ver_str, nscan);
 
     if (nscan >= 3) {
-      /* FIXME 1.0: Remove this before doing the actual 1.0.0 release */
-      if ((major == 0 && minor == 11 && micro >= 90) ||
-          (major == 0 && minor == 11 && micro == 89 && nano > 0)) {
-        major = 1;
-        minor = 0;
-        micro = 0;
-        nano = 0;
+      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)
diff --git a/gst/gstpreset.c b/gst/gstpreset.c
index fb20fe8..404f34a 100644
--- a/gst/gstpreset.c
+++ b/gst/gstpreset.c
@@ -55,10 +55,6 @@
  *      wide
  *     - can we use a lock inside a names shared memory segment?
  *
- * - need to add support for GstChildProxy
- *   we can do this in a next iteration, the format is flexible enough
- *   http://www.buzztard.org/index.php/Preset_handling_interface
- *
  * - should there be a 'preset-list' property to get the preset list
  *   (and to connect a notify:: to to listen for changes)
  *   we could use gnome_vfs_monitor_add() to monitor the user preset_file.
@@ -66,33 +62,14 @@
  * - should there be a 'preset-name' property so that we can set a preset via
  *   gst-launch, or should we handle this with special syntax in gst-launch:
  *   gst-launch element preset:<preset-name> property=value ...
- *   - this would alloow to hanve preset-bundles too (a preset on bins that
+ *   - this would allow to have preset-bundles too (a preset on bins that
  *     specifies presets for children
- *
- * - GstChildProxy suport
- *   - if we stick with GParamSpec **_list_properties()
- *     we need to use g_param_spec_set_qdata() to specify the instance on each GParamSpec
- *     OBJECT_LOCK(obj);  // ChildProxy needs GstIterator support
- *     num=gst_child_proxy_get_children_count(obj);
- *     for(i=0;i<num;i++) {
- *       child=gst_child_proxy_get_child_by_index(obj,i);
- *       // v1 ----
- *       g_object_class_list_properties(child,&num);
- *       // foreach prop
- *       //   g_param_spec_set_qdata(prop, quark, (gpointer)child);
- *       //   add to result
- *       // v2 ----
- *       // children have to implement preset-iface too tag the returned GParamSpec* with the owner
- *       props=gst_preset_list_properties(child);
- *       // add props to result
- *     }
- *     OBJECT_UNLOCK(obj);
- *
  */
 
 #include "gst_private.h"
 
 #include "gstpreset.h"
+#include "gstchildproxy.h"
 #include "gstinfo.h"
 #include "gstvalue.h"
 
@@ -119,7 +96,7 @@
 
 /*static GQuark property_list_quark = 0;*/
 
-/* the application can set a custom path that is checked in addition to standart
+/* the application can set a custom path that is checked in addition to standard
  * system and user dirs. This helps to develop new presets first local to the
  * application.
  */
@@ -149,7 +126,7 @@
   gchar *preset_path;
   const gchar *element_name;
 
-  /* we use the element name when we must contruct the paths */
+  /* we use the element name when we must construct the paths */
   element_name = G_OBJECT_TYPE_NAME (preset);
   GST_INFO_OBJECT (preset, "element_name: '%s'", element_name);
 
@@ -236,7 +213,7 @@
 
   /* parse version (e.g. 0.10.15.1) to guint64 */
   num = sscanf (str_version, "%u.%u.%u.%u", &major, &minor, &micro, &nano);
-  /* make sure we have atleast "major.minor" */
+  /* make sure we have at least "major.minor" */
   if (num > 1) {
     guint64 version;
 
@@ -486,42 +463,66 @@
 gst_preset_default_get_property_names (GstPreset * preset)
 {
   GParamSpec **props;
-  guint i, j, n_props;
+  guint i, j = 0, n_props;
   GObjectClass *gclass;
-  gchar **result;
+  gboolean is_child_proxy;
+  gchar **result = NULL;
 
   gclass = G_OBJECT_CLASS (GST_ELEMENT_GET_CLASS (preset));
+  is_child_proxy = GST_IS_CHILD_PROXY (preset);
 
-  /* get a list of normal properties. 
-   * FIXME, change this for childproxy support. */
+  /* get a list of object properties */
   props = g_object_class_list_properties (gclass, &n_props);
-  if (!props)
-    goto no_properties;
+  if (props) {
+    /* allocate array big enough to hold the worst case, including a terminating
+     * NULL pointer. */
+    result = g_new (gchar *, n_props + 1);
 
-  /* allocate array big enough to hold the worst case, including a terminating
-   * NULL pointer. */
-  result = g_new (gchar *, n_props + 1);
-
-  /* now filter out the properties that we can use for presets */
-  GST_DEBUG_OBJECT (preset, "  filtering properties: %u", n_props);
-  for (i = j = 0; i < n_props; i++) {
-    if (preset_skip_property (props[i]))
-      continue;
-
-    /* copy and increment out pointer */
-    result[j++] = g_strdup (props[i]->name);
+    /* now filter out the properties that we can use for presets */
+    GST_DEBUG_OBJECT (preset, "  filtering properties: %u", n_props);
+    for (i = 0; i < n_props; i++) {
+      if (preset_skip_property (props[i]))
+        continue;
+      GST_DEBUG_OBJECT (preset, "    using: %s", props[i]->name);
+      result[j++] = g_strdup (props[i]->name);
+    }
+    g_free (props);
   }
-  result[j] = NULL;
-  g_free (props);
 
-  return result;
+  if (is_child_proxy) {
+    guint c, n_children;
+    GObject *child;
 
-  /* ERRORS */
-no_properties:
-  {
+    n_children = gst_child_proxy_get_children_count ((GstChildProxy *) preset);
+    for (c = 0; c < n_children; c++) {
+      child = gst_child_proxy_get_child_by_index ((GstChildProxy *) preset, c);
+      gclass = G_OBJECT_CLASS (GST_ELEMENT_GET_CLASS (child));
+
+      props = g_object_class_list_properties (gclass, &n_props);
+      if (props) {
+        /* resize property name array */
+        result = g_renew (gchar *, result, j + n_props + 1);
+
+        /* now filter out the properties that we can use for presets */
+        GST_DEBUG_OBJECT (preset, "  filtering properties: %u", n_props);
+        for (i = 0; i < n_props; i++) {
+          if (preset_skip_property (props[i]))
+            continue;
+          GST_DEBUG_OBJECT (preset, "    using: %s::%s",
+              GST_OBJECT_NAME (child), props[i]->name);
+          result[j++] = g_strdup_printf ("%s::%s", GST_OBJECT_NAME (child),
+              props[i]->name);
+        }
+        g_free (props);
+      }
+    }
+  }
+  if (!result) {
     GST_INFO_OBJECT (preset, "object has no properties");
-    return NULL;
+  } else {
+    result[j] = NULL;
   }
+  return result;
 }
 
 /* load the presets of @name for the instance @preset. Returns %FALSE if something
@@ -533,6 +534,7 @@
   gchar **props;
   guint i;
   GObjectClass *gclass;
+  gboolean is_child_proxy;
 
   /* get the presets from the type */
   if (!(presets = preset_get_keyfile (preset)))
@@ -549,13 +551,14 @@
     goto no_properties;
 
   gclass = G_OBJECT_CLASS (GST_ELEMENT_GET_CLASS (preset));
+  is_child_proxy = GST_IS_CHILD_PROXY (preset);
 
   /* for each of the property names, find the preset parameter and try to
    * configure the property with its value */
   for (i = 0; props[i]; i++) {
     gchar *str;
     GValue gvalue = { 0, };
-    GParamSpec *property;
+    GParamSpec *property = NULL;
 
     /* check if we have a settings for this element property */
     if (!(str = g_key_file_get_value (presets, name, props[i], NULL))) {
@@ -567,8 +570,13 @@
     GST_DEBUG_OBJECT (preset, "setting value '%s' for property '%s'", str,
         props[i]);
 
-    /* FIXME, change for childproxy to get the property and element.  */
-    if (!(property = g_object_class_find_property (gclass, props[i]))) {
+    if (is_child_proxy) {
+      gst_child_proxy_lookup ((GstChildProxy *) preset, props[i], NULL,
+          &property);
+    } else {
+      property = g_object_class_find_property (gclass, props[i]);
+    }
+    if (!property) {
       /* the parameter was in the keyfile, the element said it supported it but
        * then the property was not found in the element. This should not happen. */
       GST_WARNING_OBJECT (preset, "property '%s' not in object", props[i]);
@@ -580,8 +588,12 @@
      * the object property */
     g_value_init (&gvalue, property->value_type);
     if (gst_value_deserialize (&gvalue, str)) {
-      /* FIXME, change for childproxy support */
-      g_object_set_property (G_OBJECT (preset), props[i], &gvalue);
+      if (is_child_proxy) {
+        gst_child_proxy_set_property ((GstChildProxy *) preset, props[i],
+            &gvalue);
+      } else {
+        g_object_set_property ((GObject *) preset, props[i], &gvalue);
+      }
     } else {
       GST_WARNING_OBJECT (preset,
           "deserialization of value '%s' for property '%s' failed", str,
@@ -701,6 +713,7 @@
   gchar **props;
   guint i;
   GObjectClass *gclass;
+  gboolean is_child_proxy;
 
   GST_INFO_OBJECT (preset, "saving new preset: %s", name);
 
@@ -713,16 +726,22 @@
     goto no_properties;
 
   gclass = G_OBJECT_CLASS (GST_ELEMENT_GET_CLASS (preset));
+  is_child_proxy = GST_IS_CHILD_PROXY (preset);
 
   /* loop over the object properties and store the property value in the
    * keyfile */
   for (i = 0; props[i]; i++) {
     GValue gvalue = { 0, };
     gchar *str;
-    GParamSpec *property;
+    GParamSpec *property = NULL;
 
-    /* FIXME, change for childproxy to get the property and element.  */
-    if (!(property = g_object_class_find_property (gclass, props[i]))) {
+    if (is_child_proxy) {
+      gst_child_proxy_lookup ((GstChildProxy *) preset, props[i], NULL,
+          &property);
+    } else {
+      property = g_object_class_find_property (gclass, props[i]);
+    }
+    if (!property) {
       /* the element said it supported the property but then it does not have
        * that property. This should not happen. */
       GST_WARNING_OBJECT (preset, "property '%s' not in object", props[i]);
@@ -730,8 +749,12 @@
     }
 
     g_value_init (&gvalue, property->value_type);
-    /* FIXME, change for childproxy */
-    g_object_get_property (G_OBJECT (preset), props[i], &gvalue);
+    if (is_child_proxy) {
+      gst_child_proxy_get_property ((GstChildProxy *) preset, props[i],
+          &gvalue);
+    } else {
+      g_object_get_property ((GObject *) preset, props[i], &gvalue);
+    }
 
     if ((str = gst_value_serialize (&gvalue))) {
       g_key_file_set_string (presets, name, props[i], (gpointer) str);
diff --git a/gst/gstquark.c b/gst/gstquark.c
index dc439ed..6384bfd 100644
--- a/gst/gstquark.c
+++ b/gst/gstquark.c
@@ -43,7 +43,8 @@
   "GstMessageError", "GstMessageWarning", "GstMessageInfo",
   "GstMessageBuffering", "GstMessageStateChanged", "GstMessageClockProvide",
   "GstMessageClockLost", "GstMessageNewClock", "GstMessageStructureChange",
-  "GstMessageSegmentStart", "GstMessageSegmentDone", "GstMessageDuration",
+  "GstMessageSegmentStart", "GstMessageSegmentDone",
+  "GstMessageDurationChanged",
   "GstMessageAsyncDone", "GstMessageRequestState", "GstMessageStreamStatus",
   "GstQueryPosition", "GstQueryDuration", "GstQueryLatency", "GstQueryConvert",
   "GstQuerySegment", "GstQuerySeeking", "GstQueryFormats", "GstQueryBuffering",
diff --git a/gst/gstquark.h b/gst/gstquark.h
index e77af84..f03d2fd 100644
--- a/gst/gstquark.h
+++ b/gst/gstquark.h
@@ -96,7 +96,7 @@
   GST_QUARK_MESSAGE_STRUCTURE_CHANGE = 67,
   GST_QUARK_MESSAGE_SEGMENT_START = 68,
   GST_QUARK_MESSAGE_SEGMENT_DONE = 69,
-  GST_QUARK_MESSAGE_DURATION = 70,
+  GST_QUARK_MESSAGE_DURATION_CHANGED = 70,
   GST_QUARK_MESSAGE_ASYNC_DONE = 71,
   GST_QUARK_MESSAGE_REQUEST_STATE = 72,
   GST_QUARK_MESSAGE_STREAM_STATUS = 73,
diff --git a/gst/gstquery.c b/gst/gstquery.c
index 021c527..008cf55 100644
--- a/gst/gstquery.c
+++ b/gst/gstquery.c
@@ -2096,6 +2096,16 @@
  *
  * Check if @query has scheduling mode set.
  *
+ * <note>
+ *   <para>
+ *     When checking if upstream supports pull mode, it is usually not
+ *     enough to just check for GST_PAD_MODE_PULL with this function, you
+ *     also want to check whether the scheduling flags returned by
+ *     gst_query_parse_scheduling() have the seeking flag set (meaning
+ *     random access is supported, not only sequential pulls).
+ *   </para>
+ * </note>
+ *
  * Returns: TRUE when @mode is in the list of scheduling modes.
  */
 gboolean
@@ -2120,6 +2130,32 @@
 }
 
 /**
+ * gst_query_has_scheduling_mode_with_flags:
+ * @query: a GST_QUERY_SCHEDULING type query #GstQuery
+ * @mode: the scheduling mode
+ * @flags: #GstSchedulingFlags
+ *
+ * Check if @query has scheduling mode set and @flags is set in
+ * query scheduling flags.
+ *
+ * Returns: TRUE when @mode is in the list of scheduling modes
+ *    and @flags are compatible with query flags.
+ */
+gboolean
+gst_query_has_scheduling_mode_with_flags (GstQuery * query, GstPadMode mode,
+    GstSchedulingFlags flags)
+{
+  GstSchedulingFlags sched_flags;
+
+  g_return_val_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_SCHEDULING, FALSE);
+
+  gst_query_parse_scheduling (query, &sched_flags, NULL, NULL, NULL);
+
+  return ((flags & sched_flags) == flags) &&
+      gst_query_has_scheduling_mode (query, mode);
+}
+
+/**
  * gst_query_new_accept_caps:
  * @caps: a fixed #GstCaps
  *
diff --git a/gst/gstquery.h b/gst/gstquery.h
index 5c88f55..47fec23 100644
--- a/gst/gstquery.h
+++ b/gst/gstquery.h
@@ -456,6 +456,8 @@
 guint           gst_query_get_n_scheduling_modes    (GstQuery *query);
 GstPadMode      gst_query_parse_nth_scheduling_mode (GstQuery *query, guint index);
 gboolean        gst_query_has_scheduling_mode       (GstQuery *query, GstPadMode mode);
+gboolean        gst_query_has_scheduling_mode_with_flags (GstQuery * query, GstPadMode mode,
+                                                    GstSchedulingFlags flags);
 
 /* accept-caps query */
 GstQuery *      gst_query_new_accept_caps          (GstCaps *caps) G_GNUC_MALLOC;
diff --git a/gst/gstregistry.c b/gst/gstregistry.c
index 85b174d..a4ec279 100644
--- a/gst/gstregistry.c
+++ b/gst/gstregistry.c
@@ -143,7 +143,9 @@
   GList *plugins;
   GList *features;
 
+#if 0
   GList *paths;
+#endif
 
   int cache_file;
 
@@ -336,6 +338,7 @@
   return registry;
 }
 
+#if 0
 /**
  * gst_registry_add_path:
  * @registry: the registry to add the path to
@@ -404,7 +407,7 @@
 
   return list;
 }
-
+#endif
 
 /**
  * gst_registry_add_plugin:
diff --git a/gst/gstregistry.h b/gst/gstregistry.h
index b7c4835..f17fe7f 100644
--- a/gst/gstregistry.h
+++ b/gst/gstregistry.h
@@ -62,8 +62,11 @@
 GstRegistry *           gst_registry_get                (void);
 
 gboolean                gst_registry_scan_path          (GstRegistry *registry, const gchar *path);
+
+#if 0
 void                    gst_registry_add_path           (GstRegistry * registry, const gchar * path);
 GList*                  gst_registry_get_path_list      (GstRegistry *registry);
+#endif
 
 gboolean                gst_registry_add_plugin         (GstRegistry *registry, GstPlugin *plugin);
 void                    gst_registry_remove_plugin      (GstRegistry *registry, GstPlugin *plugin);
diff --git a/gst/gstsample.c b/gst/gstsample.c
index 618d328..93cb0b0 100644
--- a/gst/gstsample.c
+++ b/gst/gstsample.c
@@ -59,7 +59,7 @@
   GstSample *copy;
 
   copy = gst_sample_new (sample->buffer, sample->caps, &sample->segment,
-      gst_structure_copy (sample->info));
+      (sample->info) ? gst_structure_copy (sample->info) : NULL);
 
   return copy;
 }
@@ -73,7 +73,10 @@
     gst_buffer_unref (sample->buffer);
   if (sample->caps)
     gst_caps_unref (sample->caps);
-
+  if (sample->info) {
+    gst_structure_set_parent_refcount (sample->info, NULL);
+    gst_structure_free (sample->info);
+  }
   g_slice_free1 (sizeof (GstSample), sample);
 }
 
diff --git a/gst/gstsegment.c b/gst/gstsegment.c
index 0badbca..86c9cbe 100644
--- a/gst/gstsegment.c
+++ b/gst/gstsegment.c
@@ -158,7 +158,7 @@
  * @segment: a #GstSegment structure.
  * @format: the format of the segment.
  *
- * The start/last_stop positions are set to 0 and the stop/duration
+ * The start/position fields are set to 0 and the stop/duration
  * fields are set to -1 (unknown). The default rate of 1.0 and no
  * flags are set.
  *
diff --git a/gst/gsttaglist.c b/gst/gsttaglist.c
index 7de389f..20237bf 100644
--- a/gst/gsttaglist.c
+++ b/gst/gsttaglist.c
@@ -739,6 +739,10 @@
  * function. The tag list will make copies of any arguments passed
  * (e.g. strings, buffers).
  *
+ * After creation you might also want to set a #GstTagScope on the returned
+ * taglist to signal if the contained tags are global or stream tags. By
+ * default stream scope is assumes. See gst_tag_list_set_scope().
+ *
  * Free-function: gst_tag_list_unref
  *
  * Returns: (transfer full): a new #GstTagList. Free with gst_tag_list_unref()
@@ -792,7 +796,7 @@
  * @scope: new scope for @list
  *
  * Sets the scope of @list to @scope. By default the scope
- * of a taglist is #GST_TAG_SCOPE_STREAM.
+ * of a taglist is stream scope.
  *
  */
 void
@@ -1257,7 +1261,13 @@
        */
       return;
     }
-    gst_tag_list_add_value_internal (list, mode, tag, &value, info);
+    /* Facilitate GstBuffer -> GstSample transition */
+    if (G_UNLIKELY (info->type == GST_TYPE_SAMPLE &&
+            !GST_IS_SAMPLE (value.data[0].v_pointer))) {
+      g_warning ("Expected GstSample argument for tag '%s'", tag);
+    } else {
+      gst_tag_list_add_value_internal (list, mode, tag, &value, info);
+    }
     g_value_unset (&value);
     tag = va_arg (var_args, gchar *);
   }
diff --git a/gst/gsttaglist.h b/gst/gsttaglist.h
index e6f1648..a818105 100644
--- a/gst/gsttaglist.h
+++ b/gst/gsttaglist.h
@@ -213,7 +213,7 @@
 /* tag lists */
 
 /**
- * GstTagEventScope:
+ * GstTagScope:
  * @GST_TAG_SCOPE_STREAM: tags specific to this single stream
  * @GST_TAG_SCOPE_GLOBAL: global tags for the complete medium
  *
diff --git a/gst/gsttoc.c b/gst/gsttoc.c
index 0a15156..0b67126 100644
--- a/gst/gsttoc.c
+++ b/gst/gsttoc.c
@@ -35,28 +35,31 @@
  *
  * Using TOC is very easy. Firstly, create #GstToc structure which represents root
  * contents of the source. You can also attach TOC-specific tags to it. Then fill
- * it with #GstTocEntry entries by appending them to #GstToc.entries #GstTocEntry.subentries
- * lists. You should use GST_TOC_ENTRY_TYPE_CHAPTER for generic TOC entry and
- * GST_TOC_ENTRY_TYPE_EDITION for the entries which are considered to be alternatives
- * (like DVD angles, Matroska editions and so on).
+ * it with #GstTocEntry entries by appending them to the #GstToc using
+ * gst_toc_append_entry(), and appending subentries to a #GstTocEntry using
+ * gst_toc_entry_append_sub_entry().
  *
  * Note that root level of the TOC can contain only either editions or chapters. You
  * should not mix them together at the same level. Otherwise you will get serialization
  * /deserialization errors. Make sure that no one of the entries has negative start and
  *  stop values.
  *
- * Please, use #GstToc.info and #GstTocEntry.info fields in that way: create a #GstStructure,
- * put all info related to your element there and put this structure into the info field under
- * the name of your element. Some fields in the info structure can be used for internal purposes,
- * so you should use it in the way described above to not to overwrite already existent fields.
- *
  * Use gst_event_new_toc() to create a new TOC #GstEvent, and gst_event_parse_toc() to
  * parse received TOC event. Use gst_event_new_toc_select() to create a new TOC select #GstEvent,
  * and gst_event_parse_toc_select() to parse received TOC select event. The same rule for
  * the #GstMessage: gst_message_new_toc() to create new TOC #GstMessage, and
- * gst_message_parse_toc() to parse received TOC message. Also you can create a new TOC query
- * with gst_query_new_toc(), set it with gst_query_set_toc() and parse it with
- * gst_query_parse_toc().
+ * gst_message_parse_toc() to parse received TOC message.
+ *
+ * TOCs can have global scope or current scope. Global scope TOCs contain
+ * all entries that can possibly be selected using a toc select event, and
+ * are what an application is usually interested in. TOCs with current scope
+ * only contain the parts of the TOC relevant to the currently selected/playing
+ * stream; the current scope TOC is used by downstream elements such as muxers
+ * to write correct TOC entries when transcoding files, for example. When
+ * playing a DVD, the global TOC would contain a hierarchy of all titles,
+ * chapters and angles, for example, while the current TOC would only contain
+ * the chapters for the currently playing title if playback of a specific
+ * title was requested.
  */
 
 #ifdef HAVE_CONFIG_H
@@ -421,7 +424,7 @@
  * Copy #GstToc with all subentries (deep copy).
  *
  * Returns: newly allocated #GstToc in case of success, NULL otherwise;
- * free it when done with gst_toc_free().
+ * free it when done with gst_toc_unref().
  */
 static GstToc *
 gst_toc_copy (const GstToc * toc)
@@ -616,7 +619,7 @@
 }
 
 /**
- * gst_toc_entry_get_uid:
+ * gst_toc_entry_get_sub_entries:
  * @entry: A #GstTocEntry instance
  *
  * Gets the sub-entries of @entry.
diff --git a/gst/gstutils.c b/gst/gstutils.c
index d94ec7c..b127afd 100644
--- a/gst/gstutils.c
+++ b/gst/gstutils.c
@@ -3536,7 +3536,8 @@
   g_return_val_if_reached (0);
 }
 
-/** gst_pad_create_stream_id:
+/**
+ * gst_pad_create_stream_id_printf_valist:
  * @pad: A source #GstPad
  * @parent: Parent #GstElement of @pad
  * @stream_id: (allow-none): The stream-id
@@ -3576,7 +3577,7 @@
    * provide a stream-id for every source pad, otherwise
    * all source pads will have the same and are not
    * distinguishable */
-  g_return_val_if_fail (parent->numsrcpads == 1 || stream_id, NULL);
+  g_return_val_if_fail (parent->numsrcpads <= 1 || stream_id, NULL);
 
   /* First try to get the upstream stream-start stream-id from the sinkpad.
    * This will only work for non-source elements */
@@ -3640,7 +3641,8 @@
   return new_stream_id;
 }
 
-/** gst_pad_create_stream_id:
+/**
+ * gst_pad_create_stream_id_printf:
  * @pad: A source #GstPad
  * @parent: Parent #GstElement of @pad
  * @stream_id: (allow-none): The stream-id
@@ -3677,7 +3679,8 @@
   return new_stream_id;
 }
 
-/** gst_pad_create_stream_id:
+/**
+ * gst_pad_create_stream_id:
  * @pad: A source #GstPad
  * @parent: Parent #GstElement of @pad
  * @stream_id: (allow-none): The stream-id
diff --git a/gst/gstvalue.c b/gst/gstvalue.c
index da46859..997a5e1 100644
--- a/gst/gstvalue.c
+++ b/gst/gstvalue.c
@@ -186,10 +186,15 @@
   for (i = 0; i < alen; i++) {
     v = &g_array_index (array, GValue, i);
     s_val = gst_value_serialize (v);
-    g_string_append (s, s_val);
-    g_free (s_val);
-    if (i < alen - 1) {
-      g_string_append_len (s, ", ", 2);
+    if (s_val != NULL) {
+      g_string_append (s, s_val);
+      g_free (s_val);
+      if (i < alen - 1) {
+        g_string_append_len (s, ", ", 2);
+      }
+    } else {
+      GST_WARNING ("Could not serialize list/array value of type '%s'",
+          G_VALUE_TYPE_NAME (v));
     }
   }
   g_string_append (s, end);
@@ -1839,6 +1844,7 @@
   gchar *t, *res;
   GstStructure *s;
 
+  /* FIXME: serialize segment offset as well ? */
   s = gst_structure_new ("GstSegment",
       "flags", GST_TYPE_SEGMENT_FLAGS, seg->flags,
       "rate", G_TYPE_DOUBLE, seg->rate,
@@ -2841,7 +2847,10 @@
   /* if no flags are set, try to serialize to the _NONE string */
   if (!flags) {
     fl = g_flags_get_first_value (klass, flags);
-    return g_strdup (fl->value_name);
+    if (fl)
+      return g_strdup (fl->value_name);
+    else
+      return g_strdup ("0");
   }
 
   /* some flags are set, so serialize one by one */
diff --git a/gst/parse/grammar.tab.h b/gst/parse/grammar.tab.h
index 6889bea..164198f 100644
--- a/gst/parse/grammar.tab.h
+++ b/gst/parse/grammar.tab.h
@@ -54,7 +54,7 @@
 {
 
 /* Line 2068 of yacc.c  */
-#line 624 "./grammar.y"
+#line 632 "./grammar.y"
 
     gchar *s;
     chain_t *c;
diff --git a/gst/parse/grammar.y b/gst/parse/grammar.y
index 0a62adb..cd26a2a 100644
--- a/gst/parse/grammar.y
+++ b/gst/parse/grammar.y
@@ -339,7 +339,7 @@
   GST_CAT_LOG_OBJECT (GST_CAT_PIPELINE, child_proxy, "new child %s, checking property %s",
       name, set->name);
 
-  if (gst_child_proxy_lookup (G_OBJECT (child_proxy), set->name, &target, &pspec)) {
+  if (gst_child_proxy_lookup (child_proxy, set->name, &target, &pspec)) {
     gboolean got_value = FALSE;
 
     value_type = pspec->value_type;
@@ -388,7 +388,7 @@
 static void
 gst_parse_element_set (gchar *value, GstElement *element, graph_t *graph)
 {
-  GParamSpec *pspec;
+  GParamSpec *pspec = NULL;
   gchar *pos = value;
   GValue v = { 0, };
   GObject *target = NULL;
@@ -416,13 +416,31 @@
   }
   gst_parse_unescape (pos);
 
-  if (gst_child_proxy_lookup (G_OBJECT (element), value, &target, &pspec)) {
+  if (GST_IS_CHILD_PROXY (element)) {
+    if (!gst_child_proxy_lookup (GST_CHILD_PROXY (element), value, &target, &pspec)) {
+      /* do a delayed set */
+      gst_parse_add_delayed_set (element, value, pos);
+    }
+  } else {
+    pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (element), value);
+    if (pspec != NULL) {
+      target = g_object_ref (element);
+      GST_CAT_LOG_OBJECT (GST_CAT_PIPELINE, target, "found %s property", value);
+    } else {
+      SET_ERROR (graph->error, GST_PARSE_ERROR_NO_SUCH_PROPERTY, \
+          _("no property \"%s\" in element \"%s\""), value, \
+          GST_ELEMENT_NAME (element));
+    }
+  }
+
+  if (pspec != NULL && target != NULL) {
     gboolean got_value = FALSE;
 
     value_type = pspec->value_type;
 
-    GST_CAT_LOG_OBJECT (GST_CAT_PIPELINE, element, "parsing property %s as a %s", pspec->name,
-      g_type_name (value_type));
+    GST_CAT_LOG_OBJECT (GST_CAT_PIPELINE, element, "parsing property %s as a %s",
+        pspec->name, g_type_name (value_type));
+
     g_value_init (&v, value_type);
     if (gst_value_deserialize (&v, pos))
       got_value = TRUE;
@@ -438,16 +456,6 @@
     if (!got_value)
       goto error;
     g_object_set_property (target, pspec->name, &v);
-  } else {
-    /* do a delayed set */
-    if (GST_IS_CHILD_PROXY (element)) {
-      gst_parse_add_delayed_set (element, value, pos);
-    }
-    else {
-      SET_ERROR (graph->error, GST_PARSE_ERROR_NO_SUCH_PROPERTY, \
-          _("no property \"%s\" in element \"%s\""), value, \
-          GST_ELEMENT_NAME (element));
-    }
   }
 
 out:
diff --git a/gstreamer.doap b/gstreamer.doap
index 5830674..d833fc0 100644
--- a/gstreamer.doap
+++ b/gstreamer.doap
@@ -40,6 +40,16 @@
 
  <release>
   <Version>
+   <revision>0.11.94</revision>
+   <branch>0.11</branch>
+   <name>Burning Spear</name>
+   <created>2012-09-14</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.11.94.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>0.11.93</revision>
    <branch>0.11</branch>
    <name>Balrog Boogie</name>
diff --git a/gstreamer.spec b/gstreamer.spec
index 97531d3..9137258 100644
--- a/gstreamer.spec
+++ b/gstreamer.spec
@@ -4,7 +4,7 @@
 %define 	_glib2		2.32.0
 
 Name: 		%{gstreamer}
-Version: 	0.11.93
+Version: 	0.11.94
 Release: 	1
 Summary: 	GStreamer streaming media framework runtime
 
diff --git a/libs/gst/base/gstbaseparse.c b/libs/gst/base/gstbaseparse.c
index 102ca72..4ab3d5c 100644
--- a/libs/gst/base/gstbaseparse.c
+++ b/libs/gst/base/gstbaseparse.c
@@ -246,6 +246,7 @@
 
   guint min_frame_size;
   gboolean passthrough;
+  gboolean pts_interpolate;
   gboolean syncable;
   gboolean has_timing_info;
   guint fps_num, fps_den;
@@ -261,8 +262,10 @@
 
   gint64 offset;
   gint64 sync_offset;
-  GstClockTime next_ts;
-  GstClockTime prev_ts;
+  GstClockTime next_pts;
+  GstClockTime next_dts;
+  GstClockTime prev_pts;
+  GstClockTime prev_dts;
   GstClockTime frame_duration;
   gboolean seen_keyframe;
   gboolean is_video;
@@ -272,7 +275,8 @@
   guint64 bytecount;
   guint64 data_bytecount;
   guint64 acc_duration;
-  GstClockTime first_frame_ts;
+  GstClockTime first_frame_pts;
+  GstClockTime first_frame_dts;
   gint64 first_frame_offset;
 
   gboolean post_min_bitrate;
@@ -315,7 +319,8 @@
   GSList *buffers_head;
   GSList *buffers_queued;
   GSList *buffers_send;
-  GstClockTime last_ts;
+  GstClockTime last_pts;
+  GstClockTime last_dts;
   gint64 last_offset;
 
   /* Pending serialized events */
@@ -423,10 +428,10 @@
 static GstFlowReturn gst_base_parse_parse_frame (GstBaseParse * parse,
     GstBaseParseFrame * frame);
 
-static gboolean gst_base_parse_sink_eventfunc (GstBaseParse * parse,
+static gboolean gst_base_parse_sink_default (GstBaseParse * parse,
     GstEvent * event);
 
-static gboolean gst_base_parse_src_eventfunc (GstBaseParse * parse,
+static gboolean gst_base_parse_src_default (GstBaseParse * parse,
     GstEvent * event);
 
 static void gst_base_parse_drain (GstBaseParse * parse);
@@ -531,8 +536,8 @@
 #endif
 
   /* Default handlers */
-  klass->sink_event = gst_base_parse_sink_eventfunc;
-  klass->src_event = gst_base_parse_src_eventfunc;
+  klass->sink_event = gst_base_parse_sink_default;
+  klass->src_event = gst_base_parse_src_default;
   klass->convert = gst_base_parse_convert_default;
 
   GST_DEBUG_CATEGORY_INIT (gst_base_parse_debug, "baseparse", 0,
@@ -712,13 +717,16 @@
   parse->priv->framecount = 0;
   parse->priv->bytecount = 0;
   parse->priv->acc_duration = 0;
-  parse->priv->first_frame_ts = GST_CLOCK_TIME_NONE;
+  parse->priv->first_frame_pts = GST_CLOCK_TIME_NONE;
+  parse->priv->first_frame_dts = GST_CLOCK_TIME_NONE;
   parse->priv->first_frame_offset = -1;
   parse->priv->estimated_duration = -1;
   parse->priv->estimated_drift = 0;
-  parse->priv->next_ts = 0;
+  parse->priv->next_pts = 0;
+  parse->priv->next_dts = 0;
   parse->priv->syncable = TRUE;
   parse->priv->passthrough = FALSE;
+  parse->priv->pts_interpolate = TRUE;
   parse->priv->has_timing_info = FALSE;
   parse->priv->post_min_bitrate = TRUE;
   parse->priv->post_avg_bitrate = TRUE;
@@ -738,7 +746,8 @@
   parse->priv->exact_position = TRUE;
   parse->priv->seen_keyframe = FALSE;
 
-  parse->priv->last_ts = GST_CLOCK_TIME_NONE;
+  parse->priv->last_dts = GST_CLOCK_TIME_NONE;
+  parse->priv->last_pts = GST_CLOCK_TIME_NONE;
   parse->priv->last_offset = 0;
 
   g_list_foreach (parse->priv->pending_events, (GFunc) gst_mini_object_unref,
@@ -779,9 +788,13 @@
 {
   GstBuffer *buffer = frame->buffer;
 
-  if (!GST_BUFFER_TIMESTAMP_IS_VALID (buffer) &&
-      GST_CLOCK_TIME_IS_VALID (parse->priv->next_ts)) {
-    GST_BUFFER_TIMESTAMP (buffer) = parse->priv->next_ts;
+  if (!GST_BUFFER_PTS_IS_VALID (buffer) &&
+      GST_CLOCK_TIME_IS_VALID (parse->priv->next_pts)) {
+    GST_BUFFER_PTS (buffer) = parse->priv->next_pts;
+  }
+  if (!GST_BUFFER_DTS_IS_VALID (buffer) &&
+      GST_CLOCK_TIME_IS_VALID (parse->priv->next_dts)) {
+    GST_BUFFER_DTS (buffer) = parse->priv->next_dts;
   }
   if (!GST_BUFFER_DURATION_IS_VALID (buffer) &&
       GST_CLOCK_TIME_IS_VALID (parse->priv->frame_duration)) {
@@ -855,53 +868,17 @@
 static gboolean
 gst_base_parse_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
 {
-  GstBaseParse *parse;
-  GstBaseParseClass *bclass;
+  GstBaseParse *parse = GST_BASE_PARSE (parent);
+  GstBaseParseClass *bclass = GST_BASE_PARSE_GET_CLASS (parse);
   gboolean ret;
 
-  parse = GST_BASE_PARSE (parent);
-  bclass = GST_BASE_PARSE_GET_CLASS (parse);
-
-  GST_DEBUG_OBJECT (parse, "handling event %d, %s", GST_EVENT_TYPE (event),
-      GST_EVENT_TYPE_NAME (event));
-
-  /* Cache all serialized events except EOS, SEGMENT and FLUSH_STOP if we have a
-   * pending segment */
-  if (parse->priv->pending_segment && GST_EVENT_IS_SERIALIZED (event)
-      && GST_EVENT_TYPE (event) != GST_EVENT_EOS
-      && GST_EVENT_TYPE (event) != GST_EVENT_SEGMENT
-      && GST_EVENT_TYPE (event) != GST_EVENT_FLUSH_START
-      && GST_EVENT_TYPE (event) != GST_EVENT_FLUSH_STOP
-      && GST_EVENT_TYPE (event) != GST_EVENT_CAPS) {
-
-    if (GST_EVENT_TYPE (event) == GST_EVENT_TAG)
-      /* See if any bitrate tags were posted */
-      gst_base_parse_handle_tag (parse, event);
-
-    parse->priv->pending_events =
-        g_list_append (parse->priv->pending_events, event);
-    ret = TRUE;
-  } else {
-    if (GST_EVENT_TYPE (event) == GST_EVENT_EOS &&
-        parse->priv->framecount < MIN_FRAMES_TO_POST_BITRATE)
-      /* We've not posted bitrate tags yet - do so now */
-      gst_base_parse_post_bitrates (parse, TRUE, TRUE, TRUE);
-
-    if (bclass->sink_event)
-      ret = bclass->sink_event (parse, event);
-    else {
-      gst_event_unref (event);
-      ret = FALSE;
-    }
-  }
-
-  GST_DEBUG_OBJECT (parse, "event handled");
+  ret = bclass->sink_event (parse, event);
 
   return ret;
 }
 
 
-/* gst_base_parse_sink_eventfunc:
+/* gst_base_parse_sink_default:
  * @parse: #GstBaseParse.
  * @event: #GstEvent to be handled.
  *
@@ -913,17 +890,19 @@
  * Returns: %TRUE if the event was handled and not need forwarding.
  */
 static gboolean
-gst_base_parse_sink_eventfunc (GstBaseParse * parse, GstEvent * event)
+gst_base_parse_sink_default (GstBaseParse * parse, GstEvent * event)
 {
-  gboolean ret;
+  GstBaseParseClass *klass = GST_BASE_PARSE_GET_CLASS (parse);
+  gboolean ret = FALSE;
+  gboolean forward_immediate = FALSE;
+
+  GST_DEBUG_OBJECT (parse, "handling event %d, %s", GST_EVENT_TYPE (event),
+      GST_EVENT_TYPE_NAME (event));
 
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_CAPS:
     {
       GstCaps *caps;
-      GstBaseParseClass *klass;
-
-      klass = GST_BASE_PARSE_GET_CLASS (parse);
 
       gst_event_parse_caps (event, &caps);
       GST_DEBUG_OBJECT (parse, "caps: %" GST_PTR_FORMAT, caps);
@@ -935,20 +914,14 @@
 
       /* will send our own caps downstream */
       gst_event_unref (event);
+      event = NULL;
       break;
     }
     case GST_EVENT_SEGMENT:
     {
       const GstSegment *in_segment;
       GstSegment out_segment;
-      gint64 offset = 0, next_ts;
-
-#if 0
-      gdouble rate, applied_rate;
-      GstFormat format;
-      gint64 start, stop, pos, next_ts;
-      gboolean update;
-#endif
+      gint64 offset = 0, next_pts;
 
       gst_event_parse_segment (event, &in_segment);
       gst_segment_init (&out_segment, GST_FORMAT_TIME);
@@ -984,7 +957,7 @@
           out_segment.stop = seek->segment.stop;
           out_segment.time = seek->segment.start;
 
-          next_ts = seek->start_ts;
+          next_pts = seek->start_ts;
           parse->priv->exact_position = seek->accurate;
           g_free (seek);
         } else {
@@ -992,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_ts);
+              GST_FORMAT_TIME, (gint64 *) & next_pts);
 
-          out_segment.start = next_ts;
+          out_segment.start = next_pts;
           out_segment.stop = GST_CLOCK_TIME_NONE;
-          out_segment.time = next_ts;
+          out_segment.time = next_pts;
 
           parse->priv->exact_position = (in_segment->start == 0);
         }
@@ -1019,12 +992,12 @@
 
         event = gst_event_new_segment (&out_segment);
 
-        next_ts = 0;
+        next_pts = 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_ts = in_segment->start;
+        next_pts = in_segment->start;
       }
 
       memcpy (&parse->segment, &out_segment, sizeof (GstSegment));
@@ -1037,8 +1010,6 @@
       /* save the segment for later, right before we push a new buffer so that
        * the caps are fixed and the next linked element can receive
        * the segment. */
-      parse->priv->pending_events =
-          g_list_append (parse->priv->pending_events, event);
       parse->priv->pending_segment = TRUE;
       ret = TRUE;
 
@@ -1052,29 +1023,30 @@
 
       parse->priv->offset = offset;
       parse->priv->sync_offset = offset;
-      parse->priv->next_ts = next_ts;
-      parse->priv->last_ts = GST_CLOCK_TIME_NONE;
+      parse->priv->next_pts = next_pts;
+      parse->priv->last_pts = GST_CLOCK_TIME_NONE;
+      parse->priv->last_dts = GST_CLOCK_TIME_NONE;
       parse->priv->discont = TRUE;
       parse->priv->seen_keyframe = FALSE;
       break;
     }
 
     case GST_EVENT_FLUSH_START:
+      GST_OBJECT_LOCK (parse);
       parse->priv->flushing = TRUE;
-      ret = gst_pad_push_event (parse->srcpad, event);
-      /* Wait for _chain() to exit by taking the srcpad STREAM_LOCK */
-      GST_PAD_STREAM_LOCK (parse->srcpad);
-      GST_PAD_STREAM_UNLOCK (parse->srcpad);
+      GST_OBJECT_UNLOCK (parse);
       break;
 
     case GST_EVENT_FLUSH_STOP:
-      ret = gst_pad_push_event (parse->srcpad, event);
       gst_adapter_clear (parse->priv->adapter);
       gst_base_parse_clear_queues (parse);
       parse->priv->flushing = FALSE;
       parse->priv->discont = TRUE;
-      parse->priv->last_ts = GST_CLOCK_TIME_NONE;
+      parse->priv->last_pts = GST_CLOCK_TIME_NONE;
+      parse->priv->last_dts = GST_CLOCK_TIME_NONE;
       parse->priv->new_frame = TRUE;
+
+      forward_immediate = TRUE;
       break;
 
     case GST_EVENT_EOS:
@@ -1099,15 +1071,79 @@
         parse->priv->pending_events = NULL;
         parse->priv->pending_segment = FALSE;
       }
-      ret = gst_pad_push_event (parse->srcpad, event);
+      if (parse->priv->framecount < MIN_FRAMES_TO_POST_BITRATE) {
+        /* We've not posted bitrate tags yet - do so now */
+        gst_base_parse_post_bitrates (parse, TRUE, TRUE, TRUE);
+      }
+      forward_immediate = TRUE;
       break;
+    case GST_EVENT_CUSTOM_DOWNSTREAM:{
+      /* FIXME: Code duplicated from libgstvideo because core can't depend on -base */
+#ifndef GST_VIDEO_EVENT_STILL_STATE_NAME
+#define GST_VIDEO_EVENT_STILL_STATE_NAME "GstEventStillFrame"
+#endif
 
+      const GstStructure *s;
+      gboolean ev_still_state;
+
+      s = gst_event_get_structure (event);
+      if (s != NULL &&
+          gst_structure_has_name (s, GST_VIDEO_EVENT_STILL_STATE_NAME) &&
+          gst_structure_get_boolean (s, "still-state", &ev_still_state)) {
+        if (ev_still_state) {
+          GST_DEBUG_OBJECT (parse, "draining current data for still-frame");
+          if (parse->segment.rate > 0.0)
+            gst_base_parse_drain (parse);
+          else
+            gst_base_parse_finish_fragment (parse, TRUE);
+        }
+        forward_immediate = TRUE;
+      }
+      break;
+    }
+    case GST_EVENT_GAP:
+    {
+      GST_DEBUG_OBJECT (parse, "draining current data due to gap event");
+      if (parse->segment.rate > 0.0)
+        gst_base_parse_drain (parse);
+      else
+        gst_base_parse_finish_fragment (parse, TRUE);
+      forward_immediate = TRUE;
+      break;
+    }
+    case GST_EVENT_TAG:
+      /* See if any bitrate tags were posted */
+      gst_base_parse_handle_tag (parse, event);
+      break;
     default:
-      ret =
-          gst_pad_event_default (parse->sinkpad, GST_OBJECT_CAST (parse),
-          event);
       break;
   }
+
+  /* Forward non-serialized events and EOS/FLUSH_STOP immediately.
+   * For EOS this is required because no buffer or serialized event
+   * will come after EOS and nothing could trigger another
+   * _finish_frame() call.   *
+   * If the subclass handles sending of EOS manually it can return
+   * _DROPPED from ::finish() and all other subclasses should have
+   * decoded/flushed all remaining data before this
+   *
+   * For FLUSH_STOP this is required because it is expected
+   * to be forwarded immediately and no buffers are queued anyway.
+   */
+  if (event) {
+    if (!GST_EVENT_IS_SERIALIZED (event) || forward_immediate) {
+      ret = gst_pad_push_event (parse->srcpad, event);
+    } else {
+      // GST_VIDEO_DECODER_STREAM_LOCK (decoder);
+      parse->priv->pending_events =
+          g_list_prepend (parse->priv->pending_events, event);
+      // GST_VIDEO_DECODER_STREAM_UNLOCK (decoder);
+      ret = TRUE;
+    }
+  }
+
+  GST_DEBUG_OBJECT (parse, "event handled");
+
   return ret;
 }
 
@@ -1203,7 +1239,7 @@
   return parse->priv->syncable;
 }
 
-/* gst_base_parse_src_eventfunc:
+/* gst_base_parse_src_default:
  * @parse: #GstBaseParse.
  * @event: #GstEvent that was received.
  *
@@ -1212,7 +1248,7 @@
  * Returns: TRUE if the event was handled and can be dropped.
  */
 static gboolean
-gst_base_parse_src_eventfunc (GstBaseParse * parse, GstEvent * event)
+gst_base_parse_src_default (GstBaseParse * parse, GstEvent * event)
 {
   gboolean res = FALSE;
 
@@ -1356,8 +1392,7 @@
         if (parse->priv->estimated_drift > GST_SECOND ||
             parse->priv->estimated_drift < -GST_SECOND) {
           gst_element_post_message (GST_ELEMENT (parse),
-              gst_message_new_duration (GST_OBJECT (parse),
-                  GST_FORMAT_TIME, dest_value));
+              gst_message_new_duration_changed (GST_OBJECT (parse)));
           parse->priv->estimated_drift = 0;
         }
         parse->priv->estimated_duration = dest_value;
@@ -1778,7 +1813,7 @@
 
   /* track skipping */
   if (*skip > 0) {
-    GstClockTime timestamp;
+    GstClockTime pts, dts;
     GstBuffer *outbuf;
 
     GST_LOG_OBJECT (parse, "finding sync, skipping %d bytes", *skip);
@@ -1786,10 +1821,12 @@
       /* reverse playback, and no frames found yet, so we are skipping
        * the leading part of a fragment, which may form the tail of
        * fragment coming later, hopefully subclass skips efficiently ... */
-      timestamp = gst_adapter_prev_timestamp (parse->priv->adapter, NULL);
+      pts = gst_adapter_prev_pts (parse->priv->adapter, NULL);
+      dts = gst_adapter_prev_dts (parse->priv->adapter, NULL);
       outbuf = gst_adapter_take_buffer (parse->priv->adapter, *skip);
       outbuf = gst_buffer_make_writable (outbuf);
-      GST_BUFFER_TIMESTAMP (outbuf) = timestamp;
+      GST_BUFFER_PTS (outbuf) = pts;
+      GST_BUFFER_DTS (outbuf) = dts;
       parse->priv->buffers_head =
           g_slist_prepend (parse->priv->buffers_head, outbuf);
       outbuf = NULL;
@@ -1843,13 +1880,14 @@
   /* check if subclass/format can provide ts.
    * If so, that allows and enables extra seek and duration determining options */
   if (G_UNLIKELY (parse->priv->first_frame_offset < 0)) {
-    if (GST_BUFFER_TIMESTAMP_IS_VALID (buffer) && parse->priv->has_timing_info
+    if (GST_BUFFER_PTS_IS_VALID (buffer) && parse->priv->has_timing_info
         && parse->priv->pad_mode == GST_PAD_MODE_PULL) {
       parse->priv->first_frame_offset = offset;
-      parse->priv->first_frame_ts = GST_BUFFER_TIMESTAMP (buffer);
+      parse->priv->first_frame_pts = GST_BUFFER_PTS (buffer);
+      parse->priv->first_frame_dts = GST_BUFFER_DTS (buffer);
       GST_DEBUG_OBJECT (parse, "subclass provided ts %" GST_TIME_FORMAT
           " for first frame at offset %" G_GINT64_FORMAT,
-          GST_TIME_ARGS (parse->priv->first_frame_ts),
+          GST_TIME_ARGS (parse->priv->first_frame_pts),
           parse->priv->first_frame_offset);
       if (!GST_CLOCK_TIME_IS_VALID (parse->priv->duration)) {
         gint64 off;
@@ -1869,21 +1907,28 @@
   /* again use default handler to add missing metadata;
    * we may have new information on frame properties */
   gst_base_parse_parse_frame (parse, frame);
-  if (GST_BUFFER_TIMESTAMP_IS_VALID (buffer) &&
-      GST_BUFFER_DURATION_IS_VALID (buffer)) {
-    parse->priv->next_ts =
-        GST_BUFFER_TIMESTAMP (buffer) + GST_BUFFER_DURATION (buffer);
+
+  parse->priv->next_pts = GST_CLOCK_TIME_NONE;
+  if (GST_BUFFER_DTS_IS_VALID (buffer) && GST_BUFFER_DURATION_IS_VALID (buffer)) {
+    parse->priv->next_dts =
+        GST_BUFFER_DTS (buffer) + GST_BUFFER_DURATION (buffer);
+    if (parse->priv->pts_interpolate && GST_BUFFER_PTS_IS_VALID (buffer)) {
+      GstClockTime next_pts =
+          GST_BUFFER_PTS (buffer) + GST_BUFFER_DURATION (buffer);
+      if (next_pts >= parse->priv->next_dts)
+        parse->priv->next_pts = next_pts;
+    }
   } else {
     /* we lost track, do not produce bogus time next time around
      * (probably means parser subclass has given up on parsing as well) */
     GST_DEBUG_OBJECT (parse, "no next fallback timestamp");
-    parse->priv->next_ts = GST_CLOCK_TIME_NONE;
+    parse->priv->next_dts = GST_CLOCK_TIME_NONE;
   }
 
   if (parse->priv->upstream_seekable && parse->priv->exact_position &&
-      GST_BUFFER_TIMESTAMP_IS_VALID (buffer))
+      GST_BUFFER_PTS_IS_VALID (buffer))
     gst_base_parse_add_index_entry (parse, offset,
-        GST_BUFFER_TIMESTAMP (buffer),
+        GST_BUFFER_PTS (buffer),
         !GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_FLAG_DELTA_UNIT), FALSE);
 
   /* All OK, push queued frames if there are any */
@@ -1966,13 +2011,14 @@
 
   /* Push pending events, including NEWSEGMENT events */
   if (G_UNLIKELY (parse->priv->pending_events)) {
+    GList *r = g_list_reverse (parse->priv->pending_events);
     GList *l;
 
-    for (l = parse->priv->pending_events; l != NULL; l = l->next) {
+    parse->priv->pending_events = NULL;
+    for (l = r; l != NULL; l = l->next) {
       gst_pad_push_event (parse->srcpad, GST_EVENT (l->data));
     }
-    g_list_free (parse->priv->pending_events);
-    parse->priv->pending_events = NULL;
+    g_list_free (r);
     parse->priv->pending_segment = FALSE;
   }
 
@@ -2290,8 +2336,10 @@
 
   /* invalidate so no fall-back timestamping is performed;
    * ok if taken from subclass or upstream */
-  parse->priv->next_ts = GST_CLOCK_TIME_NONE;
-  parse->priv->prev_ts = GST_CLOCK_TIME_NONE;
+  parse->priv->next_pts = GST_CLOCK_TIME_NONE;
+  parse->priv->prev_pts = GST_CLOCK_TIME_NONE;
+  parse->priv->next_dts = GST_CLOCK_TIME_NONE;
+  parse->priv->prev_dts = GST_CLOCK_TIME_NONE;
   /* prevent it hanging around stop all the time */
   parse->segment.position = GST_CLOCK_TIME_NONE;
   /* mark next run */
@@ -2350,29 +2398,40 @@
 
   /* add metadata (if needed to queued buffers */
   GST_LOG_OBJECT (parse, "last timestamp: %" GST_TIME_FORMAT,
-      GST_TIME_ARGS (parse->priv->last_ts));
+      GST_TIME_ARGS (parse->priv->last_pts));
   while (parse->priv->buffers_queued) {
     buf = GST_BUFFER_CAST (parse->priv->buffers_queued->data);
 
     /* no touching if upstream or parsing provided time */
-    if (GST_BUFFER_TIMESTAMP_IS_VALID (buf)) {
+    if (GST_BUFFER_PTS_IS_VALID (buf)) {
       GST_LOG_OBJECT (parse, "buffer has time %" GST_TIME_FORMAT,
-          GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buf)));
-    } else if (GST_CLOCK_TIME_IS_VALID (parse->priv->last_ts) &&
-        GST_BUFFER_DURATION_IS_VALID (buf)) {
-      if (G_LIKELY (GST_BUFFER_DURATION (buf) <= parse->priv->last_ts))
-        parse->priv->last_ts -= GST_BUFFER_DURATION (buf);
-      else
-        parse->priv->last_ts = 0;
-      GST_BUFFER_TIMESTAMP (buf) = parse->priv->last_ts;
-      GST_LOG_OBJECT (parse, "applied time %" GST_TIME_FORMAT,
-          GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buf)));
+          GST_TIME_ARGS (GST_BUFFER_PTS (buf)));
+    } else if (GST_BUFFER_DURATION_IS_VALID (buf)) {
+      if (GST_CLOCK_TIME_IS_VALID (parse->priv->last_pts)) {
+        if (G_LIKELY (GST_BUFFER_DURATION (buf) <= parse->priv->last_pts))
+          parse->priv->last_pts -= GST_BUFFER_DURATION (buf);
+        else
+          parse->priv->last_pts = 0;
+        GST_BUFFER_PTS (buf) = parse->priv->last_pts;
+        GST_LOG_OBJECT (parse, "applied time %" GST_TIME_FORMAT,
+            GST_TIME_ARGS (GST_BUFFER_PTS (buf)));
+      }
+      if (GST_CLOCK_TIME_IS_VALID (parse->priv->last_dts)) {
+        if (G_LIKELY (GST_BUFFER_DURATION (buf) <= parse->priv->last_dts))
+          parse->priv->last_dts -= GST_BUFFER_DURATION (buf);
+        else
+          parse->priv->last_dts = 0;
+        GST_BUFFER_DTS (buf) = parse->priv->last_dts;
+        GST_LOG_OBJECT (parse, "applied dts %" GST_TIME_FORMAT,
+            GST_TIME_ARGS (GST_BUFFER_DTS (buf)));
+      }
     } else {
       /* no idea, very bad */
       GST_WARNING_OBJECT (parse, "could not determine time for buffer");
     }
 
-    parse->priv->last_ts = GST_BUFFER_TIMESTAMP (buf);
+    parse->priv->last_pts = GST_BUFFER_PTS (buf);
+    parse->priv->last_dts = GST_BUFFER_DTS (buf);
 
     /* reverse order for ascending sending */
     /* send downstream at keyframe not preceded by a keyframe
@@ -2440,7 +2499,7 @@
   gint skip = -1;
   const guint8 *data;
   guint min_size, av;
-  GstClockTime timestamp;
+  GstClockTime pts, dts;
 
   parse = GST_BASE_PARSE (parent);
   bclass = GST_BASE_PARSE_GET_CLASS (parse);
@@ -2571,10 +2630,11 @@
 
     /* move along with upstream timestamp (if any),
      * but interpolate in between */
-    timestamp = gst_adapter_prev_timestamp (parse->priv->adapter, NULL);
-    if (GST_CLOCK_TIME_IS_VALID (timestamp) &&
-        (parse->priv->prev_ts != timestamp)) {
-      parse->priv->prev_ts = parse->priv->next_ts = timestamp;
+    pts = gst_adapter_prev_pts (parse->priv->adapter, NULL);
+    dts = gst_adapter_prev_dts (parse->priv->adapter, NULL);
+    if (GST_CLOCK_TIME_IS_VALID (pts) && (parse->priv->prev_pts != pts)) {
+      parse->priv->prev_pts = parse->priv->next_pts = pts;
+      parse->priv->prev_dts = parse->priv->next_dts = dts;
     }
 
     /* always pass all available data */
@@ -2692,10 +2752,11 @@
   GstFlowReturn ret;
 
   GST_DEBUG_OBJECT (parse, "fragment ended; last_ts = %" GST_TIME_FORMAT
-      ", last_offset = %" G_GINT64_FORMAT, GST_TIME_ARGS (parse->priv->last_ts),
-      parse->priv->last_offset);
+      ", last_offset = %" G_GINT64_FORMAT,
+      GST_TIME_ARGS (parse->priv->last_pts), parse->priv->last_offset);
 
-  if (!parse->priv->last_offset || parse->priv->last_ts <= parse->segment.start) {
+  if (!parse->priv->last_offset
+      || parse->priv->last_pts <= parse->segment.start) {
     GST_DEBUG_OBJECT (parse, "past start of segment %" GST_TIME_FORMAT,
         GST_TIME_ARGS (parse->segment.start));
     ret = GST_FLOW_EOS;
@@ -2704,8 +2765,8 @@
 
   /* last fragment started at last_offset / last_ts;
    * seek back 10s capped at 1MB */
-  if (parse->priv->last_ts >= 10 * GST_SECOND)
-    ts = parse->priv->last_ts - 10 * GST_SECOND;
+  if (parse->priv->last_pts >= 10 * GST_SECOND)
+    ts = parse->priv->last_pts - 10 * GST_SECOND;
   /* if we are exact now, we will be more so going backwards */
   if (parse->priv->exact_position) {
     offset = gst_base_parse_find_offset (parse, ts, TRUE, NULL);
@@ -2948,13 +3009,14 @@
     if (push_eos) {
       /* Push pending events, including NEWSEGMENT events */
       if (G_UNLIKELY (parse->priv->pending_events)) {
+        GList *r = g_list_reverse (parse->priv->pending_events);
         GList *l;
 
-        for (l = parse->priv->pending_events; l != NULL; l = l->next) {
+        parse->priv->pending_events = NULL;
+        for (l = r; l != NULL; l = l->next) {
           gst_pad_push_event (parse->srcpad, GST_EVENT (l->data));
         }
-        g_list_free (parse->priv->pending_events);
-        parse->priv->pending_events = NULL;
+        g_list_free (r);
         parse->priv->pending_segment = FALSE;
       }
 
@@ -2967,6 +3029,7 @@
 static gboolean
 gst_base_parse_sink_activate (GstPad * sinkpad, GstObject * parent)
 {
+  GstSchedulingFlags sched_flags;
   GstBaseParse *parse;
   GstQuery *query;
   gboolean pull_mode;
@@ -2981,7 +3044,11 @@
     goto baseparse_push;
   }
 
-  pull_mode = gst_query_has_scheduling_mode (query, GST_PAD_MODE_PULL);
+  gst_query_parse_scheduling (query, &sched_flags, NULL, NULL, NULL);
+
+  pull_mode = gst_query_has_scheduling_mode (query, GST_PAD_MODE_PULL)
+      && ((sched_flags & GST_SCHEDULING_FLAG_SEEKABLE) != 0);
+
   gst_query_unref (query);
 
   if (!pull_mode)
@@ -3044,7 +3111,8 @@
 
   parse = GST_BASE_PARSE (parent);
 
-  GST_DEBUG_OBJECT (parse, "sink activate mode %d, %d", mode, active);
+  GST_DEBUG_OBJECT (parse, "sink %sactivate in %s mode",
+      (active) ? "" : "de", gst_pad_mode_get_name (mode));
 
   if (!gst_base_parse_activate (parse, active))
     goto activate_failed;
@@ -3053,7 +3121,7 @@
     case GST_PAD_MODE_PULL:
       if (active) {
         parse->priv->pending_events =
-            g_list_append (parse->priv->pending_events,
+            g_list_prepend (parse->priv->pending_events,
             gst_event_new_segment (&parse->segment));
         parse->priv->pending_segment = TRUE;
         result = TRUE;
@@ -3107,7 +3175,7 @@
   if (duration != parse->priv->duration) {
     GstMessage *m;
 
-    m = gst_message_new_duration (GST_OBJECT (parse), fmt, duration);
+    m = gst_message_new_duration_changed (GST_OBJECT (parse));
     gst_element_post_message (GST_ELEMENT (parse), m);
 
     /* TODO: what about duration tag? */
@@ -3271,6 +3339,25 @@
 }
 
 /**
+ * gst_base_parse_set_pts_interpolation:
+ * @parse: a #GstBaseParse
+ * @passthrough: %TRUE if parser should interpolate PTS timestamps
+ *
+ * By default, the base class will guess PTS timestamps using a simple
+ * interpolation (previous timestamp + duration), which is incorrect for
+ * data streams with reordering, where PTS can go backward. Sub-classes
+ * implementing such formats should disable PTS interpolation.
+ */
+void
+gst_base_parse_set_pts_interpolation (GstBaseParse * parse,
+    gboolean pts_interpolate)
+{
+  parse->priv->pts_interpolate = pts_interpolate;
+  GST_INFO_OBJECT (parse, "PTS interpolation: %s",
+      (pts_interpolate) ? "yes" : "no");
+}
+
+/**
  * gst_base_parse_set_latency:
  * @parse: a #GstBaseParse
  * @min_latency: minimum parse latency
@@ -3581,7 +3668,7 @@
 
   /* need initial positions; start and end */
   lpos = parse->priv->first_frame_offset;
-  ltime = parse->priv->first_frame_ts;
+  ltime = parse->priv->first_frame_pts;
   if (!gst_base_parse_get_duration (parse, GST_FORMAT_TIME, &htime)) {
     GST_DEBUG_OBJECT (parse, "Unknown time duration, cannot bisect");
     return GST_FLOW_ERROR;
@@ -3747,6 +3834,13 @@
   GstSegment seeksegment = { 0, };
   GstClockTime start_ts;
 
+  /* try upstream first, unless we're driving the streaming thread ourselves */
+  if (parse->priv->pad_mode != GST_PAD_MODE_PULL) {
+    res = gst_pad_push_event (parse->sinkpad, gst_event_ref (event));
+    if (res)
+      goto done;
+  }
+
   gst_event_parse_seek (event, &rate, &format, &flags,
       &start_type, &start, &stop_type, &stop);
 
@@ -3755,16 +3849,29 @@
       GST_TIME_FORMAT, gst_format_get_name (format), rate,
       start_type, GST_TIME_ARGS (start), stop_type, GST_TIME_ARGS (stop));
 
-  /* no negative rates in push mode */
+  /* we can only handle TIME, so check if subclass can convert
+   * to TIME format if it's some other format (such as DEFAULT) */
+  if (format != GST_FORMAT_TIME) {
+    if (!gst_base_parse_convert (parse, format, start, GST_FORMAT_TIME, &start)
+        || !gst_base_parse_convert (parse, format, stop, GST_FORMAT_TIME,
+            &stop))
+      goto no_convert_to_time;
+
+    GST_INFO_OBJECT (parse, "converted %s format to start time "
+        "%" GST_TIME_FORMAT " and stop time %" GST_TIME_FORMAT,
+        gst_format_get_name (format), GST_TIME_ARGS (start),
+        GST_TIME_ARGS (stop));
+
+    format = GST_FORMAT_TIME;
+  }
+
+  /* no negative rates in push mode (unless upstream takes care of that, but
+   * we've already tried upstream and it didn't handle the seek request) */
   if (rate < 0.0 && parse->priv->pad_mode == GST_PAD_MODE_PUSH)
     goto negative_rate;
 
-  /* For any format other than TIME, see if upstream handles
-   * it directly or fail. For TIME, try upstream, but do it ourselves if
-   * it fails upstream */
-  res = gst_pad_push_event (parse->sinkpad, event);
-  if (format != GST_FORMAT_TIME || res)
-    goto done;
+  if (rate < 0.0 && parse->priv->pad_mode == GST_PAD_MODE_PULL)
+    goto negative_rate_pull_mode;
 
   if (start_type != GST_SEEK_TYPE_SET ||
       (stop_type != GST_SEEK_TYPE_SET && stop_type != GST_SEEK_TYPE_NONE))
@@ -3864,7 +3971,7 @@
     /* This will be sent later in _loop() */
     parse->priv->pending_segment = TRUE;
     parse->priv->pending_events =
-        g_list_append (parse->priv->pending_events,
+        g_list_prepend (parse->priv->pending_events,
         gst_event_new_segment (&parse->segment));
 
     GST_DEBUG_OBJECT (parse, "Created newseg format %d, "
@@ -3900,8 +4007,10 @@
       parse->priv->last_offset = seekpos;
       parse->priv->seen_keyframe = FALSE;
       parse->priv->discont = TRUE;
-      parse->priv->next_ts = start_ts;
-      parse->priv->last_ts = GST_CLOCK_TIME_NONE;
+      parse->priv->next_pts = start_ts;
+      parse->priv->next_dts = GST_CLOCK_TIME_NONE;
+      parse->priv->last_dts = GST_CLOCK_TIME_NONE;
+      parse->priv->last_pts = GST_CLOCK_TIME_NONE;
       parse->priv->sync_offset = seekpos;
       parse->priv->exact_position = accurate;
     }
@@ -3955,9 +4064,16 @@
   }
 
 done:
+  gst_event_unref (event);
   return res;
 
   /* ERRORS */
+negative_rate_pull_mode:
+  {
+    GST_FIXME_OBJECT (parse, "negative playback in pull mode needs fixing");
+    res = FALSE;
+    goto done;
+  }
 negative_rate:
   {
     GST_DEBUG_OBJECT (parse, "negative playback rates delegated upstream.");
@@ -3970,6 +4086,13 @@
     res = FALSE;
     goto done;
   }
+no_convert_to_time:
+  {
+    GST_DEBUG_OBJECT (parse, "seek in %s format was requested, but subclass "
+        "couldn't convert that into TIME format", gst_format_get_name (format));
+    res = FALSE;
+    goto done;
+  }
 convert_failed:
   {
     GST_DEBUG_OBJECT (parse, "conversion TIME to BYTES failed.");
diff --git a/libs/gst/base/gstbaseparse.h b/libs/gst/base/gstbaseparse.h
index 5be3c93..d0a1be4 100644
--- a/libs/gst/base/gstbaseparse.h
+++ b/libs/gst/base/gstbaseparse.h
@@ -299,6 +299,9 @@
 void            gst_base_parse_set_passthrough (GstBaseParse * parse,
                                                 gboolean       passthrough);
 
+void            gst_base_parse_set_pts_interpolation (GstBaseParse * parse,
+                                                      gboolean pts_interpolate);
+
 void            gst_base_parse_set_frame_rate  (GstBaseParse * parse,
                                                 guint          fps_num,
                                                 guint          fps_den,
diff --git a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c
index db7ee02..31994ad 100644
--- a/libs/gst/base/gstbasesink.c
+++ b/libs/gst/base/gstbasesink.c
@@ -377,7 +377,7 @@
     GstObject * parent, GstPadMode mode, gboolean active);
 static gboolean gst_base_sink_default_event (GstBaseSink * basesink,
     GstEvent * event);
-static GstFlowReturn gst_base_sink_default_wait_eos (GstBaseSink * basesink,
+static GstFlowReturn gst_base_sink_default_wait_event (GstBaseSink * basesink,
     GstEvent * event);
 static gboolean gst_base_sink_event (GstPad * pad, GstObject * parent,
     GstEvent * event);
@@ -523,7 +523,7 @@
   klass->get_times = GST_DEBUG_FUNCPTR (gst_base_sink_default_get_times);
   klass->query = GST_DEBUG_FUNCPTR (gst_base_sink_default_query);
   klass->event = GST_DEBUG_FUNCPTR (gst_base_sink_default_event);
-  klass->wait_eos = GST_DEBUG_FUNCPTR (gst_base_sink_default_wait_eos);
+  klass->wait_event = GST_DEBUG_FUNCPTR (gst_base_sink_default_wait_event);
 
   /* Registering debug symbols for function pointers */
   GST_DEBUG_REGISTER_FUNCPTR (gst_base_sink_fixate);
@@ -1758,6 +1758,10 @@
         GstClockTime timestamp, duration;
         gst_event_parse_gap (event, &timestamp, &duration);
 
+        GST_DEBUG_OBJECT (basesink, "Got Gap time %" GST_TIME_FORMAT
+            " duration %" GST_TIME_FORMAT,
+            GST_TIME_ARGS (timestamp), GST_TIME_ARGS (duration));
+
         if (GST_CLOCK_TIME_IS_VALID (timestamp)) {
           start = timestamp;
           if (GST_CLOCK_TIME_IS_VALID (duration))
@@ -2792,7 +2796,7 @@
 }
 
 static GstFlowReturn
-gst_base_sink_default_wait_eos (GstBaseSink * basesink, GstEvent * event)
+gst_base_sink_default_wait_event (GstBaseSink * basesink, GstEvent * event)
 {
   GstFlowReturn ret;
   gboolean late, step_end;
@@ -2803,6 +2807,22 @@
   return ret;
 }
 
+static GstFlowReturn
+gst_base_sink_wait_event (GstBaseSink * basesink, GstEvent * event)
+{
+  GstFlowReturn ret;
+  GstBaseSinkClass *bclass;
+
+  bclass = GST_BASE_SINK_GET_CLASS (basesink);
+
+  if (G_LIKELY (bclass->wait_event))
+    ret = bclass->wait_event (basesink, event);
+  else
+    ret = GST_FLOW_NOT_SUPPORTED;
+
+  return ret;
+}
+
 static gboolean
 gst_base_sink_default_event (GstBaseSink * basesink, GstEvent * event)
 {
@@ -2838,14 +2858,10 @@
       basesink->priv->received_eos = TRUE;
 
       /* wait for EOS */
-      if (G_LIKELY (bclass->wait_eos)) {
-        GstFlowReturn ret;
-
-        ret = bclass->wait_eos (basesink, event);
-        if (G_UNLIKELY (ret != GST_FLOW_OK)) {
-          result = FALSE;
-          goto done;
-        }
+      if (G_UNLIKELY (gst_base_sink_wait_event (basesink,
+                  event) != GST_FLOW_OK)) {
+        result = FALSE;
+        goto done;
       }
 
       /* the EOS event is completely handled so we mark
@@ -2911,6 +2927,13 @@
       basesink->have_newsegment = TRUE;
       GST_OBJECT_UNLOCK (basesink);
       break;
+    case GST_EVENT_GAP:
+    {
+      if (G_UNLIKELY (gst_base_sink_wait_event (basesink,
+                  event) != GST_FLOW_OK))
+        result = FALSE;
+      break;
+    }
     case GST_EVENT_TAG:
     {
       GstTagList *taglist;
diff --git a/libs/gst/base/gstbasesink.h b/libs/gst/base/gstbasesink.h
index 42e627c..e4bb735 100644
--- a/libs/gst/base/gstbasesink.h
+++ b/libs/gst/base/gstbasesink.h
@@ -127,8 +127,9 @@
  *     any state they set during unlock(), such as clearing command queues.
  * @query: perform a #GstQuery on the element.
  * @event: Override this to handle events arriving on the sink pad
- * @wait_eos: Override this to implement custom logic to wait for the EOS time.
- *     subclasses should always first chain up to the default implementation.
+ * @wait_event: Override this to implement custom logic to wait for the event
+ *     time (for events like EOS and GAP). Subclasses should always first
+ *     chain up to the default implementation.
  * @prepare: Called to prepare the buffer for @render and @preroll. This
  *     function is called before synchronisation is performed.
  * @prepare_list: Called to prepare the buffer list for @render_list. This
@@ -180,8 +181,8 @@
 
   /* notify subclass of event */
   gboolean      (*event)        (GstBaseSink *sink, GstEvent *event);
-  /* wait for eos, subclasses should chain up to parent first */
-  GstFlowReturn (*wait_eos)     (GstBaseSink *sink, GstEvent *event);
+  /* wait for eos or gap, subclasses should chain up to parent first */
+  GstFlowReturn (*wait_event)   (GstBaseSink *sink, GstEvent *event);
 
   /* notify subclass of buffer or list before doing sync */
   GstFlowReturn (*prepare)      (GstBaseSink *sink, GstBuffer *buffer);
diff --git a/libs/gst/base/gstbasesrc.c b/libs/gst/base/gstbasesrc.c
index 8714ab9..cf81b9f 100644
--- a/libs/gst/base/gstbasesrc.c
+++ b/libs/gst/base/gstbasesrc.c
@@ -860,6 +860,7 @@
 
   if (bclass->set_caps)
     res = bclass->set_caps (src, caps);
+
   if (res)
     res = gst_pad_set_caps (src->srcpad, caps);
 
@@ -2692,6 +2693,9 @@
 
   ret = gst_pad_push (pad, buf);
   if (G_UNLIKELY (ret != GST_FLOW_OK)) {
+    if (ret == GST_FLOW_NOT_NEGOTIATED) {
+      goto not_negotiated;
+    }
     GST_INFO_OBJECT (src, "pausing after gst_pad_push() = %s",
         gst_flow_get_name (ret));
     goto pause;
@@ -2709,6 +2713,10 @@
   /* special cases */
 not_negotiated:
   {
+    if (gst_pad_needs_reconfigure (pad)) {
+      GST_DEBUG_OBJECT (src, "Retrying to renegotiate");
+      return;
+    }
     GST_DEBUG_OBJECT (src, "Failed to renegotiate");
     ret = GST_FLOW_NOT_NEGOTIATED;
     goto pause;
@@ -3619,3 +3627,48 @@
     return result;
   }
 }
+
+/**
+ * gst_base_src_get_buffer_pool:
+ * @src: a #GstBaseSrc
+ *
+ * Returns: (transfer full): the instance of the #GstBufferPool used
+ * by the src; free it after use it
+ */
+GstBufferPool *
+gst_base_src_get_buffer_pool (GstBaseSrc * src)
+{
+  g_return_val_if_fail (GST_IS_BASE_SRC (src), NULL);
+
+  if (src->priv->pool)
+    return gst_object_ref (src->priv->pool);
+
+  return NULL;
+}
+
+/**
+ * gst_base_src_get_allocator:
+ * @src: a #GstBaseSrc
+ * @allocator: (out) (allow-none) (transfer full): the #GstAllocator
+ * used
+ * @params: (out) (allow-none) (transfer full): the
+ * #GstAllocatorParams of @allocator
+ *
+ * Lets #GstBaseSrc sub-classes to know the memory @allocator
+ * used by the base class and its @params.
+ *
+ * Unref the @allocator after use it.
+ */
+void
+gst_base_src_get_allocator (GstBaseSrc * src,
+    GstAllocator ** allocator, GstAllocationParams * params)
+{
+  g_return_if_fail (GST_IS_BASE_SRC (src));
+
+  if (allocator)
+    *allocator = src->priv->allocator ?
+        gst_object_ref (src->priv->allocator) : NULL;
+
+  if (params)
+    *params = src->priv->params;
+}
diff --git a/libs/gst/base/gstbasesrc.h b/libs/gst/base/gstbasesrc.h
index 289b77a..b0ae337 100644
--- a/libs/gst/base/gstbasesrc.h
+++ b/libs/gst/base/gstbasesrc.h
@@ -259,6 +259,12 @@
 
 gboolean        gst_base_src_set_caps         (GstBaseSrc *src, GstCaps *caps);
 
+GstBufferPool * gst_base_src_get_buffer_pool  (GstBaseSrc *src);
+void            gst_base_src_get_allocator    (GstBaseSrc *src,
+                                               GstAllocator **allocator,
+                                               GstAllocationParams *params);
+
+
 G_END_DECLS
 
 #endif /* __GST_BASE_SRC_H__ */
diff --git a/libs/gst/base/gstbasetransform.c b/libs/gst/base/gstbasetransform.c
index 81bf956..21e7945 100644
--- a/libs/gst/base/gstbasetransform.c
+++ b/libs/gst/base/gstbasetransform.c
@@ -70,7 +70,7 @@
  *   <itemizedlist>
  *   <title>Example elements</title>
  *     <listitem>Level</listitem>
- *     <listitem>Videoscale, audioconvert, ffmpegcolorspace, audioresample in
+ *     <listitem>Videoscale, audioconvert, videoconvert, audioresample in
  *     certain modes.</listitem>
  *   </itemizedlist>
  * </listitem>
@@ -102,7 +102,7 @@
  *     <listitem>Volume</listitem>
  *     <listitem>Audioconvert in certain modes (signed/unsigned
  *     conversion)</listitem>
- *     <listitem>ffmpegcolorspace in certain modes (endianness
+ *     <listitem>videoconvert in certain modes (endianness
  *     swapping)</listitem>
  *   </itemizedlist>
  *  </listitem>
@@ -141,7 +141,7 @@
  *   </itemizedlist>
  *   <itemizedlist>
  *   <title>Example elements</title>
- *     <listitem>Videoscale, ffmpegcolorspace, audioconvert when doing
+ *     <listitem>Videoscale, videoconvert, audioconvert when doing
  *     scaling/conversions</listitem>
  *   </itemizedlist>
  * </listitem>
@@ -2064,7 +2064,7 @@
   {
     gst_buffer_unref (inbuf);
     *outbuf = NULL;
-    GST_ELEMENT_ERROR (trans, STREAM, FORMAT,
+    GST_ELEMENT_WARNING (trans, STREAM, FORMAT,
         ("not negotiated"), ("not negotiated"));
     return GST_FLOW_NOT_NEGOTIATED;
   }
@@ -2619,3 +2619,48 @@
 
   gst_pad_mark_reconfigure (trans->srcpad);
 }
+
+/**
+ * gst_base_transform_get_buffer_pool:
+ * @trans: a #GstBaseTransform
+ *
+ * Returns: (transfer full): the instance of the #GstBufferPool used
+ * by @trans; free it after use it
+ */
+GstBufferPool *
+gst_base_transform_get_buffer_pool (GstBaseTransform * trans)
+{
+  g_return_val_if_fail (GST_IS_BASE_TRANSFORM (trans), NULL);
+
+  if (trans->priv->pool)
+    return gst_object_ref (trans->priv->pool);
+
+  return NULL;
+}
+
+/**
+ * gst_base_transform_get_allocator:
+ * @trans: a #GstBaseTransform
+ * @allocator: (out) (allow-none) (transfer full): the #GstAllocator
+ * used
+ * @params: (out) (allow-none) (transfer full): the
+ * #GstAllocatorParams of @allocator
+ *
+ * Lets #GstBaseTransform sub-classes to know the memory @allocator
+ * used by the base class and its @params.
+ *
+ * Unref the @allocator after use it.
+ */
+void
+gst_base_transform_get_allocator (GstBaseTransform * trans,
+    GstAllocator ** allocator, GstAllocationParams * params)
+{
+  g_return_if_fail (GST_IS_BASE_TRANSFORM (trans));
+
+  if (allocator)
+    *allocator = trans->priv->allocator ?
+        gst_object_ref (trans->priv->allocator) : NULL;
+
+  if (params)
+    *params = trans->priv->params;
+}
diff --git a/libs/gst/base/gstbasetransform.h b/libs/gst/base/gstbasetransform.h
index da961ef..e3df619 100644
--- a/libs/gst/base/gstbasetransform.h
+++ b/libs/gst/base/gstbasetransform.h
@@ -283,6 +283,11 @@
 void            gst_base_transform_set_gap_aware    (GstBaseTransform *trans,
                                                      gboolean gap_aware);
 
+GstBufferPool * gst_base_transform_get_buffer_pool  (GstBaseTransform *trans);
+void            gst_base_transform_get_allocator    (GstBaseTransform *trans,
+                                                     GstAllocator **allocator,
+                                                     GstAllocationParams *params);
+
 void		gst_base_transform_reconfigure_sink (GstBaseTransform *trans);
 void		gst_base_transform_reconfigure_src  (GstBaseTransform *trans);
 G_END_DECLS
diff --git a/libs/gst/base/gstcollectpads.c b/libs/gst/base/gstcollectpads.c
index 19c24f2..610d2d8 100644
--- a/libs/gst/base/gstcollectpads.c
+++ b/libs/gst/base/gstcollectpads.c
@@ -544,37 +544,6 @@
  * @pads: the collectspads to use
  * @pad: (transfer none): the pad to add
  * @size: the size of the returned #GstCollectData structure
- *
- * Add a pad to the collection of collect pads. The pad has to be
- * a sinkpad. The refcount of the pad is incremented. Use
- * gst_collect_pads_remove_pad() to remove the pad from the collection
- * again.
- *
- * You specify a size for the returned #GstCollectData structure
- * so that you can use it to store additional information.
- *
- * The pad will be automatically activated in push mode when @pads is
- * started.
- *
- * This function calls gst_collect_pads_add_pad_full() passing a value of NULL
- * for destroy_notify and TRUE for locked.
- *
- * MT safe.
- *
- * Returns: a new #GstCollectData to identify the new pad. Or NULL
- *   if wrong parameters are supplied.
- */
-GstCollectData *
-gst_collect_pads_add_pad (GstCollectPads * pads, GstPad * pad, guint size)
-{
-  return gst_collect_pads_add_pad_full (pads, pad, size, NULL, TRUE);
-}
-
-/**
- * gst_collect_pads_add_pad_full:
- * @pads: the collectspads to use
- * @pad: (transfer none): the pad to add
- * @size: the size of the returned #GstCollectData structure
  * @destroy_notify: function to be called before the returned #GstCollectData
  * structure is freed
  * @lock: whether to lock this pad in usual waiting state
@@ -609,8 +578,8 @@
  *   if wrong parameters are supplied.
  */
 GstCollectData *
-gst_collect_pads_add_pad_full (GstCollectPads * pads, GstPad * pad,
-    guint size, GstCollectDataDestroyNotify destroy_notify, gboolean lock)
+gst_collect_pads_add_pad (GstCollectPads * pads, GstPad * pad, guint size,
+    GstCollectDataDestroyNotify destroy_notify, gboolean lock)
 {
   GstCollectData *data;
 
@@ -1370,6 +1339,7 @@
   for (collected = pads->data; collected; collected = g_slist_next (collected)) {
     GstCollectData *data = (GstCollectData *) collected->data;
     int cmp_res;
+    GstClockTime comp_time;
 
     /* check if pad has a segment */
     if (data->segment.format == GST_FORMAT_UNDEFINED) {
@@ -1386,7 +1356,8 @@
     }
 
     /* check if the waiting state should be changed */
-    cmp_res = pads->priv->compare_func (pads, data, data->segment.start,
+    comp_time = MAX (data->segment.start, data->segment.position);
+    cmp_res = pads->priv->compare_func (pads, data, comp_time,
         pads->priv->earliest_data, pads->priv->earliest_time,
         pads->priv->compare_user_data);
     if (cmp_res > 0)
@@ -1561,6 +1532,35 @@
   return 0;
 }
 
+/* called with STREAM_LOCK */
+static void
+gst_collect_pads_handle_position_update (GstCollectPads * pads,
+    GstCollectData * data, GstClockTime new_pos)
+{
+  gint cmp_res;
+
+  /* If oldest time is not known, or current pad got newsegment;
+   * recalculate the state */
+  if (!pads->priv->earliest_data || pads->priv->earliest_data == data) {
+    gst_collect_pads_recalculate_full (pads);
+    goto exit;
+  }
+
+  /* Check if the waiting state of the pad should change. */
+  cmp_res =
+      pads->priv->compare_func (pads, data, new_pos,
+      pads->priv->earliest_data, pads->priv->earliest_time,
+      pads->priv->compare_user_data);
+
+  if (cmp_res > 0)
+    /* Stop waiting */
+    gst_collect_pads_set_waiting (pads, data, FALSE);
+
+exit:
+  return;
+
+}
+
 /**
  * gst_collect_pads_event_default:
  * @pads: the collectspads to use
@@ -1664,7 +1664,6 @@
     case GST_EVENT_SEGMENT:
     {
       GstSegment seg;
-      gint cmp_res;
 
       GST_COLLECT_PADS_STREAM_LOCK (pads);
 
@@ -1672,6 +1671,9 @@
 
       GST_DEBUG_OBJECT (data->pad, "got segment %" GST_SEGMENT_FORMAT, &seg);
 
+      /* sanitize to make sure; reasonably so at start */
+      seg.position = seg.start;
+
       /* default collection can not handle other segment formats than time */
       if (buffer_func && seg.format != GST_FORMAT_TIME) {
         GST_WARNING_OBJECT (pads, "GstCollectPads default collecting "
@@ -1686,22 +1688,7 @@
       if (!buffer_func)
         goto newsegment_done;
 
-      /* If oldest time is not known, or current pad got newsegment;
-       * recalculate the state */
-      if (!pads->priv->earliest_data || pads->priv->earliest_data == data) {
-        gst_collect_pads_recalculate_full (pads);
-        goto newsegment_done;
-      }
-
-      /* Check if the waiting state of the pad should change. */
-      cmp_res =
-          pads->priv->compare_func (pads, data, seg.start,
-          pads->priv->earliest_data, pads->priv->earliest_time,
-          pads->priv->compare_user_data);
-
-      if (cmp_res > 0)
-        /* Stop waiting */
-        gst_collect_pads_set_waiting (pads, data, FALSE);
+      gst_collect_pads_handle_position_update (pads, data, seg.start);
 
     newsegment_done:
       GST_COLLECT_PADS_STREAM_UNLOCK (pads);
@@ -1709,6 +1696,24 @@
        * accumulated and this is certainly not what we want. */
       goto eat;
     }
+    case GST_EVENT_GAP:
+    {
+      GstClockTime start, duration;
+
+      GST_COLLECT_PADS_STREAM_LOCK (pads);
+
+      gst_event_parse_gap (event, &start, &duration);
+      if (GST_CLOCK_TIME_IS_VALID (duration))
+        start += duration;
+      /* we do not expect another buffer until after gap,
+       * so that is our position now */
+      data->segment.position = start;
+
+      gst_collect_pads_handle_position_update (pads, data, start);
+
+      GST_COLLECT_PADS_STREAM_UNLOCK (pads);
+      goto eat;
+    }
     case GST_EVENT_STREAM_START:
       /* let the only the first one go through */
       if (!pads->priv->stream_started) {
@@ -1719,7 +1724,6 @@
       }
       break;
     case GST_EVENT_CAPS:
-    case GST_EVENT_STREAM_CONFIG:
       goto eat;
     default:
       /* forward other events */
diff --git a/libs/gst/base/gstcollectpads.h b/libs/gst/base/gstcollectpads.h
index 6436bb8..ee1c038 100644
--- a/libs/gst/base/gstcollectpads.h
+++ b/libs/gst/base/gstcollectpads.h
@@ -116,7 +116,7 @@
 struct _GstCollectData
 {
   /* with STREAM_LOCK of @collect */
-  GstCollectPads       *collect;
+  GstCollectPads        *collect;
   GstPad                *pad;
   GstBuffer             *buffer;
   guint                  pos;
@@ -157,7 +157,7 @@
  * Returns: #GST_FLOW_OK for success
  */
 typedef GstFlowReturn (*GstCollectPadsBufferFunction) (GstCollectPads *pads, GstCollectData *data,
-                                                        GstBuffer *buffer, gpointer user_data);
+                                                       GstBuffer *buffer, gpointer user_data);
 
 /**
  * GstCollectPadsCompareFunction:
@@ -175,9 +175,9 @@
  *          Integer greate than zero when second timestamp is deemed older than the first one.
  */
 typedef gint (*GstCollectPadsCompareFunction) (GstCollectPads *pads,
-                                                GstCollectData * data1, GstClockTime timestamp1,
-                                                GstCollectData * data2, GstClockTime timestamp2,
-                                                gpointer user_data);
+                                               GstCollectData * data1, GstClockTime timestamp1,
+                                               GstCollectData * data2, GstClockTime timestamp2,
+                                               gpointer user_data);
 
 /**
  * GstCollectPadsEventFunction:
@@ -194,7 +194,7 @@
  * Returns: %TRUE if the pad could handle the event
  */
 typedef gboolean (*GstCollectPadsEventFunction)        (GstCollectPads *pads, GstCollectData * pad,
-                                                         GstEvent * event, gpointer user_data);
+                                                        GstEvent * event, gpointer user_data);
 
 
 /**
@@ -211,7 +211,7 @@
  * Returns: %TRUE if the pad could handle the event
  */
 typedef gboolean (*GstCollectPadsQueryFunction)        (GstCollectPads *pads, GstCollectData * pad,
-                                                         GstQuery * query, gpointer user_data);
+                                                        GstQuery * query, gpointer user_data);
 
 /**
  * GstCollectPadsClipFunction:
@@ -233,8 +233,8 @@
  * Returns: a #GstFlowReturn that corresponds to the result of clipping.
  */
 typedef GstFlowReturn (*GstCollectPadsClipFunction) (GstCollectPads *pads, GstCollectData *data,
-                                                   GstBuffer *inbuffer, GstBuffer **outbuffer,
-                                                   gpointer user_data);
+                                                     GstBuffer *inbuffer, GstBuffer **outbuffer,
+                                                     gpointer user_data);
 
 /**
  * GST_COLLECT_PADS_GET_STREAM_LOCK:
@@ -294,29 +294,28 @@
 
 /* set the callbacks */
 void            gst_collect_pads_set_function         (GstCollectPads *pads,
-                                                        GstCollectPadsFunction func,
-                                                        gpointer user_data);
+                                                       GstCollectPadsFunction func,
+                                                       gpointer user_data);
 void            gst_collect_pads_set_buffer_function  (GstCollectPads *pads,
-                                                        GstCollectPadsBufferFunction func,
-                                                        gpointer user_data);
+                                                       GstCollectPadsBufferFunction func,
+                                                       gpointer user_data);
 void            gst_collect_pads_set_event_function   (GstCollectPads *pads,
-                                                        GstCollectPadsEventFunction func,
-                                                        gpointer user_data);
+                                                       GstCollectPadsEventFunction func,
+                                                       gpointer user_data);
 void            gst_collect_pads_set_query_function   (GstCollectPads *pads,
-                                                        GstCollectPadsQueryFunction func,
-                                                        gpointer user_data);
+                                                       GstCollectPadsQueryFunction func,
+                                                       gpointer user_data);
 void            gst_collect_pads_set_compare_function (GstCollectPads *pads,
-                                                        GstCollectPadsCompareFunction func,
-                                                        gpointer user_data);
+                                                       GstCollectPadsCompareFunction func,
+                                                       gpointer user_data);
 void            gst_collect_pads_set_clip_function    (GstCollectPads *pads,
-                                                        GstCollectPadsClipFunction clipfunc,
-                                                        gpointer user_data);
+                                                       GstCollectPadsClipFunction clipfunc,
+                                                       gpointer user_data);
 
 /* pad management */
-GstCollectData* gst_collect_pads_add_pad      (GstCollectPads *pads, GstPad *pad, guint size);
-GstCollectData* gst_collect_pads_add_pad_full (GstCollectPads *pads, GstPad *pad, guint size,
-                                                 GstCollectDataDestroyNotify destroy_notify,
-                                                 gboolean lock);
+GstCollectData* gst_collect_pads_add_pad       (GstCollectPads *pads, GstPad *pad, guint size,
+                                                GstCollectDataDestroyNotify destroy_notify,
+                                                gboolean lock);
 gboolean        gst_collect_pads_remove_pad    (GstCollectPads *pads, GstPad *pad);
 
 /* start/stop collection */
@@ -331,26 +330,27 @@
 /* get collected bytes */
 guint           gst_collect_pads_available     (GstCollectPads *pads);
 guint           gst_collect_pads_flush         (GstCollectPads *pads, GstCollectData *data,
-                                                 guint size);
+                                                guint size);
 GstBuffer*      gst_collect_pads_read_buffer   (GstCollectPads * pads, GstCollectData * data,
-                                                 guint size);
+                                                guint size);
 GstBuffer*      gst_collect_pads_take_buffer   (GstCollectPads * pads, GstCollectData * data,
-                                                 guint size);
+                                                guint size);
 
 /* setting and unsetting waiting mode */
 void            gst_collect_pads_set_waiting   (GstCollectPads *pads, GstCollectData *data,
-                                                 gboolean waiting);
+                                                gboolean waiting);
 
 /* convenience helper */
 GstFlowReturn	gst_collect_pads_clip_running_time (GstCollectPads * pads,
-						GstCollectData * cdata, GstBuffer * buf, GstBuffer ** outbuf,
-                                                gpointer user_data);
+					            GstCollectData * cdata,
+                                                    GstBuffer * buf, GstBuffer ** outbuf,
+                                                    gpointer user_data);
 
 /* default handlers */
 gboolean        gst_collect_pads_event_default (GstCollectPads * pads, GstCollectData * data,
-                                                 GstEvent * event, gboolean discard);
+                                                GstEvent * event, gboolean discard);
 gboolean        gst_collect_pads_query_default (GstCollectPads * pads, GstCollectData * data,
-                                                 GstQuery * query, gboolean discard);
+                                                GstQuery * query, gboolean discard);
 
 
 G_END_DECLS
diff --git a/libs/gst/check/gstbufferstraw.c b/libs/gst/check/gstbufferstraw.c
index 68405df..8e55940 100644
--- a/libs/gst/check/gstbufferstraw.c
+++ b/libs/gst/check/gstbufferstraw.c
@@ -30,8 +30,8 @@
 
 #include "gstbufferstraw.h"
 
-static GCond *cond = NULL;
-static GMutex *lock = NULL;
+static GCond cond;
+static GMutex lock;
 static GstBuffer *buf = NULL;
 static gulong id;
 
@@ -42,17 +42,17 @@
 {
   GstBuffer *buffer = GST_PAD_PROBE_INFO_BUFFER (info);
 
-  g_mutex_lock (lock);
+  g_mutex_lock (&lock);
 
   while (buf != NULL)
-    g_cond_wait (cond, lock);
+    g_cond_wait (&cond, &lock);
 
   /* increase the refcount because we store it globally for others to use */
   buf = gst_buffer_ref (buffer);
 
-  g_cond_signal (cond);
+  g_cond_signal (&cond);
 
-  g_mutex_unlock (lock);
+  g_mutex_unlock (&lock);
 
   return GST_PAD_PROBE_OK;
 }
@@ -86,9 +86,6 @@
   id = gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_BUFFER,
       buffer_probe, NULL, NULL);
 
-  cond = g_cond_new ();
-  lock = g_mutex_new ();
-
   ret = gst_element_set_state (bin, GST_STATE_PLAYING);
   fail_if (ret == GST_STATE_CHANGE_FAILURE, "Could not start test pipeline");
   if (ret == GST_STATE_CHANGE_ASYNC) {
@@ -117,17 +114,17 @@
 {
   GstBuffer *ret;
 
-  g_mutex_lock (lock);
+  g_mutex_lock (&lock);
 
   while (buf == NULL)
-    g_cond_wait (cond, lock);
+    g_cond_wait (&cond, &lock);
 
   ret = buf;
   buf = NULL;
 
-  g_cond_signal (cond);
+  g_cond_signal (&cond);
 
-  g_mutex_unlock (lock);
+  g_mutex_unlock (&lock);
 
   return ret;
 }
@@ -148,14 +145,14 @@
 {
   GstStateChangeReturn ret;
 
-  g_mutex_lock (lock);
+  g_mutex_lock (&lock);
   if (buf)
     gst_buffer_unref (buf);
   buf = NULL;
   gst_pad_remove_probe (pad, (guint) id);
   id = 0;
-  g_cond_signal (cond);
-  g_mutex_unlock (lock);
+  g_cond_signal (&cond);
+  g_mutex_unlock (&lock);
 
   ret = gst_element_set_state (bin, GST_STATE_NULL);
   fail_if (ret == GST_STATE_CHANGE_FAILURE, "Could not stop test pipeline");
@@ -164,15 +161,9 @@
     fail_if (ret != GST_STATE_CHANGE_SUCCESS, "Could not stop test pipeline");
   }
 
-  g_mutex_lock (lock);
+  g_mutex_lock (&lock);
   if (buf)
     gst_buffer_unref (buf);
   buf = NULL;
-  g_mutex_unlock (lock);
-
-  g_mutex_free (lock);
-  g_cond_free (cond);
-
-  lock = NULL;
-  cond = NULL;
+  g_mutex_unlock (&lock);
 }
diff --git a/libs/gst/check/gstcheck.c b/libs/gst/check/gstcheck.c
index 4f96793..bb92308 100644
--- a/libs/gst/check/gstcheck.c
+++ b/libs/gst/check/gstcheck.c
@@ -40,13 +40,13 @@
 
 gboolean _gst_check_threads_running = FALSE;
 GList *thread_list = NULL;
-GMutex *mutex;
-GCond *start_cond;              /* used to notify main thread of thread startups */
-GCond *sync_cond;               /* used to synchronize all threads and main thread */
+GMutex mutex;
+GCond start_cond;               /* used to notify main thread of thread startups */
+GCond sync_cond;                /* used to synchronize all threads and main thread */
 
 GList *buffers = NULL;
-GMutex *check_mutex = NULL;
-GCond *check_cond = NULL;
+GMutex check_mutex;
+GCond check_cond;
 
 /* FIXME 0.11: shouldn't _gst_check_debug be static? Not used anywhere */
 gboolean _gst_check_debug = FALSE;
@@ -136,9 +136,6 @@
       gst_check_log_critical_func, NULL);
 
   print_plugins ();
-
-  check_cond = g_cond_new ();
-  check_mutex = g_mutex_new ();
 }
 
 /* message checking */
@@ -167,9 +164,9 @@
   GST_DEBUG_OBJECT (pad, "chain_func: received buffer %p", buffer);
   buffers = g_list_append (buffers, buffer);
 
-  g_mutex_lock (check_mutex);
-  g_cond_signal (check_cond);
-  g_mutex_unlock (check_mutex);
+  g_mutex_lock (&check_mutex);
+  g_cond_signal (&check_cond);
+  g_mutex_unlock (&check_mutex);
 
   return GST_FLOW_OK;
 }
diff --git a/libs/gst/check/gstcheck.h b/libs/gst/check/gstcheck.h
index a527c1b..dc5638d 100644
--- a/libs/gst/check/gstcheck.h
+++ b/libs/gst/check/gstcheck.h
@@ -51,8 +51,8 @@
 /* global variables used in test methods */
 extern GList * buffers;
 
-extern GMutex *check_mutex;
-extern GCond *check_cond;
+extern GMutex check_mutex;
+extern GCond check_cond;
 
 typedef struct
 {
@@ -267,99 +267,18 @@
  * thread test macros and variables
  */
 extern GList *thread_list;
-extern GMutex *mutex;
-extern GCond *start_cond;       /* used to notify main thread of thread startups */
-extern GCond *sync_cond;        /* used to synchronize all threads and main thread */
+extern GMutex mutex;
+extern GCond start_cond;       /* used to notify main thread of thread startups */
+extern GCond sync_cond;        /* used to synchronize all threads and main thread */
 
 #define MAIN_START_THREADS(count, function, data)               \
 MAIN_INIT();                                                    \
 MAIN_START_THREAD_FUNCTIONS(count, function, data);             \
 MAIN_SYNCHRONIZE();
 
-#if GLIB_CHECK_VERSION (2, 31, 0)
-#define g_thread_create gst_g_thread_create
-static inline GThread *
-gst_g_thread_create (GThreadFunc func, gpointer data, gboolean joinable,
-    GError **error)
-{
-  GThread *thread = g_thread_try_new ("gst-check", func, data, error);
-  if (!joinable)
-    g_thread_unref (thread);
-  return thread;
-}
-#define g_mutex_new gst_g_mutex_new
-static inline GMutex *
-gst_g_mutex_new (void)
-{
-  GMutex *mutex = g_slice_new (GMutex);
-  g_mutex_init (mutex);
-  return mutex;
-}
-#define g_mutex_free gst_g_mutex_free
-static inline void
-gst_g_mutex_free (GMutex *mutex)
-{
-  g_mutex_clear (mutex);
-  g_slice_free (GMutex, mutex);
-}
-#define g_static_rec_mutex_init gst_g_static_rec_mutex_init
-static inline void
-gst_g_static_rec_mutex_init (GStaticRecMutex *mutex)
-{
-  static const GStaticRecMutex init_mutex = G_STATIC_REC_MUTEX_INIT;
-
-  *mutex = init_mutex;
-}
-#define g_cond_new gst_g_cond_new
-static inline GCond *
-gst_g_cond_new (void)
-{
-  GCond *cond = g_slice_new (GCond);
-  g_cond_init (cond);
-  return cond;
-}
-#define g_cond_free gst_g_cond_free
-static inline void
-gst_g_cond_free (GCond *cond)
-{
-  g_cond_clear (cond);
-  g_slice_free (GCond, cond);
-}
-#define g_cond_timed_wait gst_g_cond_timed_wait
-static inline gboolean
-gst_g_cond_timed_wait (GCond *cond, GMutex *mutex, GTimeVal *abs_time)
-{
-  gint64 end_time;
-
-  if (abs_time == NULL) {
-    g_cond_wait (cond, mutex);
-    return TRUE;
-  }
-
-  end_time = abs_time->tv_sec;
-  end_time *= 1000000;
-  end_time += abs_time->tv_usec;
-
-  /* would be nice if we had clock_rtoffset, but that didn't seem to
-   * make it into the kernel yet...
-   */
-  /* if CLOCK_MONOTONIC is not defined then g_get_montonic_time() and
-   * g_get_real_time() are returning the same clock and we'd add ~0
-   */
-  end_time += g_get_monotonic_time () - g_get_real_time ();
-  return g_cond_wait_until (cond, mutex, end_time);
-}
-#endif
-
 #define MAIN_INIT()                     \
 G_STMT_START {                          \
   _gst_check_threads_running = TRUE;    \
-                                        \
-  if (mutex == NULL) {                  \
-    mutex = g_mutex_new ();             \
-    start_cond = g_cond_new ();         \
-    sync_cond = g_cond_new ();          \
-  }                                     \
 } G_STMT_END;
 
 #define MAIN_START_THREAD_FUNCTIONS(count, function, data)      \
@@ -374,13 +293,13 @@
 G_STMT_START {                                                  \
     GThread *thread = NULL;                                     \
     GST_DEBUG ("MAIN: creating thread %d", i);                  \
-    g_mutex_lock (mutex);                                       \
-    thread = g_thread_create ((GThreadFunc) function, data,     \
-        TRUE, NULL);                                            \
+    g_mutex_lock (&mutex);                                      \
+    thread = g_thread_try_new ("gst-check",                     \
+        (GThreadFunc) function, data, NULL);                    \
     /* wait for thread to signal us that it's ready */          \
     GST_DEBUG ("MAIN: waiting for thread %d", i);               \
-    g_cond_wait (start_cond, mutex);                            \
-    g_mutex_unlock (mutex);                                     \
+    g_cond_wait (&start_cond, &mutex);                          \
+    g_mutex_unlock (&mutex);                                    \
                                                                 \
     thread_list = g_list_append (thread_list, thread);          \
 } G_STMT_END;
@@ -389,7 +308,7 @@
 #define MAIN_SYNCHRONIZE()              \
 G_STMT_START {                          \
   GST_DEBUG ("MAIN: synchronizing");    \
-  g_cond_broadcast (sync_cond);         \
+  g_cond_broadcast (&sync_cond);        \
   GST_DEBUG ("MAIN: synchronized");     \
 } G_STMT_END;
 
@@ -413,17 +332,17 @@
 G_STMT_START {                                                  \
   /* signal main thread that we started */                      \
   GST_DEBUG ("THREAD %p: started", g_thread_self ());           \
-  g_mutex_lock (mutex);                                         \
-  g_cond_signal (start_cond);                                   \
+  g_mutex_lock (&mutex);                                        \
+  g_cond_signal (&start_cond);                                  \
 } G_STMT_END;
 
 #define THREAD_SYNCHRONIZE()                                    \
 G_STMT_START {                                                  \
   /* synchronize everyone */                                    \
   GST_DEBUG ("THREAD %p: syncing", g_thread_self ());           \
-  g_cond_wait (sync_cond, mutex);                               \
+  g_cond_wait (&sync_cond, &mutex);                             \
   GST_DEBUG ("THREAD %p: synced", g_thread_self ());            \
-  g_mutex_unlock (mutex);                                       \
+  g_mutex_unlock (&mutex);                                      \
 } G_STMT_END;
 
 #define THREAD_SWITCH()                                         \
diff --git a/libs/gst/check/gstconsistencychecker.c b/libs/gst/check/gstconsistencychecker.c
index 04d7348..48b2526 100644
--- a/libs/gst/check/gstconsistencychecker.c
+++ b/libs/gst/check/gstconsistencychecker.c
@@ -65,9 +65,11 @@
         GST_TIME_ARGS (GST_BUFFER_PTS (GST_BUFFER_CAST (data))),
         GST_TIME_ARGS (GST_BUFFER_DTS (GST_BUFFER_CAST (data))));
     /* If an EOS went through, a buffer would be invalid */
-    fail_if (consist->eos, "Buffer received after EOS");
+    fail_if (consist->eos, "Buffer received after EOS on pad %s:%s",
+        GST_DEBUG_PAD_NAME (pad));
     /* Buffers need to be preceded by a segment event */
-    fail_unless (consist->segment, "Buffer received without segment");
+    fail_unless (consist->segment, "Buffer received without segment "
+        "on pad %s:%s", GST_DEBUG_PAD_NAME (pad));
   } else if (GST_IS_EVENT (data)) {
     GstEvent *event = (GstEvent *) data;
 
@@ -82,29 +84,33 @@
       case GST_EVENT_FLUSH_STOP:
         /* Receiving a flush-stop is only valid after receiving a flush-start */
         fail_unless (consist->flushing,
-            "Received a FLUSH_STOP without a FLUSH_START");
-        fail_if (consist->eos, "Received a FLUSH_STOP after an EOS");
+            "Received a FLUSH_STOP without a FLUSH_START on pad %s:%s",
+            GST_DEBUG_PAD_NAME (pad));
+        fail_if (consist->eos, "Received a FLUSH_STOP after an EOS on "
+            "pad %s:%s", GST_DEBUG_PAD_NAME (pad));
         consist->flushing = consist->expect_flush = FALSE;
         break;
       case GST_EVENT_STREAM_START:
         fail_if (consist->saw_serialized_event && !consist->saw_stream_start,
-            "Got a STREAM_START event after a serialized event");
+            "Got a STREAM_START event after a serialized event on pad %s:%s",
+            GST_DEBUG_PAD_NAME (pad));
         consist->saw_stream_start = TRUE;
         break;
-      case GST_EVENT_STREAM_CONFIG:
       case GST_EVENT_CAPS:
         /* ok to have these before segment event */
         /* FIXME check order more precisely, if so spec'ed somehow ? */
         break;
       case GST_EVENT_SEGMENT:
         fail_if ((consist->expect_flush && consist->flushing),
-            "Received SEGMENT while in a flushing seek");
+            "Received SEGMENT while in a flushing seek on pad %s:%s",
+            GST_DEBUG_PAD_NAME (pad));
         consist->segment = TRUE;
         consist->eos = FALSE;
         break;
       case GST_EVENT_EOS:
         /* FIXME : not 100% sure about whether two eos in a row is valid */
-        fail_if (consist->eos, "Received EOS just after another EOS");
+        fail_if (consist->eos, "Received EOS just after another EOS on "
+            "pad %s:%s", GST_DEBUG_PAD_NAME (pad));
         consist->eos = TRUE;
         consist->segment = FALSE;
         break;
@@ -115,7 +121,9 @@
       default:
         if (GST_EVENT_IS_SERIALIZED (event) && GST_EVENT_IS_DOWNSTREAM (event)) {
           fail_if (consist->eos, "Event received after EOS");
-          fail_unless (consist->segment, "Event received before segment");
+          fail_unless (consist->segment, "Event %s received before segment "
+              "on pad %s:%s", GST_EVENT_TYPE_NAME (event),
+              GST_DEBUG_PAD_NAME (pad));
         }
         /* FIXME : Figure out what to do for other events */
         break;
@@ -123,8 +131,8 @@
     if (GST_EVENT_IS_SERIALIZED (event)) {
       fail_if (!consist->saw_stream_start
           && GST_EVENT_TYPE (event) != GST_EVENT_STREAM_START,
-          "Got a serialized event (%s) before a STREAM_START",
-          GST_EVENT_TYPE_NAME (event));
+          "Got a serialized event (%s) before a STREAM_START on pad %s:%s",
+          GST_EVENT_TYPE_NAME (event), GST_DEBUG_PAD_NAME (pad));
       consist->saw_serialized_event = TRUE;
     }
   }
@@ -145,9 +153,11 @@
     GST_DEBUG_OBJECT (pad, "Buffer %" GST_TIME_FORMAT,
         GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (GST_BUFFER (data))));
     /* If an EOS went through, a buffer would be invalid */
-    fail_if (consist->eos, "Buffer received after EOS");
+    fail_if (consist->eos, "Buffer received after EOS on pad %s:%s",
+        GST_DEBUG_PAD_NAME (pad));
     /* Buffers need to be preceded by a segment event */
-    fail_unless (consist->segment, "Buffer received without segment");
+    fail_unless (consist->segment, "Buffer received without segment "
+        "on pad %s:%s", GST_DEBUG_PAD_NAME (pad));
   } else if (GST_IS_EVENT (data)) {
     GstEvent *event = (GstEvent *) data;
 
@@ -165,7 +175,8 @@
       }
       case GST_EVENT_SEGMENT:
         fail_if ((consist->expect_flush && consist->flushing),
-            "Received SEGMENT while in a flushing seek");
+            "Received SEGMENT while in a flushing seek on pad %s:%s",
+            GST_DEBUG_PAD_NAME (pad));
         consist->segment = TRUE;
         consist->eos = FALSE;
         break;
diff --git a/libs/gst/controller/gstdirectcontrolbinding.c b/libs/gst/controller/gstdirectcontrolbinding.c
index bc85d93..960408f 100644
--- a/libs/gst/controller/gstdirectcontrolbinding.c
+++ b/libs/gst/controller/gstdirectcontrolbinding.c
@@ -76,7 +76,7 @@
 
 /* mapping functions */
 
-#define DEFINE_CONVERT(type,Type,TYPE) \
+#define DEFINE_CONVERT(type,Type,TYPE,ROUNDING_OP) \
 static void \
 convert_g_value_to_##type (GstDirectControlBinding *self, gdouble s, GValue *d) \
 { \
@@ -84,7 +84,7 @@
   g##type v; \
   \
   s = CLAMP (s, 0.0, 1.0); \
-  v = pspec->minimum + (g##type) ((pspec->maximum - pspec->minimum) * s); \
+  v = pspec->minimum + (g##type) ROUNDING_OP ((pspec->maximum - pspec->minimum) * s); \
   g_value_set_##type (d, v); \
 } \
 \
@@ -95,18 +95,18 @@
   g##type *d = (g##type *)d_; \
   \
   s = CLAMP (s, 0.0, 1.0); \
-  *d = pspec->minimum + (g##type) ((pspec->maximum - pspec->minimum) * s); \
+  *d = pspec->minimum + (g##type) ROUNDING_OP ((pspec->maximum - pspec->minimum) * s); \
 }
 
 
-DEFINE_CONVERT (int, Int, INT);
-DEFINE_CONVERT (uint, UInt, UINT);
-DEFINE_CONVERT (long, Long, LONG);
-DEFINE_CONVERT (ulong, ULong, ULONG);
-DEFINE_CONVERT (int64, Int64, INT64);
-DEFINE_CONVERT (uint64, UInt64, UINT64);
-DEFINE_CONVERT (float, Float, FLOAT);
-DEFINE_CONVERT (double, Double, DOUBLE);
+DEFINE_CONVERT (int, Int, INT, rint);
+DEFINE_CONVERT (uint, UInt, UINT, rint);
+DEFINE_CONVERT (long, Long, LONG, rint);
+DEFINE_CONVERT (ulong, ULong, ULONG, rint);
+DEFINE_CONVERT (int64, Int64, INT64, rint);
+DEFINE_CONVERT (uint64, UInt64, UINT64, rint);
+DEFINE_CONVERT (float, Float, FLOAT, /*NOOP*/);
+DEFINE_CONVERT (double, Double, DOUBLE, /*NOOP*/);
 
 static void
 convert_g_value_to_boolean (GstDirectControlBinding * self, gdouble s,
@@ -207,7 +207,7 @@
 
     GST_DEBUG ("  using type %s", g_type_name (base));
 
-    // select mapping function
+    /* select mapping function */
     switch (base) {
       case G_TYPE_INT:
         self->convert_g_value = convert_g_value_to_int;
diff --git a/libs/gst/controller/gsttimedvaluecontrolsource.h b/libs/gst/controller/gsttimedvaluecontrolsource.h
index d6624ed..06577cb 100644
--- a/libs/gst/controller/gsttimedvaluecontrolsource.h
+++ b/libs/gst/controller/gsttimedvaluecontrolsource.h
@@ -66,7 +66,7 @@
   /* internal fields */
 
   /* Caches for the interpolators */
-  // FIXME: we should not have this here already ...
+  /* FIXME: we should not have this here already ... */
   union {
     struct {
       gdouble h;
diff --git a/libs/gst/net/gstnetclientclock.c b/libs/gst/net/gstnetclientclock.c
index 691c414..d2bdb92 100644
--- a/libs/gst/net/gstnetclientclock.c
+++ b/libs/gst/net/gstnetclientclock.c
@@ -248,70 +248,11 @@
   }
 }
 
-typedef struct
-{
-  GSource source;
-  GstNetClientClock *clock;
-  gboolean *p_timeout;
-} GstNetClientClockTimeoutSource;
-
-static gboolean
-gst_net_client_clock_timeout_source_prepare (GSource * s, gint * p_timeout)
-{
-  GstNetClientClockTimeoutSource *source = (GstNetClientClockTimeoutSource *) s;
-  GstClockTime expiration_time = source->clock->priv->timeout_expiration;
-  GstClockTime now = gst_util_get_timestamp ();
-
-  if (now >= expiration_time || (expiration_time - now) <= GST_MSECOND) {
-    *p_timeout = 0;
-    return TRUE;
-  }
-
-  *p_timeout = (expiration_time - now) / GST_MSECOND;
-  GST_TRACE_OBJECT (source->clock, "time out in %d ms please", *p_timeout);
-  return FALSE;
-}
-
-static gboolean
-gst_net_client_clock_timeout_source_check (GSource * s)
-{
-  GstNetClientClockTimeoutSource *source = (GstNetClientClockTimeoutSource *) s;
-
-  return (gst_util_get_timestamp () >= source->clock->priv->timeout_expiration);
-}
-
-static gboolean
-gst_net_client_clock_timeout_source_dispatch (GSource * s, GSourceFunc cb,
-    gpointer data)
-{
-  GstNetClientClockTimeoutSource *source = (GstNetClientClockTimeoutSource *) s;
-
-  GST_TRACE_OBJECT (source->clock, "timed out");
-  *source->p_timeout = TRUE;
-  return TRUE;
-}
-
-static gboolean
-gst_net_client_clock_socket_cb (GSocket * socket, GIOCondition condition,
-    gpointer user_data)
-{
-  GIOCondition *p_cond = user_data;
-
-  GST_TRACE ("socket %p I/O condition: 0x%02x", socket, condition);
-  *p_cond = condition;
-  return TRUE;
-}
-
 static gpointer
 gst_net_client_clock_thread (gpointer data)
 {
   GstNetClientClock *self = data;
   GstNetTimePacket *packet;
-  GMainContext *ctx;
-  GSourceFuncs funcs = { NULL, };
-  GSource *source;
-  GIOCondition cond;
-  gboolean timeout;
   GSocket *socket = self->priv->socket;
   GError *err = NULL;
   GstClock *clock = data;
@@ -321,99 +262,82 @@
   g_socket_set_blocking (socket, TRUE);
   g_socket_set_timeout (socket, 0);
 
-  ctx = g_main_context_new ();
-
-  source = g_socket_create_source (socket, G_IO_IN, self->priv->cancel);
-  g_source_set_name (source, "GStreamer net client clock thread socket");
-  g_source_set_callback (source, (GSourceFunc) gst_net_client_clock_socket_cb,
-      &cond, NULL);
-  g_source_attach (source, ctx);
-  g_source_unref (source);
-
-  /* GSocket only support second granularity for timeouts, so roll our own
-   * timeout source (so we don't have to create a new source whenever the
-   * timeout changes, as we would have to do with the default timeout source) */
-  funcs.prepare = gst_net_client_clock_timeout_source_prepare;
-  funcs.check = gst_net_client_clock_timeout_source_check;
-  funcs.dispatch = gst_net_client_clock_timeout_source_dispatch;
-  funcs.finalize = NULL;
-  source = g_source_new (&funcs, sizeof (GstNetClientClockTimeoutSource));
-  ((GstNetClientClockTimeoutSource *) source)->clock = self;
-  ((GstNetClientClockTimeoutSource *) source)->p_timeout = &timeout;
-  g_source_set_name (source, "GStreamer net client clock timeout");
-  g_source_attach (source, ctx);
-  g_source_unref (source);
-
   while (!g_cancellable_is_cancelled (self->priv->cancel)) {
-    cond = 0;
-    timeout = FALSE;
-    g_main_context_iteration (ctx, TRUE);
+    GstClockTime expiration_time = self->priv->timeout_expiration;
+    GstClockTime now = gst_util_get_timestamp ();
+    gint64 socket_timeout;
 
-    if (g_cancellable_is_cancelled (self->priv->cancel))
-      break;
-
-    if (timeout) {
-      /* timed out, let's send another packet */
-      GST_DEBUG_OBJECT (self, "timed out");
-
-      packet = gst_net_time_packet_new (NULL);
-
-      packet->local_time = gst_clock_get_internal_time (GST_CLOCK (self));
-
-      GST_DEBUG_OBJECT (self, "sending packet, local time = %" GST_TIME_FORMAT,
-          GST_TIME_ARGS (packet->local_time));
-
-      gst_net_time_packet_send (packet, self->priv->socket,
-          self->priv->servaddr, NULL);
-
-      g_free (packet);
-
-      /* reset timeout (but are expecting a response sooner anyway) */
-      self->priv->timeout_expiration =
-          gst_util_get_timestamp () + gst_clock_get_timeout (clock);
-      continue;
+    if (now >= expiration_time || (expiration_time - now) <= GST_MSECOND) {
+      socket_timeout = 0;
+    } else {
+      socket_timeout = (expiration_time - now) / GST_USECOND;
     }
 
-    /* got data to read? */
-    if ((cond & G_IO_IN)) {
+    GST_TRACE_OBJECT (self, "timeout: %" G_GINT64_FORMAT "us", socket_timeout);
+
+    if (!g_socket_condition_timed_wait (socket, G_IO_IN, socket_timeout,
+            self->priv->cancel, &err)) {
+      /* cancelled, timeout or error */
+      if (err->code == G_IO_ERROR_CANCELLED) {
+        GST_INFO_OBJECT (self, "cancelled");
+        g_clear_error (&err);
+        break;
+      } else if (err->code == G_IO_ERROR_TIMED_OUT) {
+        /* timed out, let's send another packet */
+        GST_DEBUG_OBJECT (self, "timed out");
+
+        packet = gst_net_time_packet_new (NULL);
+
+        packet->local_time = gst_clock_get_internal_time (GST_CLOCK (self));
+
+        GST_DEBUG_OBJECT (self,
+            "sending packet, local time = %" GST_TIME_FORMAT,
+            GST_TIME_ARGS (packet->local_time));
+
+        gst_net_time_packet_send (packet, self->priv->socket,
+            self->priv->servaddr, NULL);
+
+        g_free (packet);
+
+        /* reset timeout (but are expecting a response sooner anyway) */
+        self->priv->timeout_expiration =
+            gst_util_get_timestamp () + gst_clock_get_timeout (clock);
+      } else {
+        GST_DEBUG_OBJECT (self, "socket error: %s", err->message);
+        g_usleep (G_USEC_PER_SEC / 10); /* throttle */
+      }
+      g_clear_error (&err);
+    } else {
       GstClockTime new_local;
 
+      /* got packet */
+
       new_local = gst_clock_get_internal_time (GST_CLOCK (self));
 
       packet = gst_net_time_packet_receive (socket, NULL, &err);
 
-      if (err != NULL) {
+      if (packet != NULL) {
+        GST_LOG_OBJECT (self, "got packet back");
+        GST_LOG_OBJECT (self, "local_1 = %" GST_TIME_FORMAT,
+            GST_TIME_ARGS (packet->local_time));
+        GST_LOG_OBJECT (self, "remote = %" GST_TIME_FORMAT,
+            GST_TIME_ARGS (packet->remote_time));
+        GST_LOG_OBJECT (self, "local_2 = %" GST_TIME_FORMAT,
+            GST_TIME_ARGS (new_local));
+
+        /* observe_times will reset the timeout */
+        gst_net_client_clock_observe_times (self, packet->local_time,
+            packet->remote_time, new_local);
+
+        g_free (packet);
+      } else if (err != NULL) {
         GST_WARNING_OBJECT (self, "receive error: %s", err->message);
-        g_error_free (err);
-        err = NULL;
-        continue;
+        g_clear_error (&err);
       }
-
-      GST_LOG_OBJECT (self, "got packet back");
-      GST_LOG_OBJECT (self, "local_1 = %" GST_TIME_FORMAT,
-          GST_TIME_ARGS (packet->local_time));
-      GST_LOG_OBJECT (self, "remote = %" GST_TIME_FORMAT,
-          GST_TIME_ARGS (packet->remote_time));
-      GST_LOG_OBJECT (self, "local_2 = %" GST_TIME_FORMAT,
-          GST_TIME_ARGS (new_local));
-
-      /* observe_times will reset the timeout */
-      gst_net_client_clock_observe_times (self, packet->local_time,
-          packet->remote_time, new_local);
-
-      g_free (packet);
-      continue;
-    }
-
-    if ((cond & (G_IO_ERR | G_IO_HUP))) {
-      GST_DEBUG_OBJECT (self, "socket error?! %s", g_strerror (errno));
-      g_usleep (G_USEC_PER_SEC / 10);
-      continue;
     }
   }
 
   GST_INFO_OBJECT (self, "shutting down net client clock thread");
-  g_main_context_unref (ctx);
   return NULL;
 }
 
diff --git a/plugins/elements/gstcapsfilter.c b/plugins/elements/gstcapsfilter.c
index 1c585d9..5fa2ab3 100644
--- a/plugins/elements/gstcapsfilter.c
+++ b/plugins/elements/gstcapsfilter.c
@@ -28,7 +28,7 @@
  * <refsect2>
  * <title>Example launch line</title>
  * |[
- * gst-launch videotestsrc ! video/x-raw-gray ! ffmpegcolorspace ! autovideosink
+ * gst-launch videotestsrc ! video/x-raw,format=GRAY8 ! videoconvert ! autovideosink
  * ]| Limits acceptable video from videotestsrc to be grayscale.
  * </refsect2>
  */
@@ -273,8 +273,7 @@
  * This ensures that outgoing buffers have caps if we can, so
  * that pipelines like:
  *   gst-launch filesrc location=rawsamples.raw !
- *       audio/x-raw-int,width=16,depth=16,rate=48000,channels=2,
- *       endianness=4321,signed='(boolean)'true ! alsasink
+ *       audio/x-raw,format=S16LE,rate=48000,channels=2 ! alsasink
  * will work.
  */
 static GstFlowReturn
diff --git a/plugins/elements/gstfilesink.c b/plugins/elements/gstfilesink.c
index c434a56..4cb0025 100644
--- a/plugins/elements/gstfilesink.c
+++ b/plugins/elements/gstfilesink.c
@@ -383,7 +383,8 @@
       sink->buffer = g_malloc (sink->buffer_size);
       buffer_size = sink->buffer_size;
     }
-#ifdef HAVE_STDIO_EXT_H
+    /* Cygwin does not have __fbufsize */
+#if defined(HAVE_STDIO_EXT_H) && !defined(__CYGWIN__)
     GST_DEBUG_OBJECT (sink, "change buffer size %u to %u, mode %d",
         (guint) __fbufsize (sink->file), buffer_size, mode);
 #else
diff --git a/plugins/elements/gstinputselector.c b/plugins/elements/gstinputselector.c
index 7d63fb0..44684ea 100644
--- a/plugins/elements/gstinputselector.c
+++ b/plugins/elements/gstinputselector.c
@@ -57,8 +57,6 @@
 
 #include "gstinputselector.h"
 
-#include "gst/glib-compat-private.h"
-
 #define DEBUG_CACHED_BUFFERS 0
 
 GST_DEBUG_CATEGORY_STATIC (input_selector_debug);
@@ -649,6 +647,8 @@
     active_selpad = GST_SELECTOR_PAD_CAST (active_sinkpad);
 
     if (seg->format != GST_FORMAT_TIME) {
+      GST_DEBUG_OBJECT (selpad,
+          "Not waiting because we don't have a TIME segment");
       GST_INPUT_SELECTOR_UNLOCK (sel);
       return FALSE;
     }
@@ -668,6 +668,8 @@
         gst_segment_to_running_time (seg, GST_FORMAT_TIME, running_time);
     /* If this is outside the segment don't sync */
     if (running_time == -1) {
+      GST_DEBUG_OBJECT (selpad,
+          "Not waiting because buffer is outside segment");
       GST_INPUT_SELECTOR_UNLOCK (sel);
       return FALSE;
     }
@@ -694,6 +696,8 @@
        * we can't do any syncing at all */
       if (active_seg->format != GST_FORMAT_TIME
           && active_seg->format != GST_FORMAT_UNDEFINED) {
+        GST_DEBUG_OBJECT (selpad,
+            "Not waiting because active segment isn't in TIME format");
         GST_INPUT_SELECTOR_UNLOCK (sel);
         return FALSE;
       }
@@ -705,7 +709,6 @@
     }
 
     if (selpad != active_selpad && !sel->flushing && !selpad->flushing &&
-        (sel->cache_buffers || active_selpad->pushed) &&
         (sel->blocked || cur_running_time == -1
             || running_time >= cur_running_time)) {
       if (!sel->blocked) {
@@ -713,7 +716,8 @@
             "Waiting for active streams to advance. %" GST_TIME_FORMAT " >= %"
             GST_TIME_FORMAT, GST_TIME_ARGS (running_time),
             GST_TIME_ARGS (cur_running_time));
-      }
+      } else
+        GST_DEBUG_OBJECT (selpad, "Waiting for selector to unblock");
 
       GST_INPUT_SELECTOR_WAIT (sel);
     } else {
@@ -739,7 +743,7 @@
     gst_event_set_seqnum (e, GST_SELECTOR_PAD_CAST (sinkpad)->segment_seqnum);
 
     gst_pad_push_event (sel->srcpad, e);
-  } else {
+  } else if (GST_EVENT_TYPE (*event) != GST_EVENT_STREAM_START) {
     gst_pad_push_event (sel->srcpad, gst_event_ref (*event));
   }
 
@@ -800,6 +804,8 @@
         cur_running_time -= base_time;
       else
         cur_running_time = 0;
+
+      gst_object_unref (clock);
     }
   } else {
     GstPad *active_sinkpad;
diff --git a/plugins/elements/gstqueue2.c b/plugins/elements/gstqueue2.c
index 13e9d22..3f12939 100644
--- a/plugins/elements/gstqueue2.c
+++ b/plugins/elements/gstqueue2.c
@@ -549,7 +549,7 @@
 
 /* make a new range for @offset or reuse an existing range */
 static GstQueue2Range *
-add_range (GstQueue2 * queue, guint64 offset)
+add_range (GstQueue2 * queue, guint64 offset, gboolean update_existing)
 {
   GstQueue2Range *range, *prev, *next;
 
@@ -559,7 +559,11 @@
     GST_DEBUG_OBJECT (queue,
         "reusing range %" G_GUINT64_FORMAT "-%" G_GUINT64_FORMAT, range->offset,
         range->writing_pos);
-    range->writing_pos = offset;
+    if (update_existing && range->writing_pos != offset) {
+      GST_DEBUG_OBJECT (queue, "updating range writing position to "
+          "%" G_GUINT64_FORMAT, offset);
+      range->writing_pos = offset;
+    }
   } else {
     GST_DEBUG_OBJECT (queue,
         "new range %" G_GUINT64_FORMAT "-%" G_GUINT64_FORMAT, offset, offset);
@@ -612,7 +616,7 @@
   /* get rid of all the current ranges */
   clean_ranges (queue);
   /* make a range for offset 0 */
-  queue->current = add_range (queue, 0);
+  queue->current = add_range (queue, 0, TRUE);
 }
 
 /* calculate the diff between running time on the sink and src of the queue.
@@ -656,7 +660,7 @@
   if (segment->format == GST_FORMAT_BYTES) {
     if (!QUEUE_IS_USING_QUEUE (queue) && is_sink) {
       /* start is where we'll be getting from and as such writing next */
-      queue->current = add_range (queue, segment->start);
+      queue->current = add_range (queue, segment->start, TRUE);
     }
   }
 
@@ -1010,8 +1014,16 @@
   res = gst_pad_push_event (queue->sinkpad, event);
   GST_QUEUE2_MUTEX_LOCK (queue);
 
-  if (res)
-    queue->current = add_range (queue, offset);
+  if (res) {
+    /* Between us sending the seek event and re-acquiring the lock, the source
+     * thread might already have pushed data and moved along the range's
+     * writing_pos beyond the seek offset. In that case we don't want to set
+     * the writing position back to the requested seek position, as it would
+     * cause data to be written to the wrong offset in the file or ring buffer.
+     * We still do the add_range call to switch the current range to the
+     * requested range, or create one if one doesn't exist yet. */
+    queue->current = add_range (queue, offset, FALSE);
+  }
 
   return res;
 }
@@ -1550,6 +1562,14 @@
   GST_DEBUG_OBJECT (queue, "Writing %u bytes to %" G_GUINT64_FORMAT, size,
       writing_pos);
 
+  /* sanity check */
+  if (GST_BUFFER_OFFSET_IS_VALID (buffer) &&
+      GST_BUFFER_OFFSET (buffer) != queue->current->writing_pos) {
+    GST_WARNING_OBJECT (queue, "buffer offset does not match current writing "
+        "position! %" G_GINT64_FORMAT " != %" G_GINT64_FORMAT,
+        GST_BUFFER_OFFSET (buffer), queue->current->writing_pos);
+  }
+
   while (size > 0) {
     guint to_write;
 
diff --git a/plugins/elements/gsttee.c b/plugins/elements/gsttee.c
index 3c7f019..a00c1d1 100644
--- a/plugins/elements/gsttee.c
+++ b/plugins/elements/gsttee.c
@@ -37,7 +37,7 @@
  * <refsect2>
  * <title>Example launch line</title>
  * |[
- * gst-launch filesrc location=song.ogg ! decodebin2 ! tee name=t ! queue ! autoaudiosink t. ! queue ! audioconvert ! goom ! ffmpegcolorspace ! autovideosink
+ * gst-launch filesrc location=song.ogg ! decodebin2 ! tee name=t ! queue ! autoaudiosink t. ! queue ! audioconvert ! goom ! videoconvert ! autovideosink
  * ]| Play a song.ogg from local dir and render visualisations using the goom
  * element.
  * </refsect2>
diff --git a/plugins/elements/gsttypefindelement.c b/plugins/elements/gsttypefindelement.c
index d299026..33e2376 100644
--- a/plugins/elements/gsttypefindelement.c
+++ b/plugins/elements/gsttypefindelement.c
@@ -1165,6 +1165,7 @@
   gboolean pull_mode;
   GstCaps *found_caps = NULL;
   GstTypeFindProbability probability = GST_TYPE_FIND_NONE;
+  GstSchedulingFlags sched_flags;
 
   typefind = GST_TYPE_FIND_ELEMENT (parent);
 
@@ -1196,7 +1197,11 @@
     goto typefind_push;
   }
 
-  pull_mode = gst_query_has_scheduling_mode (query, GST_PAD_MODE_PULL);
+  gst_query_parse_scheduling (query, &sched_flags, NULL, NULL, NULL);
+
+  pull_mode = gst_query_has_scheduling_mode (query, GST_PAD_MODE_PULL)
+      && ((sched_flags & GST_SCHEDULING_FLAG_SEEKABLE) != 0);
+
   gst_query_unref (query);
 
   if (!pull_mode)
diff --git a/po/af.gmo b/po/af.gmo
index ecf90c5..3fbf2cf 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index cdb31be..21671e3 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -110,7 +110,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Interne GStreamer-fout: thread problem."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Interne GStreamer-fout: negotiation problem."
 
 msgid "Internal GStreamer error: event problem."
@@ -128,7 +129,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "Jou GStreamer-installasie kort 'n inprop."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Interne GStreamer-fout: seek problem."
 
 msgid ""
@@ -1026,6 +1028,14 @@
 msgid "List the plugin contents"
 msgstr ""
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 
diff --git a/po/az.gmo b/po/az.gmo
index 15f2c04..28429af 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index 057c16a..9c3baf8 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -104,7 +104,7 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr ""
 
-msgid "Internal GStreamer error: negotiation problem."
+msgid "GStreamer error: negotiation problem."
 msgstr ""
 
 msgid "Internal GStreamer error: event problem."
@@ -122,7 +122,7 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr ""
 
-msgid "Internal GStreamer error: clock problem."
+msgid "GStreamer error: clock problem."
 msgstr ""
 
 msgid ""
@@ -975,6 +975,14 @@
 msgid "List the plugin contents"
 msgstr ""
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 
diff --git a/po/be.gmo b/po/be.gmo
index cda884c..91788f9 100644
--- a/po/be.gmo
+++ b/po/be.gmo
Binary files differ
diff --git a/po/be.po b/po/be.po
index e0142b9..c2501c0 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -106,7 +106,7 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr ""
 
-msgid "Internal GStreamer error: negotiation problem."
+msgid "GStreamer error: negotiation problem."
 msgstr ""
 
 msgid "Internal GStreamer error: event problem."
@@ -124,7 +124,7 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr ""
 
-msgid "Internal GStreamer error: clock problem."
+msgid "GStreamer error: clock problem."
 msgstr ""
 
 msgid ""
@@ -984,6 +984,14 @@
 msgid "List the plugin contents"
 msgstr ""
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 
diff --git a/po/bg.gmo b/po/bg.gmo
index 4dd6541..2f6d8cf 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index c9fe8e0..0a3c0d4 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -118,7 +118,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Вътрешна грешка на GStreamer: проблем с нишките."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Вътрешна грешка на GStreamer: проблем с договарянето."
 
 msgid "Internal GStreamer error: event problem."
@@ -136,7 +137,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "Липсва необходима приставка в тази инсталация на GStreamer"
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Вътрешна грешка на GStreamer: проблем с часовника."
 
 msgid ""
@@ -1022,6 +1024,14 @@
 msgid "List the plugin contents"
 msgstr "Отпечатване на съдържанието на приставките"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 "Отпечатване на поддържаните схеми за URI, както и елементите с тяхна "
diff --git a/po/ca.gmo b/po/ca.gmo
index 3dc8d71..3fb2f2f 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index e5b1c03..c59eda3 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -117,7 +117,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "S'ha produït un error intern de GStreamer: problema de fils."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "S'ha produït un error intern de GStreamer: problema de negociació."
 
 msgid "Internal GStreamer error: event problem."
@@ -135,7 +136,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "La vostra instal·lació del GStreamer manca un connector."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "S'ha produït un error intern de GStreamer: problema de rellotge."
 
 msgid ""
@@ -1026,6 +1028,14 @@
 msgid "List the plugin contents"
 msgstr "Mostra el contingut d'un connector"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 "Mostra els esquemes d'URI implementats, amb els elements que els implementen"
diff --git a/po/cs.gmo b/po/cs.gmo
index d5e8854..4b62dc8 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index 770af6e..f3d2489 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -115,7 +115,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Interní chyba systému GStreamer: problém s vlákny."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Interní chyba systému GStreamer: problém při vyjednávání."
 
 msgid "Internal GStreamer error: event problem."
@@ -133,7 +134,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "Vaší instalaci systému GStreamer schází zásuvný modul."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Interní chyba systému GStreamer: problém s hodinami."
 
 msgid ""
@@ -1022,6 +1024,14 @@
 msgid "List the plugin contents"
 msgstr "Vypsat obsah zásuvných modulů"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Vypsat podporovaná schémata URI, včetně prvků, které implementují"
 
diff --git a/po/da.gmo b/po/da.gmo
index ec7d0c2..39e4e86 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 01794b1..4c59c8c 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -118,7 +118,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Intern GStreamer fejl: problem med tråd."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Intern GStreamer fejl: forhandlingsproblem."
 
 msgid "Internal GStreamer error: event problem."
@@ -136,7 +137,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "Din GStreamer-installation mangler et modul."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Intern GStreamer fejl: tidsproblem."
 
 msgid ""
@@ -1023,6 +1025,14 @@
 msgid "List the plugin contents"
 msgstr "Oplist udvidelsesmodulets indhold"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 "Vis hvilke URI-skemaer der understøttes, sammen med de elementer, der "
diff --git a/po/de.gmo b/po/de.gmo
index d4d0b65..04c0819 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index aeff7a3..8298b17 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -119,7 +119,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Interner GStreamer-Fehler: Thread-Problem."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Interner GStreamer-Fehler: Verhandlungsproblem."
 
 msgid "Internal GStreamer error: event problem."
@@ -137,7 +138,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "Ihrer Installation von GStreamer fehlt ein Plugin."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Interner GStreamer-Fehler: Zeitproblem."
 
 msgid ""
@@ -1044,6 +1046,14 @@
 msgid "List the plugin contents"
 msgstr "Die Inhalte des Plugins auflisten"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 "Unterstützte URI-Schemata mit den Elementen ausgeben, die sie implementieren"
diff --git a/po/el.gmo b/po/el.gmo
index 2ee8fae..411efe1 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index 4890be2..942e3a5 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -117,7 +117,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Εσωτερικό σφάλμα GStreamer: πρόβλημα νήματος."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Εσωτερικό σφάλμα GStreamer: πρόβλημα συνεννόησης."
 
 msgid "Internal GStreamer error: event problem."
@@ -135,7 +136,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "Από την εγκατάστασή σας του GStreamer λείπει ένα πρόσθετο."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Εσωτερικό σφάλμα GStreamer: πρόβλημα ρολογιού."
 
 msgid ""
@@ -1039,6 +1041,14 @@
 msgid "List the plugin contents"
 msgstr "Απαρίθμηση των περιεχομένων του προσθέτου"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Εμφάνιση υποστηριζόμενων μορφών URI, με τα στοιχεία που τις υλοποιούν"
 
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index 7b4afaf..71b6a58 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 3268566..5bd8797 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -115,7 +115,7 @@
 msgstr "Internal GStreamer error: thread problem.  File a bug."
 
 #, fuzzy
-msgid "Internal GStreamer error: negotiation problem."
+msgid "GStreamer error: negotiation problem."
 msgstr "Internal GStreamer error: negotiation problem.  File a bug."
 
 #, fuzzy
@@ -138,7 +138,7 @@
 msgstr ""
 
 #, fuzzy
-msgid "Internal GStreamer error: clock problem."
+msgid "GStreamer error: clock problem."
 msgstr "Internal GStreamer error: seek problem.  File a bug."
 
 msgid ""
@@ -1031,6 +1031,14 @@
 msgid "List the plugin contents"
 msgstr ""
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 
diff --git a/po/eo.gmo b/po/eo.gmo
index ed829ee..6ef7d70 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index 30d0213..a10fbcc 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -103,7 +103,7 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr ""
 
-msgid "Internal GStreamer error: negotiation problem."
+msgid "GStreamer error: negotiation problem."
 msgstr ""
 
 msgid "Internal GStreamer error: event problem."
@@ -121,7 +121,7 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr ""
 
-msgid "Internal GStreamer error: clock problem."
+msgid "GStreamer error: clock problem."
 msgstr ""
 
 msgid ""
@@ -964,6 +964,14 @@
 msgid "List the plugin contents"
 msgstr ""
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 
diff --git a/po/es.gmo b/po/es.gmo
index 5837758..88e2561 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 6d2823b..09b35a7 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -117,7 +117,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Error interno de GStreamer: problema con las hebras."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Error interno de GStreamer: problema con la negociación."
 
 msgid "Internal GStreamer error: event problem."
@@ -135,7 +136,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "A la instalación de GStreamer le falta un complemento."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Error interno de GStreamer: problema con el reloj."
 
 msgid ""
@@ -1030,6 +1032,14 @@
 msgid "List the plugin contents"
 msgstr "Listar el contenido del complemento"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 "Imprimir los esquemas URI soportados, con los elementos que los implementan"
diff --git a/po/eu.gmo b/po/eu.gmo
index ee53412..627b625 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index 5624453..c1d8209 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -120,7 +120,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "GStreamer-en barne-errorea: hari-arazoa."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "GStreamer-en barne-errorea: negoziazio-arazoa."
 
 msgid "Internal GStreamer error: event problem."
@@ -138,7 +139,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "GStreamer-en instalazioari plugin bat falta zaio."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "GStreamer-en barne-errorea: erloju-arazoa."
 
 msgid ""
@@ -1029,6 +1031,14 @@
 msgid "List the plugin contents"
 msgstr "Zerrendatu pluginen edukiak"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 "Erakutsi onartutako URI eskemak, haiek inplementatzen dituzten elementuekin"
diff --git a/po/fi.gmo b/po/fi.gmo
index 053d1ed..0f102e4 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index c862242..761483a 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -118,7 +118,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Sisäinen GStreamer-virhe: säieongelma."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Sisäinen GStreamer-virhe: neuvotteluongelma."
 
 msgid "Internal GStreamer error: event problem."
@@ -136,7 +137,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "GStreamer-asennuksesta puuttuu liitännäinen."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Sisäinen GStreamer-virhe: kello-ongelma."
 
 msgid ""
@@ -1024,6 +1026,14 @@
 msgid "List the plugin contents"
 msgstr "Luettele liitännäisen sisältö"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Tulosta tuetut URI-skeemat sekä ne toteuttavat elementit"
 
diff --git a/po/fr.gmo b/po/fr.gmo
index 684573a..3095375 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index 5988777..f84b7be 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -119,7 +119,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Erreur interne de GStreamer : problème de thread."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Erreur interne de GStreamer : problème de négociation."
 
 msgid "Internal GStreamer error: event problem."
@@ -137,7 +138,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "Il manque un greffon dans votre installation de GStreamer."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Erreur interne de Gstreamer : problème d'horloge."
 
 msgid ""
@@ -1026,6 +1028,14 @@
 msgid "List the plugin contents"
 msgstr "Énumère le contenu du greffon"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 "Affiche les types d'URI pris en charge, avec les éléments qui les "
diff --git a/po/gl.gmo b/po/gl.gmo
index 9527585..6629845 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index 166670f..0dea4f0 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -114,7 +114,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Erro interno de GStreamer: problema cos fíos"
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Erro interno de GStreamer: problema de negociación."
 
 msgid "Internal GStreamer error: event problem."
@@ -132,7 +133,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "Á súa instalación de GStreamer fáltalle un engadido."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Erro interno de GStreamer: problema de reloxo."
 
 msgid ""
@@ -1021,6 +1023,14 @@
 msgid "List the plugin contents"
 msgstr "Listar o contido do engadido"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Imprimir os esquemas URI admitidos, cos elementos que os implementan"
 
diff --git a/po/gstreamer-1.0.pot b/po/gstreamer-1.0.pot
index a13c85e..2047388 100644
--- a/po/gstreamer-1.0.pot
+++ b/po/gstreamer-1.0.pot
@@ -5,9 +5,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 0.11.93\n"
+"Project-Id-Version: gstreamer 0.11.94\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -98,7 +98,7 @@
 msgid "Show GStreamer Options"
 msgstr ""
 
-#: gst/gst.c:927
+#: gst/gst.c:931
 msgid "Unknown option"
 msgstr ""
 
@@ -130,7 +130,7 @@
 msgstr ""
 
 #: gst/gsterror.c:146
-msgid "Internal GStreamer error: negotiation problem."
+msgid "GStreamer error: negotiation problem."
 msgstr ""
 
 #: gst/gsterror.c:148
@@ -154,7 +154,7 @@
 msgstr ""
 
 #: gst/gsterror.c:158
-msgid "Internal GStreamer error: clock problem."
+msgid "GStreamer error: clock problem."
 msgstr ""
 
 #: gst/gsterror.c:160
@@ -990,83 +990,83 @@
 msgid "no bin \"%s\", skipping"
 msgstr ""
 
-#: gst/parse/grammar.y:448
+#: gst/parse/grammar.y:431
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr ""
 
-#: gst/parse/grammar.y:463
+#: gst/parse/grammar.y:471
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr ""
 
-#: gst/parse/grammar.y:614
+#: gst/parse/grammar.y:622
 #, c-format
 msgid "could not link %s to %s"
 msgstr ""
 
-#: gst/parse/grammar.y:662
+#: gst/parse/grammar.y:670
 #, c-format
 msgid "no element \"%s\""
 msgstr ""
 
-#: gst/parse/grammar.y:714
+#: gst/parse/grammar.y:722
 #, c-format
 msgid "could not parse caps \"%s\""
 msgstr ""
 
-#: gst/parse/grammar.y:736 gst/parse/grammar.y:784 gst/parse/grammar.y:800
-#: gst/parse/grammar.y:865
+#: gst/parse/grammar.y:744 gst/parse/grammar.y:792 gst/parse/grammar.y:808
+#: gst/parse/grammar.y:873
 msgid "link without source element"
 msgstr ""
 
-#: gst/parse/grammar.y:742 gst/parse/grammar.y:781 gst/parse/grammar.y:874
+#: gst/parse/grammar.y:750 gst/parse/grammar.y:789 gst/parse/grammar.y:882
 msgid "link without sink element"
 msgstr ""
 
-#: gst/parse/grammar.y:819
+#: gst/parse/grammar.y:827
 #, c-format
 msgid "no source element for URI \"%s\""
 msgstr ""
 
-#: gst/parse/grammar.y:829
+#: gst/parse/grammar.y:837
 #, c-format
 msgid "no element to link URI \"%s\" to"
 msgstr ""
 
-#: gst/parse/grammar.y:838
+#: gst/parse/grammar.y:846
 #, c-format
 msgid "no sink element for URI \"%s\""
 msgstr ""
 
-#: gst/parse/grammar.y:845
+#: gst/parse/grammar.y:853
 #, c-format
 msgid "could not link sink element for URI \"%s\""
 msgstr ""
 
-#: gst/parse/grammar.y:859
+#: gst/parse/grammar.y:867
 msgid "empty pipeline not allowed"
 msgstr ""
 
-#: libs/gst/base/gstbasesrc.c:2421
+#: libs/gst/base/gstbasesrc.c:2422
 msgid "Internal clock error."
 msgstr ""
 
-#: libs/gst/base/gstbasesrc.c:2766 libs/gst/base/gstbasesrc.c:2775
-#: libs/gst/base/gstbasesink.c:3740 plugins/elements/gstqueue.c:1188
-#: plugins/elements/gstqueue2.c:2545
+#: libs/gst/base/gstbasesrc.c:2774 libs/gst/base/gstbasesrc.c:2783
+#: libs/gst/base/gstbasesink.c:3763 plugins/elements/gstqueue.c:1188
+#: plugins/elements/gstqueue2.c:2565
 msgid "Internal data flow error."
 msgstr ""
 
-#: libs/gst/base/gstbasesink.c:2666
+#: libs/gst/base/gstbasesink.c:2670
 msgid "A lot of buffers are being dropped."
 msgstr ""
 
-#: libs/gst/base/gstbasesink.c:3104
+#: libs/gst/base/gstbasesink.c:3127
 msgid "Internal data flow problem."
 msgstr ""
 
-#: libs/gst/base/gstbasesink.c:3730
+#: libs/gst/base/gstbasesink.c:3753
 msgid "Internal data stream error."
 msgstr ""
 
@@ -1080,26 +1080,26 @@
 "property takes a reference to the supplied GstCaps object."
 msgstr ""
 
-#: plugins/elements/gstfilesink.c:412
+#: plugins/elements/gstfilesink.c:413
 msgid "No file name specified for writing."
 msgstr ""
 
-#: plugins/elements/gstfilesink.c:418
+#: plugins/elements/gstfilesink.c:419
 #, c-format
 msgid "Could not open file \"%s\" for writing."
 msgstr ""
 
-#: plugins/elements/gstfilesink.c:443
+#: plugins/elements/gstfilesink.c:444
 #, c-format
 msgid "Error closing file \"%s\"."
 msgstr ""
 
-#: plugins/elements/gstfilesink.c:600
+#: plugins/elements/gstfilesink.c:601
 #, c-format
 msgid "Error while seeking in file \"%s\"."
 msgstr ""
 
-#: plugins/elements/gstfilesink.c:608 plugins/elements/gstfilesink.c:671
+#: plugins/elements/gstfilesink.c:609 plugins/elements/gstfilesink.c:672
 #, c-format
 msgid "Error while writing to file \"%s\"."
 msgstr ""
@@ -1108,7 +1108,7 @@
 msgid "No file name specified for reading."
 msgstr ""
 
-#: plugins/elements/gstfilesrc.c:512 plugins/elements/gstqueue2.c:1425
+#: plugins/elements/gstfilesrc.c:512 plugins/elements/gstqueue2.c:1437
 #, c-format
 msgid "Could not open file \"%s\" for reading."
 msgstr ""
@@ -1132,16 +1132,16 @@
 msgid "Failed after iterations as requested."
 msgstr ""
 
-#: plugins/elements/gstqueue2.c:1411
+#: plugins/elements/gstqueue2.c:1423
 msgid "No Temp directory specified."
 msgstr ""
 
-#: plugins/elements/gstqueue2.c:1417
+#: plugins/elements/gstqueue2.c:1429
 #, c-format
 msgid "Could not create temp file \"%s\"."
 msgstr ""
 
-#: plugins/elements/gstqueue2.c:1799
+#: plugins/elements/gstqueue2.c:1819
 msgid "Error while writing to download file."
 msgstr ""
 
@@ -1233,15 +1233,15 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: tools/gst-inspect.c:1511
+#: tools/gst-inspect.c:1516
 msgid "Print all elements"
 msgstr ""
 
-#: tools/gst-inspect.c:1513
+#: tools/gst-inspect.c:1518
 msgid "Print list of blacklisted files"
 msgstr ""
 
-#: tools/gst-inspect.c:1515
+#: tools/gst-inspect.c:1520
 msgid ""
 "Print a machine-parsable list of features the specified plugin or all "
 "plugins provide.\n"
@@ -1249,20 +1249,30 @@
 "automatic plugin installation mechanisms"
 msgstr ""
 
-#: tools/gst-inspect.c:1520
+#: tools/gst-inspect.c:1525
 msgid "List the plugin contents"
 msgstr ""
 
-#: tools/gst-inspect.c:1523
+#: tools/gst-inspect.c:1527
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+#: tools/gst-inspect.c:1530
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
+#: tools/gst-inspect.c:1534
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 
-#: tools/gst-inspect.c:1624
+#: tools/gst-inspect.c:1672
 #, c-format
 msgid "Could not load plugin file: %s\n"
 msgstr ""
 
-#: tools/gst-inspect.c:1629
+#: tools/gst-inspect.c:1677
 #, c-format
 msgid "No such element or plugin '%s'\n"
 msgstr ""
diff --git a/po/hu.gmo b/po/hu.gmo
index 53dcbc0..28bb753 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 1ec2616..8a993e7 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -113,7 +113,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Belső GStreamer hiba: szálprobléma."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Belső GStreamer hiba: megállapodási probléma."
 
 msgid "Internal GStreamer error: event problem."
@@ -131,7 +132,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "A GStreamer telepítésből hiányzik egy bővítmény."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Belső GStreamer hiba: óraprobléma."
 
 msgid ""
@@ -1016,6 +1018,14 @@
 msgid "List the plugin contents"
 msgstr "A bővítmény tartalmának felsorolása"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Támogatott URI sémák kiírása, az azokat megvalósító elemmel"
 
diff --git a/po/id.gmo b/po/id.gmo
index beb82f9..567dbda 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index d308a1c..9fdbe61 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -112,7 +112,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Galat GStreamer internal: masalah benang."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Galat GStreamer internal: masalah negosiasi."
 
 msgid "Internal GStreamer error: event problem."
@@ -130,7 +131,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "Instalasi GStreamer anda kehilangan plug-in."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Galat GStreamer internal: masalah jam."
 
 msgid ""
@@ -1016,6 +1018,14 @@
 msgid "List the plugin contents"
 msgstr "Tampilkan isi plugin"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 "Cetak skema URI yang didukung, dengan elemen yang mengimplementasikannya"
diff --git a/po/it.gmo b/po/it.gmo
index cb30523..af530a4 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index a64a2ee..6419a0a 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -231,7 +231,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Errore interno di GStreamer: problema di thread."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Errore interno di GStreamer: problema di negoziazione."
 
 msgid "Internal GStreamer error: event problem."
@@ -249,7 +250,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "Nell'installazione di GStreamer in uso manca un plugin."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Errore interno di GStreamer: problema di clock."
 
 msgid ""
@@ -1191,6 +1193,14 @@
 msgid "List the plugin contents"
 msgstr "Elenca il contenuto dei plugin"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 # -u, --uri-handlers
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Stampa gli schemi URI supportati, con gli elementi che li implementano"
diff --git a/po/ja.gmo b/po/ja.gmo
index a3522fe..7083ba2 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 01cba84..cebdf0b 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -105,7 +105,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "GStreamer 内部エラー: スレッドの問題"
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "GStreamer 内部エラー: ネゴシエーションの問題"
 
 msgid "Internal GStreamer error: event problem."
@@ -123,8 +124,9 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "GStreamerはプラグインを見つけることができません"
 
-msgid "Internal GStreamer error: clock problem."
-msgstr ""
+#, fuzzy
+msgid "GStreamer error: clock problem."
+msgstr "GStreamer 内部エラー: シークの問題"
 
 msgid ""
 "This application is trying to use GStreamer functionality that has been "
@@ -996,6 +998,14 @@
 msgid "List the plugin contents"
 msgstr ""
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 
diff --git a/po/lt.gmo b/po/lt.gmo
index a2373b0..132e546 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index 9e1ac97..eef7ac0 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -114,7 +114,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Vidinė GStreamer klaida: gijos problema."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Vidinė GStreamer klaida: derybų problema."
 
 msgid "Internal GStreamer error: event problem."
@@ -132,7 +133,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "Jūsų įdiegtame GStreamer trūksta įskiepio."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Vidinė GStreamer klaida: laikrodžio problema."
 
 msgid ""
@@ -1026,6 +1028,14 @@
 msgid "List the plugin contents"
 msgstr "Parodyti įskiepio turinį"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Išvesti palaikomas URI schemas su jas sukuriančiais elementais"
 
diff --git a/po/nb.gmo b/po/nb.gmo
index 195bd26..b49eabb 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index de52b5a..59c50fb 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -102,7 +102,7 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr ""
 
-msgid "Internal GStreamer error: negotiation problem."
+msgid "GStreamer error: negotiation problem."
 msgstr ""
 
 msgid "Internal GStreamer error: event problem."
@@ -120,7 +120,7 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr ""
 
-msgid "Internal GStreamer error: clock problem."
+msgid "GStreamer error: clock problem."
 msgstr ""
 
 msgid ""
@@ -986,6 +986,14 @@
 msgid "List the plugin contents"
 msgstr ""
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 
diff --git a/po/nl.gmo b/po/nl.gmo
index 69bcae5..3ce8dcb 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 682ce20..c275ead 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -121,7 +121,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Interne GStreamer-fout: threadprobleem."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Interne GStreamer-fout: onderhandelingsprobleem."
 
 msgid "Internal GStreamer error: event problem."
@@ -139,7 +140,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "Er ontbreekt een plugin in uw GStreamer installatie."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Interne GStreamer-fout: klokprobleem."
 
 msgid ""
@@ -1030,6 +1032,14 @@
 msgid "List the plugin contents"
 msgstr "Toon de inhoud van de plugin"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 "Toon de ondersteunde URI-schema's met de elementen die deze implementeren"
diff --git a/po/pl.gmo b/po/pl.gmo
index 6d1de75..fbfeace 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 84c4636..e91ebb6 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -115,7 +115,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Błąd wewnętrzny GStreamera: problem z wątkami."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Błąd wewnętrzny GStreamera: problem z negocjacją."
 
 msgid "Internal GStreamer error: event problem."
@@ -133,7 +134,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "W tej instalacji GStreamera brakuje wtyczki."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Błąd wewnętrzny GStreamera: problem z zegarem."
 
 msgid ""
@@ -1026,6 +1028,14 @@
 msgid "List the plugin contents"
 msgstr "Wypisanie zawartości wtyczek"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 "Wypisanie obsługiwanych schematów URI wraz z implementującymi je elementami"
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index 56f1934..a3be8cd 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 c5b231c..7b5c2fd 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -127,7 +127,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Erro interno no GStreamer: problema no segmento (thread)."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Erro interno no GStreamer: problema de negociação."
 
 msgid "Internal GStreamer error: event problem."
@@ -145,7 +146,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "Sua instalação do GStreamer está com um plug-in faltando."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Erro interno no GStreamer: problema no temporizador."
 
 msgid ""
@@ -1038,6 +1040,14 @@
 msgid "List the plugin contents"
 msgstr "Listar o conteúdo do plugin"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Exibir esquemas URI com suporte, com os elementos que os implementam"
 
diff --git a/po/ro.gmo b/po/ro.gmo
index 9b781a0..6934116 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index b26c76f..89d9b22 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -117,7 +117,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Eroare internă GStreamer: problemă cu firele de execuție."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Eroare internă GStreamer: problemă de negociere."
 
 msgid "Internal GStreamer error: event problem."
@@ -135,7 +136,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "Lipsește un modul din instalarea programului GStreamer."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Eroare internă GStreamer: problemă de ceas."
 
 msgid ""
@@ -1044,6 +1046,14 @@
 msgid "List the plugin contents"
 msgstr "Listează conținutul modulului de extensie"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 "Tipărește schemele URI suportate, cu elementele pe care le implementează"
diff --git a/po/ru.gmo b/po/ru.gmo
index cd4a549..b3c9a77 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index f800c18..e275928 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -119,7 +119,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Внутренняя ошибка GStreamer: проблема с нитями."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Внутренняя ошибка GStreamer: проблема связки элементов."
 
 msgid "Internal GStreamer error: event problem."
@@ -137,7 +138,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "В вашей установке GStreamer отсутствует модуль."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Внутренняя ошибка GStreamer: проблема синхронизации."
 
 msgid ""
@@ -1026,6 +1028,14 @@
 msgid "List the plugin contents"
 msgstr "Вывести содержимое модуля"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Вывести поддерживаемые схемы URI для элементов, которые их используют"
 
diff --git a/po/rw.gmo b/po/rw.gmo
index 22ed6e8..87bc5f3 100644
--- a/po/rw.gmo
+++ b/po/rw.gmo
Binary files differ
diff --git a/po/rw.po b/po/rw.po
index 4ee68d5..83d1966 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -161,7 +161,7 @@
 msgstr "Ikosa Urudodo Idosiye a"
 
 #, fuzzy
-msgid "Internal GStreamer error: negotiation problem."
+msgid "GStreamer error: negotiation problem."
 msgstr "Ikosa Idosiye a"
 
 #, fuzzy
@@ -184,7 +184,7 @@
 msgstr ""
 
 #, fuzzy
-msgid "Internal GStreamer error: clock problem."
+msgid "GStreamer error: clock problem."
 msgstr "Ikosa Idosiye a"
 
 msgid ""
@@ -1199,6 +1199,14 @@
 msgid "List the plugin contents"
 msgstr ""
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 
diff --git a/po/sk.gmo b/po/sk.gmo
index 69c7958..1ce7f2d 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index da2e610..15e2ed9 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -123,7 +123,8 @@
 msgstr ""
 "Vnútorná chyba GStreamer: problém s vláknami. Ohláste prosím túto chybu."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr ""
 "Vnútorná chyba GStreamer: problém pri vyjednávaní. Ohláste prosím túto chybu."
 
@@ -147,7 +148,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "Vašej inštalácii GStreamer chýba zásuvný modul."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr ""
 "Vnútorná chyba GStreamer: problém s časovaním. Ohláste prosím túto chybu."
 
@@ -1038,6 +1040,14 @@
 msgid "List the plugin contents"
 msgstr "Vypísať zoznam zásuvných modulov"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 "Zobraziť podporované URI schémy, spolu s prvkami ktoré ich implementujú"
diff --git a/po/sl.gmo b/po/sl.gmo
index 16663c3..00bd0f9 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index c249d0c..3611bfe 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -118,7 +118,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Notranja napaka GStreamer: težave z nitenjem."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Notranja napaka GStreamer: težave s pogajanjem."
 
 msgid "Internal GStreamer error: event problem."
@@ -136,7 +137,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "Namestitvi GStreamer manjka vstavek."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Notranja napaka GStreamer: težave z uro."
 
 msgid ""
@@ -1028,6 +1030,14 @@
 msgid "List the plugin contents"
 msgstr "Izpiši seznam vsebine vstavkov"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Izpiši podprte sheme URI s predmeti, ki jih vstavljajo"
 
diff --git a/po/sq.gmo b/po/sq.gmo
index d90dd39..e0c03ff 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index 2b89949..54bffbe 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -119,7 +119,7 @@
 msgstr "Gabim i brendshëm i GStreamer: problem i thread.  Raporto bug."
 
 #, fuzzy
-msgid "Internal GStreamer error: negotiation problem."
+msgid "GStreamer error: negotiation problem."
 msgstr "Gabim i brendshëm i GStreamer: problem negocimi.  Raporto bug."
 
 #, fuzzy
@@ -142,7 +142,7 @@
 msgstr ""
 
 #, fuzzy
-msgid "Internal GStreamer error: clock problem."
+msgid "GStreamer error: clock problem."
 msgstr "Gabim i brendshëm i GStreamer: problem kërkimi.  Raporto bug."
 
 msgid ""
@@ -1036,6 +1036,14 @@
 msgid "List the plugin contents"
 msgstr ""
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 
diff --git a/po/sr.gmo b/po/sr.gmo
index 7735add..deb7fae 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index 097f42b..a3f3502 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -116,7 +116,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Унутрашња грешка Гстримера: неприлика са нитима."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Унутрашња грешка Гстримера: неприлика у преговарању."
 
 msgid "Internal GStreamer error: event problem."
@@ -135,7 +136,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "Вашој инсталацији Гстримера недостаје прикључак."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Унутрашња грешка Гстримера: неприлика са сатом."
 
 msgid ""
@@ -1028,6 +1030,14 @@
 msgid "List the plugin contents"
 msgstr "Наводи садржај прикључка"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Штампа подржане шеме адреса, са елементима који их примењују."
 
diff --git a/po/sv.gmo b/po/sv.gmo
index 2b44455..2986f8b 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 1411013..eab2e9f 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -117,7 +117,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Internt GStreamer-fel: trådproblem."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Internt GStreamer-fel: förhandlingsproblem."
 
 msgid "Internal GStreamer error: event problem."
@@ -136,7 +137,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "Din GStreamer-installation saknar en insticksmodul."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Internt GStreamer-fel: klockproblem."
 
 msgid ""
@@ -1033,6 +1035,14 @@
 msgid "List the plugin contents"
 msgstr "Lista insticksmodulens innehåll"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 "Skriv ut uri-scheman som stöds, tillsammans med elementen som implementerar "
diff --git a/po/tr.gmo b/po/tr.gmo
index ce35fe3..fa33491 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index e5708e2..dec2f83 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -117,7 +117,7 @@
 msgstr "Dahili GStreamer hatası: dallanma sorunu.  Hata bildiriminde bulunun."
 
 #, fuzzy
-msgid "Internal GStreamer error: negotiation problem."
+msgid "GStreamer error: negotiation problem."
 msgstr "Dahili GStreamer hatası: uzlaşma sorunu.  Hata bildiriminde bulunun."
 
 #, fuzzy
@@ -141,7 +141,7 @@
 msgstr ""
 
 #, fuzzy
-msgid "Internal GStreamer error: clock problem."
+msgid "GStreamer error: clock problem."
 msgstr "Dahili GStreamer hatası: atlama sorunu.  Hata bildiriminde bulunun."
 
 msgid ""
@@ -1037,6 +1037,14 @@
 msgid "List the plugin contents"
 msgstr ""
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 
diff --git a/po/uk.gmo b/po/uk.gmo
index 645e5fc..42ccaaa 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index 84e0c4f..ec0e096 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -114,7 +114,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Внутрішня помилка GStreamer: помилка потоку виконання."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Внутрішня помилка GStreamer: помилка встановлення зв'язку."
 
 msgid "Internal GStreamer error: event problem."
@@ -132,7 +133,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "У вашій збірці GStreamer відсутній модуль."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Внутрішня помилка GStreamer: помилка годинника."
 
 msgid ""
@@ -1023,6 +1025,14 @@
 msgid "List the plugin contents"
 msgstr "Показати вміст модуля"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Показати підтримувані схеми адрес з елементами, які їх реалізують"
 
diff --git a/po/vi.gmo b/po/vi.gmo
index d694261..f581d39 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 69d6dc2..0c6d29b 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -113,7 +113,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "Lỗi nội bộ GStreamer: vấn đề mạch."
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "Lỗi nội bộ GStreamer: vấn đề thỏa thuận."
 
 msgid "Internal GStreamer error: event problem."
@@ -131,7 +132,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "Bản cài đặt GStreamer của bạn còn thiếu một bổ sung."
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "Lỗi nội bộ GStreamer: vấn đề đồng hồ."
 
 msgid ""
@@ -1024,6 +1026,14 @@
 msgid "List the plugin contents"
 msgstr "Liệt kê nội dung phần bổ sung"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "In ra các lược đồ URI được hỗ trợ, với những yếu tố thực hiện chúng."
 
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index 451f54c..918e25f 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 ae04b2f..720b484 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -107,7 +107,8 @@
 msgid "Internal GStreamer error: thread problem."
 msgstr "GStreamer 内部错误：线程问题。"
 
-msgid "Internal GStreamer error: negotiation problem."
+#, fuzzy
+msgid "GStreamer error: negotiation problem."
 msgstr "GStreamer 内部错误: 协商问题。"
 
 msgid "Internal GStreamer error: event problem."
@@ -125,7 +126,8 @@
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "您的 GStreamer 安装缺少插件。"
 
-msgid "Internal GStreamer error: clock problem."
+#, fuzzy
+msgid "GStreamer error: clock problem."
 msgstr "GStreamer 内部错误：始终错误。"
 
 msgid ""
@@ -996,6 +998,14 @@
 msgid "List the plugin contents"
 msgstr "列出插件信息"
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "打印所支持的 URI 样式及它们的关联组件"
 
diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo
index 04f40c9..d935d63 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 0885477..77cb095 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-08-08 09:05+0100\n"
+"POT-Creation-Date: 2012-09-14 00:33+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"
@@ -114,7 +114,7 @@
 msgstr "GStreamer 內部錯誤：線程發生問題。請匯報錯誤。"
 
 #, fuzzy
-msgid "Internal GStreamer error: negotiation problem."
+msgid "GStreamer error: negotiation problem."
 msgstr "GStreamer 內部錯誤：線程發生問題。請匯報錯誤。"
 
 #, fuzzy
@@ -137,7 +137,7 @@
 msgstr ""
 
 #, fuzzy
-msgid "Internal GStreamer error: clock problem."
+msgid "GStreamer error: clock problem."
 msgstr "GStreamer 內部錯誤：搜尋發生問題。請匯報錯誤。"
 
 msgid ""
@@ -1015,6 +1015,14 @@
 msgid "List the plugin contents"
 msgstr ""
 
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 
diff --git a/scripts/gst-uninstalled b/scripts/gst-uninstalled
index 31702d2..c2ca503 100755
--- a/scripts/gst-uninstalled
+++ b/scripts/gst-uninstalled
@@ -132,6 +132,7 @@
 :$GST/gst-plugins-bad/ext\
 :$GST/gst-plugins-bad/gst\
 :$GST/gst-plugins-bad/sys\
+:$GST/gst-libav/ext/\
 :$GST/gst-ffmpeg/ext/\
 :$GST/gnonlin/gnl/.libs\
 :$GST/gst-openmax/omx/.libs\
@@ -190,6 +191,19 @@
 export DYLD_LIBRARY_PATH=$GST/gst-editing-services/ges/.libs:$DYLD_LIBRARY_PATH
 export PATH=$GST/gst-editing-services/tools:$PATH
 
+if [ -d "$GST/gst-libav" -a -d "$GST/gst-ffmpeg" ]; then
+  echo
+  echo "====================================================================="
+  echo " You have both an uninstalled gst-ffmpeg checkout and a gst-libav"
+  echo " checkout. You need to remove one of those. You should remove"
+  echo
+  echo "   $GST/gst-ffmpeg"
+  echo
+  echo " since gst-libav replaces gst-ffmpeg."
+  echo "====================================================================="
+  echo
+fi
+
 # if we got a command, run it, else start a shell
 if test ! -z "$1";
 then
diff --git a/tests/benchmarks/caps.c b/tests/benchmarks/caps.c
index 000e46f..32d1725 100644
--- a/tests/benchmarks/caps.c
+++ b/tests/benchmarks/caps.c
@@ -25,15 +25,20 @@
 
 #define NUM_CAPS 10000
 
+#define AUDIO_FORMATS_ALL " { S8, U8, " \
+    "S16LE, S16BE, U16LE, U16BE, " \
+    "S24_32LE, S24_32BE, U24_32LE, U24_32BE, " \
+    "S32LE, S32BE, U32LE, U32BE, " \
+    "S24LE, S24BE, U24LE, U24BE, " \
+    "S20LE, S20BE, U20LE, U20BE, " \
+    "S18LE, S18BE, U18LE, U18BE, " \
+    "F32LE, F32BE, F64LE, F64BE }"
 
 #define GST_AUDIO_INT_PAD_TEMPLATE_CAPS \
-  "audio/x-raw-int, " \
+  "audio/x-raw, " \
+  "format = (string) " AUDIO_FORMATS_ALL ", " \
   "rate = (int) [ 1, MAX ], " \
-  "channels = (int) [ 1, MAX ], " \
-  "endianness = (int) { LITTLE_ENDIAN, BIG_ENDIAN }, " \
-  "width = (int) { 8, 16, 24, 32 }, " \
-  "depth = (int) [ 1, 32 ], " \
-  "signed = (boolean) { true, false }"
+  "channels = (int) [ 1, MAX ]"
 
 
 gint
diff --git a/tests/benchmarks/capsnego.c b/tests/benchmarks/capsnego.c
index 3d05d14..7db7e91 100644
--- a/tests/benchmarks/capsnego.c
+++ b/tests/benchmarks/capsnego.c
@@ -50,12 +50,12 @@
 
 static const gchar *factories[NUM_FLAVOURS][NUM_ELEM] = {
   {"audiotestsrc", "adder", "volume", "audioconvert"},
-  {"videotestsrc", "videomixer", "videoscale", "ffmpegcolorspace"}
+  {"videotestsrc", "videomixer", "videoscale", "videoconvert"}
 };
 
 static const gchar *sink_pads[NUM_FLAVOURS][NUM_ELEM] = {
-  {NULL, "sink%d", NULL, NULL},
-  {NULL, "sink_%d", NULL, NULL}
+  {NULL, "sink_%u", NULL, NULL},
+  {NULL, "sink_%u", NULL, NULL}
 };
 
 
diff --git a/tests/benchmarks/gstbufferstress.c b/tests/benchmarks/gstbufferstress.c
index d17191d..9f652c3 100644
--- a/tests/benchmarks/gstbufferstress.c
+++ b/tests/benchmarks/gstbufferstress.c
@@ -100,7 +100,7 @@
         GINT_TO_POINTER (t), &error);
 
     if (error) {
-      printf ("ERROR: g_thread_create() %s\n", error->message);
+      printf ("ERROR: g_thread_try_new() %s\n", error->message);
       exit (-1);
     }
   }
diff --git a/tests/benchmarks/gstclockstress.c b/tests/benchmarks/gstclockstress.c
index 47aa5cc..e274d36 100644
--- a/tests/benchmarks/gstclockstress.c
+++ b/tests/benchmarks/gstclockstress.c
@@ -74,7 +74,7 @@
         sysclock, &error);
 
     if (error) {
-      printf ("ERROR: g_thread_create() %s\n", error->message);
+      printf ("ERROR: g_thread_try_new() %s\n", error->message);
       exit (-1);
     }
   }
diff --git a/tests/benchmarks/gstpollstress.c b/tests/benchmarks/gstpollstress.c
index dfd9caf..dc25c60 100644
--- a/tests/benchmarks/gstpollstress.c
+++ b/tests/benchmarks/gstpollstress.c
@@ -164,7 +164,7 @@
         GINT_TO_POINTER (t), &error);
 
     if (error) {
-      printf ("ERROR: g_thread_create() %s\n", error->message);
+      printf ("ERROR: g_thread_try_new() %s\n", error->message);
       exit (-1);
     }
   }
diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am
index 3124aa1..266dcd9 100644
--- a/tests/check/Makefile.am
+++ b/tests/check/Makefile.am
@@ -119,6 +119,7 @@
 	gst/gstobject				\
 	gst/gstpad				\
 	gst/gstparamspecs			\
+	gst/gstpipeline				\
 	gst/gstpoll     			\
 	gst/gstsegment				\
 	gst/gstsystemclock			\
@@ -138,14 +139,14 @@
 	libs/bitreader				\
 	libs/bytereader				\
 	libs/bytewriter				\
+	libs/collectpads			\
 	libs/gstnetclientclock			\
 	libs/gstnettimeprovider			\
-	libs/transform1
+	libs/transform1				\
+	tools/gstinspect
 
 # failing tests
-noinst_PROGRAMS =				\
-	gst/gstpipeline				\
-	libs/collectpads
+noinst_PROGRAMS =
 
 # elements to ignore for the state tests
 # STATE_IGNORE_ELEMENTS =
@@ -203,7 +204,8 @@
 # these just need valgrind fixing, period
 VALGRIND_TO_FIX = \
 	gst/gstinfo \
-	pipelines/parse-launch
+	pipelines/parse-launch \
+	tools/gstinspect
 
 VALGRIND_IGNORE = \
 	pipelines/stress
diff --git a/tests/check/Makefile.in b/tests/check/Makefile.in
index 5b21999..2285d6b 100644
--- a/tests/check/Makefile.in
+++ b/tests/check/Makefile.in
@@ -62,18 +62,19 @@
 	gst/gstinfo$(EXEEXT) gst/gstiterator$(EXEEXT) \
 	gst/gstmessage$(EXEEXT) gst/gstminiobject$(EXEEXT) \
 	gst/gstobject$(EXEEXT) gst/gstpad$(EXEEXT) \
-	gst/gstparamspecs$(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) \
+	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) \
 	libs/bytereader$(EXEEXT) libs/bytewriter$(EXEEXT) \
-	libs/gstnetclientclock$(EXEEXT) \
-	libs/gstnettimeprovider$(EXEEXT) libs/transform1$(EXEEXT)
-noinst_PROGRAMS = gst/gstpipeline$(EXEEXT) libs/collectpads$(EXEEXT)
+	libs/collectpads$(EXEEXT) libs/gstnetclientclock$(EXEEXT) \
+	libs/gstnettimeprovider$(EXEEXT) libs/transform1$(EXEEXT) \
+	tools/gstinspect$(EXEEXT)
+noinst_PROGRAMS =
 subdir = tests/check
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -647,6 +648,12 @@
 pipelines_stress_DEPENDENCIES = $(top_builddir)/libs/gst/check/libgstcheck-@GST_API_VERSION@.la \
 	$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
 	$(am__DEPENDENCIES_1)
+tools_gstinspect_SOURCES = tools/gstinspect.c
+tools_gstinspect_OBJECTS = gstinspect.$(OBJEXT)
+tools_gstinspect_LDADD = $(LDADD)
+tools_gstinspect_DEPENDENCIES = $(top_builddir)/libs/gst/check/libgstcheck-@GST_API_VERSION@.la \
+	$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
+	$(am__DEPENDENCIES_1)
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -715,7 +722,7 @@
 	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
+	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 \
@@ -743,7 +750,7 @@
 	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
+	pipelines/stress.c tools/gstinspect.c
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -1157,7 +1164,8 @@
 # these just need valgrind fixing, period
 VALGRIND_TO_FIX = \
 	gst/gstinfo \
-	pipelines/parse-launch
+	pipelines/parse-launch \
+	tools/gstinspect
 
 VALGRIND_IGNORE = \
 	pipelines/stress
@@ -1492,6 +1500,12 @@
 pipelines/stress$(EXEEXT): $(pipelines_stress_OBJECTS) $(pipelines_stress_DEPENDENCIES) $(EXTRA_pipelines_stress_DEPENDENCIES) pipelines/$(am__dirstamp)
 	@rm -f pipelines/stress$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(pipelines_stress_OBJECTS) $(pipelines_stress_LDADD) $(LIBS)
+tools/$(am__dirstamp):
+	@$(MKDIR_P) tools
+	@: > tools/$(am__dirstamp)
+tools/gstinspect$(EXEEXT): $(tools_gstinspect_OBJECTS) $(tools_gstinspect_DEPENDENCIES) $(EXTRA_tools_gstinspect_DEPENDENCIES) tools/$(am__dirstamp)
+	@rm -f tools/gstinspect$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(tools_gstinspect_OBJECTS) $(tools_gstinspect_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -1532,6 +1546,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstevent.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstghostpad.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstinfo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstinspect.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstiterator.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstlibscpp.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstmemory.Po@am__quote@
@@ -2678,6 +2693,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 stress.obj `if test -f 'pipelines/stress.c'; then $(CYGPATH_W) 'pipelines/stress.c'; else $(CYGPATH_W) '$(srcdir)/pipelines/stress.c'; fi`
 
+gstinspect.o: tools/gstinspect.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gstinspect.o -MD -MP -MF $(DEPDIR)/gstinspect.Tpo -c -o gstinspect.o `test -f 'tools/gstinspect.c' || echo '$(srcdir)/'`tools/gstinspect.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/gstinspect.Tpo $(DEPDIR)/gstinspect.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tools/gstinspect.c' object='gstinspect.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 gstinspect.o `test -f 'tools/gstinspect.c' || echo '$(srcdir)/'`tools/gstinspect.c
+
+gstinspect.obj: tools/gstinspect.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gstinspect.obj -MD -MP -MF $(DEPDIR)/gstinspect.Tpo -c -o gstinspect.obj `if test -f 'tools/gstinspect.c'; then $(CYGPATH_W) 'tools/gstinspect.c'; else $(CYGPATH_W) '$(srcdir)/tools/gstinspect.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/gstinspect.Tpo $(DEPDIR)/gstinspect.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tools/gstinspect.c' object='gstinspect.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 gstinspect.obj `if test -f 'tools/gstinspect.c'; then $(CYGPATH_W) 'tools/gstinspect.c'; else $(CYGPATH_W) '$(srcdir)/tools/gstinspect.c'; fi`
+
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@@ -2737,6 +2766,7 @@
 	-rm -rf gst/.libs gst/_libs
 	-rm -rf libs/.libs libs/_libs
 	-rm -rf pipelines/.libs pipelines/_libs
+	-rm -rf tools/.libs tools/_libs
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -2951,6 +2981,7 @@
 	-rm -f gst/$(am__dirstamp)
 	-rm -f libs/$(am__dirstamp)
 	-rm -f pipelines/$(am__dirstamp)
+	-rm -f tools/$(am__dirstamp)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
diff --git a/tests/check/elements/fakesink.c b/tests/check/elements/fakesink.c
index 4d5106f..8a6bfa6 100644
--- a/tests/check/elements/fakesink.c
+++ b/tests/check/elements/fakesink.c
@@ -57,7 +57,8 @@
   chain_data->buffer = buffer;
   chain_data->ret = GST_FLOW_ERROR;
 
-  thread = g_thread_create (chain_async_buffer, chain_data, TRUE, &error);
+  thread =
+      g_thread_try_new ("gst-check", chain_async_buffer, chain_data, &error);
   if (error != NULL) {
     g_warning ("could not create thread reason: %s", error->message);
     g_free (chain_data);
diff --git a/tests/check/elements/filesrc.c b/tests/check/elements/filesrc.c
index 2a3fac4..cc35a4d 100644
--- a/tests/check/elements/filesrc.c
+++ b/tests/check/elements/filesrc.c
@@ -26,8 +26,8 @@
 #include <gst/check/gstcheck.h>
 
 static gboolean have_eos = FALSE;
-static GCond *eos_cond;
-static GMutex *event_mutex;
+static GCond eos_cond;
+static GMutex event_mutex;
 
 static GstPad *mysinkpad;
 
@@ -41,13 +41,13 @@
 {
   gboolean res = TRUE;
 
-  g_mutex_lock (event_mutex);
+  g_mutex_lock (&event_mutex);
   if (GST_EVENT_TYPE (event) == GST_EVENT_EOS) {
     have_eos = TRUE;
     GST_DEBUG ("signal EOS");
-    g_cond_broadcast (eos_cond);
+    g_cond_broadcast (&eos_cond);
   }
-  g_mutex_unlock (event_mutex);
+  g_mutex_unlock (&event_mutex);
 
   gst_event_unref (event);
 
@@ -57,13 +57,13 @@
 static void
 wait_eos (void)
 {
-  g_mutex_lock (event_mutex);
+  g_mutex_lock (&event_mutex);
   GST_DEBUG ("waiting for EOS");
   while (!have_eos) {
-    g_cond_wait (eos_cond, event_mutex);
+    g_cond_wait (&eos_cond, &event_mutex);
   }
   GST_DEBUG ("received EOS");
-  g_mutex_unlock (event_mutex);
+  g_mutex_unlock (&event_mutex);
 }
 
 static GstElement *
@@ -77,9 +77,6 @@
   gst_pad_set_event_function (mysinkpad, event_func);
   gst_pad_set_active (mysinkpad, TRUE);
 
-  eos_cond = g_cond_new ();
-  event_mutex = g_mutex_new ();
-
   return filesrc;
 }
 
@@ -89,9 +86,6 @@
   gst_pad_set_active (mysinkpad, FALSE);
   gst_check_teardown_sink_pad (filesrc);
   gst_check_teardown_element (filesrc);
-
-  g_cond_free (eos_cond);
-  g_mutex_free (event_mutex);
 }
 
 GST_START_TEST (test_seeking)
diff --git a/tests/check/elements/multiqueue.c b/tests/check/elements/multiqueue.c
index 3969615..3e6a919 100644
--- a/tests/check/elements/multiqueue.c
+++ b/tests/check/elements/multiqueue.c
@@ -415,14 +415,14 @@
   struct PadData pad_data[5];
   guint32 max_linked_id;
   guint32 eos_seen;
-  GMutex *mutex;
-  GCond *cond;
+  GMutex mutex;
+  GCond cond;
   gint i;
   const gint NPADS = 5;
   const gint NBUFFERS = 1000;
 
-  mutex = g_mutex_new ();
-  cond = g_cond_new ();
+  g_mutex_init (&mutex);
+  g_cond_init (&cond);
 
   pipe = gst_bin_new ("testbin");
 
@@ -470,8 +470,8 @@
     pad_data[i].eos_count_ptr = &eos_seen;
     pad_data[i].is_linked = (i < n_linked ? TRUE : FALSE);
     pad_data[i].n_linked = n_linked;
-    pad_data[i].cond = cond;
-    pad_data[i].mutex = mutex;
+    pad_data[i].cond = &cond;
+    pad_data[i].mutex = &mutex;
     pad_data[i].first_buf = TRUE;
     gst_pad_set_element_private (sinkpads[i], pad_data + i);
 
@@ -527,12 +527,12 @@
   }
 
   /* Wait while the buffers are processed */
-  g_mutex_lock (mutex);
+  g_mutex_lock (&mutex);
   /* We wait until EOS has been pushed on all linked pads */
   while (eos_seen < n_linked) {
-    g_cond_wait (cond, mutex);
+    g_cond_wait (&cond, &mutex);
   }
-  g_mutex_unlock (mutex);
+  g_mutex_unlock (&mutex);
 
   /* Clean up */
   for (i = 0; i < NPADS; i++) {
@@ -549,8 +549,8 @@
   gst_element_set_state (pipe, GST_STATE_NULL);
   gst_object_unref (pipe);
 
-  g_cond_free (cond);
-  g_mutex_free (mutex);
+  g_cond_clear (&cond);
+  g_mutex_clear (&mutex);
 }
 
 GST_START_TEST (test_output_order)
@@ -574,14 +574,14 @@
   GstEvent *event;
   struct PadData pad_data[2];
   guint32 eos_seen, max_linked_id;
-  GMutex *mutex;
-  GCond *cond;
+  GMutex mutex;
+  GCond cond;
   gint i;
   const gint NBUFFERS = 100;
   GstSegment segment;
 
-  mutex = g_mutex_new ();
-  cond = g_cond_new ();
+  g_mutex_init (&mutex);
+  g_cond_init (&cond);
 
   pipe = gst_pipeline_new ("testbin");
   mq = gst_element_factory_make ("multiqueue", NULL);
@@ -626,8 +626,8 @@
     pad_data[i].eos_count_ptr = &eos_seen;
     pad_data[i].is_linked = (i == 0) ? TRUE : FALSE;
     pad_data[i].n_linked = 1;
-    pad_data[i].cond = cond;
-    pad_data[i].mutex = mutex;
+    pad_data[i].cond = &cond;
+    pad_data[i].mutex = &mutex;
     pad_data[i].first_buf = TRUE;
     gst_pad_set_element_private (sinkpads[i], pad_data + i);
 
@@ -692,12 +692,12 @@
   gst_pad_push_event (inputpads[1], event);
 
   /* Wait while the buffers are processed */
-  g_mutex_lock (mutex);
+  g_mutex_lock (&mutex);
   /* We wait until EOS has been pushed on all pads */
   while (eos_seen < 2) {
-    g_cond_wait (cond, mutex);
+    g_cond_wait (&cond, &mutex);
   }
-  g_mutex_unlock (mutex);
+  g_mutex_unlock (&mutex);
 
   /* Clean up */
   for (i = 0; i < 2; i++) {
@@ -714,8 +714,8 @@
   gst_element_set_state (pipe, GST_STATE_NULL);
   gst_object_unref (pipe);
 
-  g_cond_free (cond);
-  g_mutex_free (mutex);
+  g_cond_clear (&cond);
+  g_mutex_clear (&mutex);
 }
 
 GST_END_TEST;
diff --git a/tests/check/elements/queue.c b/tests/check/elements/queue.c
index 16ea8ec..6682d18 100644
--- a/tests/check/elements/queue.c
+++ b/tests/check/elements/queue.c
@@ -24,10 +24,10 @@
 
 #include <gst/check/gstcheck.h>
 
-#define UNDERRUN_LOCK() (g_mutex_lock (underrun_mutex))
-#define UNDERRUN_UNLOCK() (g_mutex_unlock (underrun_mutex))
-#define UNDERRUN_SIGNAL() (g_cond_signal (underrun_cond))
-#define UNDERRUN_WAIT() (g_cond_wait (underrun_cond, underrun_mutex))
+#define UNDERRUN_LOCK() (g_mutex_lock (&underrun_mutex))
+#define UNDERRUN_UNLOCK() (g_mutex_unlock (&underrun_mutex))
+#define UNDERRUN_SIGNAL() (g_cond_signal (&underrun_cond))
+#define UNDERRUN_WAIT() (g_cond_wait (&underrun_cond, &underrun_mutex))
 
 static GstElement *queue;
 
@@ -41,8 +41,8 @@
 
 static gint overrun_count;
 
-static GMutex *underrun_mutex;
-static GCond *underrun_cond;
+static GMutex underrun_mutex;
+static GCond underrun_cond;
 static gint underrun_count;
 
 static GList *events;
@@ -121,8 +121,6 @@
 
   overrun_count = 0;
 
-  underrun_mutex = g_mutex_new ();
-  underrun_cond = g_cond_new ();
   underrun_count = 0;
 
   events = NULL;
@@ -137,11 +135,6 @@
 
   drop_events ();
 
-  g_cond_free (underrun_cond);
-  underrun_cond = NULL;
-  g_mutex_free (underrun_mutex);
-  underrun_mutex = NULL;
-
   if (mysinkpad != NULL) {
     gst_pad_set_active (mysinkpad, FALSE);
     gst_check_teardown_sink_pad (queue);
@@ -277,12 +270,12 @@
   fail_unless (overrun_count == 1);
 
   /* lock the check_mutex to block the first buffer pushed to mysinkpad */
-  g_mutex_lock (check_mutex);
+  g_mutex_lock (&check_mutex);
   /* now let the queue push all buffers */
   while (g_list_length (buffers) < 3) {
-    g_cond_wait (check_cond, check_mutex);
+    g_cond_wait (&check_cond, &check_mutex);
   }
-  g_mutex_unlock (check_mutex);
+  g_mutex_unlock (&check_mutex);
 
   fail_unless (overrun_count == 1);
   /* make sure we get the underrun signal before we check underrun_count */
diff --git a/tests/check/elements/queue2.c b/tests/check/elements/queue2.c
index e850730..c03ca1d 100644
--- a/tests/check/elements/queue2.c
+++ b/tests/check/elements/queue2.c
@@ -242,7 +242,9 @@
   buffer = gst_buffer_new_and_alloc (4 * 1024);
   fail_unless (gst_pad_chain (sinkpad, buffer) == GST_FLOW_OK);
 
-  thread = g_thread_create ((GThreadFunc) push_buffer, sinkpad, TRUE, NULL);
+  thread =
+      g_thread_try_new ("gst-check", (GThreadFunc) push_buffer, sinkpad, NULL);
+  fail_unless (thread != NULL);
 
   buffer = NULL;
   fail_unless (gst_pad_get_range (srcpad, 1024, 4 * 1024,
diff --git a/tests/check/elements/tee.c b/tests/check/elements/tee.c
index 3f68056..46ff4d9 100644
--- a/tests/check/elements/tee.c
+++ b/tests/check/elements/tee.c
@@ -242,20 +242,20 @@
   BufferAllocHarness *h = data;
 
   /* Signal that we are about to call release_request_pad(). */
-  g_mutex_lock (check_mutex);
+  g_mutex_lock (&check_mutex);
   h->app_thread_prepped = TRUE;
-  g_cond_signal (check_cond);
-  g_mutex_unlock (check_mutex);
+  g_cond_signal (&check_cond);
+  g_mutex_unlock (&check_mutex);
 
   /* Simulate that the app releases the pad while the streaming thread is in
    * buffer_alloc below. */
   gst_element_release_request_pad (h->tee, h->tee_srcpad);
 
   /* Signal the bufferalloc function below if it's still waiting. */
-  g_mutex_lock (check_mutex);
+  g_mutex_lock (&check_mutex);
   h->bufferalloc_blocked = FALSE;
-  g_cond_signal (check_cond);
-  g_mutex_unlock (check_mutex);
+  g_cond_signal (&check_cond);
+  g_mutex_unlock (&check_mutex);
 
   return NULL;
 }
@@ -278,25 +278,25 @@
     h->app_thread_prepped = FALSE;
     h->bufferalloc_blocked = TRUE;
 
-    h->app_thread = g_thread_create (app_thread_func, h, TRUE, NULL);
+    h->app_thread = g_thread_try_new ("gst-check", app_thread_func, h, NULL);
     fail_if (h->app_thread == NULL);
 
     /* Wait for the app thread to get ready to call release_request_pad(). */
-    g_mutex_lock (check_mutex);
+    g_mutex_lock (&check_mutex);
     while (!h->app_thread_prepped)
-      g_cond_wait (check_cond, check_mutex);
-    g_mutex_unlock (check_mutex);
+      g_cond_wait (&check_cond, &check_mutex);
+    g_mutex_unlock (&check_mutex);
 
     /* Now wait for it to do that within a second, to avoid deadlocking
      * in the event of future changes to the locking semantics. */
-    g_mutex_lock (check_mutex);
+    g_mutex_lock (&check_mutex);
     g_get_current_time (&deadline);
     deadline.tv_sec += 1;
     while (h->bufferalloc_blocked) {
-      if (!g_cond_timed_wait (check_cond, check_mutex, &deadline))
+      if (!g_cond_timed_wait (&check_cond, &check_mutex, &deadline))
         break;
     }
-    g_mutex_unlock (check_mutex);
+    g_mutex_unlock (&check_mutex);
   }
 
   *buf = gst_buffer_new_and_alloc (size);
diff --git a/tests/check/generic/sinks.c b/tests/check/generic/sinks.c
index 335225e..7f625ac 100644
--- a/tests/check/generic/sinks.c
+++ b/tests/check/generic/sinks.c
@@ -760,16 +760,16 @@
 
 GST_END_TEST;
 
-static GMutex *blocked_lock;
-static GCond *blocked_cond;
+static GMutex blocked_lock;
+static GCond blocked_cond;
 
 static GstPadProbeReturn
 pad_blocked_cb (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
 {
-  g_mutex_lock (blocked_lock);
+  g_mutex_lock (&blocked_lock);
   GST_DEBUG ("srcpad blocked: %d, sending signal", info->type);
-  g_cond_signal (blocked_cond);
-  g_mutex_unlock (blocked_lock);
+  g_cond_signal (&blocked_cond);
+  g_mutex_unlock (&blocked_lock);
 
   return GST_PAD_PROBE_OK;
 }
@@ -782,9 +782,6 @@
   GstPad *srcpad, *sinkpad;
   gulong id;
 
-  blocked_lock = g_mutex_new ();
-  blocked_cond = g_cond_new ();
-
   pipeline = gst_pipeline_new ("pipeline");
   src = gst_element_factory_make ("fakesrc", "src");
   g_object_set (G_OBJECT (src), "is-live", TRUE, NULL);
@@ -797,7 +794,7 @@
   ret = gst_element_set_state (pipeline, GST_STATE_PLAYING);
   fail_unless (ret == GST_STATE_CHANGE_ASYNC, "no ASYNC state return");
 
-  g_mutex_lock (blocked_lock);
+  g_mutex_lock (&blocked_lock);
 
   GST_DEBUG ("blocking srcpad");
   /* block source pad */
@@ -817,8 +814,8 @@
   gst_bin_add (GST_BIN (pipeline), src);
 
   /* wait for pad blocked, this means the source is now PLAYING. */
-  g_cond_wait (blocked_cond, blocked_lock);
-  g_mutex_unlock (blocked_lock);
+  g_cond_wait (&blocked_cond, &blocked_lock);
+  g_mutex_unlock (&blocked_lock);
 
   GST_DEBUG ("linking pads");
 
@@ -845,8 +842,6 @@
   ret = gst_element_set_state (pipeline, GST_STATE_NULL);
   fail_unless (ret == GST_STATE_CHANGE_SUCCESS, "not SUCCESS");
 
-  g_cond_free (blocked_cond);
-  g_mutex_free (blocked_lock);
   gst_object_unref (pipeline);
 }
 
@@ -952,7 +947,8 @@
   /* push EOS, this will block for up to 100 seconds, until the previous
    * buffer has finished. We therefore push it in another thread so we can do
    * something else while it blocks. */
-  thread = g_thread_create ((GThreadFunc) send_eos, sinkpad, TRUE, NULL);
+  thread =
+      g_thread_try_new ("gst-check", (GThreadFunc) send_eos, sinkpad, NULL);
   fail_if (thread == NULL, "no thread");
 
   /* wait a while so that the thread manages to start and push the EOS */
@@ -1096,7 +1092,8 @@
   /* last buffer, blocks because preroll queue is filled. Start the push in a
    * new thread so that we can check the position */
   GST_DEBUG ("starting thread");
-  thread = g_thread_create ((GThreadFunc) send_buffer, sinkpad, TRUE, NULL);
+  thread =
+      g_thread_try_new ("gst-check", (GThreadFunc) send_buffer, sinkpad, NULL);
   fail_if (thread == NULL, "no thread");
 
   GST_DEBUG ("waiting 1 second");
@@ -1207,7 +1204,8 @@
    * position should now be 10 seconds. */
   GST_DEBUG ("pushing EOS");
   GST_DEBUG ("starting thread");
-  thread = g_thread_create ((GThreadFunc) send_eos, sinkpad, TRUE, NULL);
+  thread =
+      g_thread_try_new ("gst-check", (GThreadFunc) send_eos, sinkpad, NULL);
   fail_if (thread == NULL, "no thread");
 
   /* wait for preroll */
@@ -1228,17 +1226,17 @@
 
 GST_END_TEST;
 
-static GMutex *preroll_lock;
-static GCond *preroll_cond;
+static GMutex preroll_lock;
+static GCond preroll_cond;
 
 static void
 test_async_false_seek_preroll (GstElement * elem, GstBuffer * buf,
     GstPad * pad, gpointer data)
 {
-  g_mutex_lock (preroll_lock);
+  g_mutex_lock (&preroll_lock);
   GST_DEBUG ("Got preroll buffer %p", buf);
-  g_cond_signal (preroll_cond);
-  g_mutex_unlock (preroll_lock);
+  g_cond_signal (&preroll_cond);
+  g_mutex_unlock (&preroll_lock);
 }
 
 static void
@@ -1254,9 +1252,6 @@
 {
   GstElement *pipeline, *source, *sink;
 
-  preroll_lock = g_mutex_new ();
-  preroll_cond = g_cond_new ();
-
   /* Create gstreamer elements */
   pipeline = gst_pipeline_new ("test-pipeline");
   source = gst_element_factory_make ("fakesrc", "file-source");
@@ -1278,56 +1273,50 @@
   gst_element_link (source, sink);
 
   GST_DEBUG ("Now pausing");
-  g_mutex_lock (preroll_lock);
+  g_mutex_lock (&preroll_lock);
   gst_element_set_state (pipeline, GST_STATE_PAUSED);
 
   /* wait for preroll */
   GST_DEBUG ("wait for preroll");
-  g_cond_wait (preroll_cond, preroll_lock);
-  g_mutex_unlock (preroll_lock);
+  g_cond_wait (&preroll_cond, &preroll_lock);
+  g_mutex_unlock (&preroll_lock);
 
-  g_mutex_lock (preroll_lock);
+  g_mutex_lock (&preroll_lock);
   GST_DEBUG ("Seeking");
   fail_unless (gst_element_seek (pipeline, 1.0, GST_FORMAT_BYTES,
           GST_SEEK_FLAG_FLUSH, GST_SEEK_TYPE_SET, 0, GST_SEEK_TYPE_SET, -1));
 
   GST_DEBUG ("wait for new preroll");
   /* this either prerolls or fails */
-  g_cond_wait (preroll_cond, preroll_lock);
-  g_mutex_unlock (preroll_lock);
+  g_cond_wait (&preroll_cond, &preroll_lock);
+  g_mutex_unlock (&preroll_lock);
 
   GST_DEBUG ("bring pipe to state NULL");
   gst_element_set_state (pipeline, GST_STATE_NULL);
 
   GST_DEBUG ("Deleting pipeline");
   gst_object_unref (GST_OBJECT (pipeline));
-
-  g_mutex_free (preroll_lock);
-  g_cond_free (preroll_cond);
 }
 
 GST_END_TEST;
 
-static GMutex *handoff_lock;
-static GCond *handoff_cond;
+static GMutex handoff_lock;
+static GCond handoff_cond;
 
 static void
 test_async_false_seek_in_playing_handoff (GstElement * elem, GstBuffer * buf,
     GstPad * pad, gpointer data)
 {
-  g_mutex_lock (handoff_lock);
+  g_mutex_lock (&handoff_lock);
   GST_DEBUG ("Got handoff buffer %p", buf);
-  g_cond_signal (handoff_cond);
-  g_mutex_unlock (handoff_lock);
+  g_cond_signal (&handoff_cond);
+  g_mutex_unlock (&handoff_lock);
 }
 
 GST_START_TEST (test_async_false_seek_in_playing)
 {
   GstElement *pipeline, *source, *sink;
 
-  handoff_lock = g_mutex_new ();
-  handoff_cond = g_cond_new ();
-
   /* Create gstreamer elements */
   pipeline = gst_pipeline_new ("test-pipeline");
   source = gst_element_factory_make ("fakesrc", "fake-source");
@@ -1348,28 +1337,25 @@
   GST_DEBUG ("Now playing");
   gst_element_set_state (pipeline, GST_STATE_PLAYING);
 
-  g_mutex_lock (handoff_lock);
+  g_mutex_lock (&handoff_lock);
   GST_DEBUG ("wait for handoff buffer");
-  g_cond_wait (handoff_cond, handoff_lock);
-  g_mutex_unlock (handoff_lock);
+  g_cond_wait (&handoff_cond, &handoff_lock);
+  g_mutex_unlock (&handoff_lock);
 
   GST_DEBUG ("Seeking");
   fail_unless (gst_element_seek (source, 1.0, GST_FORMAT_BYTES,
           GST_SEEK_FLAG_FLUSH, GST_SEEK_TYPE_SET, 0, GST_SEEK_TYPE_SET, -1));
 
-  g_mutex_lock (handoff_lock);
+  g_mutex_lock (&handoff_lock);
   GST_DEBUG ("wait for handoff buffer");
-  g_cond_wait (handoff_cond, handoff_lock);
-  g_mutex_unlock (handoff_lock);
+  g_cond_wait (&handoff_cond, &handoff_lock);
+  g_mutex_unlock (&handoff_lock);
 
   GST_DEBUG ("bring pipe to state NULL");
   gst_element_set_state (pipeline, GST_STATE_NULL);
 
   GST_DEBUG ("Deleting pipeline");
   gst_object_unref (GST_OBJECT (pipeline));
-
-  g_mutex_free (handoff_lock);
-  g_cond_free (handoff_cond);
 }
 
 GST_END_TEST;
diff --git a/tests/check/gst/gstbus.c b/tests/check/gst/gstbus.c
index 7e8ce6d..3a90651 100644
--- a/tests/check/gst/gstbus.c
+++ b/tests/check/gst/gstbus.c
@@ -87,8 +87,8 @@
   test_bus = gst_bus_new ();
 
   for (i = 0; i < NUM_THREADS; i++)
-    threads[i] = g_thread_create (pound_bus_with_messages, GINT_TO_POINTER (i),
-        TRUE, NULL);
+    threads[i] = g_thread_try_new ("gst-check", pound_bus_with_messages,
+        GINT_TO_POINTER (i), NULL);
 
   for (i = 0; i < NUM_THREADS; i++)
     g_thread_join (threads[i]);
@@ -509,7 +509,7 @@
 
   test_bus = gst_bus_new ();
 
-  thread = g_thread_create (pop_thread, test_bus, TRUE, &error);
+  thread = g_thread_try_new ("gst-chek", pop_thread, test_bus, &error);
   fail_if (error != NULL);
 
   send_10_app_messages ();
diff --git a/tests/check/gst/gstevent.c b/tests/check/gst/gstevent.c
index fc215f2..acca8ac 100644
--- a/tests/check/gst/gstevent.c
+++ b/tests/check/gst/gstevent.c
@@ -109,77 +109,6 @@
     gst_event_unref (event);
   }
 
-  /* STREAM CONFIG */
-  {
-    GstStreamConfigFlags flags = 0x987654;
-    GstBuffer *buf, *cd, *sh1, *sh2;
-    gpointer dummy;
-
-    event = gst_event_new_stream_config (GST_STREAM_CONFIG_FLAG_NONE);
-
-    gst_event_parse_stream_config (event, &flags);
-    fail_unless_equals_int (flags, GST_STREAM_CONFIG_FLAG_NONE);
-
-    fail_unless_equals_int (gst_event_get_n_stream_config_headers (event), 0);
-
-    /* set buf to something random but guaranteed to be non-NULL */
-    buf = (GstBuffer *) & dummy;
-    gst_event_parse_stream_config_setup_data (event, &buf);
-    fail_unless (buf == NULL);
-
-    buf = (GstBuffer *) & dummy;
-    gst_event_parse_nth_stream_config_header (event, 0, &buf);
-    fail_unless (buf == NULL);
-
-    buf = (GstBuffer *) & dummy;
-    gst_event_parse_nth_stream_config_header (event, 98416, &buf);
-    fail_unless (buf == NULL);
-
-    ASSERT_CRITICAL (gst_event_set_stream_config_setup_data (event, NULL));
-    ASSERT_CRITICAL (gst_event_add_stream_config_header (event, NULL));
-
-    cd = gst_buffer_new_wrapped_full (0, (gpointer) "SetMeUpScottie", 14, 0, 14,
-        NULL, NULL);
-    gst_event_set_stream_config_setup_data (event, cd);
-    gst_buffer_unref (cd);
-
-    buf = (GstBuffer *) & dummy;
-    gst_event_parse_nth_stream_config_header (event, 0, &buf);
-    fail_unless (buf == NULL);
-    gst_event_parse_stream_config_setup_data (event, &buf);
-    fail_unless (buf == cd);
-    fail_unless (GST_IS_BUFFER (buf));
-
-    gst_event_unref (event);
-
-    event = gst_event_new_stream_config (GST_STREAM_CONFIG_FLAG_NONE);
-    fail_unless_equals_int (gst_event_get_n_stream_config_headers (event), 0);
-    sh1 =
-        gst_buffer_new_wrapped_full (0, (gpointer) "Strea", 5, 0, 5, NULL,
-        NULL);
-    gst_event_add_stream_config_header (event, sh1);
-    gst_buffer_unref (sh1);
-    fail_unless_equals_int (gst_event_get_n_stream_config_headers (event), 1);
-    sh2 =
-        gst_buffer_new_wrapped_full (0, (gpointer) "mHeader", 7, 0, 7, NULL,
-        NULL);
-    gst_event_add_stream_config_header (event, sh2);
-    gst_buffer_unref (sh2);
-    fail_unless_equals_int (gst_event_get_n_stream_config_headers (event), 2);
-
-    buf = (GstBuffer *) & dummy;
-    gst_event_parse_nth_stream_config_header (event, 1, &buf);
-    fail_unless (buf == sh2);
-    fail_unless (GST_IS_BUFFER (buf));
-
-    buf = (GstBuffer *) & dummy;
-    gst_event_parse_nth_stream_config_header (event, 0, &buf);
-    fail_unless (buf == sh1);
-    fail_unless (GST_IS_BUFFER (buf));
-
-    gst_event_unref (event);
-  }
-
   /* TAGS */
   {
     GstTagList *taglist = gst_tag_list_new_empty ();
@@ -405,8 +334,8 @@
 
 typedef struct
 {
-  GMutex *lock;
-  GCond *cond;
+  GMutex lock;
+  GCond cond;
   gboolean signaled;
 } SignalData;
 
@@ -414,8 +343,8 @@
 signal_data_init (SignalData * data)
 {
   GST_DEBUG ("init %p", data);
-  data->lock = g_mutex_new ();
-  data->cond = g_cond_new ();
+  g_mutex_init (&data->lock);
+  g_cond_init (&data->cond);
   data->signaled = FALSE;
 }
 
@@ -423,29 +352,29 @@
 signal_data_cleanup (SignalData * data)
 {
   GST_DEBUG ("free %p", data);
-  g_mutex_free (data->lock);
-  g_cond_free (data->cond);
+  g_mutex_clear (&data->lock);
+  g_cond_clear (&data->cond);
 }
 
 static void
 signal_data_signal (SignalData * data)
 {
-  g_mutex_lock (data->lock);
+  g_mutex_lock (&data->lock);
   data->signaled = TRUE;
-  g_cond_broadcast (data->cond);
+  g_cond_broadcast (&data->cond);
   GST_DEBUG ("signaling %p", data);
-  g_mutex_unlock (data->lock);
+  g_mutex_unlock (&data->lock);
 }
 
 static void
 signal_data_wait (SignalData * data)
 {
-  g_mutex_lock (data->lock);
+  g_mutex_lock (&data->lock);
   GST_DEBUG ("signal wait %p", data);
   while (!data->signaled)
-    g_cond_wait (data->cond, data->lock);
+    g_cond_wait (&data->cond, &data->lock);
   GST_DEBUG ("signal wait done %p", data);
-  g_mutex_unlock (data->lock);
+  g_mutex_unlock (&data->lock);
 }
 
 static GstPadProbeReturn
diff --git a/tests/check/gst/gstghostpad.c b/tests/check/gst/gstghostpad.c
index 2a72ec5..af3c0af 100644
--- a/tests/check/gst/gstghostpad.c
+++ b/tests/check/gst/gstghostpad.c
@@ -474,8 +474,8 @@
 
 typedef struct
 {
-  GMutex *mutex;
-  GCond *cond;
+  GMutex mutex;
+  GCond cond;
 } BlockData;
 
 static GstPadProbeReturn
@@ -483,10 +483,10 @@
 {
   BlockData *block_data = (BlockData *) user_data;
 
-  g_mutex_lock (block_data->mutex);
+  g_mutex_lock (&block_data->mutex);
   GST_DEBUG ("blocked\n");
-  g_cond_signal (block_data->cond);
-  g_mutex_unlock (block_data->mutex);
+  g_cond_signal (&block_data->cond);
+  g_mutex_unlock (&block_data->mutex);
 
   return GST_PAD_PROBE_OK;
 }
@@ -512,20 +512,20 @@
   gst_element_add_pad (GST_ELEMENT (srcbin), srcghost);
   gst_object_unref (srcpad);
 
-  block_data.mutex = g_mutex_new ();
-  block_data.cond = g_cond_new ();
+  g_mutex_init (&block_data.mutex);
+  g_cond_init (&block_data.cond);
 
-  g_mutex_lock (block_data.mutex);
+  g_mutex_lock (&block_data.mutex);
   gst_pad_add_probe (srcghost, GST_PAD_PROBE_TYPE_BLOCK, block_callback,
       &block_data, NULL);
   gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_PLAYING);
   /* and wait now */
-  g_cond_wait (block_data.cond, block_data.mutex);
-  g_mutex_unlock (block_data.mutex);
+  g_cond_wait (&block_data.cond, &block_data.mutex);
+  g_mutex_unlock (&block_data.mutex);
   gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_NULL);
 
-  g_mutex_free (block_data.mutex);
-  g_cond_free (block_data.cond);
+  g_mutex_clear (&block_data.mutex);
+  g_cond_clear (&block_data.cond);
 
   ASSERT_OBJECT_REFCOUNT (pipeline, "pipeline", 1);
   gst_object_unref (pipeline);
@@ -554,20 +554,20 @@
   gst_element_add_pad (GST_ELEMENT (srcbin), srcghost);
   gst_object_unref (srcpad);
 
-  block_data.mutex = g_mutex_new ();
-  block_data.cond = g_cond_new ();
+  g_mutex_init (&block_data.mutex);
+  g_cond_init (&block_data.cond);
 
-  g_mutex_lock (block_data.mutex);
+  g_mutex_lock (&block_data.mutex);
   gst_pad_add_probe (srcghost, GST_PAD_PROBE_TYPE_BLOCK, block_callback,
       &block_data, NULL);
   gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_PLAYING);
   /* and wait now */
-  g_cond_wait (block_data.cond, block_data.mutex);
-  g_mutex_unlock (block_data.mutex);
+  g_cond_wait (&block_data.cond, &block_data.mutex);
+  g_mutex_unlock (&block_data.mutex);
   gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_NULL);
 
-  g_mutex_free (block_data.mutex);
-  g_cond_free (block_data.cond);
+  g_mutex_clear (&block_data.mutex);
+  g_cond_clear (&block_data.cond);
 
   ASSERT_OBJECT_REFCOUNT (pipeline, "pipeline", 1);
   gst_object_unref (pipeline);
diff --git a/tests/check/gst/gstiterator.c b/tests/check/gst/gstiterator.c
index 3263d89..d7b589e 100644
--- a/tests/check/gst/gstiterator.c
+++ b/tests/check/gst/gstiterator.c
@@ -41,16 +41,16 @@
 {
   GList *l;
   guint32 cookie = 0;
-  GMutex *m;
+  GMutex m;
   GstIterator *iter;
   GstIteratorResult res;
   GValue item = { 0, };
   gint i = 0;
 
   l = make_list_of_ints (NUM_ELEMENTS);
-  m = g_mutex_new ();
+  g_mutex_init (&m);
 
-  iter = gst_iterator_new_list (G_TYPE_POINTER, m, &cookie, &l, NULL, NULL);
+  iter = gst_iterator_new_list (G_TYPE_POINTER, &m, &cookie, &l, NULL, NULL);
 
   fail_unless (iter != NULL);
 
@@ -70,7 +70,7 @@
   /* clean up */
   g_value_unset (&item);
   gst_iterator_free (iter);
-  g_mutex_free (m);
+  g_mutex_clear (&m);
   g_list_free (l);
 }
 
@@ -80,7 +80,7 @@
 {
   GList *l;
   guint32 cookie = 0;
-  GMutex *m;
+  GMutex m;
   GstIterator *iter;
   GstIteratorResult res;
   GValue item = { 0, };
@@ -88,9 +88,9 @@
   gboolean hacked_list = FALSE;
 
   l = make_list_of_ints (NUM_ELEMENTS);
-  m = g_mutex_new ();
+  g_mutex_init (&m);
 
-  iter = gst_iterator_new_list (G_TYPE_POINTER, m, &cookie, &l, NULL, NULL);
+  iter = gst_iterator_new_list (G_TYPE_POINTER, &m, &cookie, &l, NULL, NULL);
 
   fail_unless (iter != NULL);
 
@@ -124,7 +124,7 @@
   /* clean up */
   g_value_unset (&item);
   gst_iterator_free (iter);
-  g_mutex_free (m);
+  g_mutex_clear (&m);
   g_list_free (l);
 }
 
@@ -142,15 +142,15 @@
 {
   GList *l;
   guint32 cookie = 0;
-  GMutex *m;
+  GMutex m;
   GstIterator *iter;
   GstIteratorResult res;
   gint i, expected;
   GValue ret = { 0, };
 
   l = make_list_of_ints (NUM_ELEMENTS);
-  m = g_mutex_new ();
-  iter = gst_iterator_new_list (G_TYPE_POINTER, m, &cookie, &l, NULL, NULL);
+  g_mutex_init (&m);
+  iter = gst_iterator_new_list (G_TYPE_POINTER, &m, &cookie, &l, NULL, NULL);
   fail_unless (iter != NULL);
 
   expected = 0;
@@ -167,7 +167,7 @@
 
   /* clean up */
   gst_iterator_free (iter);
-  g_mutex_free (m);
+  g_mutex_clear (&m);
   g_list_free (l);
 }
 
diff --git a/tests/check/gst/gstpad.c b/tests/check/gst/gstpad.c
index 16f3e51..5139d36 100644
--- a/tests/check/gst/gstpad.c
+++ b/tests/check/gst/gstpad.c
@@ -1038,7 +1038,8 @@
   id = gst_pad_add_probe (pad, type, block_async_cb_return_ok, NULL, NULL);
 
 
-  thread = g_thread_create ((GThreadFunc) push_buffer_async, pad, TRUE, NULL);
+  thread = g_thread_try_new ("gst-check", (GThreadFunc) push_buffer_async,
+      pad, NULL);
 
   /* wait for the block */
   while (!gst_pad_is_blocking (pad)) {
diff --git a/tests/check/gst/gstpipeline.c b/tests/check/gst/gstpipeline.c
index 4e34eea..038f340 100644
--- a/tests/check/gst/gstpipeline.c
+++ b/tests/check/gst/gstpipeline.c
@@ -38,6 +38,7 @@
   fail_unless_equals_int (gst_element_set_state (GST_ELEMENT (pipeline),
           GST_STATE_PLAYING), GST_STATE_CHANGE_SUCCESS);
 
+  gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_NULL);
   gst_object_unref (pipeline);
 }
 
@@ -60,6 +61,7 @@
   fail_unless_equals_int (gst_element_set_state (GST_ELEMENT (pipeline),
           GST_STATE_READY), GST_STATE_CHANGE_SUCCESS);
 
+  gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_NULL);
   gst_object_unref (pipeline);
 }
 
@@ -237,13 +239,22 @@
 
 GST_END_TEST;
 
-static GMutex *probe_lock;
-static GCond *probe_cond;
+static GMutex probe_lock;
+static GCond probe_cond;
 
-static gboolean
-sink_pad_probe (GstPad * pad, GstPadProbeType type, GstBuffer * buffer,
-    GstClockTime * first_timestamp)
+static GstPadProbeReturn
+sink_pad_probe (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
 {
+  GstClockTime *first_timestamp = user_data;
+  GstBuffer *buffer;
+
+  fail_unless ((GST_PAD_PROBE_INFO_TYPE (info) & GST_PAD_PROBE_TYPE_BUFFER));
+
+  buffer = GST_BUFFER (info->data);
+
+  GST_LOG_OBJECT (pad, "buffer with timestamp %" GST_TIME_FORMAT,
+      GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buffer)));
+
   fail_if (GST_BUFFER_TIMESTAMP (buffer) == GST_CLOCK_TIME_NONE,
       "testing if buffer timestamps are right, but got CLOCK_TIME_NONE");
 
@@ -251,11 +262,11 @@
     *first_timestamp = GST_BUFFER_TIMESTAMP (buffer);
   }
 
-  g_mutex_lock (probe_lock);
-  g_cond_signal (probe_cond);
-  g_mutex_unlock (probe_lock);
+  g_mutex_lock (&probe_lock);
+  g_cond_signal (&probe_cond);
+  g_mutex_unlock (&probe_lock);
 
-  return TRUE;
+  return GST_PAD_PROBE_OK;
 }
 
 GST_START_TEST (test_base_time)
@@ -277,8 +288,8 @@
   gst_element_link (fakesrc, fakesink);
 
   sink = gst_element_get_static_pad (fakesink, "sink");
-  gst_pad_add_probe (sink, GST_PAD_PROBE_TYPE_BUFFER,
-      (GstPadProbeCallback) sink_pad_probe, &observed, NULL);
+  gst_pad_add_probe (sink, GST_PAD_PROBE_TYPE_BUFFER, sink_pad_probe,
+      &observed, NULL);
 
   fail_unless (gst_element_set_state (pipeline, GST_STATE_PAUSED)
       == GST_STATE_CHANGE_NO_PREROLL, "expected no-preroll from live pipeline");
@@ -290,9 +301,6 @@
   fail_unless (gst_element_get_start_time (pipeline) == 0,
       "stream time doesn't start off at 0");
 
-  probe_lock = g_mutex_new ();
-  probe_cond = g_cond_new ();
-
   /* test the first: that base time is being distributed correctly, timestamps
      are correct relative to the running clock and base time */
   {
@@ -305,10 +313,10 @@
             GST_CLOCK_TIME_NONE)
         == GST_STATE_CHANGE_SUCCESS, "failed state change");
 
-    g_mutex_lock (probe_lock);
+    g_mutex_lock (&probe_lock);
     while (observed == GST_CLOCK_TIME_NONE)
-      g_cond_wait (probe_cond, probe_lock);
-    g_mutex_unlock (probe_lock);
+      g_cond_wait (&probe_cond, &probe_lock);
+    g_mutex_unlock (&probe_lock);
 
     /* now something a little more than lower was distributed as the base time,
      * and the buffer was timestamped between 0 and upper-base
@@ -378,10 +386,10 @@
             GST_CLOCK_TIME_NONE)
         == GST_STATE_CHANGE_SUCCESS, "failed state change");
 
-    g_mutex_lock (probe_lock);
+    g_mutex_lock (&probe_lock);
     while (observed == GST_CLOCK_TIME_NONE)
-      g_cond_wait (probe_cond, probe_lock);
-    g_mutex_unlock (probe_lock);
+      g_cond_wait (&probe_cond, &probe_lock);
+    g_mutex_unlock (&probe_lock);
 
     /* now the base time should have advanced by more than WAIT_TIME compared
      * to what it was. The buffer will be timestamped between the last stream
@@ -450,10 +458,10 @@
             GST_CLOCK_TIME_NONE)
         == GST_STATE_CHANGE_SUCCESS, "failed state change");
 
-    g_mutex_lock (probe_lock);
+    g_mutex_lock (&probe_lock);
     while (observed == GST_CLOCK_TIME_NONE)
-      g_cond_wait (probe_cond, probe_lock);
-    g_mutex_unlock (probe_lock);
+      g_cond_wait (&probe_cond, &probe_lock);
+    g_mutex_unlock (&probe_lock);
 
     /* now the base time should be the same as it was, and the timestamp should
      * be more than WAIT_TIME past what it was.
@@ -489,6 +497,8 @@
         GST_TIME_ARGS (observed), GST_TIME_ARGS (oldobserved));
   }
 
+  gst_element_set_state (pipeline, GST_STATE_NULL);
+
   gst_object_unref (sink);
   gst_object_unref (clock);
   gst_object_unref (pipeline);
@@ -522,7 +532,7 @@
   int i;
 
   for (i = 0; i < G_N_ELEMENTS (threads); ++i) {
-    threads[i] = g_thread_create (pipeline_thread, NULL, TRUE, NULL);
+    threads[i] = g_thread_try_new ("gst-check", pipeline_thread, NULL, NULL);
   }
   for (i = 0; i < G_N_ELEMENTS (threads); ++i) {
     if (threads[i])
diff --git a/tests/check/gst/gststructure.c b/tests/check/gst/gststructure.c
index 9150872..6427481 100644
--- a/tests/check/gst/gststructure.c
+++ b/tests/check/gst/gststructure.c
@@ -35,7 +35,7 @@
     "video/x-raw, red_mask = (int) 0x80000000",
     "video/x-raw, red_mask = (int) 0xFF000000",
     /* result from
-     * gst-launch ... ! "video/x-raw-rgb, red_mask=(int)0xFF000000" ! ... */
+     * gst-launch ... ! "video/x-raw, red_mask=(int)0xFF000000" ! ... */
     "video/x-raw,\\ red_mask=(int)0xFF000000",
   };
   gint results[] = {
diff --git a/tests/check/gst/gstsystemclock.c b/tests/check/gst/gstsystemclock.c
index 640ed1f..946933c 100644
--- a/tests/check/gst/gstsystemclock.c
+++ b/tests/check/gst/gstsystemclock.c
@@ -21,8 +21,8 @@
 
 #include <gst/check/gstcheck.h>
 
-static GMutex *af_lock;
-static GCond *af_cond;
+static GMutex af_lock;
+static GCond af_cond;
 
 /* see if the defines make sense */
 GST_START_TEST (test_range)
@@ -90,7 +90,7 @@
   return FALSE;
 }
 
-GMutex *store_lock;
+GMutex store_lock;
 
 static gboolean
 store_callback (GstClock * clock, GstClockTime time,
@@ -99,9 +99,9 @@
   GList **list = user_data;
 
   GST_DEBUG ("unlocked async id %p", id);
-  g_mutex_lock (store_lock);
+  g_mutex_lock (&store_lock);
   *list = g_list_append (*list, id);
-  g_mutex_unlock (store_lock);
+  g_mutex_unlock (&store_lock);
   return FALSE;
 }
 
@@ -268,8 +268,6 @@
   GstClockTime base;
   GstClockReturn result;
 
-  store_lock = g_mutex_new ();
-
   clock = gst_system_clock_obtain ();
   fail_unless (clock != NULL, "Could not create instance of GstSystemClock");
 
@@ -285,32 +283,31 @@
   fail_unless (result == GST_CLOCK_OK, "Waiting did not return OK");
   g_usleep (TIME_UNIT / 1000);
   /* at this point at least one of the timers should have timed out */
-  g_mutex_lock (store_lock);
+  g_mutex_lock (&store_lock);
   fail_unless (cb_list != NULL, "expected notification");
   fail_unless (cb_list->data == id2,
       "Expected notification for id2 to come first");
-  g_mutex_unlock (store_lock);
+  g_mutex_unlock (&store_lock);
   g_usleep (TIME_UNIT / 1000);
-  g_mutex_lock (store_lock);
+  g_mutex_lock (&store_lock);
   /* now both should have timed out */
   next = g_list_next (cb_list);
   fail_unless (next != NULL, "expected second notification");
   fail_unless (next->data == id1, "Missing notification for id1");
-  g_mutex_unlock (store_lock);
+  g_mutex_unlock (&store_lock);
 
   gst_clock_id_unref (id1);
   gst_clock_id_unref (id2);
   g_list_free (cb_list);
 
   gst_object_unref (clock);
-  g_mutex_free (store_lock);
 }
 
 GST_END_TEST;
 
 struct test_async_sync_interaction_data
 {
-  GMutex *lock;
+  GMutex lock;
 
   GstClockID sync_id;
   GstClockID sync_id2;
@@ -327,7 +324,7 @@
   struct test_async_sync_interaction_data *td =
       (struct test_async_sync_interaction_data *) (user_data);
 
-  g_mutex_lock (td->lock);
+  g_mutex_lock (&td->lock);
   /* The first async callback is ignored */
   if (id == td->async_id)
     goto out;
@@ -341,7 +338,7 @@
     gst_clock_id_unschedule (td->async_id2);
   }
 out:
-  g_mutex_unlock (td->lock);
+  g_mutex_unlock (&td->lock);
   return FALSE;
 }
 
@@ -363,12 +360,12 @@
   clock = gst_system_clock_obtain ();
   fail_unless (clock != NULL, "Could not create instance of GstSystemClock");
 
-  td.lock = g_mutex_new ();
+  g_mutex_init (&td.lock);
 
   for (i = 0; i < 50; i++) {
     gst_clock_debug (clock);
     base = gst_clock_get_time (clock);
-    g_mutex_lock (td.lock);
+    g_mutex_lock (&td.lock);
     td.async_id = gst_clock_new_single_shot_id (clock, base + 40 * GST_MSECOND);
     td.async_id2 =
         gst_clock_new_single_shot_id (clock, base + 30 * GST_MSECOND);
@@ -376,7 +373,7 @@
         gst_clock_new_single_shot_id (clock, base + 20 * GST_MSECOND);
     td.sync_id2 = gst_clock_new_single_shot_id (clock, base + 10 * GST_MSECOND);
     td.sync_id = gst_clock_new_single_shot_id (clock, base + 50 * GST_MSECOND);
-    g_mutex_unlock (td.lock);
+    g_mutex_unlock (&td.lock);
 
     result = gst_clock_id_wait_async (td.async_id,
         test_async_sync_interaction_cb, &td, NULL);
@@ -403,17 +400,17 @@
         "Waiting did not return UNSCHEDULED (was %d)", result);
 
     gst_clock_id_unschedule (td.async_id3);
-    g_mutex_lock (td.lock);
+    g_mutex_lock (&td.lock);
 
     gst_clock_id_unref (td.sync_id);
     gst_clock_id_unref (td.sync_id2);
     gst_clock_id_unref (td.async_id);
     gst_clock_id_unref (td.async_id2);
     gst_clock_id_unref (td.async_id3);
-    g_mutex_unlock (td.lock);
+    g_mutex_unlock (&td.lock);
   }
 
-  g_mutex_free (td.lock);
+  g_mutex_clear (&td.lock);
   gst_object_unref (clock);
 }
 
@@ -537,7 +534,8 @@
   id = gst_clock_new_periodic_id (info.clock, base, 10 * GST_MSECOND);
 
   /* start waiting for the entry */
-  thread = g_thread_create ((GThreadFunc) mixed_thread, &info, TRUE, &error);
+  thread =
+      g_thread_try_new ("gst-check", (GThreadFunc) mixed_thread, &info, &error);
   fail_unless (error == NULL, "error creating thread");
   fail_unless (thread != NULL, "Could not create thread");
 
@@ -569,20 +567,20 @@
 
   /* notify the test case that we started */
   GST_INFO ("callback started");
-  g_mutex_lock (af_lock);
-  g_cond_signal (af_cond);
+  g_mutex_lock (&af_lock);
+  g_cond_signal (&af_cond);
 
   /* wait for the test case to unref "clock" and signal */
   GST_INFO ("waiting for test case to signal");
-  g_cond_wait (af_cond, af_lock);
+  g_cond_wait (&af_cond, &af_lock);
 
   stime = gst_clock_get_internal_time (clock);
   mtime = gst_clock_get_time (master);
 
   gst_clock_add_observation (clock, stime, mtime, &r_squared);
 
-  g_cond_signal (af_cond);
-  g_mutex_unlock (af_lock);
+  g_cond_signal (&af_cond);
+  g_mutex_unlock (&af_lock);
   GST_INFO ("callback finished");
 
   return TRUE;
@@ -593,9 +591,6 @@
   GstClock *master, *slave;
   GstClockID *clockid;
 
-  af_lock = g_mutex_new ();
-  af_cond = g_cond_new ();
-
   /* create master and slave */
   master =
       g_object_new (GST_TYPE_SYSTEM_CLOCK, "name", "TestClockMaster", NULL);
@@ -607,7 +602,7 @@
   fail_unless (GST_OBJECT_REFCOUNT (slave) == 1);
 
   /* register a periodic shot on the master to calibrate the slave */
-  g_mutex_lock (af_lock);
+  g_mutex_lock (&af_lock);
   clockid = gst_clock_new_periodic_id (master,
       gst_clock_get_time (master), gst_clock_get_timeout (slave));
   gst_clock_id_wait_async (clockid,
@@ -617,7 +612,7 @@
   /* wait for the shot to be fired and test_async_full_slave_callback to be
    * called */
   GST_INFO ("waiting for the slave callback to start");
-  g_cond_wait (af_cond, af_lock);
+  g_cond_wait (&af_cond, &af_lock);
   GST_INFO ("slave callback running, unreffing slave");
 
   /* unref the slave clock while the slave_callback is running. This should be
@@ -630,17 +625,14 @@
   gst_clock_id_unref (clockid);
 
   /* signal and wait for the callback to complete */
-  g_cond_signal (af_cond);
+  g_cond_signal (&af_cond);
 
   GST_INFO ("waiting for callback to finish");
-  g_cond_wait (af_cond, af_lock);
+  g_cond_wait (&af_cond, &af_lock);
   GST_INFO ("callback finished");
-  g_mutex_unlock (af_lock);
+  g_mutex_unlock (&af_lock);
 
   gst_object_unref (master);
-
-  g_mutex_free (af_lock);
-  g_cond_free (af_cond);
 }
 
 GST_END_TEST;
diff --git a/tests/check/gst/gsttagsetter.c b/tests/check/gst/gsttagsetter.c
index 16e3168..62c6a5c 100644
--- a/tests/check/gst/gsttagsetter.c
+++ b/tests/check/gst/gsttagsetter.c
@@ -300,9 +300,12 @@
   setter = GST_TAG_SETTER (g_object_new (GST_TYPE_DUMMY_ENC, NULL));
 
   spin_and_wait = TRUE;
-  threads[0] = g_thread_create (test_threads_thread_func1, setter, TRUE, NULL);
-  threads[1] = g_thread_create (test_threads_thread_func2, setter, TRUE, NULL);
-  threads[2] = g_thread_create (test_threads_thread_func3, setter, TRUE, NULL);
+  threads[0] = g_thread_try_new ("gst-check", test_threads_thread_func1,
+      setter, NULL);
+  threads[1] = g_thread_try_new ("gst-check", test_threads_thread_func2,
+      setter, NULL);
+  threads[2] = g_thread_try_new ("gst-check", test_threads_thread_func3,
+      setter, NULL);
 
   while (g_atomic_int_get (&threads_running) < 3)
     g_usleep (10);
diff --git a/tests/check/gst/gsttocsetter.c b/tests/check/gst/gsttocsetter.c
index 4cdd3bf..2d95ce8 100644
--- a/tests/check/gst/gsttocsetter.c
+++ b/tests/check/gst/gsttocsetter.c
@@ -350,9 +350,12 @@
   setter = GST_TOC_SETTER (g_object_new (GST_TYPE_DUMMY_ENC, NULL));
 
   spin_and_wait = TRUE;
-  threads[0] = g_thread_create (test_threads_thread_func1, setter, TRUE, NULL);
-  threads[1] = g_thread_create (test_threads_thread_func2, setter, TRUE, NULL);
-  threads[2] = g_thread_create (test_threads_thread_func3, setter, TRUE, NULL);
+  threads[0] = g_thread_try_new ("gst-check", test_threads_thread_func1,
+      setter, NULL);
+  threads[1] = g_thread_try_new ("gst-check", test_threads_thread_func2,
+      setter, NULL);
+  threads[2] = g_thread_try_new ("gst-check", test_threads_thread_func3,
+      setter, NULL);
 
   while (g_atomic_int_get (&threads_running) < 3)
     g_usleep (10);
diff --git a/tests/check/libs/collectpads.c b/tests/check/libs/collectpads.c
index 72cac1b..fea3f67 100644
--- a/tests/check/libs/collectpads.c
+++ b/tests/check/libs/collectpads.c
@@ -26,11 +26,11 @@
 
 #define fail_unless_collected(expected)           \
 G_STMT_START {                                    \
-  g_mutex_lock (lock);                            \
+  g_mutex_lock (&lock);                           \
   while (expected == TRUE && collected == FALSE)  \
-    g_cond_wait (cond, lock);                     \
+    g_cond_wait (&cond,& lock);                   \
   fail_unless_equals_int (collected, expected);   \
-  g_mutex_unlock (lock);                          \
+  g_mutex_unlock (&lock);                         \
 } G_STMT_END;
 
 typedef struct
@@ -62,16 +62,16 @@
 static GstPad *sinkpad1, *sinkpad2;
 static TestData *data1, *data2;
 
-static GMutex *lock;
-static GCond *cond;
+static GMutex lock;
+static GCond cond;
 
 static GstFlowReturn
 collected_cb (GstCollectPads * pads, gpointer user_data)
 {
-  g_mutex_lock (lock);
+  g_mutex_lock (&lock);
   collected = TRUE;
-  g_cond_signal (cond);
-  g_mutex_unlock (lock);
+  g_cond_signal (&cond);
+  g_mutex_unlock (&lock);
 
   return GST_FLOW_OK;
 }
@@ -79,10 +79,19 @@
 static gpointer
 push_buffer (gpointer user_data)
 {
+  GstFlowReturn flow;
+  GstCaps *caps;
   TestData *test_data = (TestData *) user_data;
 
-  fail_unless (gst_pad_push (test_data->pad, test_data->buffer)
-      == GST_FLOW_OK);
+  gst_pad_push_event (test_data->pad, gst_event_new_stream_start ("test"));
+
+  caps = gst_caps_new_empty_simple ("foo/x-bar");
+  gst_pad_push_event (test_data->pad, gst_event_new_caps (caps));
+  gst_caps_unref (caps);
+
+  flow = gst_pad_push (test_data->pad, test_data->buffer);
+  fail_unless (flow == GST_FLOW_OK, "got flow %s instead of OK",
+      gst_flow_get_name (flow));
 
   return NULL;
 }
@@ -115,8 +124,6 @@
   gst_pad_set_active (srcpad1, TRUE);
   gst_pad_set_active (srcpad2, TRUE);
 
-  cond = g_cond_new ();
-  lock = g_mutex_new ();
   data1 = NULL;
   data2 = NULL;
   collected = FALSE;
@@ -128,17 +135,15 @@
   gst_object_unref (sinkpad1);
   gst_object_unref (sinkpad2);
   gst_object_unref (collect);
-  g_cond_free (cond);
-  g_mutex_free (lock);
 }
 
 GST_START_TEST (test_pad_add_remove)
 {
   ASSERT_CRITICAL (gst_collect_pads_add_pad (collect, sinkpad1,
-          sizeof (BadCollectData)));
+          sizeof (BadCollectData), NULL, TRUE));
 
   data1 = (TestData *) gst_collect_pads_add_pad (collect,
-      sinkpad1, sizeof (TestData));
+      sinkpad1, sizeof (TestData), NULL, TRUE);
   fail_unless (data1 != NULL);
 
   fail_unless (gst_collect_pads_remove_pad (collect, sinkpad2) == FALSE);
@@ -153,11 +158,11 @@
   GThread *thread1, *thread2;
 
   data1 = (TestData *) gst_collect_pads_add_pad (collect,
-      sinkpad1, sizeof (TestData));
+      sinkpad1, sizeof (TestData), NULL, TRUE);
   fail_unless (data1 != NULL);
 
   data2 = (TestData *) gst_collect_pads_add_pad (collect,
-      sinkpad2, sizeof (TestData));
+      sinkpad2, sizeof (TestData), NULL, TRUE);
   fail_unless (data2 != NULL);
 
   buf1 = gst_buffer_new ();
@@ -169,13 +174,13 @@
   /* push buffers on the pads */
   data1->pad = srcpad1;
   data1->buffer = buf1;
-  thread1 = g_thread_create (push_buffer, data1, TRUE, NULL);
+  thread1 = g_thread_try_new ("gst-check", push_buffer, data1, NULL);
   /* here thread1 is blocked and srcpad1 has a queued buffer */
   fail_unless_collected (FALSE);
 
   data2->pad = srcpad2;
   data2->buffer = buf2;
-  thread2 = g_thread_create (push_buffer, data2, TRUE, NULL);
+  thread2 = g_thread_try_new ("gst-check", push_buffer, data2, NULL);
 
   /* now both pads have a buffer */
   fail_unless_collected (TRUE);
@@ -204,11 +209,11 @@
   GThread *thread1, *thread2;
 
   data1 = (TestData *) gst_collect_pads_add_pad (collect,
-      sinkpad1, sizeof (TestData));
+      sinkpad1, sizeof (TestData), NULL, TRUE);
   fail_unless (data1 != NULL);
 
   data2 = (TestData *) gst_collect_pads_add_pad (collect,
-      sinkpad2, sizeof (TestData));
+      sinkpad2, sizeof (TestData), NULL, TRUE);
   fail_unless (data2 != NULL);
 
   buf1 = gst_buffer_new ();
@@ -219,13 +224,13 @@
   /* push a buffer on srcpad1 and EOS on srcpad2 */
   data1->pad = srcpad1;
   data1->buffer = buf1;
-  thread1 = g_thread_create (push_buffer, data1, TRUE, NULL);
+  thread1 = g_thread_try_new ("gst-check", push_buffer, data1, NULL);
   /* here thread1 is blocked and srcpad1 has a queued buffer */
   fail_unless_collected (FALSE);
 
   data2->pad = srcpad2;
   data2->event = gst_event_new_eos ();
-  thread2 = g_thread_create (push_event, data2, TRUE, NULL);
+  thread2 = g_thread_try_new ("gst-check", push_event, data2, NULL);
   /* now sinkpad1 has a buffer and sinkpad2 has EOS */
   fail_unless_collected (TRUE);
 
@@ -253,13 +258,15 @@
   GThread *thread1, *thread2;
 
   data1 = (TestData *) gst_collect_pads_add_pad (collect,
-      sinkpad1, sizeof (TestData));
+      sinkpad1, sizeof (TestData), NULL, TRUE);
   fail_unless (data1 != NULL);
 
   data2 = (TestData *) gst_collect_pads_add_pad (collect,
-      sinkpad2, sizeof (TestData));
+      sinkpad2, sizeof (TestData), NULL, TRUE);
   fail_unless (data2 != NULL);
 
+  GST_INFO ("round 1");
+
   buf1 = gst_buffer_new ();
 
   /* start collect pads */
@@ -268,14 +275,14 @@
   /* queue a buffer */
   data1->pad = srcpad1;
   data1->buffer = buf1;
-  thread1 = g_thread_create (push_buffer, data1, TRUE, NULL);
+  thread1 = g_thread_try_new ("gst-check", push_buffer, data1, NULL);
   /* here thread1 is blocked and srcpad1 has a queued buffer */
   fail_unless_collected (FALSE);
 
   /* push EOS on the other pad */
   data2->pad = srcpad2;
   data2->event = gst_event_new_eos ();
-  thread2 = g_thread_create (push_event, data2, TRUE, NULL);
+  thread2 = g_thread_try_new ("gst-check", push_event, data2, NULL);
 
   /* one of the pads has a buffer, the other has EOS */
   fail_unless_collected (TRUE);
@@ -294,21 +301,27 @@
   gst_collect_pads_stop (collect);
   collected = FALSE;
 
+  GST_INFO ("round 2");
+
   buf2 = gst_buffer_new ();
 
+  /* clear EOS from pads */
+  gst_pad_push_event (srcpad1, gst_event_new_flush_stop (TRUE));
+  gst_pad_push_event (srcpad2, gst_event_new_flush_stop (TRUE));
+
   /* start collect pads */
   gst_collect_pads_start (collect);
 
   /* push buffers on the pads */
   data1->pad = srcpad1;
   data1->buffer = buf1;
-  thread1 = g_thread_create (push_buffer, data1, TRUE, NULL);
+  thread1 = g_thread_try_new ("gst-check", push_buffer, data1, NULL);
   /* here thread1 is blocked and srcpad1 has a queued buffer */
   fail_unless_collected (FALSE);
 
   data2->pad = srcpad2;
   data2->buffer = buf2;
-  thread2 = g_thread_create (push_buffer, data2, TRUE, NULL);
+  thread2 = g_thread_try_new ("gst-check", push_buffer, data2, NULL);
 
   /* now both pads have a buffer */
   fail_unless_collected (TRUE);
diff --git a/tests/check/tools/gstinspect.c b/tests/check/tools/gstinspect.c
new file mode 100644
index 0000000..e89d998
--- /dev/null
+++ b/tests/check/tools/gstinspect.c
@@ -0,0 +1,102 @@
+/* GStreamer gst-inspect unit test
+ * Copyright (C) 2012 Tim-Philipp Müller <tim centricular net>
+ *
+ * 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.
+ */
+
+/* FIXME 0.11: suppress warnings for deprecated API such as GValueArray
+ * with newer GLib versions (>= 2.31.0) */
+#define GLIB_DISABLE_DEPRECATION_WARNINGS
+
+#include <config.h>
+#include <gst/check/gstcheck.h>
+
+static int gst_inspect_main (int argc, char **argv);
+
+#define main gst_inspect_main
+#include "../../tools/gst-inspect.c"
+#undef main
+
+GST_START_TEST (test_exists)
+{
+  gchar **argv;
+
+  argv = g_strsplit ("gst-inspect-1.0 --exists foo", " ", -1);
+  fail_unless_equals_int (gst_inspect_main (g_strv_length (argv), argv), 1);
+  g_strfreev (argv);
+
+  argv = g_strsplit ("gst-inspect-1.0 --exists bin", " ", -1);
+  fail_unless_equals_int (gst_inspect_main (g_strv_length (argv), argv), 0);
+  g_strfreev (argv);
+
+  argv = g_strsplit ("gst-inspect-1.0 --exists --atleast-version=" VERSION " "
+      "bin", " ", -1);
+  fail_unless_equals_int (gst_inspect_main (g_strv_length (argv), argv), 0);
+  g_strfreev (argv);
+
+  argv = g_strsplit ("gst-inspect-1.0 --exists --atleast-version=1.0 bin", " ",
+      -1);
+  fail_unless_equals_int (gst_inspect_main (g_strv_length (argv), argv), 0);
+  g_strfreev (argv);
+
+  argv = g_strsplit ("gst-inspect-1.0 --exists --atleast-version=1.0.0 bin",
+      " ", -1);
+  fail_unless_equals_int (gst_inspect_main (g_strv_length (argv), argv), 0);
+  g_strfreev (argv);
+
+  argv = g_strsplit ("gst-inspect-1.0 --exists --atleast-version=2.0 bin",
+      " ", -1);
+  fail_unless_equals_int (gst_inspect_main (g_strv_length (argv), argv), 1);
+  g_strfreev (argv);
+
+  argv = g_strsplit ("gst-inspect-1.0 --exists --atleast-version=2.0.0 bin",
+      " ", -1);
+  fail_unless_equals_int (gst_inspect_main (g_strv_length (argv), argv), 1);
+  g_strfreev (argv);
+
+  argv = g_strsplit ("gst-inspect-1.0 --exists --atleast-version=1.44 bin",
+      " ", -1);
+  fail_unless_equals_int (gst_inspect_main (g_strv_length (argv), argv), 1);
+  g_strfreev (argv);
+
+  argv = g_strsplit ("gst-inspect-1.0 --exists --atleast-version=1.60.4 bin",
+      " ", -1);
+  fail_unless_equals_int (gst_inspect_main (g_strv_length (argv), argv), 1);
+  g_strfreev (argv);
+
+  /* check for plugin should fail like this */
+  argv = g_strsplit ("gst-inspect-1.0 --exists --atleast-version=1.0 "
+      "coreelements", " ", -1);
+  fail_unless_equals_int (gst_inspect_main (g_strv_length (argv), argv), 1);
+  g_strfreev (argv);
+}
+
+GST_END_TEST;
+
+static Suite *
+gstabi_suite (void)
+{
+  Suite *s = suite_create ("gst-inspect");
+  TCase *tc_chain = tcase_create ("gst-inspect");
+
+  tcase_set_timeout (tc_chain, 0);
+
+  suite_add_tcase (s, tc_chain);
+  tcase_add_test (tc_chain, test_exists);
+  return s;
+}
+
+GST_CHECK_MAIN (gstabi);
diff --git a/tests/examples/controller/Makefile.am b/tests/examples/controller/Makefile.am
index 4eded37..06d39ed 100644
--- a/tests/examples/controller/Makefile.am
+++ b/tests/examples/controller/Makefile.am
@@ -12,7 +12,7 @@
 	 -:TAGS eng debug \
          -:REL_TOP $(top_srcdir) -:ABS_TOP $(abs_top_srcdir) \
 	 -:SOURCES audio-example.c \
-	 -:CFLAGS $(DEFS) $(DEFAULT_INCLUDES) $(audio_example_CFLAGS) \
+	 -:CFLAGS $(DEFS) $(DEFAULT_INCLUDES) $(AM_CFLAGS) \
 	 -:LDFLAGS -lgstcontroller-@GST_API_VERSION@ \
 	     $(GST_OBJ_LIBS) -ldl \
 	 -:PASSTHROUGH LOCAL_ARM_MODE:=arm \
diff --git a/tests/examples/controller/Makefile.in b/tests/examples/controller/Makefile.in
index 2e9cc06..26737fa 100644
--- a/tests/examples/controller/Makefile.in
+++ b/tests/examples/controller/Makefile.in
@@ -733,7 +733,7 @@
 	 -:TAGS eng debug \
          -:REL_TOP $(top_srcdir) -:ABS_TOP $(abs_top_srcdir) \
 	 -:SOURCES audio-example.c \
-	 -:CFLAGS $(DEFS) $(DEFAULT_INCLUDES) $(audio_example_CFLAGS) \
+	 -:CFLAGS $(DEFS) $(DEFAULT_INCLUDES) $(AM_CFLAGS) \
 	 -:LDFLAGS -lgstcontroller-@GST_API_VERSION@ \
 	     $(GST_OBJ_LIBS) -ldl \
 	 -:PASSTHROUGH LOCAL_ARM_MODE:=arm \
diff --git a/tests/examples/helloworld/helloworld.c b/tests/examples/helloworld/helloworld.c
index 013ae4d..2d8ae3f 100644
--- a/tests/examples/helloworld/helloworld.c
+++ b/tests/examples/helloworld/helloworld.c
@@ -38,6 +38,7 @@
   GstElement *playbin;
   GMainLoop *loop;
   GstBus *bus;
+  guint bus_watch_id;
   gchar *uri;
 
   gst_init (&argc, &argv);
@@ -65,7 +66,7 @@
   loop = g_main_loop_new (NULL, FALSE);
 
   bus = gst_element_get_bus (playbin);
-  gst_bus_add_watch (bus, bus_call, loop);
+  bus_watch_id = gst_bus_add_watch (bus, bus_call, loop);
   g_object_unref (bus);
 
   /* start play back and listed to events */
@@ -75,6 +76,7 @@
   /* cleanup */
   gst_element_set_state (playbin, GST_STATE_NULL);
   g_object_unref (playbin);
+  g_source_remove (bus_watch_id);
   g_main_loop_unref (loop);
 
   return 0;
diff --git a/tests/examples/manual/fakesrc.c b/tests/examples/manual/fakesrc.c
index 58a8458..af26255 100644
--- a/tests/examples/manual/fakesrc.c
+++ b/tests/examples/manual/fakesrc.c
@@ -36,18 +36,16 @@
   pipeline = gst_pipeline_new ("pipeline");
   fakesrc = gst_element_factory_make ("fakesrc", "source");
   flt = gst_element_factory_make ("capsfilter", "flt");
-  conv = gst_element_factory_make ("ffmpegcolorspace", "conv");
+  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-rgb",
+  		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,
-				     "bpp", G_TYPE_INT, 16,
-				     "depth", G_TYPE_INT, 16,
-				     "endianness", G_TYPE_INT, G_BYTE_ORDER,
 				     NULL), NULL);
   gst_bin_add_many (GST_BIN (pipeline), fakesrc, flt, conv, videosink, NULL);
   gst_element_link_many (fakesrc, flt, conv, videosink, NULL);
diff --git a/tools/gst-inspect.c b/tools/gst-inspect.c
index 9616a0e..a8fc207 100644
--- a/tools/gst-inspect.c
+++ b/tools/gst-inspect.c
@@ -1505,6 +1505,11 @@
   gboolean plugin_name = FALSE;
   gboolean print_aii = FALSE;
   gboolean uri_handlers = FALSE;
+  gboolean check_exists = FALSE;
+  gchar *min_version = NULL;
+  guint minver_maj = GST_VERSION_MAJOR;
+  guint minver_min = GST_VERSION_MINOR;
+  guint minver_micro = 0;
 #ifndef GST_DISABLE_OPTION_PARSING
   GOptionEntry options[] = {
     {"print-all", 'a', 0, G_OPTION_ARG_NONE, &print_all,
@@ -1518,6 +1523,12 @@
               "installation mechanisms"), NULL},
     {"plugin", '\0', 0, G_OPTION_ARG_NONE, &plugin_name,
         N_("List the plugin contents"), NULL},
+    {"exists", '\0', 0, G_OPTION_ARG_NONE, &check_exists,
+        N_("Check if the specified element or plugin exists"), NULL},
+    {"atleast-version", '\0', 0, G_OPTION_ARG_STRING, &min_version,
+        N_
+          ("When checking if an element or plugin exists, also check that its "
+              "version is at least the version specified"), NULL},
     {"uri-handlers", 'u', 0, G_OPTION_ARG_NONE, &uri_handlers,
           N_
           ("Print supported URI schemes, with the elements that implement them"),
@@ -1542,8 +1553,8 @@
   g_option_context_add_main_entries (ctx, options, GETTEXT_PACKAGE);
   g_option_context_add_group (ctx, gst_init_get_option_group ());
   if (!g_option_context_parse (ctx, &argc, &argv, &err)) {
-    g_print ("Error initializing: %s\n", err->message);
-    exit (1);
+    g_printerr ("Error initializing: %s\n", err->message);
+    return -1;
   }
   g_option_context_free (ctx);
 #else
@@ -1553,13 +1564,50 @@
   gst_tools_print_version ();
 
   if (print_all && argc > 1) {
-    g_print ("-a requires no extra arguments\n");
-    return 1;
+    g_printerr ("-a requires no extra arguments\n");
+    return -1;
   }
 
   if (uri_handlers && argc > 1) {
-    g_print ("-u requires no extra arguments\n");
-    exit (1);
+    g_printerr ("-u requires no extra arguments\n");
+    return -1;
+  }
+
+  /* --atleast-version implies --exists */
+  if (min_version != NULL) {
+    if (sscanf (min_version, "%u.%u.%u", &minver_maj, &minver_min,
+            &minver_micro) < 2) {
+      g_printerr ("Can't parse version '%s' passed to --atleast-version\n",
+          min_version);
+      return -1;
+    }
+    check_exists = TRUE;
+  }
+
+  if (check_exists) {
+    int exit_code;
+
+    if (argc == 1) {
+      g_printerr ("--exists requires an extra command line argument\n");
+      exit_code = -1;
+    } else {
+      if (!plugin_name) {
+        GstPluginFeature *feature;
+
+        feature = gst_registry_lookup_feature (gst_registry_get (), argv[1]);
+        if (feature != NULL && gst_plugin_feature_check_version (feature,
+                minver_maj, minver_min, minver_micro)) {
+          exit_code = 0;
+        } else {
+          exit_code = 1;
+        }
+      } else {
+        /* FIXME: support checking for plugins too */
+        g_printerr ("Checking for plugins is not supported yet\n");
+        exit_code = -1;
+      }
+    }
+    return exit_code;
   }
 
   /* if no arguments, print out list of elements */
@@ -1621,12 +1669,12 @@
               print_plugin_features (plugin);
             }
           } else {
-            g_print (_("Could not load plugin file: %s\n"), error->message);
+            g_printerr (_("Could not load plugin file: %s\n"), error->message);
             g_error_free (error);
             return -1;
           }
         } else {
-          g_print (_("No such element or plugin '%s'\n"), arg);
+          g_printerr (_("No such element or plugin '%s'\n"), arg);
           return -1;
         }
       }
diff --git a/tools/gst-launch.1.in b/tools/gst-launch.1.in
index 156fd9f..73bffeb 100644
--- a/tools/gst-launch.1.in
+++ b/tools/gst-launch.1.in
@@ -182,8 +182,6 @@
 .br
 - \fBf\fR or \fBfloat\fR for float values or ranges
 .br
-- \fB4\fR or \fBfourcc\fR for FOURCC values
-.br
 - \fBb\fR, \fBbool\fR or \fBboolean\fR for boolean values
 .br
 - \fBs\fR, \fBstr\fR or \fBstring\fR for strings
@@ -212,7 +210,7 @@
 "osxvideosink", or "aasink". Keep in mind though that different sinks might
 accept different formats and even the same sink might accept different formats
 on different machines, so you might need to add converter elements like
-audioconvert and audioresample (for audio) or ffmpegcolorspace (for video)
+audioconvert and audioresample (for audio) or videoconvert (for video)
 in front of the sink to make things work.
 
 .B Audio playback
@@ -310,7 +308,7 @@
 Play both video and audio portions of an MPEG movie
 
 .B
-        gst\-launch filesrc location=movie.mpg ! mpegdemux name=demuxer  demuxer. ! queue ! mpeg2dec ! ffmpegcolorspace ! sdlvideosink   demuxer. ! queue ! mad ! audioconvert ! audioresample ! osssink
+        gst\-launch filesrc location=movie.mpg ! mpegdemux name=demuxer demuxer. ! queue ! mpeg2dec ! videoconvert ! sdlvideosink   demuxer. ! queue ! mad ! audioconvert ! audioresample ! osssink
 .br
 Play an AVI movie with an external text subtitle stream
 
@@ -318,7 +316,7 @@
 (here: textoverlay) has multiple sink or source pads.
 
 .B
-        gst\-launch textoverlay name=overlay ! ffmpegcolorspace ! videoscale ! autovideosink   filesrc location=movie.avi ! decodebin2 ! ffmpegcolorspace ! overlay.video_sink   filesrc location=movie.srt ! subparse ! overlay.text_sink
+        gst\-launch textoverlay name=overlay ! videoconvert ! videoscale !  autovideosink   filesrc location=movie.avi ! decodebin2 ! videoconvert ! overlay.video_sink   filesrc location=movie.srt ! subparse ! overlay.text_sink
 
 .br
 Play an AVI movie with an external text subtitle stream using playbin2
@@ -331,7 +329,7 @@
 Stream video using RTP and network elements.
 
 .B
-        gst\-launch v4l2src ! video/x-raw-yuv,width=128,height=96,format='(fourcc)'UYVY ! ffmpegcolorspace ! ffenc_h263 ! video/x-h263 ! rtph263ppay pt=96 ! udpsink host=192.168.1.1 port=5000 sync=false
+        gst\-launch v4l2src ! video/x-raw,width=128,height=96,format=UYVY ! videoconvert ! ffenc_h263 ! video/x-h263 ! rtph263ppay pt=96 ! udpsink host=192.168.1.1 port=5000
 .br
 This command would be run on the transmitter
 
@@ -371,7 +369,7 @@
 Play any supported audio format
 
 .B
-        gst\-launch filesrc location=videofile ! decodebin name=decoder  decoder. ! queue ! audioconvert ! audioresample ! osssink   decoder. ! ffmpegcolorspace ! xvimagesink
+        gst\-launch filesrc location=videofile ! decodebin name=decoder decoder. ! queue ! audioconvert ! audioresample ! osssink   decoder. !  videoconvert ! xvimagesink
 .br
 Play any supported video format with video and audio output. Threads are used
 automatically. To make this even easier, you can use the playbin element:
@@ -386,12 +384,12 @@
 These examples show you how to use filtered caps.
 
 .B
-        gst\-launch videotestsrc ! 'video/x-raw-yuv,format=(fourcc)YUY2;video/x-raw-yuv,format=(fourcc)YV12' ! xvimagesink
+        gst\-launch videotestsrc ! 'video/x-raw,format=YUY2;video/x-raw,format=YV12' ! xvimagesink
 .br
 Show a test image and use the YUY2 or YV12 video format for this.
 
 .B
-        gst\-launch osssrc ! 'audio/x-raw-int,rate=[32000,64000],width=[16,32],depth={16,24,32},signed=(boolean)true' ! wavenc ! filesink location=recording.wav
+        gst\-launch osssrc !  'audio/x-raw,rate=[32000,64000],format={S16LE,S24LE,S32LE}' ! wavenc ! filesink location=recording.wav
 .br
 record audio and write it to a .wav file. Force usage of signed 16 to 32 bit
 samples and a sample rate between 32kHz and 64KHz.
@@ -448,13 +446,13 @@
 .
 .SH FILES
 .TP 8
-~/.gstreamer-GST_API_VERSION/registry-*.bin
+~/.cache/gstreamer-GST_API_VERSION/registry-*.bin
 The plugin cache; can be deleted at any time, will be re-created
-automatically when it does not exist yet or plugins change.
+automatically when it does not exist yet or plugins change. Based on
+XDG_CACHE_DIR, so may be in a different location than the one suggested.
 .
 .SH "SEE ALSO"
-.BR gst\-feedback (1),
-.BR gst\-inspect (1),
-.BR gst\-typefind (1)
+.BR gst\-inspect\-GST_API_VERSION (1),
+.BR gst\-launch\-GST_API_VERSION (1),
 .SH "AUTHOR"
 The GStreamer team at http://gstreamer.freedesktop.org/
diff --git a/win32/common/config.h b/win32/common/config.h
index aebbc13..21bcec9 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-08-08"
+#define GST_PACKAGE_RELEASE_DATETIME "2012-09-14"
 
 /* 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 0.11.93"
+#define PACKAGE_STRING "GStreamer 0.11.94"
 
 /* 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 "0.11.93"
+#define PACKAGE_VERSION "0.11.94"
 
 /* directory where plugins are located */
 #ifdef _DEBUG
@@ -380,7 +380,7 @@
 #undef USE_POISONING
 
 /* Version number of package */
-#define VERSION "0.11.93"
+#define VERSION "0.11.94"
 
 /* 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 517f84e..5c5b3f1 100644
--- a/win32/common/gstenumtypes.c
+++ b/win32/common/gstenumtypes.c
@@ -591,8 +591,6 @@
     {C_ENUM (GST_EVENT_FLUSH_STOP), "GST_EVENT_FLUSH_STOP", "flush-stop"},
     {C_ENUM (GST_EVENT_STREAM_START), "GST_EVENT_STREAM_START", "stream-start"},
     {C_ENUM (GST_EVENT_CAPS), "GST_EVENT_CAPS", "caps"},
-    {C_ENUM (GST_EVENT_STREAM_CONFIG), "GST_EVENT_STREAM_CONFIG",
-        "stream-config"},
     {C_ENUM (GST_EVENT_SEGMENT), "GST_EVENT_SEGMENT", "segment"},
     {C_ENUM (GST_EVENT_TAG), "GST_EVENT_TAG", "tag"},
     {C_ENUM (GST_EVENT_BUFFERSIZE), "GST_EVENT_BUFFERSIZE", "buffersize"},
@@ -649,24 +647,6 @@
   return (GType) id;
 }
 
-GType
-gst_stream_config_flags_get_type (void)
-{
-  static gsize id = 0;
-  static const GEnumValue values[] = {
-    {C_ENUM (GST_STREAM_CONFIG_FLAG_NONE), "GST_STREAM_CONFIG_FLAG_NONE",
-        "none"},
-    {0, NULL, NULL}
-  };
-
-  if (g_once_init_enter (&id)) {
-    GType tmp = g_enum_register_static ("GstStreamConfigFlags", values);
-    g_once_init_leave (&id, tmp);
-  }
-
-  return (GType) id;
-}
-
 /* enumerations from "gstformat.h" */
 GType
 gst_format_get_type (void)
@@ -824,7 +804,8 @@
         "segment-start"},
     {C_FLAGS (GST_MESSAGE_SEGMENT_DONE), "GST_MESSAGE_SEGMENT_DONE",
         "segment-done"},
-    {C_FLAGS (GST_MESSAGE_DURATION), "GST_MESSAGE_DURATION", "duration"},
+    {C_FLAGS (GST_MESSAGE_DURATION_CHANGED), "GST_MESSAGE_DURATION_CHANGED",
+        "duration-changed"},
     {C_FLAGS (GST_MESSAGE_LATENCY), "GST_MESSAGE_LATENCY", "latency"},
     {C_FLAGS (GST_MESSAGE_ASYNC_START), "GST_MESSAGE_ASYNC_START",
         "async-start"},
@@ -1145,6 +1126,8 @@
     {C_FLAGS (GST_PAD_LINK_CHECK_TEMPLATE_CAPS),
         "GST_PAD_LINK_CHECK_TEMPLATE_CAPS", "template-caps"},
     {C_FLAGS (GST_PAD_LINK_CHECK_CAPS), "GST_PAD_LINK_CHECK_CAPS", "caps"},
+    {C_FLAGS (GST_PAD_LINK_CHECK_DEFAULT), "GST_PAD_LINK_CHECK_DEFAULT",
+        "default"},
     {0, NULL, NULL}
   };
 
diff --git a/win32/common/gstenumtypes.h b/win32/common/gstenumtypes.h
index 9f2566d..c15314f 100644
--- a/win32/common/gstenumtypes.h
+++ b/win32/common/gstenumtypes.h
@@ -81,8 +81,6 @@
 #define GST_TYPE_EVENT_TYPE (gst_event_type_get_type())
 GType gst_qos_type_get_type (void);
 #define GST_TYPE_QOS_TYPE (gst_qos_type_get_type())
-GType gst_stream_config_flags_get_type (void);
-#define GST_TYPE_STREAM_CONFIG_FLAGS (gst_stream_config_flags_get_type())
 
 /* enumerations from "gstformat.h" */
 GType gst_format_get_type (void);
diff --git a/win32/common/libgstbase.def b/win32/common/libgstbase.def
index e8f92b1..b535b19 100644
--- a/win32/common/libgstbase.def
+++ b/win32/common/libgstbase.def
@@ -32,6 +32,7 @@
 	gst_base_parse_set_latency
 	gst_base_parse_set_min_frame_size
 	gst_base_parse_set_passthrough
+	gst_base_parse_set_pts_interpolation
 	gst_base_parse_set_syncable
 	gst_base_sink_do_preroll
 	gst_base_sink_get_blocksize
@@ -59,7 +60,9 @@
 	gst_base_sink_wait
 	gst_base_sink_wait_clock
 	gst_base_sink_wait_preroll
+	gst_base_src_get_allocator
 	gst_base_src_get_blocksize
+	gst_base_src_get_buffer_pool
 	gst_base_src_get_do_timestamp
 	gst_base_src_get_type
 	gst_base_src_is_async
@@ -76,6 +79,8 @@
 	gst_base_src_start_complete
 	gst_base_src_start_wait
 	gst_base_src_wait_playing
+	gst_base_transform_get_allocator
+	gst_base_transform_get_buffer_pool
 	gst_base_transform_get_type
 	gst_base_transform_is_in_place
 	gst_base_transform_is_passthrough
@@ -210,7 +215,6 @@
 	gst_byte_writer_reset_and_get_buffer
 	gst_byte_writer_reset_and_get_data
 	gst_collect_pads_add_pad
-	gst_collect_pads_add_pad_full
 	gst_collect_pads_available
 	gst_collect_pads_clip_running_time
 	gst_collect_pads_event_default
diff --git a/win32/common/libgstreamer.def b/win32/common/libgstreamer.def
index 062bc83..403656a 100644
--- a/win32/common/libgstreamer.def
+++ b/win32/common/libgstreamer.def
@@ -90,6 +90,8 @@
 	gst_bin_remove_many
 	gst_bitmask_get_type
 	gst_buffer_add_meta
+	gst_buffer_append
+	gst_buffer_append_memory
 	gst_buffer_append_region
 	gst_buffer_copy_flags_get_type
 	gst_buffer_copy_into
@@ -99,8 +101,12 @@
 	gst_buffer_find_memory
 	gst_buffer_flags_get_type
 	gst_buffer_foreach_meta
+	gst_buffer_get_all_memory
+	gst_buffer_get_memory
 	gst_buffer_get_memory_range
 	gst_buffer_get_meta
+	gst_buffer_get_size
+	gst_buffer_get_sizes
 	gst_buffer_get_sizes_range
 	gst_buffer_get_type
 	gst_buffer_insert_memory
@@ -113,6 +119,7 @@
 	gst_buffer_list_new
 	gst_buffer_list_new_sized
 	gst_buffer_list_remove
+	gst_buffer_map
 	gst_buffer_map_range
 	gst_buffer_memcmp
 	gst_buffer_memset
@@ -141,10 +148,17 @@
 	gst_buffer_pool_release_buffer
 	gst_buffer_pool_set_active
 	gst_buffer_pool_set_config
+	gst_buffer_prepend_memory
+	gst_buffer_remove_all_memory
+	gst_buffer_remove_memory
 	gst_buffer_remove_memory_range
 	gst_buffer_remove_meta
+	gst_buffer_replace_all_memory
+	gst_buffer_replace_memory
 	gst_buffer_replace_memory_range
+	gst_buffer_resize
 	gst_buffer_resize_range
+	gst_buffer_set_size
 	gst_buffer_unmap
 	gst_buffering_mode_get_type
 	gst_bus_add_signal_watch
@@ -413,9 +427,7 @@
 	gst_element_unlink_many
 	gst_element_unlink_pads
 	gst_error_get_message
-	gst_event_add_stream_config_header
 	gst_event_copy_segment
-	gst_event_get_n_stream_config_headers
 	gst_event_get_seqnum
 	gst_event_get_structure
 	gst_event_get_type
@@ -436,7 +448,6 @@
 	gst_event_new_segment_done
 	gst_event_new_sink_message
 	gst_event_new_step
-	gst_event_new_stream_config
 	gst_event_new_stream_start
 	gst_event_new_tag
 	gst_event_new_toc
@@ -446,21 +457,17 @@
 	gst_event_parse_flush_stop
 	gst_event_parse_gap
 	gst_event_parse_latency
-	gst_event_parse_nth_stream_config_header
 	gst_event_parse_qos
 	gst_event_parse_seek
 	gst_event_parse_segment
 	gst_event_parse_segment_done
 	gst_event_parse_sink_message
 	gst_event_parse_step
-	gst_event_parse_stream_config
-	gst_event_parse_stream_config_setup_data
 	gst_event_parse_stream_start
 	gst_event_parse_tag
 	gst_event_parse_toc
 	gst_event_parse_toc_select
 	gst_event_set_seqnum
-	gst_event_set_stream_config_setup_data
 	gst_event_type_flags_get_type
 	gst_event_type_get_flags
 	gst_event_type_get_name
@@ -541,7 +548,7 @@
 	gst_message_new_clock_lost
 	gst_message_new_clock_provide
 	gst_message_new_custom
-	gst_message_new_duration
+	gst_message_new_duration_changed
 	gst_message_new_element
 	gst_message_new_eos
 	gst_message_new_error
@@ -569,7 +576,6 @@
 	gst_message_parse_buffering_stats
 	gst_message_parse_clock_lost
 	gst_message_parse_clock_provide
-	gst_message_parse_duration
 	gst_message_parse_error
 	gst_message_parse_info
 	gst_message_parse_new_clock
@@ -685,7 +691,9 @@
 	gst_pad_link_full
 	gst_pad_link_return_get_type
 	gst_pad_mark_reconfigure
+	gst_pad_mode_get_name
 	gst_pad_mode_get_type
+	gst_pad_needs_reconfigure
 	gst_pad_new
 	gst_pad_new_from_static_template
 	gst_pad_new_from_template
@@ -852,6 +860,7 @@
 	gst_query_get_structure
 	gst_query_get_type
 	gst_query_has_scheduling_mode
+	gst_query_has_scheduling_mode_with_flags
 	gst_query_new_accept_caps
 	gst_query_new_allocation
 	gst_query_new_buffering
@@ -916,7 +925,6 @@
 	gst_query_writable_structure
 	gst_rank_get_type
 	gst_registry_add_feature
-	gst_registry_add_path
 	gst_registry_add_plugin
 	gst_registry_check_feature_version
 	gst_registry_feature_filter
@@ -928,7 +936,6 @@
 	gst_registry_get_feature_list
 	gst_registry_get_feature_list_by_plugin
 	gst_registry_get_feature_list_cookie
-	gst_registry_get_path_list
 	gst_registry_get_plugin_list
 	gst_registry_get_type
 	gst_registry_lookup
@@ -973,7 +980,6 @@
 	gst_static_pad_template_get
 	gst_static_pad_template_get_caps
 	gst_static_pad_template_get_type
-	gst_stream_config_flags_get_type
 	gst_stream_error_get_type
 	gst_stream_error_quark
 	gst_stream_status_type_get_type
