Merge tag 'upstream/0.11.94'

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