Merge tag 'upstream/0.11.93'

Upstream version 0.11.93
diff --git a/Makefile.am b/Makefile.am
index 671aec1..c8fe12a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -7,12 +7,16 @@
 aclocal_DATA = gst-element-check-@GST_API_VERSION@.m4
 
 SUBDIRS = pkgconfig \
-	gst libs plugins tools tests \
+	gst libs plugins tests \
 	docs \
 	po \
 	m4 \
 	common
 
+if BUILD_TOOLS
+SUBDIRS += tools
+endif
+
 # These are all the possible subdirs
 DIST_SUBDIRS = pkgconfig \
 	gst libs plugins tools tests \
diff --git a/Makefile.in b/Makefile.in
index 4c28bc0..3ec513f 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -63,6 +63,7 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
+@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 \
@@ -274,7 +275,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
@@ -492,13 +495,8 @@
 DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-docbook
 aclocaldir = $(datadir)/aclocal
 aclocal_DATA = gst-element-check-@GST_API_VERSION@.m4
-SUBDIRS = pkgconfig \
-	gst libs plugins tools tests \
-	docs \
-	po \
-	m4 \
-	common
-
+SUBDIRS = pkgconfig gst libs plugins tests docs po m4 common \
+	$(am__append_1)
 
 # These are all the possible subdirs
 DIST_SUBDIRS = pkgconfig \
@@ -932,7 +930,7 @@
 	*.zip*) \
 	  unzip $(distdir).zip ;;\
 	esac
-	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	chmod -R a-w $(distdir); chmod u+w $(distdir)
 	mkdir $(distdir)/_build
 	mkdir $(distdir)/_inst
 	chmod a-w $(distdir)
diff --git a/aclocal.m4 b/aclocal.m4
index 75ce02c..f989769 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.11.5 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 # 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
@@ -38,7 +38,7 @@
 [am__api_version='1.11'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.5], [],
+m4_if([$1], [1.11.6], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -54,7 +54,7 @@
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.5])dnl
+[AM_AUTOMAKE_VERSION([1.11.6])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
diff --git a/common/Makefile.in b/common/Makefile.in
index 2e793ef..27dd5e0 100644
--- a/common/Makefile.in
+++ b/common/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -207,7 +207,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/common/m4/Makefile.in b/common/m4/Makefile.in
index d2580d9..ac9f419 100644
--- a/common/m4/Makefile.in
+++ b/common/m4/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -167,7 +167,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/common/m4/gst-arch.m4 b/common/m4/gst-arch.m4
index ff0954a..077a20b 100644
--- a/common/m4/gst-arch.m4
+++ b/common/m4/gst-arch.m4
@@ -5,9 +5,6 @@
 
 AC_DEFUN([AG_GST_ARCH],
 [
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use host_ variables
-  AC_REQUIRE([AC_CANONICAL_TARGET]) dnl we use target_ variables
-
   dnl Determine CPU
   case "x${target_cpu}" in
     xi?86 | xk? | xi?86_64)
diff --git a/common/m4/gst-glib2.m4 b/common/m4/gst-glib2.m4
index b141bee..3f3d565 100644
--- a/common/m4/gst-glib2.m4
+++ b/common/m4/gst-glib2.m4
@@ -68,6 +68,44 @@
     GLIB_EXTRA_CFLAGS="$GLIB_EXTRA_CFLAGS -DG_DISABLE_ASSERT"
   fi
 
+  dnl Find location of glib utils. People may want to or have to override these,
+  dnl e.g. in a cross-compile situation where PATH is a bit messed up. We need
+  dnl for these tools to work on the host, so can't just use the one from the
+  dnl GLib installation that pkg-config picks up, as that might be for a
+  dnl different target architecture.
+  dnl
+  dnl glib-genmarshal:
+  AC_MSG_CHECKING(for glib-genmarshal)
+  if test "x$GLIB_GENMARSHAL" != "x"; then
+    AC_MSG_RESULT([$GLIB_GENMARSHAL (from environment)])
+  else
+    GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`
+    if $GLIB_GENMARSHAL --version 2>/dev/null >/dev/null; then
+      AC_MSG_RESULT([$GLIB_GENMARSHAL (from pkg-config path)])
+    else
+      AC_PATH_PROG(GLIB_GENMARSHAL, [glib-genmarshal], [glib-genmarshal])
+      AC_MSG_RESULT([$GLIB_GENMARSHAL])
+    fi
+  fi
+  if ! $GLIB_GENMARSHAL --version 2>/dev/null >/dev/null; then
+    AC_MSG_WARN([$GLIB_GENMARSHAL does not seem to work!])
+  fi
+  AC_SUBST(GLIB_GENMARSHAL)
+
+  dnl glib-mkenums:
+  AC_MSG_CHECKING(for glib-mkenums)
+  if test "x$GLIB_MKENUMS" != "x"; then
+    AC_MSG_RESULT([$GLIB_MKENUMS (from environment)])
+  else
+    dnl glib-mkenums is written in perl so should always work really
+    GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
+    AC_MSG_RESULT([$GLIB_MKENUMS])
+  fi
+  if ! $GLIB_MKENUMS --version 2>/dev/null >/dev/null; then
+    AC_MSG_WARN([$GLIB_MKENUMS does not seem to work!])
+  fi
+  AC_SUBST(GLIB_MKENUMS)
+
   dnl for the poor souls who for example have glib in /usr/local
   AS_SCRUB_INCLUDE(GLIB_CFLAGS)
 
diff --git a/common/m4/gst-parser.m4 b/common/m4/gst-parser.m4
index 2cae45d..710da89 100644
--- a/common/m4/gst-parser.m4
+++ b/common/m4/gst-parser.m4
@@ -34,7 +34,7 @@
   dnl we need version >= 2.5.31 for the reentrancy support
   dnl in the parser.
   flex_min_version=2.5.31
-  flex_version=`$FLEX_PATH --version | head -n 1 | sed 's/^.* //' | sed 's/[[a-zA-Z]]*$//' | cut -d' ' -f1`
+  flex_version=`$FLEX_PATH --version | head -n 1 | awk '{print $2}'`
   AC_MSG_CHECKING([flex version $flex_version >= $flex_min_version])
   if perl -w <<EOF
     (\$min_version_major, \$min_version_minor, \$min_version_micro ) = "$flex_min_version" =~ /(\d+)\.(\d+)\.(\d+)/;
diff --git a/common/m4/gst.m4 b/common/m4/gst.m4
index ddfde51..d4c53cb 100644
--- a/common/m4/gst.m4
+++ b/common/m4/gst.m4
@@ -3,10 +3,15 @@
 dnl all GStreamer autoconf macros are prefixed
 dnl with AG_GST_ for public macros
 dnl with _AG_GST_ for private macros
+dnl
+dnl We call AC_CANONICAL_TARGET and AC_CANONICAL_HOST so that
+dnl it is valid before AC_ARG_PROGRAM is called
 
 AC_DEFUN([AG_GST_INIT],
 [
   m4_pattern_forbid(^_?AG_GST_)
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use host_ variables
+  AC_REQUIRE([AC_CANONICAL_TARGET]) dnl we use target_ variables
 ])
 
 dnl AG_GST_PKG_CONFIG_PATH
diff --git a/compile b/compile
index b1f4749..862a14e 100755
--- a/compile
+++ b/compile
@@ -1,7 +1,7 @@
 #! /bin/sh
 # Wrapper for compilers which do not understand '-c -o'.
 
-scriptversion=2012-01-04.17; # UTC
+scriptversion=2012-03-05.13; # UTC
 
 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010, 2012 Free
 # Software Foundation, Inc.
@@ -79,6 +79,48 @@
   esac
 }
 
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+  func_file_conv "$1"
+  if test -z "$lib_path"; then
+    lib_path=$file
+  else
+    lib_path="$lib_path;$file"
+  fi
+  linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+  lib=$1
+  found=no
+  save_IFS=$IFS
+  IFS=';'
+  for dir in $lib_path $LIB
+  do
+    IFS=$save_IFS
+    if $shared && test -f "$dir/$lib.dll.lib"; then
+      found=yes
+      lib=$dir/$lib.dll.lib
+      break
+    fi
+    if test -f "$dir/$lib.lib"; then
+      found=yes
+      lib=$dir/$lib.lib
+      break
+    fi
+  done
+  IFS=$save_IFS
+
+  if test "$found" != yes; then
+    lib=$lib.lib
+  fi
+}
+
 # func_cl_wrapper cl arg...
 # Adjust compile command to suit cl
 func_cl_wrapper ()
@@ -109,43 +151,34 @@
 	      ;;
 	  esac
 	  ;;
+	-I)
+	  eat=1
+	  func_file_conv "$2" mingw
+	  set x "$@" -I"$file"
+	  shift
+	  ;;
 	-I*)
 	  func_file_conv "${1#-I}" mingw
 	  set x "$@" -I"$file"
 	  shift
 	  ;;
-	-l*)
-	  lib=${1#-l}
-	  found=no
-	  save_IFS=$IFS
-	  IFS=';'
-	  for dir in $lib_path $LIB
-	  do
-	    IFS=$save_IFS
-	    if $shared && test -f "$dir/$lib.dll.lib"; then
-	      found=yes
-	      set x "$@" "$dir/$lib.dll.lib"
-	      break
-	    fi
-	    if test -f "$dir/$lib.lib"; then
-	      found=yes
-	      set x "$@" "$dir/$lib.lib"
-	      break
-	    fi
-	  done
-	  IFS=$save_IFS
-
-	  test "$found" != yes && set x "$@" "$lib.lib"
+	-l)
+	  eat=1
+	  func_cl_dashl "$2"
+	  set x "$@" "$lib"
 	  shift
 	  ;;
+	-l*)
+	  func_cl_dashl "${1#-l}"
+	  set x "$@" "$lib"
+	  shift
+	  ;;
+	-L)
+	  eat=1
+	  func_cl_dashL "$2"
+	  ;;
 	-L*)
-	  func_file_conv "${1#-L}"
-	  if test -z "$lib_path"; then
-	    lib_path=$file
-	  else
-	    lib_path="$lib_path;$file"
-	  fi
-	  linker_opts="$linker_opts -LIBPATH:$file"
+	  func_cl_dashL "${1#-L}"
 	  ;;
 	-static)
 	  shared=false
diff --git a/config.h.in b/config.h.in
index 43b0e35..514bd9d 100644
--- a/config.h.in
+++ b/config.h.in
@@ -184,6 +184,9 @@
 /* Define to 1 if you have the `poll' function. */
 #undef HAVE_POLL
 
+/* Define to 1 if you have the <poll.h> header file. */
+#undef HAVE_POLL_H
+
 /* Define to 1 if you have the `posix_memalign' function. */
 #undef HAVE_POSIX_MEMALIGN
 
diff --git a/config.sub b/config.sub
index c894da4..6205f84 100755
--- a/config.sub
+++ b/config.sub
@@ -4,7 +4,7 @@
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
 #   2011, 2012 Free Software Foundation, Inc.
 
-timestamp='2012-02-10'
+timestamp='2012-04-18'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -225,6 +225,12 @@
 	-isc*)
 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
 		;;
+	-lynx*178)
+		os=-lynxos178
+		;;
+	-lynx*5)
+		os=-lynxos5
+		;;
 	-lynx*)
 		os=-lynxos
 		;;
@@ -1537,6 +1543,9 @@
 	c4x-* | tic4x-*)
 		os=-coff
 		;;
+	hexagon-*)
+		os=-elf
+		;;
 	tic54x-*)
 		os=-coff
 		;;
diff --git a/configure b/configure
index 19506a2..461b2e7 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.92.
+# Generated by GNU Autoconf 2.69 for GStreamer 0.11.93.
 #
 # 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.92'
-PACKAGE_STRING='GStreamer 0.11.92'
+PACKAGE_VERSION='0.11.93'
+PACKAGE_STRING='GStreamer 0.11.93'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
 PACKAGE_URL=''
 
@@ -676,6 +676,8 @@
 GIO_LIBS
 GIO_CFLAGS
 GLIB_EXTRA_CFLAGS
+GLIB_MKENUMS
+GLIB_GENMARSHAL
 GLIB_LIBS
 GLIB_CFLAGS
 GLIB_REQ
@@ -813,10 +815,10 @@
 HAVE_CPU_PPC_TRUE
 HAVE_CPU_I386_FALSE
 HAVE_CPU_I386_TRUE
-target_os
-target_vendor
-target_cpu
-target
+BUILD_TOOLS_FALSE
+BUILD_TOOLS_TRUE
+BUILD_BENCHMARKS_FALSE
+BUILD_BENCHMARKS_TRUE
 BUILD_FAILING_TESTS_FALSE
 BUILD_FAILING_TESTS_TRUE
 BUILD_TESTS_FALSE
@@ -933,14 +935,6 @@
 AM_DEFAULT_VERBOSITY
 AM_DEFAULT_V
 AM_V
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
 MAINT
 MAINTAINER_MODE_FALSE
 MAINTAINER_MODE_TRUE
@@ -972,6 +966,18 @@
 INSTALL_DATA
 INSTALL_SCRIPT
 INSTALL_PROGRAM
+target_os
+target_vendor
+target_cpu
+target
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
 target_alias
 host_alias
 build_alias
@@ -1049,6 +1055,8 @@
 with_package_origin
 enable_tests
 enable_failing_tests
+enable_benchmarks
+enable_tools
 enable_poisoning
 enable_largefile
 enable_introspection
@@ -1627,7 +1635,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.92 to adapt to many kinds of systems.
+\`configure' configures GStreamer 0.11.93 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1698,7 +1706,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GStreamer 0.11.92:";;
+     short | recursive ) echo "Configuration of GStreamer 0.11.93:";;
    esac
   cat <<\_ACEOF
 
@@ -1737,6 +1745,8 @@
   --disable-examples      disable building examples
   --disable-tests         disable building test apps
   --disable-failing-tests disable building tests known to fail
+  --disable-benchmarks    disable building benchmarks apps
+  --disable-tools         disable building tools
   --enable-poisoning      enable poisoning of deallocated objects
   --disable-largefile     omit support for large files
   --enable-introspection=[no/auto/yes]
@@ -1873,7 +1883,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GStreamer configure 0.11.92
+GStreamer configure 0.11.93
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2646,7 +2656,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.92, which was
+It was created by GStreamer $as_me 0.11.93, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2998,12 +3008,6 @@
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-
-
-
-
-am__api_version='1.11'
-
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
   if test -f "$ac_dir/install-sh"; then
@@ -3033,6 +3037,122 @@
 ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 
 
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if ${ac_cv_build+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if ${ac_cv_host+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
+$as_echo_n "checking target system type... " >&6; }
+if ${ac_cv_target+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "x$target_alias" = x; then
+  ac_cv_target=$ac_cv_host
+else
+  ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
+$as_echo "$ac_cv_target" >&6; }
+case $ac_cv_target in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
+esac
+target=$ac_cv_target
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_target
+shift
+target_cpu=$1
+target_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+target_os=$*
+IFS=$ac_save_IFS
+case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
+
+
+# The aliases save the names the user supplied, while $host etc.
+# will get canonicalized.
+test -n "$target_alias" &&
+  test "$program_prefix$program_suffix$program_transform_name" = \
+    NONENONEs,x,x, &&
+  program_prefix=${target_alias}-
+
+
+
+
+am__api_version='1.11'
+
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
 # incompatible versions:
@@ -3469,7 +3589,7 @@
 
 # Define the identity of the package.
  PACKAGE='gstreamer'
- VERSION='0.11.92'
+ VERSION='0.11.93'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3592,9 +3712,9 @@
 
 
 
-  PACKAGE_VERSION_MAJOR=$(echo 0.11.92 | cut -d'.' -f1)
-  PACKAGE_VERSION_MINOR=$(echo 0.11.92 | cut -d'.' -f2)
-  PACKAGE_VERSION_MICRO=$(echo 0.11.92 | cut -d'.' -f3)
+  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)
 
 
 
@@ -3605,7 +3725,7 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
 $as_echo_n "checking nano version... " >&6; }
 
-  NANO=$(echo 0.11.92 | cut -d'.' -f4)
+  NANO=$(echo 0.11.93 | cut -d'.' -f4)
 
   if test x"$NANO" = x || test "x$NANO" = "x0" ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -3657,76 +3777,6 @@
 
 
 
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
 
 
 # Check whether --enable-silent-rules was given.
@@ -5978,10 +6028,6 @@
   fi
   ;;
 
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
 haiku*)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -6020,7 +6066,7 @@
   ;;
 
 # This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
@@ -9258,7 +9304,7 @@
       lt_prog_compiler_static='-non_shared'
       ;;
 
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
+    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
       case $cc_basename in
       # old Intel for x86_64 which still supported -KPIC.
       ecc*)
@@ -11428,17 +11474,6 @@
   esac
   ;;
 
-gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
 haiku*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
@@ -11555,7 +11590,7 @@
   ;;
 
 # This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
@@ -15495,6 +15530,48 @@
 $as_echo "$as_me: WARNING: Sissy ! By asking to not build the tests known to fail, you hereby waive your right to customer support.  If you do not agree with this EULA, please press Ctrl-C before the next line is printed.  By allowing the next line to be printed, you expressly acknowledge your acceptance of this EULA." >&2;}
 fi
 
+# Check whether --enable-benchmarks was given.
+if test "${enable_benchmarks+set}" = set; then :
+  enableval=$enable_benchmarks;
+    case "${enableval}" in
+      yes) BUILD_BENCHMARKS=yes ;;
+      no)  BUILD_BENCHMARKS=no ;;
+      *)   as_fn_error $? "bad value ${enableval} for --disable-benchmarks" "$LINENO" 5 ;;
+    esac
+
+else
+  BUILD_BENCHMARKS=yes
+fi
+  if test "x$BUILD_BENCHMARKS" = "xyes"; then
+  BUILD_BENCHMARKS_TRUE=
+  BUILD_BENCHMARKS_FALSE='#'
+else
+  BUILD_BENCHMARKS_TRUE='#'
+  BUILD_BENCHMARKS_FALSE=
+fi
+
+
+# Check whether --enable-tools was given.
+if test "${enable_tools+set}" = set; then :
+  enableval=$enable_tools;
+    case "${enableval}" in
+      yes) BUILD_TOOLS=yes ;;
+      no)  BUILD_TOOLS=no ;;
+      *)   as_fn_error $? "bad value ${enableval} for --disable-tools" "$LINENO" 5 ;;
+    esac
+
+else
+  BUILD_TOOLS=yes
+fi
+  if test "x$BUILD_TOOLS" = "xyes"; then
+  BUILD_TOOLS_TRUE=
+  BUILD_TOOLS_FALSE='#'
+else
+  BUILD_TOOLS_TRUE='#'
+  BUILD_TOOLS_FALSE=
+fi
+
+
 # Check whether --enable-poisoning was given.
 if test "${enable_poisoning+set}" = set; then :
   enableval=$enable_poisoning;
@@ -15515,46 +15592,6 @@
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$target_alias" = x; then
-  ac_cv_target=$ac_cv_host
-else
-  ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
-  test "$program_prefix$program_suffix$program_transform_name" = \
-    NONENONEs,x,x, &&
-  program_prefix=${target_alias}-
-
 
     case "x${target_cpu}" in
     xi?86 | xk? | xi?86_64)
@@ -18804,9 +18841,6 @@
         ld_shlibs_CXX=yes
         ;;
 
-      gnu*)
-        ;;
-
       haiku*)
         archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
         link_all_deplibs_CXX=yes
@@ -18968,7 +19002,7 @@
         inherit_rpath_CXX=yes
         ;;
 
-      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
         case $cc_basename in
           KCC*)
 	    # Kuck and Associates, Inc. (KAI) C++ Compiler
@@ -19828,7 +19862,7 @@
 	    ;;
 	esac
 	;;
-      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
 	case $cc_basename in
 	  KCC*)
 	    # KAI C++ Compiler
@@ -20700,17 +20734,6 @@
   esac
   ;;
 
-gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
 haiku*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
@@ -20827,7 +20850,7 @@
   ;;
 
 # This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
@@ -21400,7 +21423,7 @@
   fi
 
         flex_min_version=2.5.31
-  flex_version=`$FLEX_PATH --version | head -n 1 | sed 's/^.* //' | sed 's/[a-zA-Z]*$//' | cut -d' ' -f1`
+  flex_version=`$FLEX_PATH --version | head -n 1 | awk '{print }'`
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking flex version $flex_version >= $flex_min_version" >&5
 $as_echo_n "checking flex version $flex_version >= $flex_min_version... " >&6; }
   if perl -w <<EOF
@@ -22994,7 +23017,8 @@
 
 for ac_header in ucontext.h
 do :
-  ac_fn_c_check_header_mongrel "$LINENO" "ucontext.h" "ac_cv_header_ucontext_h" "$ac_includes_default"
+  ac_fn_c_check_header_compile "$LINENO" "ucontext.h" "ac_cv_header_ucontext_h" "$ac_includes_default
+"
 if test "x$ac_cv_header_ucontext_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_UCONTEXT_H 1
@@ -23007,12 +23031,15 @@
 
 for ac_header in sys/socket.h
 do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default"
+  ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default
+"
 if test "x$ac_cv_header_sys_socket_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_SYS_SOCKET_H 1
 _ACEOF
  HAVE_SYS_SOCKET_H=yes
+else
+  HAVE_SYS_SOCKET_H=no
 fi
 
 done
@@ -23028,24 +23055,30 @@
 
 for ac_header in sys/times.h
 do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/times.h" "ac_cv_header_sys_times_h" "$ac_includes_default"
+  ac_fn_c_check_header_compile "$LINENO" "sys/times.h" "ac_cv_header_sys_times_h" "$ac_includes_default
+"
 if test "x$ac_cv_header_sys_times_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_SYS_TIMES_H 1
 _ACEOF
  HAVE_SYS_TIMES_H=yes
+else
+  HAVE_SYS_TIME_H=no
 fi
 
 done
 
 for ac_header in unistd.h
 do :
-  ac_fn_c_check_header_mongrel "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default"
+  ac_fn_c_check_header_compile "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default
+"
 if test "x$ac_cv_header_unistd_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_UNISTD_H 1
 _ACEOF
  HAVE_UNISTD_H=yes
+else
+  HAVE_UNISTD_H=no
 fi
 
 done
@@ -23061,7 +23094,8 @@
 
 for ac_header in process.h
 do :
-  ac_fn_c_check_header_mongrel "$LINENO" "process.h" "ac_cv_header_process_h" "$ac_includes_default"
+  ac_fn_c_check_header_compile "$LINENO" "process.h" "ac_cv_header_process_h" "$ac_includes_default
+"
 if test "x$ac_cv_header_process_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_PROCESS_H 1
@@ -23074,7 +23108,8 @@
 
 for ac_header in sys/utsname.h
 do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/utsname.h" "ac_cv_header_sys_utsname_h" "$ac_includes_default"
+  ac_fn_c_check_header_compile "$LINENO" "sys/utsname.h" "ac_cv_header_sys_utsname_h" "$ac_includes_default
+"
 if test "x$ac_cv_header_sys_utsname_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_SYS_UTSNAME_H 1
@@ -23087,7 +23122,8 @@
 
 for ac_header in stdio_ext.h
 do :
-  ac_fn_c_check_header_mongrel "$LINENO" "stdio_ext.h" "ac_cv_header_stdio_ext_h" "$ac_includes_default"
+  ac_fn_c_check_header_compile "$LINENO" "stdio_ext.h" "ac_cv_header_stdio_ext_h" "$ac_includes_default
+"
 if test "x$ac_cv_header_stdio_ext_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_STDIO_EXT_H 1
@@ -23100,12 +23136,15 @@
 
 for ac_header in pthread.h
 do :
-  ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default"
+  ac_fn_c_check_header_compile "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default
+"
 if test "x$ac_cv_header_pthread_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_PTHREAD_H 1
 _ACEOF
  HAVE_PTHREAD_H=yes
+else
+  HAVE_PTHREAD_H=no
 fi
 
 done
@@ -23121,12 +23160,13 @@
 
 for ac_header in sys/prctl.h
 do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/prctl.h" "ac_cv_header_sys_prctl_h" "$ac_includes_default"
+  ac_fn_c_check_header_compile "$LINENO" "sys/prctl.h" "ac_cv_header_sys_prctl_h" "$ac_includes_default
+"
 if test "x$ac_cv_header_sys_prctl_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_SYS_PRCTL_H 1
 _ACEOF
- HAVE_SYS_PRCTL_H=yes
+
 fi
 
 done
@@ -23134,12 +23174,13 @@
 
 for ac_header in valgrind/valgrind.h
 do :
-  ac_fn_c_check_header_mongrel "$LINENO" "valgrind/valgrind.h" "ac_cv_header_valgrind_valgrind_h" "$ac_includes_default"
+  ac_fn_c_check_header_compile "$LINENO" "valgrind/valgrind.h" "ac_cv_header_valgrind_valgrind_h" "$ac_includes_default
+"
 if test "x$ac_cv_header_valgrind_valgrind_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_VALGRIND_VALGRIND_H 1
 _ACEOF
- HAVE_VALGRIND_H=yes
+
 fi
 
 done
@@ -23147,12 +23188,15 @@
 
 for ac_header in winsock2.h
 do :
-  ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default"
+  ac_fn_c_check_header_compile "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default
+"
 if test "x$ac_cv_header_winsock2_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_WINSOCK2_H 1
 _ACEOF
  HAVE_WINSOCK2_H=yes
+else
+  HAVE_WINSOCK2_H=no
 fi
 
 done
@@ -23521,6 +23565,32 @@
 done
 
 
+for ac_header in sys/poll.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "sys/poll.h" "ac_cv_header_sys_poll_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_sys_poll_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SYS_POLL_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_header in poll.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "poll.h" "ac_cv_header_poll_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_poll_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_POLL_H 1
+_ACEOF
+
+fi
+
+done
+
 for ac_func in poll
 do :
   ac_fn_c_check_func "$LINENO" "poll" "ac_cv_func_poll"
@@ -23555,19 +23625,6 @@
 done
 
 
-for ac_header in sys/poll.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/poll.h" "ac_cv_header_sys_poll_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_poll_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_POLL_H 1
-_ACEOF
-
-fi
-
-done
-
-
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken poll" >&5
 $as_echo_n "checking for broken poll... " >&6; }
@@ -23579,10 +23636,12 @@
 
 	#include <stdlib.h>
 	#include <fcntl.h>
-	#include <poll.h>
 	#ifdef HAVE_SYS_POLL_H
 	#include <sys/poll.h>
 	#endif
+	#ifdef HAVE_POLL_H
+	#include <poll.h>
+	#endif
 	int main(void) {
 	  struct pollfd fds[1];
 	  int fd;
@@ -24222,7 +24281,7 @@
 CFLAGS="$save_cflags"
 
 
-GLIB_REQ=2.31.14
+GLIB_REQ=2.32.0
 
 
 
@@ -24379,6 +24438,84 @@
     GLIB_EXTRA_CFLAGS="$GLIB_EXTRA_CFLAGS -DG_DISABLE_ASSERT"
   fi
 
+                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for glib-genmarshal" >&5
+$as_echo_n "checking for glib-genmarshal... " >&6; }
+  if test "x$GLIB_GENMARSHAL" != "x"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GLIB_GENMARSHAL (from environment)" >&5
+$as_echo "$GLIB_GENMARSHAL (from environment)" >&6; }
+  else
+    GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`
+    if $GLIB_GENMARSHAL --version 2>/dev/null >/dev/null; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GLIB_GENMARSHAL (from pkg-config path)" >&5
+$as_echo "$GLIB_GENMARSHAL (from pkg-config path)" >&6; }
+    else
+      # Extract the first word of "glib-genmarshal", so it can be a program name with args.
+set dummy glib-genmarshal; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_GLIB_GENMARSHAL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $GLIB_GENMARSHAL in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_GLIB_GENMARSHAL="$GLIB_GENMARSHAL" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_GLIB_GENMARSHAL="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_GLIB_GENMARSHAL" && ac_cv_path_GLIB_GENMARSHAL="glib-genmarshal"
+  ;;
+esac
+fi
+GLIB_GENMARSHAL=$ac_cv_path_GLIB_GENMARSHAL
+if test -n "$GLIB_GENMARSHAL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GLIB_GENMARSHAL" >&5
+$as_echo "$GLIB_GENMARSHAL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GLIB_GENMARSHAL" >&5
+$as_echo "$GLIB_GENMARSHAL" >&6; }
+    fi
+  fi
+  if ! $GLIB_GENMARSHAL --version 2>/dev/null >/dev/null; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $GLIB_GENMARSHAL does not seem to work!" >&5
+$as_echo "$as_me: WARNING: $GLIB_GENMARSHAL does not seem to work!" >&2;}
+  fi
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for glib-mkenums" >&5
+$as_echo_n "checking for glib-mkenums... " >&6; }
+  if test "x$GLIB_MKENUMS" != "x"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GLIB_MKENUMS (from environment)" >&5
+$as_echo "$GLIB_MKENUMS (from environment)" >&6; }
+  else
+        GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GLIB_MKENUMS" >&5
+$as_echo "$GLIB_MKENUMS" >&6; }
+  fi
+  if ! $GLIB_MKENUMS --version 2>/dev/null >/dev/null; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $GLIB_MKENUMS does not seem to work!" >&5
+$as_echo "$as_me: WARNING: $GLIB_MKENUMS does not seem to work!" >&2;}
+  fi
+
+
 
   GIVEN_CFLAGS=$GLIB_CFLAGS
   INCLUDE_DIRS=`echo | cpp -v 2>&1`
@@ -25232,7 +25369,8 @@
 for ac_header in unistd.h sys/wait.h sys/time.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
 if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
@@ -25744,7 +25882,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/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 gst-element-check.m4 gstreamer.spec"
 
 
 sed \
@@ -25955,6 +26093,14 @@
   as_fn_error $? "conditional \"BUILD_FAILING_TESTS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${BUILD_BENCHMARKS_TRUE}" && test -z "${BUILD_BENCHMARKS_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_BENCHMARKS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_TOOLS_TRUE}" && test -z "${BUILD_TOOLS_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_TOOLS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 
 if test -z "${HAVE_CPU_I386_TRUE}" && test -z "${HAVE_CPU_I386_FALSE}"; then
   as_fn_error $? "conditional \"HAVE_CPU_I386\" was never defined.
@@ -26509,7 +26655,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.92, which was
+This file was extended by GStreamer $as_me 0.11.93, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -26575,7 +26721,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.92
+GStreamer config.status 0.11.93
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -27139,6 +27285,7 @@
     "tests/examples/helloworld/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/helloworld/Makefile" ;;
     "tests/examples/launch/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/launch/Makefile" ;;
     "tests/examples/manual/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/manual/Makefile" ;;
+    "tests/examples/memory/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/memory/Makefile" ;;
     "tests/examples/metadata/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/metadata/Makefile" ;;
     "tests/examples/queue/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/queue/Makefile" ;;
     "tests/examples/streams/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/streams/Makefile" ;;
@@ -29312,7 +29459,9 @@
 	Debug                      : ${USE_DEBUG}
 	Profiling                  : ${USE_PROFILING}
 
+	Building benchmarks        : ${BUILD_BENCHMARKS}
 	Building examples          : ${BUILD_EXAMPLES}
 	Building test apps         : ${BUILD_TESTS}
 	Building tests that fail   : ${BUILD_FAILING_TESTS}
+	Building tools             : ${BUILD_TOOLS}
 "
diff --git a/configure.ac b/configure.ac
index 7612b34..fa325a3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@
 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.92,
+AC_INIT(GStreamer, 0.11.93,
     http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
     gstreamer)
 AG_GST_INIT
@@ -164,6 +164,32 @@
   AC_MSG_WARN([Sissy ! By asking to not build the tests known to fail, you hereby waive your right to customer support.  If you do not agree with this EULA, please press Ctrl-C before the next line is printed.  By allowing the next line to be printed, you expressly acknowledge your acceptance of this EULA.])
 fi
 
+dnl building of benchmarks
+AC_ARG_ENABLE(benchmarks,
+  AC_HELP_STRING([--disable-benchmarks], [disable building benchmarks apps]),
+  [
+    case "${enableval}" in
+      yes) BUILD_BENCHMARKS=yes ;;
+      no)  BUILD_BENCHMARKS=no ;;
+      *)   AC_MSG_ERROR(bad value ${enableval} for --disable-benchmarks) ;;
+    esac
+  ],
+[BUILD_BENCHMARKS=yes]) dnl Default value
+AM_CONDITIONAL(BUILD_BENCHMARKS, test "x$BUILD_BENCHMARKS" = "xyes")
+
+dnl building of tools
+AC_ARG_ENABLE(tools,
+  AC_HELP_STRING([--disable-tools], [disable building tools]),
+  [
+    case "${enableval}" in
+      yes) BUILD_TOOLS=yes ;;
+      no)  BUILD_TOOLS=no ;;
+      *)   AC_MSG_ERROR(bad value ${enableval} for --disable-tools) ;;
+    esac
+  ],
+[BUILD_TOOLS=yes]) dnl Default value
+AM_CONDITIONAL(BUILD_TOOLS, test "x$BUILD_TOOLS" = "xyes")
+
 dnl poison destroyed objects
 AC_ARG_ENABLE(poisoning,
   AC_HELP_STRING([--enable-poisoning],
@@ -270,40 +296,40 @@
 AC_HEADER_STDC
 
 dnl Check for ucontext.h
-AC_CHECK_HEADERS([ucontext.h])
+AC_CHECK_HEADERS([ucontext.h], [], [], [AC_INCLUDES_DEFAULT])
 
 dnl Check for sys/socket.h
-AC_CHECK_HEADERS([sys/socket.h], HAVE_SYS_SOCKET_H=yes)
+AC_CHECK_HEADERS([sys/socket.h], [HAVE_SYS_SOCKET_H=yes], [HAVE_SYS_SOCKET_H=no], [AC_INCLUDES_DEFAULT])
 AM_CONDITIONAL(HAVE_SYS_SOCKET_H, test "x$HAVE_SYS_SOCKET_H" = "xyes")
 
 dnl check for sys/times.h for tests/examples/adapter/
-AC_CHECK_HEADERS([sys/times.h], HAVE_SYS_TIMES_H=yes)
-AC_CHECK_HEADERS([unistd.h], HAVE_UNISTD_H=yes)
+AC_CHECK_HEADERS([sys/times.h], [HAVE_SYS_TIMES_H=yes], [HAVE_SYS_TIME_H=no], [AC_INCLUDES_DEFAULT])
+AC_CHECK_HEADERS([unistd.h], [HAVE_UNISTD_H=yes], [HAVE_UNISTD_H=no], [AC_INCLUDES_DEFAULT])
 AM_CONDITIONAL(HAVE_SYS_TIMES_H_AND_UNISTD_H, test "x$HAVE_SYS_TIMES_H" = "xyes" -a "x$HAVE_UNISTD_H" = "xyes")
 
 dnl Check for process.h for getpid() on win32
-AC_CHECK_HEADERS([process.h])
+AC_CHECK_HEADERS([process.h], [], [], [AC_INCLUDES_DEFAULT])
 
 dnl Check for sys/utsname.h for uname
-AC_CHECK_HEADERS([sys/utsname.h])
+AC_CHECK_HEADERS([sys/utsname.h], [], [], [AC_INCLUDES_DEFAULT])
 
 dnl Check for stdio_ext.f for __fbufsize
-AC_CHECK_HEADERS([stdio_ext.h])
+AC_CHECK_HEADERS([stdio_ext.h], [], [], [AC_INCLUDES_DEFAULT])
 
 dnl check for pthreads
-AC_CHECK_HEADERS([pthread.h], HAVE_PTHREAD_H=yes)
+AC_CHECK_HEADERS([pthread.h], [HAVE_PTHREAD_H=yes], [HAVE_PTHREAD_H=no], [AC_INCLUDES_DEFAULT])
 AM_CONDITIONAL(HAVE_PTHREAD_H, test "x$HAVE_PTHREAD_H" = "xyes")
 
 dnl check for sys/prctl for setting thread name on Linux
-AC_CHECK_HEADERS([sys/prctl.h], HAVE_SYS_PRCTL_H=yes)
+AC_CHECK_HEADERS([sys/prctl.h], [], [], [AC_INCLUDES_DEFAULT])
 
 dnl Check for valgrind.h
 dnl separate from HAVE_VALGRIND because you can have the program, but not
 dnl the dev package
-AC_CHECK_HEADERS([valgrind/valgrind.h], HAVE_VALGRIND_H=yes)
+AC_CHECK_HEADERS([valgrind/valgrind.h], [], [], [AC_INCLUDES_DEFAULT])
 
 dnl used in gst/gstpoll.c
-AC_CHECK_HEADERS([winsock2.h], HAVE_WINSOCK2_H=yes)
+AC_CHECK_HEADERS([winsock2.h], [HAVE_WINSOCK2_H=yes], [HAVE_WINSOCK2_H=no], [AC_INCLUDES_DEFAULT])
 AM_CONDITIONAL(HAVE_WINSOCK2_H, test "x$HAVE_WINSOCK2_H" = "xyes")
 if test "x$HAVE_WINSOCK2_H" = "xyes"; then
   WIN32_LIBS="-lws2_32"
@@ -382,12 +408,12 @@
 AC_CHECK_FUNCS([fsetpos])
 
 dnl check for poll(), ppoll() and pselect()
+AC_CHECK_HEADERS([sys/poll.h], [], [], [AC_INCLUDES_DEFAULT])
+AC_CHECK_HEADERS([poll.h], [], [], [AC_INCLUDES_DEFAULT])
 AC_CHECK_FUNCS([poll])
 AC_CHECK_FUNCS([ppoll])
 AC_CHECK_FUNCS([pselect])
 
-AC_CHECK_HEADERS([sys/poll.h])
-
 dnl ****************************************
 dnl *** GLib POLL* compatibility defines ***
 dnl ****************************************
@@ -396,10 +422,12 @@
 AC_RUN_IFELSE([AC_LANG_SOURCE([[
 	#include <stdlib.h>
 	#include <fcntl.h>
-	#include <poll.h>
 	#ifdef HAVE_SYS_POLL_H
 	#include <sys/poll.h>
 	#endif
+	#ifdef HAVE_POLL_H
+	#include <poll.h>
+	#endif
 	int main(void) {
 	  struct pollfd fds[1];
 	  int fd;
@@ -519,7 +547,7 @@
 dnl *** checks for dependency libraries ***
 
 dnl GLib
-GLIB_REQ=2.31.14
+GLIB_REQ=2.32.0
 AG_GST_GLIB_CHECK([$GLIB_REQ])
 
 dnl Check for documentation xrefs
@@ -735,6 +763,7 @@
 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
@@ -844,7 +873,9 @@
 	Debug                      : ${USE_DEBUG}
 	Profiling                  : ${USE_PROFILING}
 
+	Building benchmarks        : ${BUILD_BENCHMARKS}
 	Building examples          : ${BUILD_EXAMPLES}
 	Building test apps         : ${BUILD_TESTS}
 	Building tests that fail   : ${BUILD_FAILING_TESTS}
+	Building tools             : ${BUILD_TOOLS}
 "
diff --git a/depcomp b/depcomp
index bd0ac08..25a39e6 100755
--- a/depcomp
+++ b/depcomp
@@ -1,10 +1,10 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2011-12-04.11; # UTC
+scriptversion=2012-03-27.16; # UTC
 
 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
+# 2011, 2012 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -28,7 +28,7 @@
 
 case $1 in
   '')
-     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
      exit 1;
      ;;
   -h | --h*)
@@ -40,8 +40,8 @@
 
 Environment variables:
   depmode     Dependency tracking mode.
-  source      Source file read by `PROGRAMS ARGS'.
-  object      Object file output by `PROGRAMS ARGS'.
+  source      Source file read by 'PROGRAMS ARGS'.
+  object      Object file output by 'PROGRAMS ARGS'.
   DEPDIR      directory where to store dependencies.
   depfile     Dependency file to output.
   tmpdepfile  Temporary file to use when outputting dependencies.
@@ -57,6 +57,12 @@
     ;;
 esac
 
+# A tabulation character.
+tab='	'
+# A newline character.
+nl='
+'
+
 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
   echo "depcomp: Variables source, object and depmode must be set" 1>&2
   exit 1
@@ -102,6 +108,12 @@
    depmode=msvc7
 fi
 
+if test "$depmode" = xlc; then
+   # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
+   gccflag=-qmakedep=gcc,-MF
+   depmode=gcc
+fi
+
 case "$depmode" in
 gcc3)
 ## gcc 3 implements dependency tracking that does exactly what
@@ -156,15 +168,14 @@
 ## The second -e expression handles DOS-style file names with drive letters.
   sed -e 's/^[^:]*: / /' \
       -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
+## This next piece of magic avoids the "deleted header file" problem.
 ## The problem is that when a header file which appears in a .P file
 ## is deleted, the dependency causes make to die (because there is
 ## typically no way to rebuild the header).  We avoid this by adding
 ## dummy dependencies for each header file.  Too bad gcc doesn't do
 ## this for us directly.
-  tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'.  On the theory
+  tr ' ' "$nl" < "$tmpdepfile" |
+## Some versions of gcc put a space before the ':'.  On the theory
 ## that the space means something, we add a space to the output as
 ## well.  hp depmode also adds that space, but also prefixes the VPATH
 ## to the object.  Take care to not repeat it in the output.
@@ -203,18 +214,15 @@
     # clever and replace this with sed code, as IRIX sed won't handle
     # lines with more than a fixed number of characters (4096 in
     # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
-    # the IRIX cc adds comments like `#:fec' to the end of the
+    # the IRIX cc adds comments like '#:fec' to the end of the
     # dependency line.
-    tr ' ' '
-' < "$tmpdepfile" \
+    tr ' ' "$nl" < "$tmpdepfile" \
     | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
-    tr '
-' ' ' >> "$depfile"
+    tr "$nl" ' ' >> "$depfile"
     echo >> "$depfile"
 
     # The second pass generates a dummy entry for each header file.
-    tr ' ' '
-' < "$tmpdepfile" \
+    tr ' ' "$nl" < "$tmpdepfile" \
    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
    >> "$depfile"
   else
@@ -226,10 +234,17 @@
   rm -f "$tmpdepfile"
   ;;
 
+xlc)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
 aix)
   # The C for AIX Compiler uses -M and outputs the dependencies
   # in a .u file.  In older versions, this file always lives in the
-  # current directory.  Also, the AIX compiler puts `$object:' at the
+  # current directory.  Also, the AIX compiler puts '$object:' at the
   # start of each line; $object doesn't have directory information.
   # Version 6 uses the directory in both cases.
   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
@@ -259,12 +274,11 @@
     test -f "$tmpdepfile" && break
   done
   if test -f "$tmpdepfile"; then
-    # Each line is of the form `foo.o: dependent.h'.
+    # Each line is of the form 'foo.o: dependent.h'.
     # Do two passes, one to just change these to
-    # `$object: dependent.h' and one to simply `dependent.h:'.
+    # '$object: dependent.h' and one to simply 'dependent.h:'.
     sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-    # That's a tab and a space in the [].
-    sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+    sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
   else
     # The sourcefile does not contain any dependencies, so just
     # store a dummy comment line, to avoid errors with the Makefile
@@ -275,23 +289,26 @@
   ;;
 
 icc)
-  # Intel's C compiler understands `-MD -MF file'.  However on
-  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+  # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
+  # However on
+  #    $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
   # ICC 7.0 will fill foo.d with something like
   #    foo.o: sub/foo.c
   #    foo.o: sub/foo.h
-  # which is wrong.  We want:
+  # which is wrong.  We want
   #    sub/foo.o: sub/foo.c
   #    sub/foo.o: sub/foo.h
   #    sub/foo.c:
   #    sub/foo.h:
   # ICC 7.1 will output
   #    foo.o: sub/foo.c sub/foo.h
-  # and will wrap long lines using \ :
+  # and will wrap long lines using '\':
   #    foo.o: sub/foo.c ... \
   #     sub/foo.h ... \
   #     ...
-
+  # tcc 0.9.26 (FIXME still under development at the moment of writing)
+  # will emit a similar output, but also prepend the continuation lines
+  # with horizontal tabulation characters.
   "$@" -MD -MF "$tmpdepfile"
   stat=$?
   if test $stat -eq 0; then :
@@ -300,15 +317,21 @@
     exit $stat
   fi
   rm -f "$depfile"
-  # Each line is of the form `foo.o: dependent.h',
-  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+  # Each line is of the form 'foo.o: dependent.h',
+  # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
   # Do two passes, one to just change these to
-  # `$object: dependent.h' and one to simply `dependent.h:'.
-  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
-  # Some versions of the HPUX 10.20 sed can't process this invocation
-  # correctly.  Breaking it into two sed invocations is a workaround.
-  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
-    sed -e 's/$/ :/' >> "$depfile"
+  # '$object: dependent.h' and one to simply 'dependent.h:'.
+  sed -e "s/^[ $tab][ $tab]*/  /" -e "s,^[^:]*:,$object :," \
+    < "$tmpdepfile" > "$depfile"
+  sed '
+    s/[ '"$tab"'][ '"$tab"']*/ /g
+    s/^ *//
+    s/ *\\*$//
+    s/^[^:]*: *//
+    /^$/d
+    /:$/d
+    s/$/ :/
+  ' < "$tmpdepfile" >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -344,7 +367,7 @@
   done
   if test -f "$tmpdepfile"; then
     sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
-    # Add `dependent.h:' lines.
+    # Add 'dependent.h:' lines.
     sed -ne '2,${
 	       s/^ *//
 	       s/ \\*$//
@@ -359,9 +382,9 @@
 
 tru64)
    # The Tru64 compiler uses -MD to generate dependencies as a side
-   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+   # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
    # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-   # dependencies in `foo.d' instead, so we check for that too.
+   # dependencies in 'foo.d' instead, so we check for that too.
    # Subdirectories are respected.
    dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
    test "x$dir" = "x$object" && dir=
@@ -407,8 +430,7 @@
    done
    if test -f "$tmpdepfile"; then
       sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-      # That's a tab and a space in the [].
-      sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+      sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
    else
       echo "#dummy" > "$depfile"
    fi
@@ -443,11 +465,11 @@
   p
 }' | $cygpath_u | sort -u | sed -n '
 s/ /\\ /g
-s/\(.*\)/	\1 \\/p
+s/\(.*\)/'"$tab"'\1 \\/p
 s/.\(.*\) \\/\1:/
 H
 $ {
-  s/.*/	/
+  s/.*/'"$tab"'/
   G
   p
 }' >> "$depfile"
@@ -478,7 +500,7 @@
     shift
   fi
 
-  # Remove `-o $object'.
+  # Remove '-o $object'.
   IFS=" "
   for arg
   do
@@ -498,15 +520,14 @@
   done
 
   test -z "$dashmflag" && dashmflag=-M
-  # Require at least two characters before searching for `:'
+  # Require at least two characters before searching for ':'
   # in the target name.  This is to cope with DOS-style filenames:
-  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+  # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
   "$@" $dashmflag |
-    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
+    sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
   rm -f "$depfile"
   cat < "$tmpdepfile" > "$depfile"
-  tr ' ' '
-' < "$tmpdepfile" | \
+  tr ' ' "$nl" < "$tmpdepfile" | \
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
@@ -562,8 +583,7 @@
   # makedepend may prepend the VPATH from the source file name to the object.
   # No need to regex-escape $object, excess matching of '.' is harmless.
   sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
-  sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
+  sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
@@ -583,7 +603,7 @@
     shift
   fi
 
-  # Remove `-o $object'.
+  # Remove '-o $object'.
   IFS=" "
   for arg
   do
@@ -652,8 +672,8 @@
   sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
-  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
-  echo "	" >> "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
+  echo "$tab" >> "$depfile"
   sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
diff --git a/docs/Makefile.in b/docs/Makefile.in
index 4539a19..e5b2015 100644
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -207,7 +207,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/docs/design/Makefile.in b/docs/design/Makefile.in
index a79dc0b..24d493f 100644
--- a/docs/design/Makefile.in
+++ b/docs/design/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -167,7 +167,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/docs/design/part-buffering.txt b/docs/design/part-buffering.txt
index c6cb516..c1b3fb6 100644
--- a/docs/design/part-buffering.txt
+++ b/docs/design/part-buffering.txt
@@ -18,7 +18,6 @@
  - caching of semi-live streams to a local, on disk, ringbuffer with seeking in
    the cached area. This is similar to tivo-like timeshifting.
  - progress report about the buffering operations
- - easy (backward compatible) application notification of buffering
  - the possibility for the application to do more complex buffering
 
 Some use cases:
@@ -211,6 +210,17 @@
     this information to estimate the amount of remaining time to download the
     complete file.
 
+  "buffering-ranges", G_TYPE_ARRAY of GstQueryBufferingRange
+    - contains optionally the downloaded areas in the format given above. One
+      of the ranges contains the same start/stop position as above.
+
+      typedef struct
+      {
+        gint64 start;
+        gint64 stop;
+      } GstQueryBufferingRange;
+
+
 For the "download" and "timeshift" buffering-modes, the start and stop positions
 specify the ranges where efficient seeking in the downloaded media is possible.
 Seeking outside of these ranges might be slow or not at all possible.
@@ -235,6 +245,7 @@
   "start" = 0
   "stop" = the total filesize
   "estimated-total" = 0
+  "buffering-ranges" = NULL
 
 A GstBaseSrc in push mode replies to the BUFFERING query with:
 
@@ -247,6 +258,7 @@
   "start" = current position
   "stop" = current position
   "estimated-total" = -1
+  "buffering-ranges" = NULL
 
 
 Buffering strategies
diff --git a/docs/design/part-caps.txt b/docs/design/part-caps.txt
index ac04b75..a768b6d 100644
--- a/docs/design/part-caps.txt
+++ b/docs/design/part-caps.txt
@@ -8,7 +8,8 @@
 given pad can handle. They are also stored in the registry along with
 a description of the element.
 
-Caps are exposed on the element pads using the _get_caps() pad function.
+Caps are exposed on the element pads via CAPS and ACCEPT_CAPS queries.
+
 This function describes the possible types that the pad can handle or
 produce (see part-pads.txt and part-negotiation.txt).
 
diff --git a/docs/design/part-framestep.txt b/docs/design/part-framestep.txt
index 22d8895..7e5ecb8 100644
--- a/docs/design/part-framestep.txt
+++ b/docs/design/part-framestep.txt
@@ -101,8 +101,10 @@
      The format of the step units
 
   "amount", G_TYPE_UINT64
-     The amount of units to step. -1 resumes normal non-stepping behaviour to
-     the end of the segment.
+     The amount of units to step. A 0 amount immediately completes and can be
+     used to cancel the current step and resume normal non-stepping behaviour
+     to the end of the segment.
+     A -1 amount steps until the end of the segment.
 
   "rate", G_TYPE_DOUBLE
      The rate at which the frames should be stepped in PLAYING mode. 1.0 is
diff --git a/docs/design/part-segments.txt b/docs/design/part-segments.txt
index 56a2e1a..ab6606c 100644
--- a/docs/design/part-segments.txt
+++ b/docs/design/part-segments.txt
@@ -64,7 +64,7 @@
     When it reaches timestamp 5, it does not decode and push frames anymore.
 
     The video sink receives a frame of timestamp 1. It takes the start value of 
-    the previous segment and aplies the folowing (simplified) formula:
+    the previous segment and aplies the following (simplified) formula:
 
         render_time = BUFFER_TIMESTAMP - segment_start + element->base_time
 
diff --git a/docs/design/part-streams.txt b/docs/design/part-streams.txt
index ebc33d2..3a95634 100644
--- a/docs/design/part-streams.txt
+++ b/docs/design/part-streams.txt
@@ -11,10 +11,11 @@
 The following objects are to be expected in the streaming thread:
 
  - events
-    - SEGMENT           (S)
-    - EOS		(EOS)  *
+    - STREAM_START      (START)
+    - SEGMENT           (SEGMENT)
+    - EOS             * (EOS)
     - TAG               (T)
- - buffers              (B)    *
+ - buffers            * (B)
 
 Objects marked with * need to be synchronised to the clock in sinks
 and live sources.
@@ -23,16 +24,21 @@
 Typical stream
 ~~~~~~~~~~~~~~
 
- A typical stream starts with a segment event that marks the
+ A typical stream starts with a stream start event that marks the
+ start of the stream, followed by a segment event that marks the
  buffer timestamp range. After that buffers are sent one after the
  other. After the last buffer an EOS marks the end of the stream. No
  more buffers are to be processed after the EOS event.
 
-  +-+ +-++-+     +-+ +---+
-  |S| |B||B| ... |B| |EOS|
-  +-+ +-++-+     +-+ +---+
+  +-----+-------+ +-++-+     +-+ +---+
+  |START|SEGMENT| |B||B| ... |B| |EOS|
+  +-----+-------+ +-++-+     +-+ +---+
 
-  1) SEGMENT, rate, start/stop, time
+  1) STREAM_START
+     - marks the start of a stream; unlike the SEGMENT event, there
+       will be no STREAM_START event after flushing seeks.
+
+  2) SEGMENT, rate, start/stop, time
      - marks valid buffer timestamp range (start, stop)
      - marks stream_time of buffers (time). This is the stream time of buffers
        with a timestamp of NS.start.
@@ -42,7 +48,7 @@
      - marks running_time of buffers. This is the time used to synchronize
        against the clock.
 
-  2) N buffers
+  3) N buffers
      - displayable buffers are between start/stop of the SEGMENT. Buffers
        outside the segment range should be dropped or clipped.
 
@@ -62,9 +68,15 @@
 
         * current position in stream between 0 and duration.
 
-  3) EOS
+  4) EOS
      - marks the end of data, nothing is to be expected after EOS, elements
        should refuse more data and return GST_FLOW_EOS. A FLUSH_STOP
        event clears the EOS state of an element.
 
 
+Elements
+~~~~~~~~
+
+These events are generated typically either by the GstBaseSrc class for
+sources operating in push mode, or by a parser/demuxer operating in pull-mode
+and pushing parsed/demuxed data downstream.
diff --git a/docs/design/part-toc.txt b/docs/design/part-toc.txt
index 73231da..bb7a477 100644
--- a/docs/design/part-toc.txt
+++ b/docs/design/part-toc.txt
@@ -48,38 +48,74 @@
 children items of type GstTocEntry. Thus you can achieve arbitrary hierarchy
 level. Field 'type' can be either GST_TOC_ENTRY_TYPE_CHAPTER or
 GST_TOC_ENTRY_TYPE_EDITION which corresponds to chapter or edition type of
-item respectively. Field 'pads' of type GList contains list of GStreamer
-pads related to the item. It can be used for example to link a TOC with
-specific pad. Field 'tags' is a list of tags related to the item. And field
+item respectively. Field 'tags' is a list of tags related to the item. And field
 'info' is similar to GstToc.info described above.
 
-So, a little more about managing GstToc. Use gst_toc_new() and gst_toc_free()
-to create/free it. GstTocEntry can be created using gst_toc_entry_new() and
-gst_toc_entry_new_with_pad(). The latter method used to create GstTocEntry
-linked to particular pad. While building GstToc you can set start and stop
+So, a little more about managing GstToc. Use gst_toc_new() and gst_toc_unref()
+to create/free it. GstTocEntry can be created using gst_toc_entry_new().
+While building GstToc you can set start and stop
 timestamps for each item using gst_toc_entry_set_start_stop().
 The best way to process already created GstToc is to recursively go through
 the 'entries' and 'subentries' fields.
 
-2. Working with GstQuery
 
-GstQuery with GstToc can be created using gst_query_new_toc(). Use
-gst_query_set_toc() to set TOC into the query and parse it with
-gst_query_parse_toc(). The 'extend_uid' parameter (0 for root level) in two
-last methods should be used for TOC extending: get GstTocEntry with
-gst_toc_find_entry() by given UID and use it to add your own chapters/editions.
-The common action on such query is to set TOC for it.
+2. TOC scope: global and current
+
+There are two main consumers for TOC information: applications and elements
+in the pipeline that are TOC writers (such as e.g. matroskamux).
+
+Applications typically want to know the entire table of contents (TOC) with
+all entries that can possibly be selected.
+
+TOC writers in the pipeline, however, would not want to write a TOC for all
+possible/available streams, but only for the current stream.
+
+When transcoding a title from a DVD, for example, the application would still
+want to know the entire TOC, with all titles, the chapters for each title,
+and the available angles. When transcoding to a file, we only want the TOC
+information that is relevant to the transcoded stream to be written into
+the file structure, e.g. the chapters of the title being transcoded (or
+possibly only chapters 5-7 if only those have been selected for playback/
+transcoding).
+
+This is why we may need to create two different TOCs for those two types
+of consumers.
+
+Elements that extract TOC information should send TOC events downstream.
+
+Like with tags, sinks will post a TOC message on the bus for the application
+with the global TOC, once a global TOC event reaches the sink.
+
 
 3. Working with GstMessage
 
+If a table of contents is available, applications will receive a TOC message
+on the pipeline's GstBus.
+
+A TOC message will be posted on the bus by sinks when the receive a TOC event
+containing a TOC with global scope. Elements extracting TOCs should not post
+a TOC message themselves, but send a TOC event downstream.
+
+The reason for this is that there may be cascades of TOCs (e.g. a zip archive
+containing multiple matroska files, each with a TOC).
+
 GstMessage with GstToc can be created using gst_message_new_toc() and parsed
 with gst_message_parse_toc(). The 'updated' parameter in these methods indicates
 whether the TOC was just discovered (set to false) or TOC was already found and
-have been updated (set to true). The common usage for such message is to post it
+have been updated (set to true). This message will typically be posted by sinks
 to pipeline in case you have discovered TOC data within your element.
 
+
 4. Working with GstEvent
 
+There are two types of TOC-related events:
+
+ - downstream TOC events that contain TOC information and
+   travel downstream
+
+ - toc-select events that travel upstream and can be used to select
+   a certain TOC entry for playback (similar to seek events)
+
 GstToc supports select event through GstEvent infrastructure. The idea is the
 following: when you receive TOC select event, parse it with
 gst_event_parse_toc_select() and seek stream (if it is not streamable) for
diff --git a/docs/faq/Makefile.in b/docs/faq/Makefile.in
index c652973..85b8aab 100644
--- a/docs/faq/Makefile.in
+++ b/docs/faq/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -221,7 +221,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/docs/gst/Makefile.am b/docs/gst/Makefile.am
index 23eac9f..3202ef3 100644
--- a/docs/gst/Makefile.am
+++ b/docs/gst/Makefile.am
@@ -67,7 +67,12 @@
 # CFLAGS and LDFLAGS for compiling scan program. Only needed if your app/lib
 # contains GtkObjects/GObjects and you want to document signals and properties.
 GTKDOC_CFLAGS = $(GST_OBJ_CFLAGS)
-GTKDOC_LIBS = $(GST_OBJ_LIBS)
+GTKDOC_LIBS = $(GST_OBJ_LIBS) \
+	$(top_builddir)/gst/libgstreamer-@GST_API_VERSION@.la \
+	$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
+	$(top_builddir)/libs/gst/controller/libgstcontroller-@GST_API_VERSION@.la \
+	$(top_builddir)/libs/gst/net/libgstnet-@GST_API_VERSION@.la
+
 
 GTKDOC_CC=$(LIBTOOL) --tag=CC --mode=compile $(CC)
 GTKDOC_LD=$(LIBTOOL) --tag=CC --mode=link $(CC)
diff --git a/docs/gst/Makefile.in b/docs/gst/Makefile.in
index 3cd35f6..07c77e6 100644
--- a/docs/gst/Makefile.in
+++ b/docs/gst/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -190,7 +190,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
@@ -470,7 +472,12 @@
 # CFLAGS and LDFLAGS for compiling scan program. Only needed if your app/lib
 # contains GtkObjects/GObjects and you want to document signals and properties.
 GTKDOC_CFLAGS = $(GST_OBJ_CFLAGS)
-GTKDOC_LIBS = $(GST_OBJ_LIBS)
+GTKDOC_LIBS = $(GST_OBJ_LIBS) \
+	$(top_builddir)/gst/libgstreamer-@GST_API_VERSION@.la \
+	$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
+	$(top_builddir)/libs/gst/controller/libgstcontroller-@GST_API_VERSION@.la \
+	$(top_builddir)/libs/gst/net/libgstnet-@GST_API_VERSION@.la
+
 GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC)
 GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC)
 GTKDOC_EXTRA_ENVIRONMENT = \
diff --git a/docs/gst/gst-universe.svg b/docs/gst/gst-universe.svg
index 9096ba4..69db751 100644
--- a/docs/gst/gst-universe.svg
+++ b/docs/gst/gst-universe.svg
@@ -4,15 +4,15 @@
 <!-- Generated by graphviz version 2.26.3 (20100126.1600)
  -->
 <!-- Title: pipeline Pages: 1 -->
-<svg width="710pt" height="632pt"
- viewBox="0.00 0.00 710.00 632.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="690pt" height="632pt"
+ viewBox="0.00 0.00 690.00 632.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 <g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 628)">
 <title>pipeline</title>
-<polygon fill="white" stroke="white" points="-4,5 -4,-628 707,-628 707,5 -4,5"/>
+<polygon fill="white" stroke="white" points="-4,5 -4,-628 687,-628 687,5 -4,5"/>
 <!-- application -->
 <g id="node1" class="node"><title>application</title>
-<polygon fill="#ffdddd" stroke="black" points="549,-624 481,-624 481,-588 549,-588 549,-624"/>
-<text text-anchor="middle" x="515" y="-603.4" font-family="Bitstream Vera Sans" font-size="9.00">application</text>
+<polygon fill="#ffdddd" stroke="black" points="565,-624 501,-624 501,-588 565,-588 565,-624"/>
+<text text-anchor="middle" x="533" y="-603.4" font-family="Bitstream Vera Sans" font-size="9.00">application</text>
 </g>
 <!-- bus -->
 <g id="node3" class="node"><title>bus</title>
@@ -23,74 +23,74 @@
 </g>
 <!-- application&#45;&gt;bus -->
 <g id="edge48" class="edge"><title>application&#45;&gt;bus</title>
-<path fill="none" stroke="black" d="M480.889,-603.237C387.135,-595.315 130.777,-571.331 105,-544 87.773,-525.735 87.3582,-496.146 90.1306,-474.254"/>
-<polygon fill="black" stroke="black" points="93.6146,-474.626 91.6879,-464.208 86.6972,-473.554 93.6146,-474.626"/>
-<text text-anchor="middle" x="121" y="-523.7" font-family="Bitstream Vera Sans" font-size="7.00">listen on</text>
+<path fill="none" stroke="black" d="M500.953,-602.984C422.76,-595.249 224.265,-573.238 165,-544 133.414,-528.417 124.897,-520.334 107,-490 104.099,-485.083 101.959,-479.423 100.382,-473.833"/>
+<polygon fill="black" stroke="black" points="103.776,-472.977 98.1069,-464.027 96.957,-474.559 103.776,-472.977"/>
+<text text-anchor="middle" x="180" y="-523.7" font-family="Bitstream Vera Sans" font-size="7.00">listen on</text>
 </g>
 <!-- event -->
 <g id="node9" class="node"><title>event</title>
 <a xlink:href="gstreamer-GstEvent.html" xlink:title="event" target="_top">
-<polygon fill="#ddffdd" stroke="black" points="593,-304 539,-304 539,-268 593,-268 593,-304"/>
-<text text-anchor="middle" x="566" y="-283.4" font-family="Bitstream Vera Sans" font-size="9.00">event</text>
+<polygon fill="#ddffdd" stroke="black" points="583,-304 529,-304 529,-268 583,-268 583,-304"/>
+<text text-anchor="middle" x="556" y="-283.4" font-family="Bitstream Vera Sans" font-size="9.00">event</text>
 </a>
 </g>
 <!-- application&#45;&gt;event -->
 <g id="edge52" class="edge"><title>application&#45;&gt;event</title>
-<path fill="none" stroke="black" d="M549.192,-597.789C583.091,-587.369 630,-565.765 630,-526 630,-526 630,-526 630,-366 630,-345.478 628.047,-338.613 616,-322 611.95,-316.415 606.766,-311.359 601.278,-306.92"/>
-<polygon fill="black" stroke="black" points="603.233,-304.012 593.115,-300.868 599.064,-309.635 603.233,-304.012"/>
-<text text-anchor="middle" x="639" y="-443.7" font-family="Bitstream Vera Sans" font-size="7.00">send</text>
+<path fill="none" stroke="black" d="M565.013,-590.366C587.654,-576.819 614,-554.857 614,-526 614,-526 614,-526 614,-366 614,-345.478 611.529,-338.977 600,-322 597.3,-318.025 594.036,-314.259 590.52,-310.768"/>
+<polygon fill="black" stroke="black" points="592.811,-308.121 583.047,-304.006 588.114,-313.311 592.811,-308.121"/>
+<text text-anchor="middle" x="622" y="-443.7" font-family="Bitstream Vera Sans" font-size="7.00">send</text>
 </g>
 <!-- pipeline -->
 <g id="node13" class="node"><title>pipeline</title>
 <a xlink:href="GstPipeline.html" xlink:title="pipeline" target="_top">
-<polygon fill="#ccccff" stroke="black" points="200,-544 146,-544 146,-508 200,-508 200,-544"/>
-<text text-anchor="middle" x="173" y="-523.4" font-family="Bitstream Vera Sans" font-size="9.00">pipeline</text>
+<polygon fill="#ccccff" stroke="black" points="258,-544 204,-544 204,-508 258,-508 258,-544"/>
+<text text-anchor="middle" x="231" y="-523.4" font-family="Bitstream Vera Sans" font-size="9.00">pipeline</text>
 </a>
 </g>
 <!-- application&#45;&gt;pipeline -->
 <g id="edge46" class="edge"><title>application&#45;&gt;pipeline</title>
-<path fill="none" stroke="black" d="M480.957,-598.037C416.487,-582.956 277.059,-550.341 210.214,-534.705"/>
-<polygon fill="black" stroke="black" points="210.665,-531.216 200.131,-532.346 209.071,-538.032 210.665,-531.216"/>
-<text text-anchor="middle" x="361.5" y="-563.7" font-family="Bitstream Vera Sans" font-size="7.00">has</text>
+<path fill="none" stroke="black" d="M500.967,-597.514C444.57,-582.575 327.88,-551.664 268.087,-535.824"/>
+<polygon fill="black" stroke="black" points="268.866,-532.41 258.303,-533.233 267.074,-539.177 268.866,-532.41"/>
+<text text-anchor="middle" x="398" y="-563.7" font-family="Bitstream Vera Sans" font-size="7.00">has</text>
 </g>
 <!-- query -->
 <g id="node16" class="node"><title>query</title>
 <a xlink:href="gstreamer-GstQuery.html" xlink:title="query" target="_top">
-<polygon fill="#ddffdd" stroke="black" points="688,-304 634,-304 634,-268 688,-268 688,-304"/>
-<text text-anchor="middle" x="661" y="-283.4" font-family="Bitstream Vera Sans" font-size="9.00">query</text>
+<polygon fill="#ddffdd" stroke="black" points="674,-304 620,-304 620,-268 674,-268 674,-304"/>
+<text text-anchor="middle" x="647" y="-283.4" font-family="Bitstream Vera Sans" font-size="9.00">query</text>
 </a>
 </g>
 <!-- application&#45;&gt;query -->
 <g id="edge50" class="edge"><title>application&#45;&gt;query</title>
-<path fill="none" stroke="black" d="M549.2,-597.216C598.582,-583.512 684,-555.54 684,-526 684,-526 684,-526 684,-366 684,-347.981 678.544,-328.536 672.946,-313.329"/>
-<polygon fill="black" stroke="black" points="676.203,-312.047 669.304,-304.006 669.683,-314.594 676.203,-312.047"/>
-<text text-anchor="middle" x="693" y="-443.7" font-family="Bitstream Vera Sans" font-size="7.00">send</text>
+<path fill="none" stroke="black" d="M565.196,-601.066C604.557,-592.994 666,-572.885 666,-526 666,-526 666,-526 666,-366 666,-348.37 661.578,-329.132 657.001,-313.94"/>
+<polygon fill="black" stroke="black" points="660.245,-312.593 653.859,-304.139 653.579,-314.73 660.245,-312.593"/>
+<text text-anchor="middle" x="674" y="-443.7" font-family="Bitstream Vera Sans" font-size="7.00">send</text>
 </g>
 <!-- bin -->
 <g id="node2" class="node"><title>bin</title>
 <a xlink:href="GstBin.html" xlink:title="bin" target="_top">
-<polygon fill="#ccccff" stroke="black" points="344,-464 290,-464 290,-428 344,-428 344,-464"/>
-<text text-anchor="middle" x="317" y="-443.4" font-family="Bitstream Vera Sans" font-size="9.00">bin</text>
+<polygon fill="#ccccff" stroke="black" points="343,-464 289,-464 289,-428 343,-428 343,-464"/>
+<text text-anchor="middle" x="316" y="-443.4" font-family="Bitstream Vera Sans" font-size="9.00">bin</text>
 </a>
 </g>
 <!-- element -->
 <g id="node7" class="node"><title>element</title>
 <a xlink:href="GstElement.html" xlink:title="element" target="_top">
-<polygon fill="#ccccff" stroke="black" points="380,-384 326,-384 326,-348 380,-348 380,-384"/>
-<text text-anchor="middle" x="353" y="-363.4" font-family="Bitstream Vera Sans" font-size="9.00">element</text>
+<polygon fill="#ccccff" stroke="black" points="378,-384 324,-384 324,-348 378,-348 378,-384"/>
+<text text-anchor="middle" x="351" y="-363.4" font-family="Bitstream Vera Sans" font-size="9.00">element</text>
 </a>
 </g>
 <!-- bin&#45;&gt;element -->
 <g id="edge2" class="edge"><title>bin&#45;&gt;element</title>
-<path fill="none" stroke="black" d="M314.473,-427.82C314.065,-419.637 314.632,-410.033 318,-402 319.468,-398.498 321.45,-395.145 323.729,-391.993"/>
-<polygon fill="black" stroke="black" points="326.562,-394.062 330.303,-384.15 321.197,-389.565 326.562,-394.062"/>
-<text text-anchor="middle" x="324.5" y="-403.7" font-family="Bitstream Vera Sans" font-size="7.00">is&#45;a</text>
+<path fill="none" stroke="black" d="M313.527,-427.842C313.13,-419.664 313.69,-410.057 317,-402 318.423,-398.536 320.346,-395.208 322.558,-392.071"/>
+<polygon fill="black" stroke="black" points="325.331,-394.209 328.943,-384.248 319.908,-389.783 325.331,-394.209"/>
+<text text-anchor="middle" x="323" y="-403.7" font-family="Bitstream Vera Sans" font-size="7.00">is&#45;a</text>
 </g>
 <!-- bin&#45;&gt;element -->
 <g id="edge24" class="edge"><title>bin&#45;&gt;element</title>
-<path fill="none" stroke="black" d="M325.169,-427.847C329.772,-417.618 335.612,-404.64 340.752,-393.217"/>
-<polygon fill="black" stroke="black" points="343.951,-394.637 344.863,-384.081 337.568,-391.764 343.951,-394.637"/>
-<text text-anchor="middle" x="347" y="-403.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+<path fill="none" stroke="black" d="M323.942,-427.847C328.372,-417.721 333.981,-404.9 338.942,-393.56"/>
+<polygon fill="black" stroke="black" points="342.288,-394.646 343.089,-384.081 335.875,-391.84 342.288,-394.646"/>
+<text text-anchor="middle" x="344.5" y="-403.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
 </g>
 <!-- message -->
 <g id="node10" class="node"><title>message</title>
@@ -103,40 +103,40 @@
 <g id="edge38" class="edge"><title>bus&#45;&gt;message</title>
 <path fill="none" stroke="black" d="M96.5638,-427.957C97.4266,-400.349 99.082,-347.375 100.109,-314.525"/>
 <polygon fill="black" stroke="black" points="103.616,-314.327 100.431,-304.223 96.6198,-314.108 103.616,-314.327"/>
-<text text-anchor="middle" x="113" y="-363.7" font-family="Bitstream Vera Sans" font-size="7.00">receive</text>
+<text text-anchor="middle" x="111.5" y="-363.7" font-family="Bitstream Vera Sans" font-size="7.00">receive</text>
 </g>
 <!-- buffer -->
 <g id="node4" class="node"><title>buffer</title>
 <a xlink:href="gstreamer-GstBuffer.html" xlink:title="buffer" target="_top">
-<polygon fill="#ddffdd" stroke="black" points="526,-250 472,-250 472,-214 526,-214 526,-250"/>
-<text text-anchor="middle" x="499" y="-229.4" font-family="Bitstream Vera Sans" font-size="9.00">buffer</text>
+<polygon fill="#ddffdd" stroke="black" points="519,-250 465,-250 465,-214 519,-214 519,-250"/>
+<text text-anchor="middle" x="492" y="-229.4" font-family="Bitstream Vera Sans" font-size="9.00">buffer</text>
 </a>
 </g>
 <!-- caps -->
 <g id="node5" class="node"><title>caps</title>
 <a xlink:href="gstreamer-GstCaps.html" xlink:title="caps" target="_top">
-<polygon fill="#eeeeee" stroke="black" points="477,-116 423,-116 423,-80 477,-80 477,-116"/>
-<text text-anchor="middle" x="450" y="-95.4" font-family="Bitstream Vera Sans" font-size="9.00">caps</text>
+<polygon fill="#eeeeee" stroke="black" points="471,-116 417,-116 417,-80 471,-80 471,-116"/>
+<text text-anchor="middle" x="444" y="-95.4" font-family="Bitstream Vera Sans" font-size="9.00">caps</text>
 </a>
 </g>
 <!-- buffer&#45;&gt;caps -->
 <g id="edge20" class="edge"><title>buffer&#45;&gt;caps</title>
-<path fill="none" stroke="black" d="M492.897,-213.892C487.934,-199.296 480.682,-178.267 474,-160 469.747,-148.373 468.466,-145.547 464,-134 462.957,-131.303 461.868,-128.493 460.778,-125.684"/>
-<polygon fill="black" stroke="black" points="464.019,-124.363 457.135,-116.309 457.495,-126.898 464.019,-124.363"/>
-<text text-anchor="middle" x="497" y="-175.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+<path fill="none" stroke="black" d="M485.933,-213.867C479.281,-194.142 468.194,-161.719 458,-134 457.002,-131.286 455.943,-128.464 454.871,-125.649"/>
+<polygon fill="black" stroke="black" points="458.116,-124.336 451.253,-116.264 451.585,-126.854 458.116,-124.336"/>
+<text text-anchor="middle" x="489.5" y="-175.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
 </g>
 <!-- structure -->
 <g id="node18" class="node"><title>structure</title>
 <a xlink:href="gstreamer-GstStructure.html" xlink:title="structure" target="_top">
-<polygon fill="#eeeeee" stroke="black" points="480,-36 420,-36 420,-1.77636e-14 480,-3.55271e-15 480,-36"/>
-<text text-anchor="middle" x="450" y="-15.4" font-family="Bitstream Vera Sans" font-size="9.00">structure</text>
+<polygon fill="#eeeeee" stroke="black" points="472,-36 416,-36 416,-1.77636e-14 472,-3.55271e-15 472,-36"/>
+<text text-anchor="middle" x="444" y="-15.4" font-family="Bitstream Vera Sans" font-size="9.00">structure</text>
 </a>
 </g>
 <!-- caps&#45;&gt;structure -->
 <g id="edge22" class="edge"><title>caps&#45;&gt;structure</title>
-<path fill="none" stroke="black" d="M450,-79.8468C450,-69.9251 450,-57.4167 450,-46.2492"/>
-<polygon fill="black" stroke="black" points="453.5,-46.0814 450,-36.0814 446.5,-46.0814 453.5,-46.0814"/>
-<text text-anchor="middle" x="460" y="-55.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+<path fill="none" stroke="black" d="M444,-79.8468C444,-69.9251 444,-57.4167 444,-46.2492"/>
+<polygon fill="black" stroke="black" points="447.5,-46.0814 444,-36.0814 440.5,-46.0814 447.5,-46.0814"/>
+<text text-anchor="middle" x="453.5" y="-55.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
 </g>
 <!-- clock -->
 <g id="node6" class="node"><title>clock</title>
@@ -147,121 +147,121 @@
 </g>
 <!-- element&#45;&gt;buffer -->
 <g id="edge34" class="edge"><title>element&#45;&gt;buffer</title>
-<path fill="none" stroke="black" d="M380.397,-351.493C400.229,-340.184 426.959,-323.209 447,-304 460.92,-290.658 473.648,-273.171 483.028,-258.772"/>
-<polygon fill="black" stroke="black" points="486.019,-260.591 488.416,-250.27 480.106,-256.844 486.019,-260.591"/>
-<text text-anchor="middle" x="453.5" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">send &amp; receive</text>
+<path fill="none" stroke="black" d="M378.04,-349.629C401.516,-335.12 433.366,-314.634 444,-304 457.158,-290.842 468.821,-273.56 477.354,-259.227"/>
+<polygon fill="black" stroke="black" points="480.535,-260.718 482.495,-250.306 474.469,-257.223 480.535,-260.718"/>
+<text text-anchor="middle" x="445" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">send &amp; receive</text>
 </g>
 <!-- element&#45;&gt;clock -->
 <g id="edge14" class="edge"><title>element&#45;&gt;clock</title>
-<path fill="none" stroke="black" d="M325.693,-361.348C299.743,-356.186 260.166,-346.35 229,-330 219.262,-324.891 209.628,-317.86 201.253,-310.916"/>
-<polygon fill="black" stroke="black" points="203.505,-308.236 193.647,-304.352 198.931,-313.535 203.505,-308.236"/>
-<text text-anchor="middle" x="251.5" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">may provide</text>
+<path fill="none" stroke="black" d="M323.717,-360.559C299.105,-354.991 262.369,-345.013 233,-330 222.66,-324.715 212.272,-317.556 203.201,-310.549"/>
+<polygon fill="black" stroke="black" points="205.277,-307.727 195.281,-304.215 200.905,-313.194 205.277,-307.727"/>
+<text text-anchor="middle" x="254.5" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">may provide</text>
 </g>
 <!-- element_factory -->
 <g id="node8" class="node"><title>element_factory</title>
 <a xlink:href="GstElementFactory.html" xlink:title="element factory" target="_top">
-<polygon fill="#eeeeee" stroke="black" points="310,-304 220,-304 220,-268 310,-268 310,-304"/>
-<text text-anchor="middle" x="265" y="-283.4" font-family="Bitstream Vera Sans" font-size="9.00">element factory</text>
+<polygon fill="#eeeeee" stroke="black" points="308,-304 220,-304 220,-268 308,-268 308,-304"/>
+<text text-anchor="middle" x="264" y="-283.4" font-family="Bitstream Vera Sans" font-size="9.00">element factory</text>
 </a>
 </g>
 <!-- element&#45;&gt;element_factory -->
 <g id="edge28" class="edge"><title>element&#45;&gt;element_factory</title>
-<path fill="none" stroke="black" d="M325.838,-357.258C311.504,-351.469 294.544,-342.591 283,-330 278.784,-325.401 275.488,-319.682 272.937,-313.905"/>
-<polygon fill="black" stroke="black" points="276.122,-312.433 269.315,-304.315 269.574,-314.907 276.122,-312.433"/>
+<path fill="none" stroke="black" d="M323.703,-355.792C310.694,-349.847 295.682,-341.275 285,-330 280.492,-325.242 276.79,-319.336 273.818,-313.413"/>
+<polygon fill="black" stroke="black" points="277.005,-311.964 269.74,-304.252 270.61,-314.811 277.005,-311.964"/>
 <text text-anchor="middle" x="311" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">is created from</text>
 </g>
 <!-- element&#45;&gt;event -->
 <g id="edge32" class="edge"><title>element&#45;&gt;event</title>
-<path fill="none" stroke="black" d="M380.142,-360.53C407.254,-354.621 449.843,-344.121 485,-330 500.082,-323.942 515.946,-315.766 529.598,-308.105"/>
-<polygon fill="black" stroke="black" points="531.72,-310.923 538.659,-302.916 528.242,-304.848 531.72,-310.923"/>
-<text text-anchor="middle" x="529.5" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">send &amp; receive</text>
+<path fill="none" stroke="black" d="M378.154,-360.153C404.093,-354.126 444.008,-343.686 477,-330 491.61,-323.939 506.956,-315.834 520.196,-308.232"/>
+<polygon fill="black" stroke="black" points="522.131,-311.155 528.991,-303.081 518.593,-305.115 522.131,-311.155"/>
+<text text-anchor="middle" x="518" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">send &amp; receive</text>
 </g>
 <!-- element&#45;&gt;message -->
 <g id="edge36" class="edge"><title>element&#45;&gt;message</title>
-<path fill="none" stroke="black" d="M325.964,-361.631C294.115,-356.077 239.857,-345.332 195,-330 171.57,-321.992 165.056,-316.753 139.167,-304.146"/>
-<polygon fill="black" stroke="black" points="140.567,-300.936 130.035,-299.782 137.548,-307.252 140.567,-300.936"/>
-<text text-anchor="middle" x="204" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">send</text>
+<path fill="none" stroke="black" d="M323.809,-360.853C293.474,-354.794 243.124,-343.787 201,-330 175.264,-321.577 167.665,-317.068 139.754,-304.32"/>
+<polygon fill="black" stroke="black" points="140.951,-301.02 130.398,-300.086 138.065,-307.398 140.951,-301.02"/>
+<text text-anchor="middle" x="209" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">send</text>
 </g>
 <!-- pad -->
 <g id="node11" class="node"><title>pad</title>
 <a xlink:href="GstPad.html" xlink:title="pad" target="_top">
-<polygon fill="#ccccff" stroke="black" points="438,-304 384,-304 384,-268 438,-268 438,-304"/>
-<text text-anchor="middle" x="411" y="-283.4" font-family="Bitstream Vera Sans" font-size="9.00">pad</text>
+<polygon fill="#ccccff" stroke="black" points="435,-304 381,-304 381,-268 435,-268 435,-304"/>
+<text text-anchor="middle" x="408" y="-283.4" font-family="Bitstream Vera Sans" font-size="9.00">pad</text>
 </a>
 </g>
 <!-- element&#45;&gt;pad -->
 <g id="edge12" class="edge"><title>element&#45;&gt;pad</title>
-<path fill="none" stroke="black" d="M366.161,-347.847C373.799,-337.311 383.552,-323.859 392.01,-312.193"/>
-<polygon fill="black" stroke="black" points="394.855,-314.232 397.891,-304.081 389.188,-310.123 394.855,-314.232"/>
-<text text-anchor="middle" x="394" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+<path fill="none" stroke="black" d="M363.934,-347.847C371.368,-337.414 380.839,-324.12 389.095,-312.534"/>
+<polygon fill="black" stroke="black" points="392.165,-314.257 395.117,-304.081 386.464,-310.195 392.165,-314.257"/>
+<text text-anchor="middle" x="391.5" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
 </g>
 <!-- pad_template -->
 <g id="node12" class="node"><title>pad_template</title>
 <a xlink:href="GstPadTemplate.html" xlink:title="pad template" target="_top">
-<polygon fill="#eeeeee" stroke="black" points="414,-196 334,-196 334,-160 414,-160 414,-196"/>
-<text text-anchor="middle" x="374" y="-175.4" font-family="Bitstream Vera Sans" font-size="9.00">pad template</text>
+<polygon fill="#eeeeee" stroke="black" points="408,-196 332,-196 332,-160 408,-160 408,-196"/>
+<text text-anchor="middle" x="370" y="-175.4" font-family="Bitstream Vera Sans" font-size="9.00">pad template</text>
 </a>
 </g>
 <!-- element&#45;&gt;pad_template -->
 <g id="edge10" class="edge"><title>element&#45;&gt;pad_template</title>
-<path fill="none" stroke="black" d="M352.357,-347.87C351.893,-328.148 351.819,-295.727 355,-268 357.397,-247.11 362.354,-223.9 366.605,-206.283"/>
-<polygon fill="black" stroke="black" points="370.118,-206.656 369.13,-196.107 363.324,-204.969 370.118,-206.656"/>
-<text text-anchor="middle" x="365" y="-283.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+<path fill="none" stroke="black" d="M350.472,-347.882C350.106,-328.171 350.115,-295.759 353,-268 355.164,-247.175 359.599,-223.963 363.397,-206.328"/>
+<polygon fill="black" stroke="black" points="366.908,-206.661 365.653,-196.141 360.074,-205.147 366.908,-206.661"/>
+<text text-anchor="middle" x="362.5" y="-283.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
 </g>
 <!-- element&#45;&gt;query -->
 <g id="edge30" class="edge"><title>element&#45;&gt;query</title>
-<path fill="none" stroke="black" d="M380.078,-363.438C420.24,-359.164 497.668,-349.102 561,-330 582.749,-323.44 606.035,-313.388 624.659,-304.547"/>
-<polygon fill="black" stroke="black" points="626.19,-307.695 633.67,-300.192 623.144,-301.392 626.19,-307.695"/>
-<text text-anchor="middle" x="599" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">answers</text>
+<path fill="none" stroke="black" d="M378.104,-363.047C416.37,-358.426 488.133,-348.086 547,-330 568.715,-323.329 591.998,-313.269 610.631,-304.452"/>
+<polygon fill="black" stroke="black" points="612.154,-307.603 619.646,-300.112 609.117,-301.296 612.154,-307.603"/>
+<text text-anchor="middle" x="583.5" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">answers</text>
 </g>
 <!-- plugin_feature -->
 <g id="node15" class="node"><title>plugin_feature</title>
 <a xlink:href="GstPluginFeature.html" xlink:title="plugin feature" target="_top">
-<polygon fill="#eeeeee" stroke="black" points="163,-196 81,-196 81,-160 163,-160 163,-196"/>
-<text text-anchor="middle" x="122" y="-175.4" font-family="Bitstream Vera Sans" font-size="9.00">plugin feature</text>
+<polygon fill="#eeeeee" stroke="black" points="160,-196 82,-196 82,-160 160,-160 160,-196"/>
+<text text-anchor="middle" x="121" y="-175.4" font-family="Bitstream Vera Sans" font-size="9.00">plugin feature</text>
 </a>
 </g>
 <!-- element_factory&#45;&gt;plugin_feature -->
 <g id="edge44" class="edge"><title>element_factory&#45;&gt;plugin_feature</title>
-<path fill="none" stroke="black" d="M241.065,-267.923C217.246,-249.934 180.538,-222.21 154.178,-202.302"/>
-<polygon fill="black" stroke="black" points="156.102,-199.37 146.013,-196.136 151.884,-204.955 156.102,-199.37"/>
-<text text-anchor="middle" x="221.5" y="-229.7" font-family="Bitstream Vera Sans" font-size="7.00">is&#45;a</text>
+<path fill="none" stroke="black" d="M240.065,-267.923C216.246,-249.934 179.538,-222.21 153.178,-202.302"/>
+<polygon fill="black" stroke="black" points="155.102,-199.37 145.013,-196.136 150.884,-204.955 155.102,-199.37"/>
+<text text-anchor="middle" x="220" y="-229.7" font-family="Bitstream Vera Sans" font-size="7.00">is&#45;a</text>
 </g>
 <!-- pad&#45;&gt;caps -->
 <g id="edge16" class="edge"><title>pad&#45;&gt;caps</title>
-<path fill="none" stroke="black" d="M426.207,-267.966C430.037,-262.511 433.708,-256.291 436,-250 444.01,-228.018 447.63,-164.049 449.106,-126.47"/>
-<polygon fill="black" stroke="black" points="452.615,-126.299 449.483,-116.178 445.619,-126.044 452.615,-126.299"/>
-<text text-anchor="middle" x="458" y="-175.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+<path fill="none" stroke="black" d="M421.367,-267.742C424.738,-262.284 427.971,-256.118 430,-250 443.729,-208.599 445.591,-157.601 445.171,-126.462"/>
+<polygon fill="black" stroke="black" points="448.667,-126.243 444.943,-116.324 441.669,-126.4 448.667,-126.243"/>
+<text text-anchor="middle" x="454.5" y="-175.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
 </g>
 <!-- pad&#45;&gt;pad_template -->
 <g id="edge26" class="edge"><title>pad&#45;&gt;pad_template</title>
-<path fill="none" stroke="black" d="M391.451,-267.737C386.938,-262.462 382.679,-256.389 380,-250 374.298,-236.4 372.567,-220.106 372.364,-206.46"/>
-<polygon fill="black" stroke="black" points="375.866,-206.226 372.481,-196.187 368.867,-206.146 375.866,-206.226"/>
-<text text-anchor="middle" x="408" y="-229.7" font-family="Bitstream Vera Sans" font-size="7.00">is created from</text>
+<path fill="none" stroke="black" d="M389.51,-267.974C385.027,-262.612 380.742,-256.437 378,-250 372.205,-236.396 370.046,-220.101 369.404,-206.457"/>
+<polygon fill="black" stroke="black" points="372.898,-206.104 369.175,-196.184 365.899,-206.26 372.898,-206.104"/>
+<text text-anchor="middle" x="404" y="-229.7" font-family="Bitstream Vera Sans" font-size="7.00">is created from</text>
 </g>
 <!-- pad_template&#45;&gt;caps -->
 <g id="edge18" class="edge"><title>pad_template&#45;&gt;caps</title>
-<path fill="none" stroke="black" d="M391.246,-159.847C401.449,-149.107 414.531,-135.336 425.76,-123.516"/>
-<polygon fill="black" stroke="black" points="428.473,-125.742 432.823,-116.081 423.398,-120.921 428.473,-125.742"/>
-<text text-anchor="middle" x="425" y="-135.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+<path fill="none" stroke="black" d="M386.792,-159.847C396.726,-149.107 409.464,-135.336 420.398,-123.516"/>
+<polygon fill="black" stroke="black" points="423.054,-125.799 427.275,-116.081 417.915,-121.046 423.054,-125.799"/>
+<text text-anchor="middle" x="419.5" y="-135.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
 </g>
 <!-- pipeline&#45;&gt;bin -->
 <g id="edge4" class="edge"><title>pipeline&#45;&gt;bin</title>
-<path fill="none" stroke="black" d="M200.085,-510.953C222.869,-498.295 255.644,-480.087 280.698,-466.168"/>
-<polygon fill="black" stroke="black" points="282.505,-469.168 289.547,-461.252 279.105,-463.049 282.505,-469.168"/>
-<text text-anchor="middle" x="256.5" y="-483.7" font-family="Bitstream Vera Sans" font-size="7.00">is&#45;a</text>
+<path fill="none" stroke="black" d="M250.288,-507.847C261.808,-497.005 276.61,-483.073 289.248,-471.179"/>
+<polygon fill="black" stroke="black" points="291.905,-473.484 296.789,-464.081 287.108,-468.386 291.905,-473.484"/>
+<text text-anchor="middle" x="283" y="-483.7" font-family="Bitstream Vera Sans" font-size="7.00">is&#45;a</text>
 </g>
 <!-- pipeline&#45;&gt;bus -->
 <g id="edge6" class="edge"><title>pipeline&#45;&gt;bus</title>
-<path fill="none" stroke="black" d="M145.922,-512.201C136.246,-506.322 125.816,-498.779 118,-490 113.602,-485.06 109.852,-479.083 106.76,-473.148"/>
-<polygon fill="black" stroke="black" points="109.88,-471.559 102.444,-464.011 103.551,-474.548 109.88,-471.559"/>
-<text text-anchor="middle" x="128" y="-483.7" font-family="Bitstream Vera Sans" font-size="7.00">has 1</text>
+<path fill="none" stroke="black" d="M203.915,-523.371C179.027,-519.683 142.405,-510.883 118,-490 112.89,-485.627 108.842,-479.781 105.686,-473.782"/>
+<polygon fill="black" stroke="black" points="108.756,-472.078 101.437,-464.418 102.382,-474.971 108.756,-472.078"/>
+<text text-anchor="middle" x="127.5" y="-483.7" font-family="Bitstream Vera Sans" font-size="7.00">has 1</text>
 </g>
 <!-- pipeline&#45;&gt;clock -->
 <g id="edge8" class="edge"><title>pipeline&#45;&gt;clock</title>
-<path fill="none" stroke="black" d="M172.877,-507.895C172.648,-473.321 172.167,-395.504 172,-330 171.991,-326.444 171.852,-325.552 172,-322 172.101,-319.568 172.241,-317.046 172.404,-314.517"/>
-<polygon fill="black" stroke="black" points="175.913,-314.532 173.179,-304.296 168.933,-314.003 175.913,-314.532"/>
-<text text-anchor="middle" x="183" y="-403.7" font-family="Bitstream Vera Sans" font-size="7.00">has 1</text>
+<path fill="none" stroke="black" d="M224.284,-507.959C211.946,-473.807 186.016,-397.114 176,-330 175.25,-324.974 174.822,-319.591 174.6,-314.374"/>
+<polygon fill="black" stroke="black" points="178.093,-313.998 174.394,-304.069 171.094,-314.137 178.093,-313.998"/>
+<text text-anchor="middle" x="203.5" y="-403.7" font-family="Bitstream Vera Sans" font-size="7.00">has 1</text>
 </g>
 <!-- plugin -->
 <g id="node14" class="node"><title>plugin</title>
@@ -272,9 +272,9 @@
 </g>
 <!-- plugin&#45;&gt;plugin_feature -->
 <g id="edge42" class="edge"><title>plugin&#45;&gt;plugin_feature</title>
-<path fill="none" stroke="black" d="M43.1155,-267.679C58.5624,-250.119 82.0245,-223.446 99.3485,-203.751"/>
-<polygon fill="black" stroke="black" points="102.146,-205.87 106.123,-196.05 96.8898,-201.247 102.146,-205.87"/>
-<text text-anchor="middle" x="99" y="-229.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+<path fill="none" stroke="black" d="M42.9458,-267.679C58.2302,-250.119 81.4452,-223.446 98.5869,-203.751"/>
+<polygon fill="black" stroke="black" points="101.364,-205.891 105.29,-196.05 96.0843,-201.295 101.364,-205.891"/>
+<text text-anchor="middle" x="97.5" y="-229.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
 </g>
 <!-- registry -->
 <g id="node17" class="node"><title>registry</title>
@@ -287,7 +287,7 @@
 <g id="edge40" class="edge"><title>registry&#45;&gt;plugin</title>
 <path fill="none" stroke="black" d="M27,-347.847C27,-337.925 27,-325.417 27,-314.249"/>
 <polygon fill="black" stroke="black" points="30.5001,-314.081 27,-304.081 23.5001,-314.081 30.5001,-314.081"/>
-<text text-anchor="middle" x="37" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+<text text-anchor="middle" x="36.5" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
 </g>
 </g>
 </svg>
diff --git a/docs/gst/gstreamer-sections.txt b/docs/gst/gstreamer-sections.txt
index 6aa4058..760feb8 100644
--- a/docs/gst/gstreamer-sections.txt
+++ b/docs/gst/gstreamer-sections.txt
@@ -54,6 +54,10 @@
 gst_atomic_queue_pop
 
 gst_atomic_queue_length
+
+<SUBSECTION Standard>
+GST_TYPE_ATOMIC_QUEUE
+gst_atomic_queue_get_type
 </SECTION>
 
 <SECTION>
@@ -188,9 +192,13 @@
 
 gst_buffer_get_sizes
 gst_buffer_get_size
+gst_buffer_get_sizes_range
+gst_buffer_resize_range
 gst_buffer_resize
 gst_buffer_set_size
 
+gst_buffer_peek_memory
+
 gst_buffer_n_memory
 gst_buffer_insert_memory
 gst_buffer_replace_memory_range
@@ -208,6 +216,7 @@
 gst_buffer_remove_all_memory
 
 gst_buffer_map
+gst_buffer_map_range
 gst_buffer_unmap
 
 gst_buffer_memcmp
@@ -227,6 +236,7 @@
 gst_buffer_replace
 
 gst_buffer_append
+gst_buffer_append_region
 
 gst_buffer_get_meta
 gst_buffer_add_meta
@@ -577,6 +587,7 @@
 gst_element_factory_get_longname
 gst_pad_get_caps_reffed
 gst_pad_peer_get_caps_reffed
+gst_pad_set_caps
 gst_buffer_new_and_alloc
 GST_BUFFER_TIMESTAMP
 GST_BUFFER_TIMESTAMP_IS_VALID
@@ -963,6 +974,7 @@
 gst_event_parse_gap
 
 gst_event_new_stream_start
+gst_event_parse_stream_start
 
 gst_event_new_segment
 gst_event_parse_segment
@@ -1015,6 +1027,9 @@
 
 gst_event_new_toc_select
 gst_event_parse_toc_select
+
+gst_event_new_segment_done
+gst_event_parse_segment_done
 <SUBSECTION Standard>
 GstEventClass
 GST_EVENT
@@ -1270,46 +1285,14 @@
 gst_iterator_result_get_type
 </SECTION>
 
-
 <SECTION>
-<FILE>gstmemory</FILE>
-<TITLE>GstMemory</TITLE>
-
+<FILE>gstallocator</FILE>
+<TITLE>GstAllocator</TITLE>
 gst_memory_alignment
 
-GstMemoryFlags
-GST_MEMORY_FLAGS
-GST_MEMORY_FLAG_IS_SET
-GST_MEMORY_FLAG_UNSET
-GST_MEMORY_IS_READONLY
-GST_MEMORY_IS_ZERO_PADDED
-GST_MEMORY_IS_ZERO_PREFIXED
-
-GstMemory
-
-GstMapFlags
-GstMapInfo
-GST_MAP_INFO_INIT
-GST_MAP_READWRITE
-
-GstAllocationParams
-
-GstAllocatorAllocFunction
-GstMemoryMapFunction
-GstMemoryUnmapFunction
-GstMemoryFreeFunction
-GstMemoryCopyFunction
-GstMemoryShareFunction
-GstMemoryIsSpanFunction
-
-GstMemoryInfo
-
 GstAllocator
-
-gst_allocator_new
-gst_allocator_get_memory_type
-gst_allocator_ref
-gst_allocator_unref
+GstAllocatorFlags
+GstAllocationParams
 
 GST_ALLOCATOR_SYSMEM
 gst_allocator_find
@@ -1321,17 +1304,67 @@
 gst_allocation_params_free
 
 gst_allocator_alloc
+gst_allocator_free
 
 gst_memory_new_wrapped
 
+<SUBSECTION Standard>
+GST_ALLOCATOR
+GST_ALLOCATOR_CAST
+GST_ALLOCATOR_CLASS
+GST_ALLOCATOR_GET_CLASS
+GST_IS_ALLOCATOR
+GST_IS_ALLOCATOR_CLASS
+GstAllocatorClass
+<SUBSECTION Private>
+GST_TYPE_ALLOCATOR_FLAGS
+GstAllocatorPrivate
+GST_TYPE_ALLOCATION_PARAMS
+gst_allocation_params_get_type
+GST_TYPE_ALLOCATOR
+gst_allocator_get_type
+gst_allocator_flags_get_type
+</SECTION>
+
+<SECTION>
+<FILE>gstmemory</FILE>
+<TITLE>GstMemory</TITLE>
+
+GstMemoryFlags
+GST_MEMORY_FLAGS
+GST_MEMORY_FLAG_IS_SET
+GST_MEMORY_FLAG_UNSET
+GST_MEMORY_IS_READONLY
+GST_MEMORY_IS_NO_SHARE
+GST_MEMORY_IS_ZERO_PADDED
+GST_MEMORY_IS_ZERO_PREFIXED
+
+GstMemory
+
+GstMapFlags
+GST_MAP_READWRITE
+
+GstMapInfo
+GST_MAP_INFO_INIT
+
+GstMemoryMapFunction
+GstMemoryUnmapFunction
+GstMemoryCopyFunction
+GstMemoryShareFunction
+GstMemoryIsSpanFunction
+
+gst_memory_init
+
 gst_memory_ref
 gst_memory_unref
 
-gst_memory_is_exclusive
-
 gst_memory_get_sizes
 gst_memory_resize
 
+gst_memory_lock
+gst_memory_unlock
+gst_memory_is_writable
+
 gst_memory_make_mapped
 gst_memory_map
 gst_memory_unmap
@@ -1344,14 +1377,12 @@
 GST_TYPE_MEMORY
 gst_memory_get_type
 GST_MEMORY_CAST
+GST_TYPE_LOCK_FLAGS
+gst_lock_flags_get_type
 GST_TYPE_MAP_FLAGS
 gst_map_flags_get_type
 GST_TYPE_MEMORY_FLAGS
 gst_memory_flags_get_type
-GST_TYPE_ALLOCATION_PARAMS
-gst_allocation_params_get_type
-GST_TYPE_ALLOCATOR
-gst_allocator_get_type
 </SECTION>
 
 <SECTION>
@@ -1425,6 +1456,8 @@
 gst_message_parse_qos_stats
 gst_message_new_toc
 gst_message_parse_toc
+gst_message_new_reset_time
+gst_message_parse_reset_time
 
 GstStructureChangeType
 gst_message_new_structure_change
@@ -1474,37 +1507,49 @@
 <FILE>gstminiobject</FILE>
 <TITLE>GstMiniObject</TITLE>
 GstMiniObject
-GstMiniObjectFlags
 GstMiniObjectCopyFunction
 GstMiniObjectDisposeFunction
 GstMiniObjectFreeFunction
-GstMiniObjectWeakNotify
+GstMiniObjectNotify
 
 GST_MINI_OBJECT_TYPE
+
+GstMiniObjectFlags
 GST_MINI_OBJECT_FLAGS
 GST_MINI_OBJECT_FLAG_IS_SET
 GST_MINI_OBJECT_FLAG_SET
 GST_MINI_OBJECT_FLAG_UNSET
+GST_MINI_OBJECT_IS_LOCKABLE
+
+GstLockFlags
+GST_LOCK_FLAG_READWRITE
+
 GST_MINI_OBJECT_REFCOUNT
 GST_MINI_OBJECT_REFCOUNT_VALUE
-GST_MINI_OBJECT_SIZE
 
 GST_DEFINE_MINI_OBJECT_TYPE
 gst_mini_object_init
 
-gst_mini_object_copy
-gst_mini_object_is_writable
-gst_mini_object_make_writable
-
 gst_mini_object_ref
 gst_mini_object_unref
 
 gst_mini_object_weak_ref
 gst_mini_object_weak_unref
 
+gst_mini_object_lock
+gst_mini_object_unlock
+gst_mini_object_is_writable
+gst_mini_object_make_writable
+
+gst_mini_object_copy
+
+gst_mini_object_set_qdata
+gst_mini_object_get_qdata
+gst_mini_object_steal_qdata
+
 gst_mini_object_replace
-gst_mini_object_steal
 gst_mini_object_take
+gst_mini_object_steal
 
 <SUBSECTION Standard>
 GST_MINI_OBJECT
@@ -1613,7 +1658,6 @@
 gst_pad_get_allowed_caps
 gst_pad_get_current_caps
 gst_pad_get_pad_template_caps
-gst_pad_set_caps
 
 gst_pad_get_peer
 gst_pad_use_fixed_caps
@@ -1743,6 +1787,8 @@
 gst_pad_set_element_private
 gst_pad_get_element_private
 
+gst_pad_create_stream_id
+
 GstPadForwardFunction
 gst_pad_forward
 <SUBSECTION Core>
@@ -1837,6 +1883,7 @@
 GST_PAD_GETRANGEFUNC
 GST_PAD_ITERINTLINKFUNC
 GST_PAD_IS_FLUSHING
+GST_PAD_IS_EOS
 GST_PAD_LINKFUNC
 GST_PAD_UNLINKFUNC
 GST_PAD_QUERYFUNC
@@ -2185,7 +2232,6 @@
 gst_query_parse_caps
 gst_query_set_caps_result
 gst_query_parse_caps_result
-gst_query_intersect_caps_result
 
 gst_query_new_accept_caps
 gst_query_parse_accept_caps
@@ -2225,7 +2271,7 @@
 gst_query_get_n_allocation_metas
 gst_query_parse_nth_allocation_meta
 gst_query_remove_nth_allocation_meta
-gst_query_has_allocation_meta
+gst_query_find_allocation_meta
 
 GstSchedulingFlags
 gst_query_new_scheduling
@@ -2237,10 +2283,6 @@
 gst_query_has_scheduling_mode
 
 gst_query_new_drain
-
-gst_query_new_toc
-gst_query_parse_toc
-gst_query_set_toc
 <SUBSECTION Standard>
 GstQueryClass
 GST_QUERY
@@ -2532,6 +2574,7 @@
 gst_tag_list_new_empty
 gst_tag_list_new_valist
 gst_tag_list_new_from_string
+gst_tag_list_free
 gst_tag_list_to_string
 gst_tag_list_is_empty
 gst_tag_list_is_equal
@@ -2577,8 +2620,8 @@
 gst_tag_list_get_date_index
 gst_tag_list_get_date_time
 gst_tag_list_get_date_time_index
-gst_tag_list_get_buffer
-gst_tag_list_get_buffer_index
+gst_tag_list_get_sample
+gst_tag_list_get_sample_index
 <SUBSECTION Standard>
 GST_TAG_LIST
 GST_IS_TAG_LIST
@@ -2662,8 +2705,9 @@
 gst_task_set_pool
 gst_task_get_pool
 
-GstTaskThreadCallbacks
-gst_task_set_thread_callbacks
+GstTaskThreadFunc
+gst_task_set_enter_callback
+gst_task_set_leave_callback
 
 gst_task_get_state
 gst_task_set_state
@@ -2695,22 +2739,51 @@
 <FILE>gsttoc</FILE>
 <TITLE>GstToc</TITLE>
 GstToc
+GstTocScope
 GstTocEntry
 GstTocEntryType
+gst_toc_new
+gst_toc_ref
+gst_toc_unref
+gst_toc_copy
+gst_toc_make_writable
+gst_toc_get_scope
+gst_toc_get_entries
+gst_toc_append_entry
+gst_toc_get_tags
+gst_toc_merge_tags
+gst_toc_set_tags
+gst_toc_dump
 gst_toc_entry_new
 gst_toc_entry_new_with_pad
-gst_toc_entry_free
-gst_toc_new
-gst_toc_free
+gst_toc_entry_ref
+gst_toc_entry_unref
 gst_toc_entry_copy
-gst_toc_copy
+gst_toc_entry_make_writable
 gst_toc_find_entry
-gst_toc_entry_get_start_stop
-gst_toc_entry_set_start_stop
+gst_toc_entry_get_toc
+gst_toc_entry_get_uid
+gst_toc_entry_get_parent
+gst_toc_entry_get_sub_entries
+gst_toc_entry_append_sub_entry
+gst_toc_entry_get_start_stop_times
+gst_toc_entry_set_start_stop_times
+gst_toc_entry_get_tags
+gst_toc_entry_merge_tags
+gst_toc_entry_set_tags
 gst_toc_entry_type_get_nick
+gst_toc_entry_get_entry_type
+gst_toc_entry_is_alternative
+gst_toc_entry_is_sequence
+GST_TOC_ENTRY_TYPE_IS_ALTERNATIVE
+GST_TOC_ENTRY_TYPE_IS_SEQUENCE
 <SUBSECTION Standard>
+GST_TYPE_TOC
+GST_TYPE_TOC_ENTRY
 GST_TYPE_TOC_ENTRY_TYPE
 <SUBSECTION Private>
+gst_toc_get_type
+gst_toc_entry_get_type
 gst_toc_entry_type_get_type
 </SECTION>
 
@@ -2719,14 +2792,10 @@
 <FILE>gsttocsetter</FILE>
 <TITLE>GstTocSetter</TITLE>
 GstTocSetter
-GstTocSetterIFace
-gst_toc_setter_get_toc
-gst_toc_setter_get_toc_copy
-gst_toc_setter_reset_toc
+GstTocSetterInterface
 gst_toc_setter_set_toc
-gst_toc_setter_get_toc_entry
-gst_toc_setter_get_toc_entry_copy
-gst_toc_setter_add_toc_entry
+gst_toc_setter_get_toc
+gst_toc_setter_reset
 <SUBSECTION Standard>
 GST_IS_TOC_SETTER
 GST_TOC_SETTER
@@ -2764,6 +2833,7 @@
 gst_type_find_factory_get_list
 gst_type_find_factory_get_extensions
 gst_type_find_factory_get_caps
+gst_type_find_factory_has_function
 gst_type_find_factory_call_function
 <SUBSECTION Standard>
 GstTypeFindFactoryClass
@@ -2872,8 +2942,6 @@
 
 gst_flow_get_name
 gst_flow_to_quark
-gst_print_element_args
-gst_print_pad_caps
 gst_guint64_to_gdouble
 gst_gdouble_to_guint64
 gst_util_dump_mem
@@ -2921,11 +2989,28 @@
 gst_date_time_new
 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
 gst_date_time_ref
 gst_date_time_unref
+
+gst_date_time_has_day
+gst_date_time_has_month
+gst_date_time_has_second
+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
+
+gst_date_time_new_from_g_date_time
+gst_date_time_to_g_date_time
 </SECTION>
 
 <SECTION>
diff --git a/docs/gst/html/GstBin.html b/docs/gst/html/GstBin.html
index 1587b4c..5ebfeb2 100644
--- a/docs/gst/html/GstBin.html
+++ b/docs/gst/html/GstBin.html
@@ -157,7 +157,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp10089840"></a><h3>Notes</h3>
+<a name="idp6749552"></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:
@@ -308,7 +308,8 @@
 </tr>
 <tr>
 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="GstBin-struct.children"></a>children</code></em>;</span></p></td>
-<td>the list of children in this bin</td>
+<td>the list of children in this bin. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> Gst.Element]</span>
+</td>
 </tr>
 <tr>
 <td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="GstBin-struct.children-cookie"></a>children_cookie</code></em>;</span></p></td>
@@ -320,7 +321,8 @@
 </tr>
 <tr>
 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="GstBin-struct.messages"></a>messages</code></em>;</span></p></td>
-<td>queued and cached messages</td>
+<td>queued and cached messages. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> Gst.Message]</span>
+</td>
 </tr>
 <tr>
 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstBin-struct.polling"></a>polling</code></em>;</span></p></td>
@@ -839,7 +841,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -934,7 +935,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1022,7 +1022,6 @@
 of its children on its own.
 </p>
 <p>Default value: FALSE</p>
-<p class="since">Since 0.10.13</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1040,7 +1039,6 @@
 forwarded message.
 </p>
 <p>Default value: FALSE</p>
-<p class="since">Since 0.10.31</p>
 </div>
 </div>
 <div class="refsect1">
@@ -1078,7 +1076,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/gst/html/GstBus.html b/docs/gst/html/GstBus.html
index 35747cb..026f2a7 100644
--- a/docs/gst/html/GstBus.html
+++ b/docs/gst/html/GstBus.html
@@ -51,10 +51,10 @@
 enum                <a class="link" href="GstBus.html#GstBusSyncReply" title="enum GstBusSyncReply">GstBusSyncReply</a>;
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            (<a class="link" href="GstBus.html#GstBusFunc" title="GstBusFunc ()">*GstBusFunc</a>)                       (<em class="parameter"><code><a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a> *bus</code></em>,
                                                          <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 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><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 class="link" href="GstBus.html#GstBusSyncReply" title="enum GstBusSyncReply"><span class="returnvalue">GstBusSyncReply</span></a>     (<a class="link" href="GstBus.html#GstBusSyncHandler" title="GstBusSyncHandler ()">*GstBusSyncHandler</a>)                (<em class="parameter"><code><a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a> *bus</code></em>,
                                                          <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 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><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 class="link" href="GstBus.html" title="GstBus"><span class="returnvalue">GstBus</span></a> *            <a class="link" href="GstBus.html#gst-bus-new" title="gst_bus_new ()">gst_bus_new</a>                         (<em class="parameter"><code><span class="type">void</span></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="GstBus.html#gst-bus-post" title="gst_bus_post ()">gst_bus_post</a>                        (<em class="parameter"><code><a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a> *bus</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>);
@@ -72,7 +72,8 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> flushing</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstBus.html#gst-bus-set-sync-handler" title="gst_bus_set_sync_handler ()">gst_bus_set_sync_handler</a>            (<em class="parameter"><code><a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a> *bus</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstBus.html#GstBusSyncHandler" title="GstBusSyncHandler ()"><span class="type">GstBusSyncHandler</span></a> func</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</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>);
 <a class="link" href="GstBus.html#GstBusSyncReply" title="enum GstBusSyncReply"><span class="returnvalue">GstBusSyncReply</span></a>     <a class="link" href="GstBus.html#gst-bus-sync-signal-handler" title="gst_bus_sync_signal_handler ()">gst_bus_sync_signal_handler</a>         (<em class="parameter"><code><a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a> *bus</code></em>,
                                                          <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 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
@@ -253,7 +254,7 @@
 <a name="GstBusFunc"></a><h3>GstBusFunc ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            (*GstBusFunc)                       (<em class="parameter"><code><a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a> *bus</code></em>,
                                                          <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 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>
 Specifies the type of function passed to <a class="link" href="GstBus.html#gst-bus-add-watch" title="gst_bus_add_watch ()"><code class="function">gst_bus_add_watch()</code></a> or
 <a class="link" href="GstBus.html#gst-bus-add-watch-full" title="gst_bus_add_watch_full ()"><code class="function">gst_bus_add_watch_full()</code></a>, which is called from the mainloop when a message
@@ -280,7 +281,7 @@
 </td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
 <td>user data that has been given, when registering the handler</td>
 </tr>
 <tr>
@@ -296,7 +297,7 @@
 <a name="GstBusSyncHandler"></a><h3>GstBusSyncHandler ()</h3>
 <pre class="programlisting"><a class="link" href="GstBus.html#GstBusSyncReply" title="enum GstBusSyncReply"><span class="returnvalue">GstBusSyncReply</span></a>     (*GstBusSyncHandler)                (<em class="parameter"><code><a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a> *bus</code></em>,
                                                          <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 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>
 Handler will be invoked synchronously, when a new message has been injected
 into the bus. This function is mostly used internally. Only one sync handler
@@ -319,7 +320,7 @@
 </td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
 <td>user data that has been given, when registering the handler</td>
 </tr>
 <tr>
@@ -484,7 +485,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -521,7 +521,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.12</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -565,7 +564,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -600,7 +598,8 @@
 <a name="gst-bus-set-sync-handler"></a><h3>gst_bus_set_sync_handler ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_bus_set_sync_handler            (<em class="parameter"><code><a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a> *bus</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstBus.html#GstBusSyncHandler" title="GstBusSyncHandler ()"><span class="type">GstBusSyncHandler</span></a> func</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
+                                                         <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>
 Sets the synchronous handler on the bus. The function will be called
 every time a new message is posted on the bus. Note that the function
@@ -622,12 +621,17 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
-<td>The handler function to install</td>
+<td>The handler function to install. <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>data</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
 <td>User data that will be sent to the handler function.</td>
 </tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
+<td>called when <em class="parameter"><code>user_data</code></em> becomes unused</td>
+</tr>
 </tbody>
 </table></div>
 </div>
@@ -698,8 +702,8 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> notify</code></em>);</pre>
 <p>
 Adds a bus watch to the default main context with the given <em class="parameter"><code>priority</code></em> (e.g.
-<a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT:CAPS"><code class="literal">G_PRIORITY_DEFAULT</code></a>). Since 0.10.33 it is also possible to use a non-default
-main context set up using <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default"><code class="function">g_main_context_push_thread_default()</code></a> (before
+<a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT:CAPS"><code class="literal">G_PRIORITY_DEFAULT</code></a>). It is also possible to use a non-default  main
+context set up using <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default"><code class="function">g_main_context_push_thread_default()</code></a> (before
 one had to create a bus watch source and attach it to the desired main
 context 'manually').
 </p>
@@ -716,6 +720,9 @@
 The watch can be removed using <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#g-source-remove"><code class="function">g_source_remove()</code></a> or by returning FALSE
 from <em class="parameter"><code>func</code></em>.
 </p>
+<p>
+MT safe.
+</p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -742,8 +749,7 @@
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>The event source id.
-Rename to: gst_bus_add_watch
-MT safe.</td>
+Rename to: gst_bus_add_watch</td>
 </tr>
 </tbody>
 </table></div>
@@ -756,8 +762,8 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>
 Adds a bus watch to the default main context with the default priority
-(<a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT:CAPS"><code class="literal">G_PRIORITY_DEFAULT</code></a>). Since 0.10.33 it is also possible to use a non-default
-main context set up using <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default"><code class="function">g_main_context_push_thread_default()</code></a> (before
+(<a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT:CAPS"><code class="literal">G_PRIORITY_DEFAULT</code></a>). It is also possible to use a non-default main
+context set up using <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default"><code class="function">g_main_context_push_thread_default()</code></a> (before
 one had to create a bus watch source and attach it to the desired main
 context 'manually').
 </p>
@@ -897,7 +903,7 @@
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_bus_add_signal_watch            (<em class="parameter"><code><a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a> *bus</code></em>);</pre>
 <p>
 Adds a bus signal watch to the default main context with the default priority
-(<a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT:CAPS"><code class="literal">G_PRIORITY_DEFAULT</code></a>). Since 0.10.33 it is also possible to use a non-default
+(<a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT:CAPS"><code class="literal">G_PRIORITY_DEFAULT</code></a>). It is also possible to use a non-default
 main context set up using <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default"><code class="function">g_main_context_push_thread_default()</code></a> (before
 one had to create a bus watch source and attach it to the desired main
 context 'manually').
@@ -929,8 +935,8 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> priority</code></em>);</pre>
 <p>
 Adds a bus signal watch to the default main context with the given <em class="parameter"><code>priority</code></em>
-(e.g. <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT:CAPS"><code class="literal">G_PRIORITY_DEFAULT</code></a>). Since 0.10.33 it is also possible to use a
-non-default main context set up using <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default"><code class="function">g_main_context_push_thread_default()</code></a>
+(e.g. <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT:CAPS"><code class="literal">G_PRIORITY_DEFAULT</code></a>). It is also possible to use a non-default main
+context set up using <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default"><code class="function">g_main_context_push_thread_default()</code></a>
 (before one had to create a bus watch source and attach it to the desired
 main context 'manually').
 </p>
diff --git a/docs/gst/html/GstChildProxy.html b/docs/gst/html/GstChildProxy.html
index c0cb6da..a025435 100644
--- a/docs/gst/html/GstChildProxy.html
+++ b/docs/gst/html/GstChildProxy.html
@@ -59,28 +59,28 @@
                                                          <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>);
-<span class="returnvalue">void</span>                <a class="link" href="GstChildProxy.html#gst-child-proxy-get-property" title="gst_child_proxy_get_property ()">gst_child_proxy_get_property</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>,
+<span class="returnvalue">void</span>                <a class="link" href="GstChildProxy.html#gst-child-proxy-get-property" title="gst_child_proxy_get_property ()">gst_child_proxy_get_property</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-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="GstChildProxy.html#gst-child-proxy-get-valist" title="gst_child_proxy_get_valist ()">gst_child_proxy_get_valist</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>,
+<span class="returnvalue">void</span>                <a class="link" href="GstChildProxy.html#gst-child-proxy-get-valist" title="gst_child_proxy_get_valist ()">gst_child_proxy_get_valist</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> *first_property_name</code></em>,
                                                          <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="GstChildProxy.html#gst-child-proxy-get" title="gst_child_proxy_get ()">gst_child_proxy_get</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>,
+<span class="returnvalue">void</span>                <a class="link" href="GstChildProxy.html#gst-child-proxy-get" title="gst_child_proxy_get ()">gst_child_proxy_get</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> *first_property_name</code></em>,
                                                          <em class="parameter"><code>...</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="GstChildProxy.html#gst-child-proxy-set-property" title="gst_child_proxy_set_property ()">gst_child_proxy_set_property</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>,
+<span class="returnvalue">void</span>                <a class="link" href="GstChildProxy.html#gst-child-proxy-set-property" title="gst_child_proxy_set_property ()">gst_child_proxy_set_property</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>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="GstChildProxy.html#gst-child-proxy-set-valist" title="gst_child_proxy_set_valist ()">gst_child_proxy_set_valist</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>,
+<span class="returnvalue">void</span>                <a class="link" href="GstChildProxy.html#gst-child-proxy-set-valist" title="gst_child_proxy_set_valist ()">gst_child_proxy_set_valist</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> *first_property_name</code></em>,
                                                          <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="GstChildProxy.html#gst-child-proxy-set" title="gst_child_proxy_set ()">gst_child_proxy_set</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>,
+<span class="returnvalue">void</span>                <a class="link" href="GstChildProxy.html#gst-child-proxy-set" title="gst_child_proxy_set ()">gst_child_proxy_set</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> *first_property_name</code></em>,
                                                          <em class="parameter"><code>...</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="GstChildProxy.html#gst-child-proxy-child-added" title="gst_child_proxy_child_added ()">gst_child_proxy_child_added</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>,
+<span class="returnvalue">void</span>                <a class="link" href="GstChildProxy.html#gst-child-proxy-child-added" title="gst_child_proxy_child_added ()">gst_child_proxy_child_added</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/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *child</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="GstChildProxy.html#gst-child-proxy-child-removed" title="gst_child_proxy_child_removed ()">gst_child_proxy_child_removed</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>,
+<span class="returnvalue">void</span>                <a class="link" href="GstChildProxy.html#gst-child-proxy-child-removed" title="gst_child_proxy_child_removed ()">gst_child_proxy_child_removed</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/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *child</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
 </pre>
@@ -272,6 +272,9 @@
 <p>
 Looks up which object and <a href="http://library.gnome.org/devel/gobject/unstable/gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> would be effected by the given <em class="parameter"><code>name</code></em>.
 </p>
+<p>
+MT safe.
+</p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -299,8 +302,7 @@
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>TRUE if <em class="parameter"><code>target</code></em> and <em class="parameter"><code>pspec</code></em> could be found. FALSE otherwise. In that
 case the values for <em class="parameter"><code>pspec</code></em> and <em class="parameter"><code>target</code></em> are not modified. Unref <em class="parameter"><code>target</code></em> after
-usage.
-MT safe.</td>
+usage. For plain GObjects <em class="parameter"><code>target</code></em> is the same as <em class="parameter"><code>object</code></em>.</td>
 </tr>
 </tbody>
 </table></div>
@@ -308,7 +310,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-child-proxy-get-property"></a><h3>gst_child_proxy_get_property ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_child_proxy_get_property        (<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"><span class="returnvalue">void</span>                gst_child_proxy_get_property        (<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-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);</pre>
 <p>
@@ -337,7 +339,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-child-proxy-get-valist"></a><h3>gst_child_proxy_get_valist ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_child_proxy_get_valist          (<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"><span class="returnvalue">void</span>                gst_child_proxy_get_valist          (<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> *first_property_name</code></em>,
                                                          <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
 <p>
@@ -364,7 +366,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-child-proxy-get"></a><h3>gst_child_proxy_get ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_child_proxy_get                 (<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"><span class="returnvalue">void</span>                gst_child_proxy_get                 (<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> *first_property_name</code></em>,
                                                          <em class="parameter"><code>...</code></em>);</pre>
 <p>
@@ -391,7 +393,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-child-proxy-set-property"></a><h3>gst_child_proxy_set_property ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_child_proxy_set_property        (<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"><span class="returnvalue">void</span>                gst_child_proxy_set_property        (<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>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);</pre>
 <p>
@@ -418,7 +420,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-child-proxy-set-valist"></a><h3>gst_child_proxy_set_valist ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_child_proxy_set_valist          (<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"><span class="returnvalue">void</span>                gst_child_proxy_set_valist          (<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> *first_property_name</code></em>,
                                                          <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
 <p>
@@ -445,7 +447,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-child-proxy-set"></a><h3>gst_child_proxy_set ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_child_proxy_set                 (<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"><span class="returnvalue">void</span>                gst_child_proxy_set                 (<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> *first_property_name</code></em>,
                                                          <em class="parameter"><code>...</code></em>);</pre>
 <p>
@@ -472,7 +474,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-child-proxy-child-added"></a><h3>gst_child_proxy_child_added ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_child_proxy_child_added         (<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"><span class="returnvalue">void</span>                gst_child_proxy_child_added         (<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/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *child</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
 <p>
@@ -482,7 +484,7 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>parent</code></em> :</span></p></td>
 <td>the parent object</td>
 </tr>
 <tr>
@@ -499,7 +501,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-child-proxy-child-removed"></a><h3>gst_child_proxy_child_removed ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_child_proxy_child_removed       (<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"><span class="returnvalue">void</span>                gst_child_proxy_child_removed       (<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/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *child</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
 <p>
@@ -509,7 +511,7 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>parent</code></em> :</span></p></td>
 <td>the parent object</td>
 </tr>
 <tr>
diff --git a/docs/gst/html/GstClock.html b/docs/gst/html/GstClock.html
index ca4dae0..863417e 100644
--- a/docs/gst/html/GstClock.html
+++ b/docs/gst/html/GstClock.html
@@ -128,9 +128,6 @@
                                                          <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTimeDiff" title="GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> *jitter</code></em>);
 <a class="link" href="GstClock.html#GstClockReturn" title="enum GstClockReturn"><span class="returnvalue">GstClockReturn</span></a>      <a class="link" href="GstClock.html#gst-clock-id-wait-async" title="gst_clock_id_wait_async ()">gst_clock_id_wait_async</a>             (<em class="parameter"><code><a class="link" href="GstClock.html#GstClockID" title="GstClockID"><span class="type">GstClockID</span></a> id</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstClock.html#GstClockCallback" title="GstClockCallback ()"><span class="type">GstClockCallback</span></a> func</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
-<a class="link" href="GstClock.html#GstClockReturn" title="enum GstClockReturn"><span class="returnvalue">GstClockReturn</span></a>      <a class="link" href="GstClock.html#gst-clock-id-wait-async-full" title="gst_clock_id_wait_async_full ()">gst_clock_id_wait_async_full</a>        (<em class="parameter"><code><a class="link" href="GstClock.html#GstClockID" title="GstClockID"><span class="type">GstClockID</span></a> id</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="GstClock.html#GstClockCallback" title="GstClockCallback ()"><span class="type">GstClockCallback</span></a> func</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy_data</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstClock.html#gst-clock-id-unschedule" title="gst_clock_id_unschedule ()">gst_clock_id_unschedule</a>             (<em class="parameter"><code><a class="link" href="GstClock.html#GstClockID" title="GstClockID"><span class="type">GstClockID</span></a> id</code></em>);
@@ -358,6 +355,10 @@
 <p>
 Constant to define an undefined clock time.
 </p>
+<p>
+Value: 18446744073709551615
+Type: GstClockTime
+</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -385,6 +386,7 @@
 </p>
 <p>
 Value: 1000000000
+Type: GstClockTime
 </p>
 </div>
 <hr>
@@ -397,6 +399,7 @@
 </p>
 <p>
 Value: 1000000
+Type: GstClockTime
 </p>
 </div>
 <hr>
@@ -409,6 +412,7 @@
 </p>
 <p>
 Value: 1000
+Type: GstClockTime
 </p>
 </div>
 <hr>
@@ -421,6 +425,7 @@
 </p>
 <p>
 Value: 1
+Type: GstClockTime
 </p>
 </div>
 <hr>
@@ -438,7 +443,6 @@
 <td>the time</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.16</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -455,7 +459,6 @@
 <td>the time</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.16</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -472,7 +475,6 @@
 <td>the time</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.16</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -489,7 +491,6 @@
 <td>the time</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.16</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -834,7 +835,7 @@
 </tr>
 <tr>
 <td><p><a name="GST-CLOCK-DONE:CAPS"></a><span class="term"><code class="literal">GST_CLOCK_DONE</code></span></p></td>
-<td>The ClockID is done waiting (Since: 0.10.32)
+<td>The ClockID is done waiting
 </td>
 </tr>
 </tbody>
@@ -1223,7 +1224,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.32</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1265,7 +1265,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1354,7 +1353,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.13</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1592,46 +1590,6 @@
 <a name="gst-clock-id-wait-async"></a><h3>gst_clock_id_wait_async ()</h3>
 <pre class="programlisting"><a class="link" href="GstClock.html#GstClockReturn" title="enum GstClockReturn"><span class="returnvalue">GstClockReturn</span></a>      gst_clock_id_wait_async             (<em class="parameter"><code><a class="link" href="GstClock.html#GstClockID" title="GstClockID"><span class="type">GstClockID</span></a> id</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstClock.html#GstClockCallback" title="GstClockCallback ()"><span class="type">GstClockCallback</span></a> func</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
-<p>
-Register a callback on the given <a class="link" href="GstClock.html#GstClockID" title="GstClockID"><span class="type">GstClockID</span></a> <em class="parameter"><code>id</code></em> with the given
-function and user_data. When passing a <a class="link" href="GstClock.html#GstClockID" title="GstClockID"><span class="type">GstClockID</span></a> with an invalid
-time to this function, the callback will be called immediately
-with  a time set to GST_CLOCK_TIME_NONE. The callback will
-be called when the time of <em class="parameter"><code>id</code></em> has been reached.
-</p>
-<p>
-The callback <em class="parameter"><code>func</code></em> can be invoked from any thread, either provided by the
-core or from a streaming thread. The application should be prepared for this.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
-<td>a <a class="link" href="GstClock.html#GstClockID" title="GstClockID"><span class="type">GstClockID</span></a> to wait on</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
-<td>The callback function</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
-<td>User data passed in the callback</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the result of the non blocking wait.
-MT safe.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-clock-id-wait-async-full"></a><h3>gst_clock_id_wait_async_full ()</h3>
-<pre class="programlisting"><a class="link" href="GstClock.html#GstClockReturn" title="enum GstClockReturn"><span class="returnvalue">GstClockReturn</span></a>      gst_clock_id_wait_async_full        (<em class="parameter"><code><a class="link" href="GstClock.html#GstClockID" title="GstClockID"><span class="type">GstClockID</span></a> id</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="GstClock.html#GstClockCallback" title="GstClockCallback ()"><span class="type">GstClockCallback</span></a> func</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy_data</code></em>);</pre>
 <p>
@@ -1672,7 +1630,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.30</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/gst/html/GstControlBinding.html b/docs/gst/html/GstControlBinding.html
index ac541c4..4bd9f5f 100644
--- a/docs/gst/html/GstControlBinding.html
+++ b/docs/gst/html/GstControlBinding.html
@@ -46,10 +46,10 @@
 
 struct              <a class="link" href="GstControlBinding.html#GstControlBinding-struct" title="struct GstControlBinding">GstControlBinding</a>;
 struct              <a class="link" href="GstControlBinding.html#GstControlBindingClass" title="struct GstControlBindingClass">GstControlBindingClass</a>;
-<span class="returnvalue">void</span>                (<a class="link" href="GstControlBinding.html#GstControlBindingConvert" title="GstControlBindingConvert ()">*GstControlBindingConvert</a>)         (<em class="parameter"><code><a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a> *self</code></em>,
+<span class="returnvalue">void</span>                (<a class="link" href="GstControlBinding.html#GstControlBindingConvert" title="GstControlBindingConvert ()">*GstControlBindingConvert</a>)         (<em class="parameter"><code><a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a> *binding</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> src_value</code></em>,
                                                          <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_value</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstControlBinding.html#gst-control-binding-sync-values" title="gst_control_binding_sync_values ()">gst_control_binding_sync_values</a>     (<em class="parameter"><code><a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a> *self</code></em>,
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstControlBinding.html#gst-control-binding-sync-values" title="gst_control_binding_sync_values ()">gst_control_binding_sync_values</a>     (<em class="parameter"><code><a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a> *binding</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *object</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> last_sync</code></em>);
@@ -66,9 +66,9 @@
                                                          <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> interval</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> n_values</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *values</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="GstControlBinding.html#gst-control-binding-set-disabled" title="gst_control_binding_set_disabled ()">gst_control_binding_set_disabled</a>    (<em class="parameter"><code><a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a> *self</code></em>,
+<span class="returnvalue">void</span>                <a class="link" href="GstControlBinding.html#gst-control-binding-set-disabled" title="gst_control_binding_set_disabled ()">gst_control_binding_set_disabled</a>    (<em class="parameter"><code><a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a> *binding</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> disabled</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstControlBinding.html#gst-control-binding-is-disabled" title="gst_control_binding_is_disabled ()">gst_control_binding_is_disabled</a>     (<em class="parameter"><code><a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a> *self</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstControlBinding.html#gst-control-binding-is-disabled" title="gst_control_binding_is_disabled ()">gst_control_binding_is_disabled</a>     (<em class="parameter"><code><a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a> *binding</code></em>);
 </pre>
 </div>
 <div class="refsect1">
@@ -126,10 +126,10 @@
   GstObjectClass parent_class;
 
   /* virtual methods */
-  gboolean (* sync_values) (GstControlBinding *self, GstObject *object, GstClockTime timestamp, GstClockTime last_sync);
-  GValue * (* get_value) (GstControlBinding *self, GstClockTime timestamp);
-  gboolean (* get_value_array) (GstControlBinding *self, GstClockTime timestamp,GstClockTime interval, guint n_values, gpointer values);
-  gboolean (* get_g_value_array) (GstControlBinding *self, GstClockTime timestamp,GstClockTime interval, guint n_values, GValue *values);
+  gboolean (* sync_values) (GstControlBinding *binding, GstObject *object, GstClockTime timestamp, GstClockTime last_sync);
+  GValue * (* get_value) (GstControlBinding *binding, GstClockTime timestamp);
+  gboolean (* get_value_array) (GstControlBinding *binding, GstClockTime timestamp,GstClockTime interval, guint n_values, gpointer values);
+  gboolean (* get_g_value_array) (GstControlBinding *binding, GstClockTime timestamp,GstClockTime interval, guint n_values, GValue *values);
 };
 </pre>
 <p>
@@ -164,7 +164,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstControlBindingConvert"></a><h3>GstControlBindingConvert ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                (*GstControlBindingConvert)         (<em class="parameter"><code><a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a> *self</code></em>,
+<pre class="programlisting"><span class="returnvalue">void</span>                (*GstControlBindingConvert)         (<em class="parameter"><code><a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a> *binding</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> src_value</code></em>,
                                                          <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_value</code></em>);</pre>
 <p>
@@ -174,7 +174,7 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>binding</code></em> :</span></p></td>
 <td>the <a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a> instance</td>
 </tr>
 <tr>
@@ -191,12 +191,12 @@
 <hr>
 <div class="refsect2">
 <a name="gst-control-binding-sync-values"></a><h3>gst_control_binding_sync_values ()</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_control_binding_sync_values     (<em class="parameter"><code><a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a> *self</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_control_binding_sync_values     (<em class="parameter"><code><a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a> *binding</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *object</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> last_sync</code></em>);</pre>
 <p>
-Sets the property of the <em class="parameter"><code>object</code></em>, according to the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="type">GstControlSources</span></a> that
+Sets the property of the <em class="parameter"><code>object</code></em>, according to the <a href="../gstreamer-1.0/GstControlSource.html"><span class="type">GstControlSources</span></a> that
 handle them and for the given timestamp.
 </p>
 <p>
@@ -207,7 +207,7 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>binding</code></em> :</span></p></td>
 <td>the control binding</td>
 </tr>
 <tr>
@@ -243,7 +243,7 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>binding</code></em> :</span></p></td>
 <td>the control binding</td>
 </tr>
 <tr>
@@ -284,7 +284,7 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>binding</code></em> :</span></p></td>
 <td>the control binding</td>
 </tr>
 <tr>
@@ -333,7 +333,7 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>binding</code></em> :</span></p></td>
 <td>the control binding</td>
 </tr>
 <tr>
@@ -363,7 +363,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-control-binding-set-disabled"></a><h3>gst_control_binding_set_disabled ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_control_binding_set_disabled    (<em class="parameter"><code><a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a> *self</code></em>,
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_control_binding_set_disabled    (<em class="parameter"><code><a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a> *binding</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> disabled</code></em>);</pre>
 <p>
 This function is used to disable a control binding for some time, i.e.
@@ -373,7 +373,7 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>binding</code></em> :</span></p></td>
 <td>the control binding</td>
 </tr>
 <tr>
@@ -387,7 +387,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-control-binding-is-disabled"></a><h3>gst_control_binding_is_disabled ()</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_control_binding_is_disabled     (<em class="parameter"><code><a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a> *self</code></em>);</pre>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_control_binding_is_disabled     (<em class="parameter"><code><a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a> *binding</code></em>);</pre>
 <p>
 Check if the control binding is disabled.
 </p>
@@ -395,7 +395,7 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>binding</code></em> :</span></p></td>
 <td>the control binding</td>
 </tr>
 <tr>
diff --git a/docs/gst/html/GstControlSource.html b/docs/gst/html/GstControlSource.html
index 2f5d457..f989534 100644
--- a/docs/gst/html/GstControlSource.html
+++ b/docs/gst/html/GstControlSource.html
@@ -305,7 +305,7 @@
 <td>the number of values to fetch</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>value_array</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>values</code></em> :</span></p></td>
 <td>array to put control-values in</td>
 </tr>
 <tr>
diff --git a/docs/gst/html/GstElement.html b/docs/gst/html/GstElement.html
index 87250a8..54710f2 100644
--- a/docs/gst/html/GstElement.html
+++ b/docs/gst/html/GstElement.html
@@ -257,8 +257,8 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> rate</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><a class="link" href="gstreamer-GstEvent.html#GstSeekFlags" title="enum GstSeekFlags"><span class="type">GstSeekFlags</span></a> flags</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstSeekType" title="enum GstSeekType"><span class="type">GstSeekType</span></a> cur_type</code></em>,
-                                                         <em class="parameter"><code><span class="type">gint64</span> cur</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstSeekType" title="enum GstSeekType"><span class="type">GstSeekType</span></a> start_type</code></em>,
+                                                         <em class="parameter"><code><span class="type">gint64</span> start</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstSeekType" title="enum GstSeekType"><span class="type">GstSeekType</span></a> stop_type</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> stop</code></em>);
 </pre>
@@ -455,7 +455,8 @@
 </tr>
 <tr>
 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="GstElement-struct.pads"></a>pads</code></em>;</span></p></td>
-<td>list of pads</td>
+<td>list of pads. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> Gst.Pad]</span>
+</td>
 </tr>
 <tr>
 <td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="GstElement-struct.numsrcpads"></a>numsrcpads</code></em>;</span></p></td>
@@ -463,7 +464,8 @@
 </tr>
 <tr>
 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="GstElement-struct.srcpads"></a>srcpads</code></em>;</span></p></td>
-<td>list of source pads</td>
+<td>list of source pads. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> Gst.Pad]</span>
+</td>
 </tr>
 <tr>
 <td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="GstElement-struct.numsinkpads"></a>numsinkpads</code></em>;</span></p></td>
@@ -471,7 +473,8 @@
 </tr>
 <tr>
 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="GstElement-struct.sinkpads"></a>sinkpads</code></em>;</span></p></td>
-<td>list of sink pads</td>
+<td>list of sink pads. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> Gst.Pad]</span>
+</td>
 </tr>
 <tr>
 <td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="GstElement-struct.pads-cookie"></a>pads_cookie</code></em>;</span></p></td>
@@ -608,13 +611,12 @@
 <div class="refsect2">
 <a name="GstElementFlags"></a><h3>enum GstElementFlags</h3>
 <pre class="programlisting">typedef enum {
-  GST_ELEMENT_FLAG_UNPARENTING    = (GST_OBJECT_FLAG_LAST &lt;&lt; 0),
-  GST_ELEMENT_FLAG_LOCKED_STATE   = (GST_OBJECT_FLAG_LAST &lt;&lt; 1),
-  GST_ELEMENT_FLAG_SINK           = (GST_OBJECT_FLAG_LAST &lt;&lt; 2),
-  GST_ELEMENT_FLAG_SOURCE         = (GST_OBJECT_FLAG_LAST &lt;&lt; 3),
-  GST_ELEMENT_FLAG_PROVIDE_CLOCK  = (GST_OBJECT_FLAG_LAST &lt;&lt; 4),
-  GST_ELEMENT_FLAG_REQUIRE_CLOCK  = (GST_OBJECT_FLAG_LAST &lt;&lt; 5),
-  GST_ELEMENT_FLAG_INDEXABLE      = (GST_OBJECT_FLAG_LAST &lt;&lt; 6),
+  GST_ELEMENT_FLAG_LOCKED_STATE   = (GST_OBJECT_FLAG_LAST &lt;&lt; 0),
+  GST_ELEMENT_FLAG_SINK           = (GST_OBJECT_FLAG_LAST &lt;&lt; 1),
+  GST_ELEMENT_FLAG_SOURCE         = (GST_OBJECT_FLAG_LAST &lt;&lt; 2),
+  GST_ELEMENT_FLAG_PROVIDE_CLOCK  = (GST_OBJECT_FLAG_LAST &lt;&lt; 3),
+  GST_ELEMENT_FLAG_REQUIRE_CLOCK  = (GST_OBJECT_FLAG_LAST &lt;&lt; 4),
+  GST_ELEMENT_FLAG_INDEXABLE      = (GST_OBJECT_FLAG_LAST &lt;&lt; 5),
   /* padding */
   GST_ELEMENT_FLAG_LAST           = (GST_OBJECT_FLAG_LAST &lt;&lt; 10)
 } GstElementFlags;
@@ -626,12 +628,6 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><a name="GST-ELEMENT-FLAG-UNPARENTING:CAPS"></a><span class="term"><code class="literal">GST_ELEMENT_FLAG_UNPARENTING</code></span></p></td>
-<td>Child is being removed from the parent bin.
- <a class="link" href="GstBin.html#gst-bin-remove" title="gst_bin_remove ()"><code class="function">gst_bin_remove()</code></a> on a child already being removed immediately returns FALSE
-</td>
-</tr>
-<tr>
 <td><p><a name="GST-ELEMENT-FLAG-LOCKED-STATE:CAPS"></a><span class="term"><code class="literal">GST_ELEMENT_FLAG_LOCKED_STATE</code></span></p></td>
 <td>ignore state changes from parent
 </td>
@@ -643,7 +639,7 @@
 </tr>
 <tr>
 <td><p><a name="GST-ELEMENT-FLAG-SOURCE:CAPS"></a><span class="term"><code class="literal">GST_ELEMENT_FLAG_SOURCE</code></span></p></td>
-<td>the element is a source. Since 0.10.31
+<td>the element is a source.
 </td>
 </tr>
 <tr>
@@ -1031,7 +1027,6 @@
 <td>a <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> to return the target state for.</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.13</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1223,7 +1218,6 @@
 <td>a <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> to return the start time for.</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1336,7 +1330,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.12</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1757,7 +1750,8 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
-<td>the <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> to use as a filter.</td>
+<td>the <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> to use as a filter. <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>
@@ -1911,7 +1905,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.32</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2006,7 +1999,7 @@
 </tr>
 <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 remove from the element. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+<td>the <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> to remove from the element. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
 <tr>
@@ -2028,6 +2021,10 @@
 be freed after usage. Also more specialized iterators exists such as
 <a class="link" href="GstElement.html#gst-element-iterate-src-pads" title="gst_element_iterate_src_pads ()"><code class="function">gst_element_iterate_src_pads()</code></a> or <a class="link" href="GstElement.html#gst-element-iterate-sink-pads" title="gst_element_iterate_sink_pads ()"><code class="function">gst_element_iterate_sink_pads()</code></a>.
 </p>
+<p>
+The order of pads returned by the iterator will be the order in which
+the pads were added to the element.
+</p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -2052,6 +2049,10 @@
 <p>
 Retrieves an iterator of <em class="parameter"><code>element</code></em>'s sink pads.
 </p>
+<p>
+The order of pads returned by the iterator will be the order in which
+the pads were added to the element.
+</p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -2076,6 +2077,10 @@
 <p>
 Retrieves an iterator of <em class="parameter"><code>element</code></em>'s source pads.
 </p>
+<p>
+The order of pads returned by the iterator will be the order in which
+the pads were added to the element.
+</p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -2322,7 +2327,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.30</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2563,7 +2567,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2593,7 +2596,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3155,7 +3157,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.11</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3554,7 +3555,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.7</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3563,8 +3563,8 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> rate</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><a class="link" href="gstreamer-GstEvent.html#GstSeekFlags" title="enum GstSeekFlags"><span class="type">GstSeekFlags</span></a> flags</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstSeekType" title="enum GstSeekType"><span class="type">GstSeekType</span></a> cur_type</code></em>,
-                                                         <em class="parameter"><code><span class="type">gint64</span> cur</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstSeekType" title="enum GstSeekType"><span class="type">GstSeekType</span></a> start_type</code></em>,
+                                                         <em class="parameter"><code><span class="type">gint64</span> start</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstSeekType" title="enum GstSeekType"><span class="type">GstSeekType</span></a> stop_type</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> stop</code></em>);</pre>
 <p>
@@ -3595,12 +3595,12 @@
 <td>The optional seek flags.</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>cur_type</code></em> :</span></p></td>
-<td>The type and flags for the new current position</td>
+<td><p><span class="term"><em class="parameter"><code>start_type</code></em> :</span></p></td>
+<td>The type and flags for the new start position</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>cur</code></em> :</span></p></td>
-<td>The value of the new current position</td>
+<td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
+<td>The value of the new start position</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>stop_type</code></em> :</span></p></td>
diff --git a/docs/gst/html/GstElementFactory.html b/docs/gst/html/GstElementFactory.html
index 6b75503..8a91ee5 100644
--- a/docs/gst/html/GstElementFactory.html
+++ b/docs/gst/html/GstElementFactory.html
@@ -141,7 +141,7 @@
 <p>
 </p>
 <div class="example">
-<a name="idp17385776"></a><p class="title"><b>Example 6. Using an element factory</b></p>
+<a name="idp17551616"></a><p class="title"><b>Example 6. Using an element factory</b></p>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -163,11 +163,11 @@
 GstElement <span class="gtkdoc opt">*</span>src<span class="gtkdoc opt">;</span>
 GstElementFactory <span class="gtkdoc opt">*</span>srcfactory<span class="gtkdoc opt">;</span>
 
-<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-Gst.html#gst-init">gst_init</a></span> <span class="gtkdoc opt">(&amp;</span>argc<span class="gtkdoc opt">, &amp;</span>argv<span class="gtkdoc opt">);</span>
+<span class="function"><a href="../gstreamer-1.0/gstreamer-Gst.html#gst-init">gst_init</a></span> <span class="gtkdoc opt">(&amp;</span>argc<span class="gtkdoc opt">, &amp;</span>argv<span class="gtkdoc opt">);</span>
 
-srcfactory <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElementFactory.html#gst-element-factory-find">gst_element_factory_find</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;filesrc&quot;</span><span class="gtkdoc opt">);</span>
+srcfactory <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/GstElementFactory.html#gst-element-factory-find">gst_element_factory_find</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;filesrc&quot;</span><span class="gtkdoc opt">);</span>
 <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-return-if-fail">g_return_if_fail</a></span> <span class="gtkdoc opt">(</span>srcfactory <span class="gtkdoc opt">!=</span> NULL<span class="gtkdoc opt">);</span>
-src <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElementFactory.html#gst-element-factory-create">gst_element_factory_create</a></span> <span class="gtkdoc opt">(</span>srcfactory<span class="gtkdoc opt">,</span> <span class="string">&quot;src&quot;</span><span class="gtkdoc opt">);</span>
+src <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/GstElementFactory.html#gst-element-factory-create">gst_element_factory_create</a></span> <span class="gtkdoc opt">(</span>srcfactory<span class="gtkdoc opt">,</span> <span class="string">&quot;src&quot;</span><span class="gtkdoc opt">);</span>
 <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-return-if-fail">g_return_if_fail</a></span> <span class="gtkdoc opt">(</span>src <span class="gtkdoc opt">!=</span> NULL<span class="gtkdoc opt">);</span>
 <span class="gtkdoc opt">...</span></pre></td>
       </tr>
@@ -209,8 +209,7 @@
 <td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
 <td>
 <a class="link" href="GstPlugin.html" title="GstPlugin"><span class="type">GstPlugin</span></a> to register the element with, or NULL for
-a static element (note that passing NULL only works in GStreamer 0.10.13
-and later). <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+a static element. <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>
@@ -293,7 +292,7 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>factory,</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
 <td>a <a class="link" href="GstElementFactory.html" title="GstElementFactory"><span class="type">GstElementFactory</span></a>
 </td>
 </tr>
@@ -321,14 +320,15 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>factory,</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
 <td>a <a class="link" href="GstElementFactory.html" title="GstElementFactory"><span class="type">GstElementFactory</span></a>
 </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-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of key strings, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when
-there is no metadata. Free with <a href="http://library.gnome.org/devel/glib/unstable/glib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a> when no longer needd.</td>
+<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of key strings, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when there is no
+metadata. Free with <a href="http://library.gnome.org/devel/glib/unstable/glib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a> when no longer needed. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span>
+</td>
 </tr>
 </tbody>
 </table></div>
@@ -433,7 +433,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.14</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -526,7 +525,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -555,7 +553,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -584,7 +581,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -613,7 +609,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -654,7 +649,10 @@
 <p>
 Elements of any of the defined GST_ELEMENT_FACTORY_LIST types
 </p>
-<p class="since">Since 0.10.31</p>
+<p>
+Value: 562949953421311
+Type: GstElementFactoryListType
+</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -664,7 +662,10 @@
 <p>
 All sinks handling audio, video or image media types
 </p>
-<p class="since">Since 0.10.31</p>
+<p>
+Value: 3940649673949188
+Type: GstElementFactoryListType
+</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -674,7 +675,10 @@
 <p>
 All encoders handling audio media types
 </p>
-<p class="since">Since 0.10.31</p>
+<p>
+Value: 1125899906842626
+Type: GstElementFactoryListType
+</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -683,7 +687,10 @@
 <p>
 All elements used to 'decode' streams (decoders, demuxers, parsers, depayloaders)
 </p>
-<p class="since">Since 0.10.31</p>
+<p>
+Value: 353
+Type: GstElementFactoryListType
+</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -764,7 +771,10 @@
 media types. If you wish to do this, simply don't specify any
 GST_ELEMENT_FACTORY_TYPE_MEDIA flag.
 </p>
-<p class="since">Since 0.10.31</p>
+<p>
+Value: 18446462598732840960
+Type: GstElementFactoryListType
+</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -804,7 +814,10 @@
 <p>
 All encoders handling video or image media types
 </p>
-<p class="since">Since 0.10.31</p>
+<p>
+Value: 2814749767106562
+Type: GstElementFactoryListType
+</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -853,7 +866,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -887,7 +899,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -917,7 +928,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/gst/html/GstGhostPad.html b/docs/gst/html/GstGhostPad.html
index 45c2f0d..384d997 100644
--- a/docs/gst/html/GstGhostPad.html
+++ b/docs/gst/html/GstGhostPad.html
@@ -58,9 +58,6 @@
                                                          <em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *newtarget</code></em>);
 <a class="link" href="GstPad.html" title="GstPad"><span class="returnvalue">GstPad</span></a> *            <a class="link" href="GstGhostPad.html#gst-ghost-pad-get-target" title="gst_ghost_pad_get_target ()">gst_ghost_pad_get_target</a>            (<em class="parameter"><code><a class="link" href="GstGhostPad.html" title="GstGhostPad"><span class="type">GstGhostPad</span></a> *gpad</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="GstGhostPad.html#gst-ghost-pad-construct" title="gst_ghost_pad_construct ()">gst_ghost_pad_construct</a>             (<em class="parameter"><code><a class="link" href="GstGhostPad.html" title="GstGhostPad"><span class="type">GstGhostPad</span></a> *gpad</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="GstGhostPad.html#gst-ghost-pad-unlink-default" title="gst_ghost_pad_unlink_default ()">gst_ghost_pad_unlink_default</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#GstPadLinkReturn" title="enum GstPadLinkReturn"><span class="returnvalue">GstPadLinkReturn</span></a>    <a class="link" href="GstGhostPad.html#gst-ghost-pad-link-default" title="gst_ghost_pad_link_default ()">gst_ghost_pad_link_default</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="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *peer</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="GstGhostPad.html#gst-ghost-pad-activate-mode-default" title="gst_ghost_pad_activate_mode_default ()">gst_ghost_pad_activate_mode_default</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="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>,
@@ -71,12 +68,6 @@
                                                          <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 class="link" href="GstGhostPad.html#GstProxyPad"><span class="returnvalue">GstProxyPad</span></a> *       <a class="link" href="GstGhostPad.html#gst-proxy-pad-get-internal" title="gst_proxy_pad_get_internal ()">gst_proxy_pad_get_internal</a>          (<em class="parameter"><code><a class="link" href="GstGhostPad.html#GstProxyPad"><span class="type">GstProxyPad</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="GstGhostPad.html#gst-proxy-pad-event-default" title="gst_proxy_pad_event_default ()">gst_proxy_pad_event_default</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="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *parent</code></em>,
-                                                         <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="GstGhostPad.html#gst-proxy-pad-query-default" title="gst_proxy_pad_query_default ()">gst_proxy_pad_query_default</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="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *parent</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>);
 <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="returnvalue">GstIterator</span></a> *       <a class="link" href="GstGhostPad.html#gst-proxy-pad-iterate-internal-links-default" title="gst_proxy_pad_iterate_internal_links_default ()">gst_proxy_pad_iterate_internal_links_default</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="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *parent</code></em>);
@@ -91,7 +82,6 @@
                                                          <em class="parameter"><code><span class="type">guint64</span> offset</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>,
                                                          <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="GstGhostPad.html#gst-proxy-pad-unlink-default" title="gst_proxy_pad_unlink_default ()">gst_proxy_pad_unlink_default</a>        (<em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>);
 </pre>
 </div>
 <div class="refsect1">
@@ -254,7 +244,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.10</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -286,7 +275,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.10</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -371,51 +359,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-ghost-pad-unlink-default"></a><h3>gst_ghost_pad_unlink_default ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_ghost_pad_unlink_default        (<em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
-<p>
-Invoke the default unlink function of a ghost pad.
-</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 link.</td>
-</tr></tbody>
-</table></div>
-<p class="since">Since 0.10.36</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-ghost-pad-link-default"></a><h3>gst_ghost_pad_link_default ()</h3>
-<pre class="programlisting"><a class="link" href="GstPad.html#GstPadLinkReturn" title="enum GstPadLinkReturn"><span class="returnvalue">GstPadLinkReturn</span></a>    gst_ghost_pad_link_default          (<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="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *peer</code></em>);</pre>
-<p>
-Invoke the default link function of a ghost pad.
-</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 link.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>peer</code></em> :</span></p></td>
-<td>the <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> peer</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a class="link" href="GstPad.html#GstPadLinkReturn" title="enum GstPadLinkReturn"><span class="type">GstPadLinkReturn</span></a> of the operation</td>
-</tr>
-</tbody>
-</table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -520,73 +463,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-proxy-pad-event-default"></a><h3>gst_proxy_pad_event_default ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_proxy_pad_event_default         (<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="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *parent</code></em>,
-                                                         <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>
-Invoke the default event of the proxy pad.
-</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 <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> to push the event to.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>parent</code></em> :</span></p></td>
-<td>the parent of <em class="parameter"><code>pad</code></em> or NULL</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
-<td>the <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> to send to the pad. <span class="annotation">[<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"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TRUE if the event was handled.</td>
-</tr>
-</tbody>
-</table></div>
-<p class="since">Since 0.10.36</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-proxy-pad-query-default"></a><h3>gst_proxy_pad_query_default ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_proxy_pad_query_default         (<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="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *parent</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>);</pre>
-<p>
-Invoke the default query function of the proxy pad.
-</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 <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> to invoke the default query on.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>parent</code></em> :</span></p></td>
-<td>the parent of <em class="parameter"><code>pad</code></em> or NULL</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
-<td>the <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> to perform. <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>TRUE if the query could be performed.</td>
-</tr>
-</tbody>
-</table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -615,7 +491,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -649,7 +524,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -683,7 +557,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -693,22 +566,41 @@
                                                          <em class="parameter"><code><span class="type">guint64</span> offset</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>,
                                                          <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>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-proxy-pad-unlink-default"></a><h3>gst_proxy_pad_unlink_default ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_proxy_pad_unlink_default        (<em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
 <p>
-Invoke the default unlink function of the proxy pad.
+Invoke the default getrange function of the proxy pad.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
-<tbody><tr>
+<tbody>
+<tr>
 <td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
-<td>a <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> to unlink</td>
-</tr></tbody>
+<td>a src <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>, returns <a class="link" href="GstPad.html#GST-FLOW-ERROR:CAPS"><span class="type">GST_FLOW_ERROR</span></a> if not.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>parent</code></em> :</span></p></td>
+<td>the parent of <em class="parameter"><code>pad</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>offset</code></em> :</span></p></td>
+<td>The start offset of the buffer</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
+<td>The length of the buffer</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
+<td>a pointer to hold the <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>,
+returns <a class="link" href="GstPad.html#GST-FLOW-ERROR:CAPS"><span class="type">GST_FLOW_ERROR</span></a> if <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym> callee-allocates]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a <a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> from the pad.</td>
+</tr>
+</tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/gst/html/GstObject.html b/docs/gst/html/GstObject.html
index 049fed9..2373aa6 100644
--- a/docs/gst/html/GstObject.html
+++ b/docs/gst/html/GstObject.html
@@ -132,6 +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="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>
@@ -185,7 +186,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp27569216"></a><h3>controlled properties</h3>
+<a name="idp29641840"></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,7 +733,7 @@
 <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
+(allow-none): a set of user-specified properties to exclude or
 NULL to show all changes.</td>
 </tr>
 </tbody>
@@ -852,11 +853,12 @@
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
-<td>a <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> to reference</td>
+<td>a <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> to reference. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> Gst.Object]</span>
+</td>
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>A pointer to <em class="parameter"><code>object</code></em>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+<td>A pointer to <em class="parameter"><code>object</code></em>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> Gst.Object]</span>
 </td>
 </tr>
 </tbody>
@@ -879,7 +881,8 @@
 <col align="left" valign="top">
 <tbody><tr>
 <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
-<td>a <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> to unreference</td>
+<td>a <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> to unreference. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> Gst.Object]</span>
+</td>
 </tr></tbody>
 </table></div>
 </div>
@@ -1000,7 +1003,7 @@
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_object_sync_values              (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *object</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>);</pre>
 <p>
-Sets the properties of the object, according to the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="type">GstControlSources</span></a> that
+Sets the properties of the object, according to the <a href="../gstreamer-1.0/GstControlSource.html"><span class="type">GstControlSources</span></a> that
 (maybe) handle them and for the given timestamp.
 </p>
 <p>
diff --git a/docs/gst/html/GstPad.html b/docs/gst/html/GstPad.html
index 5487d34..002bf5f 100644
--- a/docs/gst/html/GstPad.html
+++ b/docs/gst/html/GstPad.html
@@ -76,8 +76,6 @@
 <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="GstPad.html#gst-pad-get-allowed-caps" title="gst_pad_get_allowed_caps ()">gst_pad_get_allowed_caps</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="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="GstPad.html#gst-pad-get-current-caps" title="gst_pad_get_current_caps ()">gst_pad_get_current_caps</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="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="GstPad.html#gst-pad-get-pad-template-caps" title="gst_pad_get_pad_template_caps ()">gst_pad_get_pad_template_caps</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-set-caps" title="gst_pad_set_caps ()">gst_pad_set_caps</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="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>);
 <a class="link" href="GstPad.html" title="GstPad"><span class="returnvalue">GstPad</span></a> *            <a class="link" href="GstPad.html#gst-pad-get-peer" title="gst_pad_get_peer ()">gst_pad_get_peer</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-use-fixed-caps" title="gst_pad_use_fixed_caps ()">gst_pad_use_fixed_caps</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-has-current-caps" title="gst_pad_has_current_caps ()">gst_pad_has_current_caps</a>            (<em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>);
@@ -301,6 +299,9 @@
 <span class="returnvalue">void</span>                <a class="link" href="GstPad.html#gst-pad-set-element-private" title="gst_pad_set_element_private ()">gst_pad_set_element_private</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> priv</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="GstPad.html#gst-pad-get-element-private" title="gst_pad_get_element_private ()">gst_pad_get_element_private</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#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#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>,
@@ -313,7 +314,8 @@
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstBufferList.html#GstBufferList" title="GstBufferList"><span class="type">GstBufferList</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="GstPad.html#gst-pad-start-task" title="gst_pad_start_task ()">gst_pad_start_task</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="GstTask.html#GstTaskFunction" title="GstTaskFunction ()"><span class="type">GstTaskFunction</span></a> func</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</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>);
 <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-pause-task" title="gst_pad_pause_task ()">gst_pad_pause_task</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-stop-task" title="gst_pad_stop_task ()">gst_pad_stop_task</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-set-active" title="gst_pad_set_active ()">gst_pad_set_active</a>                  (<em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>,
@@ -510,6 +512,7 @@
   GST_PAD_FLAG_FIXED_CAPS       = (GST_OBJECT_FLAG_LAST &lt;&lt; 7),
   GST_PAD_FLAG_PROXY_CAPS       = (GST_OBJECT_FLAG_LAST &lt;&lt; 8),
   GST_PAD_FLAG_PROXY_ALLOCATION = (GST_OBJECT_FLAG_LAST &lt;&lt; 9),
+  GST_PAD_FLAG_PROXY_SCHEDULING = (GST_OBJECT_FLAG_LAST &lt;&lt; 10),
   /* padding */
   GST_PAD_FLAG_LAST        = (GST_OBJECT_FLAG_LAST &lt;&lt; 16)
 } GstPadFlags;
@@ -580,6 +583,13 @@
 </td>
 </tr>
 <tr>
+<td><p><a name="GST-PAD-FLAG-PROXY-SCHEDULING:CAPS"></a><span class="term"><code class="literal">GST_PAD_FLAG_PROXY_SCHEDULING</code></span></p></td>
+<td>the default query handler will forward
+                     scheduling queries to the internally linked pads
+                     instead of discarding them.
+</td>
+</tr>
+<tr>
 <td><p><a name="GST-PAD-FLAG-LAST:CAPS"></a><span class="term"><code class="literal">GST_PAD_FLAG_LAST</code></span></p></td>
 <td>offset to define more flags
 </td>
@@ -736,7 +746,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.30</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -747,7 +756,6 @@
 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>
-<p class="since">Since 0.10.30</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -780,28 +788,28 @@
 </p>
 <p>
 Note that the custom return values should not be exposed outside of the
-element scope and are available since 0.10.7.
+element scope.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
 <tr>
 <td><p><a name="GST-FLOW-CUSTOM-SUCCESS-2:CAPS"></a><span class="term"><code class="literal">GST_FLOW_CUSTOM_SUCCESS_2</code></span></p></td>
-<td>Pre-defined custom success code. Since 0.10.29.
+<td>Pre-defined custom success code.
 </td>
 </tr>
 <tr>
 <td><p><a name="GST-FLOW-CUSTOM-SUCCESS-1:CAPS"></a><span class="term"><code class="literal">GST_FLOW_CUSTOM_SUCCESS_1</code></span></p></td>
 <td>Pre-defined custom success code (define your
                               custom success code to this to avoid compiler
-                              warnings). Since 0.10.29.
+                              warnings).
 </td>
 </tr>
 <tr>
 <td><p><a name="GST-FLOW-CUSTOM-SUCCESS:CAPS"></a><span class="term"><code class="literal">GST_FLOW_CUSTOM_SUCCESS</code></span></p></td>
 <td>Elements can use values starting from
                               this (and higher) to define custom success
-                              codes. Since 0.10.7.
+                              codes.
 </td>
 </tr>
 <tr>
@@ -845,19 +853,18 @@
 <td><p><a name="GST-FLOW-CUSTOM-ERROR:CAPS"></a><span class="term"><code class="literal">GST_FLOW_CUSTOM_ERROR</code></span></p></td>
 <td>Elements can use values starting from
                               this (and lower) to define custom error codes.
-                              Since 0.10.7.
 </td>
 </tr>
 <tr>
 <td><p><a name="GST-FLOW-CUSTOM-ERROR-1:CAPS"></a><span class="term"><code class="literal">GST_FLOW_CUSTOM_ERROR_1</code></span></p></td>
 <td>Pre-defined custom error code (define your
                               custom error code to this to avoid compiler
-                              warnings). Since 0.10.29.
+                              warnings).
 </td>
 </tr>
 <tr>
 <td><p><a name="GST-FLOW-CUSTOM-ERROR-2:CAPS"></a><span class="term"><code class="literal">GST_FLOW_CUSTOM_ERROR_2</code></span></p></td>
-<td>Pre-defined custom error code. Since 0.10.29.
+<td>Pre-defined custom error code.
 </td>
 </tr>
 </tbody>
@@ -1080,7 +1087,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.30</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1238,39 +1244,6 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-pad-set-caps"></a><h3>gst_pad_set_caps ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_pad_set_caps                    (<em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>);</pre>
-<p>
-Sets the capabilities of this pad. The caps must be fixed. Any previous
-caps on the pad will be unreffed. This function refs the caps so you should
-unref if as soon as you don't need it anymore.
-It is possible to set NULL caps, which will make the pad unnegotiated
-again.
-</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  <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> to set the capabilities of.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
-<td>a <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> to set. <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>TRUE if the caps could be set. FALSE if the caps were not fixed
-or bad parameters were provided to this function.
-MT safe.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
 <a name="gst-pad-get-peer"></a><h3>gst_pad_get_peer ()</h3>
 <pre class="programlisting"><a class="link" href="GstPad.html" title="GstPad"><span class="returnvalue">GstPad</span></a> *            gst_pad_get_peer                    (<em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
 <p>
@@ -1299,12 +1272,13 @@
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_pad_use_fixed_caps              (<em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
 <p>
 A helper function you can use that sets the FIXED_CAPS flag
-This way the default getcaps function will always return the negotiated caps
+This way the default CAPS query will always return the negotiated caps
 or in case the pad is not negotiated, the padtemplate caps.
 </p>
 <p>
-Use this function on a pad that, once <a class="link" href="GstPad.html#gst-pad-set-caps" title="gst_pad_set_caps ()"><code class="function">gst_pad_set_caps()</code></a> has been called
-on it, cannot be renegotiated to something else.
+The negotiated caps are the caps of the last CAPS event that passed on the
+pad. Use this function on a pad that, once it negotiated to a CAPS, cannot
+be renegotiated to something else.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -1907,7 +1881,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.11</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2051,6 +2024,23 @@
 <a name="gst-pad-set-chain-function"></a><h3>gst_pad_set_chain_function()</h3>
 <pre class="programlisting">#define gst_pad_set_chain_function(p,f)         gst_pad_set_chain_function_full((p),(f),NULL,NULL)
 </pre>
+<p>
+Calls <a class="link" href="GstPad.html#gst-pad-set-chain-function-full" title="gst_pad_set_chain_function_full ()"><code class="function">gst_pad_set_chain_function_full()</code></a> with NULL for the user_data and
+notify.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
+<td>a sink <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>f</code></em> :</span></p></td>
+<td>the <a class="link" href="GstPad.html#GstPadChainFunction" title="GstPadChainFunction ()"><span class="type">GstPadChainFunction</span></a> to set.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2135,6 +2125,23 @@
 <a name="gst-pad-set-chain-list-function"></a><h3>gst_pad_set_chain_list_function()</h3>
 <pre class="programlisting">#define gst_pad_set_chain_list_function(p,f)    gst_pad_set_chain_list_function_full((p),(f),NULL,NULL)
 </pre>
+<p>
+Calls <a class="link" href="GstPad.html#gst-pad-set-chain-list-function-full" title="gst_pad_set_chain_list_function_full ()"><code class="function">gst_pad_set_chain_list_function_full()</code></a> with NULL for the user_data and
+notify.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
+<td>a sink <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>f</code></em> :</span></p></td>
+<td>the <a class="link" href="GstPad.html#GstPadChainListFunction" title="GstPadChainListFunction ()"><span class="type">GstPadChainListFunction</span></a> to set.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2171,7 +2178,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2292,6 +2298,23 @@
 <a name="gst-pad-set-getrange-function"></a><h3>gst_pad_set_getrange_function()</h3>
 <pre class="programlisting">#define gst_pad_set_getrange_function(p,f)      gst_pad_set_getrange_function_full((p),(f),NULL,NULL)
 </pre>
+<p>
+Calls <a class="link" href="GstPad.html#gst-pad-set-getrange-function-full" title="gst_pad_set_getrange_function_full ()"><code class="function">gst_pad_set_getrange_function_full()</code></a> with NULL for the user_data and
+notify.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>p</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>f</code></em> :</span></p></td>
+<td>the <a class="link" href="GstPad.html#GstPadGetRangeFunction" title="GstPadGetRangeFunction ()"><span class="type">GstPadGetRangeFunction</span></a> to set.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2416,6 +2439,23 @@
 <a name="gst-pad-set-event-function"></a><h3>gst_pad_set_event_function()</h3>
 <pre class="programlisting">#define gst_pad_set_event_function(p,f)         gst_pad_set_event_function_full((p),(f),NULL,NULL)
 </pre>
+<p>
+Calls <a class="link" href="GstPad.html#gst-pad-set-event-function-full" title="gst_pad_set_event_function_full ()"><code class="function">gst_pad_set_event_function_full()</code></a> with NULL for the user_data and
+notify.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
+<td>a <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> of either direction.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>f</code></em> :</span></p></td>
+<td>the <a class="link" href="GstPad.html#GstPadEventFunction" title="GstPadEventFunction ()"><span class="type">GstPadEventFunction</span></a> to set.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2488,6 +2528,23 @@
 <a name="gst-pad-set-link-function"></a><h3>gst_pad_set_link_function()</h3>
 <pre class="programlisting">#define gst_pad_set_link_function(p,f)          gst_pad_set_link_function_full((p),(f),NULL,NULL)
 </pre>
+<p>
+Calls <a class="link" href="GstPad.html#gst-pad-set-link-function-full" title="gst_pad_set_link_function_full ()"><code class="function">gst_pad_set_link_function_full()</code></a> with NULL
+for the user_data and notify.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
+<td>a <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>f</code></em> :</span></p></td>
+<td>the <a class="link" href="GstPad.html#GstPadLinkFunction" title="GstPadLinkFunction ()"><span class="type">GstPadLinkFunction</span></a> to set.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2566,6 +2623,23 @@
 <a name="gst-pad-set-unlink-function"></a><h3>gst_pad_set_unlink_function()</h3>
 <pre class="programlisting">#define gst_pad_set_unlink_function(p,f)        gst_pad_set_unlink_function_full((p),(f),NULL,NULL)
 </pre>
+<p>
+Calls <a class="link" href="GstPad.html#gst-pad-set-unlink-function-full" title="gst_pad_set_unlink_function_full ()"><code class="function">gst_pad_set_unlink_function_full()</code></a> with NULL
+for the user_data and notify.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
+<td>a <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>f</code></em> :</span></p></td>
+<td>the <a class="link" href="GstPad.html#GstPadUnlinkFunction" title="GstPadUnlinkFunction ()"><span class="type">GstPadUnlinkFunction</span></a> to set.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2685,6 +2759,23 @@
 <a name="gst-pad-set-activate-function"></a><h3>gst_pad_set_activate_function()</h3>
 <pre class="programlisting">#define gst_pad_set_activate_function(p,f)      gst_pad_set_activate_function_full((p),(f),NULL,NULL)
 </pre>
+<p>
+Calls <a class="link" href="GstPad.html#gst-pad-set-activate-function-full" title="gst_pad_set_activate_function_full ()"><code class="function">gst_pad_set_activate_function_full()</code></a> with NULL for the user_data and
+notify.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
+<td>a <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>f</code></em> :</span></p></td>
+<td>the <a class="link" href="GstPad.html#GstPadActivateFunction" title="GstPadActivateFunction ()"><span class="type">GstPadActivateFunction</span></a> to set.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2760,6 +2851,23 @@
 <a name="gst-pad-set-activatemode-function"></a><h3>gst_pad_set_activatemode_function()</h3>
 <pre class="programlisting">#define gst_pad_set_activatemode_function(p,f)  gst_pad_set_activatemode_function_full((p),(f),NULL,NULL)
 </pre>
+<p>
+Calls <a class="link" href="GstPad.html#gst-pad-set-activatemode-function-full" title="gst_pad_set_activatemode_function_full ()"><code class="function">gst_pad_set_activatemode_function_full()</code></a> with NULL for the user_data and
+notify.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
+<td>a <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>f</code></em> :</span></p></td>
+<td>the <a class="link" href="GstPad.html#GstPadActivateModeFunction" title="GstPadActivateModeFunction ()"><span class="type">GstPadActivateModeFunction</span></a> to set.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2993,7 +3101,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3257,7 +3364,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3436,7 +3542,7 @@
 <p>
 Gets the capabilities this pad can produce or consume.
 Note that this method doesn't necessarily return the caps set by
-<a class="link" href="GstPad.html#gst-pad-set-caps" title="gst_pad_set_caps ()"><code class="function">gst_pad_set_caps()</code></a> - use <a class="link" href="GstPad.html#gst-pad-get-current-caps" title="gst_pad_get_current_caps ()"><code class="function">gst_pad_get_current_caps()</code></a> for that instead.
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-set-caps"><code class="function">gst_pad_set_caps()</code></a> - use <a class="link" href="GstPad.html#gst-pad-get-current-caps" title="gst_pad_get_current_caps ()"><code class="function">gst_pad_get_current_caps()</code></a> for that instead.
 gst_pad_query_caps returns all possible caps a pad can operate with, using
 the pad's CAPS query function, If the query fails, this function will return
 <em class="parameter"><code>filter</code></em>, if not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>, otherwise ANY.
@@ -3641,8 +3747,9 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the caps of the peer pad with incremented ref-count. This function
-returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when there is no peer pad.</td>
+<td>the caps of the peer pad with incremented ref-count. When there is
+no peer pad, this function returns <em class="parameter"><code>filter</code></em> or, when <em class="parameter"><code>filter</code></em> is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, ANY
+caps.</td>
 </tr>
 </tbody>
 </table></div>
@@ -3652,6 +3759,23 @@
 <a name="gst-pad-set-query-function"></a><h3>gst_pad_set_query_function()</h3>
 <pre class="programlisting">#define gst_pad_set_query_function(p,f)   gst_pad_set_query_function_full((p),(f),NULL,NULL)
 </pre>
+<p>
+Calls <a class="link" href="GstPad.html#gst-pad-set-query-function-full" title="gst_pad_set_query_function_full ()"><code class="function">gst_pad_set_query_function_full()</code></a> with NULL for the user_data and
+notify.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
+<td>a <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> of either direction.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>f</code></em> :</span></p></td>
+<td>the <a class="link" href="GstPad.html#GstPadQueryFunction" title="GstPadQueryFunction ()"><span class="type">GstPadQueryFunction</span></a> to set.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3724,6 +3848,23 @@
 <a name="gst-pad-set-iterate-internal-links-function"></a><h3>gst_pad_set_iterate_internal_links_function()</h3>
 <pre class="programlisting">#define gst_pad_set_iterate_internal_links_function(p,f) gst_pad_set_iterate_internal_links_function_full((p),(f),NULL,NULL)
 </pre>
+<p>
+Calls <a class="link" href="GstPad.html#gst-pad-set-iterate-internal-links-function-full" title="gst_pad_set_iterate_internal_links_function_full ()"><code class="function">gst_pad_set_iterate_internal_links_function_full()</code></a> with NULL
+for the user_data and notify.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
+<td>a <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> of either direction.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>f</code></em> :</span></p></td>
+<td>the <a class="link" href="GstPad.html#GstPadIterIntLinkFunction" title="GstPadIterIntLinkFunction ()"><span class="type">GstPadIterIntLinkFunction</span></a> to set.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3758,7 +3899,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.21</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3785,8 +3925,7 @@
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>a new <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> that will iterate over all pads that are
 linked to the given pad on the inside of the parent element.
-the caller must call <a class="link" href="gstreamer-GstIterator.html#gst-iterator-free" title="gst_iterator_free ()"><code class="function">gst_iterator_free()</code></a> after usage.
-Since 0.10.21</td>
+the caller must call <a class="link" href="gstreamer-GstIterator.html#gst-iterator-free" title="gst_iterator_free ()"><code class="function">gst_iterator_free()</code></a> after usage.</td>
 </tr>
 </tbody>
 </table></div>
@@ -3822,7 +3961,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.21</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3857,7 +3995,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.21</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3908,6 +4045,13 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="gst-pad-create-stream-id"></a><h3>gst_pad_create_stream_id ()</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            (<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>
+</div>
+<hr>
+<div class="refsect2">
 <a name="GstPadForwardFunction"></a><h3>GstPadForwardFunction ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            (*GstPadForwardFunction)            (<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>);</pre>
@@ -3957,7 +4101,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>forward</code></em> :</span></p></td>
-<td>a <a class="link" href="GstPad.html#GstPadForwardFunction" title="GstPadForwardFunction ()"><span class="type">GstPadForwardFunction</span></a>
+<td>a <a class="link" href="GstPad.html#GstPadForwardFunction" title="GstPadForwardFunction ()"><span class="type">GstPadForwardFunction</span></a>. <span class="annotation">[<acronym title="The callback is valid only during the call to the method."><span class="acronym">scope call</span></acronym>]</span>
 </td>
 </tr>
 <tr>
@@ -4066,16 +4210,16 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-pad-start-task"></a><h3>gst_pad_start_task ()</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_start_task                  (<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="GstTask.html#GstTaskFunction" title="GstTaskFunction ()"><span class="type">GstTaskFunction</span></a> func</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
+                                                         <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>
-Starts a task that repeatedly calls <em class="parameter"><code>func</code></em> with <em class="parameter"><code>data</code></em>. This function
+Starts a task that repeatedly calls <em class="parameter"><code>func</code></em> with <em class="parameter"><code>user_data</code></em>. This function
 is mostly used in pad activation functions to start the dataflow.
 The <a class="link" href="GstPad.html#GST-PAD-STREAM-LOCK:CAPS" title="GST_PAD_STREAM_LOCK()"><span class="type">GST_PAD_STREAM_LOCK</span></a> of <em class="parameter"><code>pad</code></em> will automatically be acquired
 before <em class="parameter"><code>func</code></em> is called.
@@ -4092,8 +4236,12 @@
 <td>the task function to call</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
-<td>data passed to the task function</td>
+<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
+<td>user data passed to the task function</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
+<td>called when <em class="parameter"><code>user_data</code></em> is no longer referenced</td>
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
diff --git a/docs/gst/html/GstPadTemplate.html b/docs/gst/html/GstPadTemplate.html
index f7527bb..8a99ed0 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="idp12278624"></a><p class="title"><b>Example 11. Create a pad from a padtemplate</b></p>
+<a name="idp18030608"></a><p class="title"><b>Example 11. Create a pad from a padtemplate</b></p>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -155,11 +155,11 @@
 16
 17</pre></td>
         <td class="listing_code"><pre class="programlisting">GstStaticPadTemplate my_template <span class="gtkdoc opt">=</span>
-<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GST-STATIC-PAD-TEMPLATE:CAPS">GST_STATIC_PAD_TEMPLATE</a></span> <span class="gtkdoc opt">(</span>
+<span class="function"><a href="../gstreamer-1.0/GstPadTemplate.html#GST-STATIC-PAD-TEMPLATE:CAPS">GST_STATIC_PAD_TEMPLATE</a></span> <span class="gtkdoc opt">(</span>
   <span class="string">&quot;sink&quot;</span><span class="gtkdoc opt">,</span>          <span class="gtkdoc slc">// the name of the pad</span>
   GST_PAD_SINK<span class="gtkdoc opt">,</span>    <span class="gtkdoc slc">// the direction of the pad</span>
   GST_PAD_ALWAYS<span class="gtkdoc opt">,</span>  <span class="gtkdoc slc">// when this pad will be present</span>
-  <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GST-STATIC-CAPS">GST_STATIC_CAPS</a></span> <span class="gtkdoc opt">(</span>        <span class="gtkdoc slc">// the capabilities of the padtemplate</span>
+  <span class="function"><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GST-STATIC-CAPS">GST_STATIC_CAPS</a></span> <span class="gtkdoc opt">(</span>        <span class="gtkdoc slc">// the capabilities of the padtemplate</span>
     <span class="string">&quot;audio/x-raw, &quot;</span>
       <span class="string">&quot;channels = (int) [ 1, 6 ]&quot;</span>
   <span class="gtkdoc opt">)</span>
@@ -168,7 +168,7 @@
 <span class="function">my_method</span> <span class="gtkdoc opt">(</span><span class="gtkdoc kwb">void</span><span class="gtkdoc opt">)</span>
 <span class="gtkdoc opt">{</span>
   GstPad <span class="gtkdoc opt">*</span>pad<span class="gtkdoc opt">;</span>
-  pad <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-new-from-static-template">gst_pad_new_from_static_template</a></span> <span class="gtkdoc opt">(&amp;</span>my_template<span class="gtkdoc opt">,</span> <span class="string">&quot;sink&quot;</span><span class="gtkdoc opt">);</span>
+  pad <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/GstPad.html#gst-pad-new-from-static-template">gst_pad_new_from_static_template</a></span> <span class="gtkdoc opt">(&amp;</span>my_template<span class="gtkdoc opt">,</span> <span class="string">&quot;sink&quot;</span><span class="gtkdoc opt">);</span>
   <span class="gtkdoc opt">...</span>
 <span class="gtkdoc opt">}</span></pre></td>
       </tr>
@@ -200,8 +200,8 @@
 <span class="gtkdoc opt">{</span>
   GstElementClass <span class="gtkdoc opt">*</span>gstelement_class <span class="gtkdoc opt">=</span> <span class="function">GST_ELEMENT_CLASS</span> <span class="gtkdoc opt">(</span>klass<span class="gtkdoc opt">);</span>
 
-  <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-class-add-pad-template">gst_element_class_add_pad_template</a></span> <span class="gtkdoc opt">(</span>gstelement_class<span class="gtkdoc opt">,</span>
-      <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#gst-static-pad-template-get">gst_static_pad_template_get</a></span> <span class="gtkdoc opt">(&amp;</span>my_template<span class="gtkdoc opt">));</span>
+  <span class="function"><a href="../gstreamer-1.0/GstElement.html#gst-element-class-add-pad-template">gst_element_class_add_pad_template</a></span> <span class="gtkdoc opt">(</span>gstelement_class<span class="gtkdoc opt">,</span>
+      <span class="function"><a href="../gstreamer-1.0/GstPadTemplate.html#gst-static-pad-template-get">gst_static_pad_template_get</a></span> <span class="gtkdoc opt">(&amp;</span>my_template<span class="gtkdoc opt">));</span>
 <span class="gtkdoc opt">}</span></pre></td>
       </tr>
     </tbody>
@@ -540,7 +540,6 @@
 <p>
 The capabilities of the pad described by the pad template.
 </p>
-<p class="since">Since 0.10.21</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -550,7 +549,6 @@
 The direction of the pad described by the pad template.
 </p>
 <p>Default value: GST_PAD_UNKNOWN</p>
-<p class="since">Since 0.10.21</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -560,7 +558,6 @@
 The name template of the pad template.
 </p>
 <p>Default value: NULL</p>
-<p class="since">Since 0.10.21</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -570,7 +567,6 @@
 When the pad described by the pad template will become available.
 </p>
 <p>Default value: GST_PAD_ALWAYS</p>
-<p class="since">Since 0.10.21</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/gst/html/GstPipeline.html b/docs/gst/html/GstPipeline.html
index 83cd819..3e59293 100644
--- a/docs/gst/html/GstPipeline.html
+++ b/docs/gst/html/GstPipeline.html
@@ -413,7 +413,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -439,7 +438,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -474,7 +472,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.5</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -498,7 +495,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.5</p>
 </div>
 </div>
 <div class="refsect1">
@@ -512,7 +508,6 @@
 <a class="link" href="GstPipeline.html#gst-pipeline-set-auto-flush-bus" title="gst_pipeline_set_auto_flush_bus ()"><code class="function">gst_pipeline_set_auto_flush_bus()</code></a> for more information on this option.
 </p>
 <p>Default value: TRUE</p>
-<p class="since">Since 0.10.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -524,7 +519,6 @@
 see <a class="link" href="GstPipeline.html#gst-pipeline-set-delay" title="gst_pipeline_set_delay ()"><code class="function">gst_pipeline_set_delay()</code></a> for more information on this option.
 </p>
 <p>Default value: 0</p>
-<p class="since">Since 0.10.5</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/gst/html/GstPlugin.html b/docs/gst/html/GstPlugin.html
index ae5d1bb..49fc9c9 100644
--- a/docs/gst/html/GstPlugin.html
+++ b/docs/gst/html/GstPlugin.html
@@ -292,7 +292,7 @@
 subset thereof), or NULL. Allowed are the following formats:
 "YYYY-MM-DD" and "YYY-MM-DDTHH:MMZ" (with 'T' a separator and 'Z'
 indicating UTC/Zulu time). This field should be set via the
-GST_PACKAGE_RELEASE_DATETIME preprocessor macro (Since: 0.10.31)</td>
+GST_PACKAGE_RELEASE_DATETIME preprocessor macro.</td>
 </tr>
 </tbody>
 </table></div>
@@ -352,7 +352,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -694,7 +693,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -722,7 +720,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -902,7 +899,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.16</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -989,7 +985,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1059,7 +1054,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1117,7 +1111,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1176,7 +1169,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/gst/html/GstPluginFeature.html b/docs/gst/html/GstPluginFeature.html
index d1f0d10..719e65b 100644
--- a/docs/gst/html/GstPluginFeature.html
+++ b/docs/gst/html/GstPluginFeature.html
@@ -304,9 +304,9 @@
 6</pre></td>
         <td class="listing_code"><pre class="programlisting">GstPluginFeature <span class="gtkdoc opt">*</span>loaded_feature<span class="gtkdoc opt">;</span>
 
-loaded_feature <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPluginFeature.html#gst-plugin-feature-load">gst_plugin_feature_load</a></span> <span class="gtkdoc opt">(</span>feature<span class="gtkdoc opt">);</span>
+loaded_feature <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/GstPluginFeature.html#gst-plugin-feature-load">gst_plugin_feature_load</a></span> <span class="gtkdoc opt">(</span>feature<span class="gtkdoc opt">);</span>
 <span class="gtkdoc slc">// presumably, we're no longer interested in the potentially-unloaded feature</span>
-<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html#gst-object-unref">gst_object_unref</a></span> <span class="gtkdoc opt">(</span>feature<span class="gtkdoc opt">);</span>
+<span class="function"><a href="../gstreamer-1.0/GstObject.html#gst-object-unref">gst_object_unref</a></span> <span class="gtkdoc opt">(</span>feature<span class="gtkdoc opt">);</span>
 feature <span class="gtkdoc opt">=</span> loaded_feature<span class="gtkdoc opt">;</span></pre></td>
       </tr>
     </tbody>
@@ -356,7 +356,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -392,7 +391,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -465,7 +463,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/gst/html/GstPreset.html b/docs/gst/html/GstPreset.html
index 7156576..d8effe2 100644
--- a/docs/gst/html/GstPreset.html
+++ b/docs/gst/html/GstPreset.html
@@ -198,7 +198,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -223,7 +222,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -253,7 +251,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -284,7 +281,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -320,7 +316,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -350,7 +345,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -392,7 +386,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -435,7 +428,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -460,7 +452,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -477,7 +468,6 @@
 <td>the directory or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, don't free or modify the string</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 </div>
 </div>
diff --git a/docs/gst/html/GstRegistry.html b/docs/gst/html/GstRegistry.html
index be73d74..c4e23ed 100644
--- a/docs/gst/html/GstRegistry.html
+++ b/docs/gst/html/GstRegistry.html
@@ -265,7 +265,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/gst/html/GstTagSetter.html b/docs/gst/html/GstTagSetter.html
index f672c21..44e2955 100644
--- a/docs/gst/html/GstTagSetter.html
+++ b/docs/gst/html/GstTagSetter.html
@@ -149,17 +149,17 @@
  
 tagsetter <span class="gtkdoc opt">=</span> <span class="function">GST_TAG_SETTER</span> <span class="gtkdoc opt">(</span>element<span class="gtkdoc opt">);</span>
  
-merge_mode <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagSetter.html#gst-tag-setter-get-tag-merge-mode">gst_tag_setter_get_tag_merge_mode</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">);</span>
-application_tags <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagSetter.html#gst-tag-setter-get-tag-list">gst_tag_setter_get_tag_list</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">);</span>
+merge_mode <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/GstTagSetter.html#gst-tag-setter-get-tag-merge-mode">gst_tag_setter_get_tag_merge_mode</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">);</span>
+application_tags <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/GstTagSetter.html#gst-tag-setter-get-tag-list">gst_tag_setter_get_tag_list</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">);</span>
 event_tags <span class="gtkdoc opt">= (</span><span class="gtkdoc kwb">const</span> GstTagList <span class="gtkdoc opt">*)</span> element<span class="gtkdoc opt">-&gt;</span>event_tags<span class="gtkdoc opt">;</span>
  
-<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-LOG-OBJECT:CAPS">GST_LOG_OBJECT</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">,</span> <span class="string">&quot;merging tags, merge mode = %d&quot;</span><span class="gtkdoc opt">,</span> merge_mode<span class="gtkdoc opt">);</span>
-<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-LOG-OBJECT:CAPS">GST_LOG_OBJECT</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">,</span> <span class="string">&quot;event tags: %&quot;</span> GST_PTR_FORMAT<span class="gtkdoc opt">,</span> event_tags<span class="gtkdoc opt">);</span>
-<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-LOG-OBJECT:CAPS">GST_LOG_OBJECT</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">,</span> <span class="string">&quot;set   tags: %&quot;</span> GST_PTR_FORMAT<span class="gtkdoc opt">,</span> application_tags<span class="gtkdoc opt">);</span>
+<span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-LOG-OBJECT:CAPS">GST_LOG_OBJECT</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">,</span> <span class="string">&quot;merging tags, merge mode = %d&quot;</span><span class="gtkdoc opt">,</span> merge_mode<span class="gtkdoc opt">);</span>
+<span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-LOG-OBJECT:CAPS">GST_LOG_OBJECT</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">,</span> <span class="string">&quot;event tags: %&quot;</span> GST_PTR_FORMAT<span class="gtkdoc opt">,</span> event_tags<span class="gtkdoc opt">);</span>
+<span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-LOG-OBJECT:CAPS">GST_LOG_OBJECT</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">,</span> <span class="string">&quot;set   tags: %&quot;</span> GST_PTR_FORMAT<span class="gtkdoc opt">,</span> application_tags<span class="gtkdoc opt">);</span>
  
-result <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#gst-tag-list-merge">gst_tag_list_merge</a></span> <span class="gtkdoc opt">(</span>application_tags<span class="gtkdoc opt">,</span> event_tags<span class="gtkdoc opt">,</span> merge_mode<span class="gtkdoc opt">);</span>
+result <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstTagList.html#gst-tag-list-merge">gst_tag_list_merge</a></span> <span class="gtkdoc opt">(</span>application_tags<span class="gtkdoc opt">,</span> event_tags<span class="gtkdoc opt">,</span> merge_mode<span class="gtkdoc opt">);</span>
  
-<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-LOG-OBJECT:CAPS">GST_LOG_OBJECT</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">,</span> <span class="string">&quot;final tags: %&quot;</span> GST_PTR_FORMAT<span class="gtkdoc opt">,</span> result<span class="gtkdoc opt">);</span></pre></td>
+<span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-LOG-OBJECT:CAPS">GST_LOG_OBJECT</a></span> <span class="gtkdoc opt">(</span>tagsetter<span class="gtkdoc opt">,</span> <span class="string">&quot;final tags: %&quot;</span> GST_PTR_FORMAT<span class="gtkdoc opt">,</span> result<span class="gtkdoc opt">);</span></pre></td>
       </tr>
     </tbody>
   </table>
@@ -218,7 +218,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -314,7 +313,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/gst/html/GstTask.html b/docs/gst/html/GstTask.html
index bbb36b5..28b3365 100644
--- a/docs/gst/html/GstTask.html
+++ b/docs/gst/html/GstTask.html
@@ -43,7 +43,7 @@
 #include &lt;gst/gst.h&gt;
 
 struct              <a class="link" href="GstTask.html#GstTask-struct" title="struct GstTask">GstTask</a>;
-<span class="returnvalue">void</span>                (<a class="link" href="GstTask.html#GstTaskFunction" title="GstTaskFunction ()">*GstTaskFunction</a>)                  (<em class="parameter"><code><span class="type">void</span> *data</code></em>);
+<span class="returnvalue">void</span>                (<a class="link" href="GstTask.html#GstTaskFunction" title="GstTaskFunction ()">*GstTaskFunction</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> user_data</code></em>);
 enum                <a class="link" href="GstTask.html#GstTaskState" title="enum GstTaskState">GstTaskState</a>;
 #define             <a class="link" href="GstTask.html#GST-TASK-BROADCAST:CAPS" title="GST_TASK_BROADCAST()">GST_TASK_BROADCAST</a>                  (task)
 #define             <a class="link" href="GstTask.html#GST-TASK-GET-COND:CAPS" title="GST_TASK_GET_COND()">GST_TASK_GET_COND</a>                   (task)
@@ -52,15 +52,22 @@
 #define             <a class="link" href="GstTask.html#GST-TASK-STATE:CAPS" title="GST_TASK_STATE()">GST_TASK_STATE</a>                      (task)
 #define             <a class="link" href="GstTask.html#GST-TASK-WAIT:CAPS" title="GST_TASK_WAIT()">GST_TASK_WAIT</a>                       (task)
 <a class="link" href="GstTask.html" title="GstTask"><span class="returnvalue">GstTask</span></a> *           <a class="link" href="GstTask.html#gst-task-new" title="gst_task_new ()">gst_task_new</a>                        (<em class="parameter"><code><a class="link" href="GstTask.html#GstTaskFunction" title="GstTaskFunction ()"><span class="type">GstTaskFunction</span></a> func</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</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>);
 <span class="returnvalue">void</span>                <a class="link" href="GstTask.html#gst-task-set-lock" title="gst_task_set_lock ()">gst_task_set_lock</a>                   (<em class="parameter"><code><a class="link" href="GstTask.html" title="GstTask"><span class="type">GstTask</span></a> *task</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Threads.html#GRecMutex"><span class="type">GRecMutex</span></a> *mutex</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstTask.html#gst-task-set-pool" title="gst_task_set_pool ()">gst_task_set_pool</a>                   (<em class="parameter"><code><a class="link" href="GstTask.html" title="GstTask"><span class="type">GstTask</span></a> *task</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstTaskPool.html" title="GstTaskPool"><span class="type">GstTaskPool</span></a> *pool</code></em>);
 <a class="link" href="GstTaskPool.html" title="GstTaskPool"><span class="returnvalue">GstTaskPool</span></a> *       <a class="link" href="GstTask.html#gst-task-get-pool" title="gst_task_get_pool ()">gst_task_get_pool</a>                   (<em class="parameter"><code><a class="link" href="GstTask.html" title="GstTask"><span class="type">GstTask</span></a> *task</code></em>);
-                    <a class="link" href="GstTask.html#GstTaskThreadCallbacks" title="GstTaskThreadCallbacks">GstTaskThreadCallbacks</a>;
-<span class="returnvalue">void</span>                <a class="link" href="GstTask.html#gst-task-set-thread-callbacks" title="gst_task_set_thread_callbacks ()">gst_task_set_thread_callbacks</a>       (<em class="parameter"><code><a class="link" href="GstTask.html" title="GstTask"><span class="type">GstTask</span></a> *task</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="GstTask.html#GstTaskThreadCallbacks" title="GstTaskThreadCallbacks"><span class="type">GstTaskThreadCallbacks</span></a> *callbacks</code></em>,
+<span class="returnvalue">void</span>                (<a class="link" href="GstTask.html#GstTaskThreadFunc" title="GstTaskThreadFunc ()">*GstTaskThreadFunc</a>)                (<em class="parameter"><code><a class="link" href="GstTask.html" title="GstTask"><span class="type">GstTask</span></a> *task</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Threads.html#GThread"><span class="type">GThread</span></a> *thread</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>);
+<span class="returnvalue">void</span>                <a class="link" href="GstTask.html#gst-task-set-enter-callback" title="gst_task_set_enter_callback ()">gst_task_set_enter_callback</a>         (<em class="parameter"><code><a class="link" href="GstTask.html" title="GstTask"><span class="type">GstTask</span></a> *task</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="GstTask.html#GstTaskThreadFunc" title="GstTaskThreadFunc ()"><span class="type">GstTaskThreadFunc</span></a> enter_func</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
+                                                         <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>);
+<span class="returnvalue">void</span>                <a class="link" href="GstTask.html#gst-task-set-leave-callback" title="gst_task_set_leave_callback ()">gst_task_set_leave_callback</a>         (<em class="parameter"><code><a class="link" href="GstTask.html" title="GstTask"><span class="type">GstTask</span></a> *task</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="GstTask.html#GstTaskThreadFunc" title="GstTaskThreadFunc ()"><span class="type">GstTaskThreadFunc</span></a> leave_func</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
                                                          <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="GstTask.html#GstTaskState" title="enum GstTaskState"><span class="returnvalue">GstTaskState</span></a>        <a class="link" href="GstTask.html#gst-task-get-state" title="gst_task_get_state ()">gst_task_get_state</a>                  (<em class="parameter"><code><a class="link" href="GstTask.html" title="GstTask"><span class="type">GstTask</span></a> *task</code></em>);
@@ -149,7 +156,8 @@
   GRecMutex       *lock;
 
   GstTaskFunction  func;
-  gpointer         data;
+  gpointer         user_data;
+  GDestroyNotify   notify;
 
   gboolean         running;
 };
@@ -177,8 +185,13 @@
 <td>the function executed by this task</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GstTask-struct.data"></a>data</code></em>;</span></p></td>
-<td>data passed to the task function</td>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GstTask-struct.user-data"></a>user_data</code></em>;</span></p></td>
+<td>user_data passed to the task function</td>
+</tr>
+<tr>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> <em class="structfield"><code><a name="GstTask-struct.notify"></a>notify</code></em>;</span></p></td>
+<td>GDestroyNotify for <em class="parameter"><code>user_data</code></em>
+</td>
 </tr>
 <tr>
 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstTask-struct.running"></a>running</code></em>;</span></p></td>
@@ -190,7 +203,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstTaskFunction"></a><h3>GstTaskFunction ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                (*GstTaskFunction)                  (<em class="parameter"><code><span class="type">void</span> *data</code></em>);</pre>
+<pre class="programlisting"><span class="returnvalue">void</span>                (*GstTaskFunction)                  (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>
 A function that will repeatedly be called in the thread created by
 a <a class="link" href="GstTask.html" title="GstTask"><span class="type">GstTask</span></a>.
@@ -198,7 +211,7 @@
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
 <td>user data passed to the function</td>
 </tr></tbody>
 </table></div>
@@ -336,10 +349,11 @@
 <div class="refsect2">
 <a name="gst-task-new"></a><h3>gst_task_new ()</h3>
 <pre class="programlisting"><a class="link" href="GstTask.html" title="GstTask"><span class="returnvalue">GstTask</span></a> *           gst_task_new                        (<em class="parameter"><code><a class="link" href="GstTask.html#GstTaskFunction" title="GstTaskFunction ()"><span class="type">GstTaskFunction</span></a> func</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
+                                                         <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>
 Create a new Task that will repeatedly call the provided <em class="parameter"><code>func</code></em>
-with <em class="parameter"><code>data</code></em> as a parameter. Typically the task will run in
+with <em class="parameter"><code>user_data</code></em> as a parameter. Typically the task will run in
 a new thread.
 </p>
 <p>
@@ -363,11 +377,15 @@
 <td>The <a class="link" href="GstTask.html#GstTaskFunction" title="GstTaskFunction ()"><span class="type">GstTaskFunction</span></a> to use</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
-<td>User data to pass to <em class="parameter"><code>func</code></em>. <span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span>
+<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
+<td>User data to pass to <em class="parameter"><code>func</code></em>
 </td>
 </tr>
 <tr>
+<td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
+<td>the function to call when <em class="parameter"><code>user_data</code></em> is no longer needed.</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="GstTask.html" title="GstTask"><span class="type">GstTask</span></a>.
 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -433,7 +451,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -462,17 +479,13 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="GstTaskThreadCallbacks"></a><h3>GstTaskThreadCallbacks</h3>
-<pre class="programlisting">typedef struct {
-  /* manage the lifetime of the thread */
-  void      (*enter_thread)     (GstTask *task, GThread *thread, gpointer user_data);
-  void      (*leave_thread)     (GstTask *task, GThread *thread, gpointer user_data);
-} GstTaskThreadCallbacks;
-</pre>
+<a name="GstTaskThreadFunc"></a><h3>GstTaskThreadFunc ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                (*GstTaskThreadFunc)                (<em class="parameter"><code><a class="link" href="GstTask.html" title="GstTask"><span class="type">GstTask</span></a> *task</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Threads.html#GThread"><span class="type">GThread</span></a> *thread</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>
 Custom GstTask thread callback functions that can be installed.
 </p>
@@ -480,39 +493,33 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="structfield"><code><a name="GstTaskThreadCallbacks.enter-thread"></a>enter_thread</code></em> ()</span></p></td>
-<td>a thread is entered, this callback is called when the new
-thread enters its function.</td>
+<td><p><span class="term"><em class="parameter"><code>task</code></em> :</span></p></td>
+<td>The <a class="link" href="GstTask.html" title="GstTask"><span class="type">GstTask</span></a>
+</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="structfield"><code><a name="GstTaskThreadCallbacks.leave-thread"></a>leave_thread</code></em> ()</span></p></td>
-<td>a thread is exiting, this is called when the thread is about
-to leave its function</td>
+<td><p><span class="term"><em class="parameter"><code>thread</code></em> :</span></p></td>
+<td>The <a href="http://library.gnome.org/devel/glib/unstable/glib-Threads.html#GThread"><span class="type">GThread</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
+<td>user data</td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-task-set-thread-callbacks"></a><h3>gst_task_set_thread_callbacks ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_task_set_thread_callbacks       (<em class="parameter"><code><a class="link" href="GstTask.html" title="GstTask"><span class="type">GstTask</span></a> *task</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="GstTask.html#GstTaskThreadCallbacks" title="GstTaskThreadCallbacks"><span class="type">GstTaskThreadCallbacks</span></a> *callbacks</code></em>,
+<a name="gst-task-set-enter-callback"></a><h3>gst_task_set_enter_callback ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_task_set_enter_callback         (<em class="parameter"><code><a class="link" href="GstTask.html" title="GstTask"><span class="type">GstTask</span></a> *task</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="GstTask.html#GstTaskThreadFunc" title="GstTaskThreadFunc ()"><span class="type">GstTaskThreadFunc</span></a> enter_func</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
                                                          <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>
-Set callbacks which will be executed when a new thread is needed, the thread
-function is entered and left and when the thread is joined.
-</p>
-<p>
-By default a thread for <em class="parameter"><code>task</code></em> will be created from a default thread pool.
-</p>
-<p>
-Objects can use custom GThreads or can perform additional configuration of
-the threads (such as changing the thread priority) by installing callbacks.
-</p>
-<p>
-MT safe.
+Call <em class="parameter"><code>enter_func</code></em> when the task function of <em class="parameter"><code>task</code></em> is entered. <em class="parameter"><code>user_data</code></em> will
+be passed to <em class="parameter"><code>enter_func</code></em> and <em class="parameter"><code>notify</code></em> will be called when <em class="parameter"><code>user_data</code></em> is no
+longer referenced.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -522,13 +529,13 @@
 <td>The <a class="link" href="GstTask.html" title="GstTask"><span class="type">GstTask</span></a> to use</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>callbacks</code></em> :</span></p></td>
-<td>a <a class="link" href="GstTask.html#GstTaskThreadCallbacks" title="GstTaskThreadCallbacks"><span class="type">GstTaskThreadCallbacks</span></a> pointer. <span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span>
+<td><p><span class="term"><em class="parameter"><code>enter_func</code></em> :</span></p></td>
+<td>a <a class="link" href="GstTask.html#GstTaskThreadFunc" title="GstTaskThreadFunc ()"><span class="type">GstTaskThreadFunc</span></a>. <span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span>
 </td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
-<td>user data passed to the callbacks. <span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span>
+<td>user data passed to <em class="parameter"><code>enter_func</code></em>
 </td>
 </tr>
 <tr>
@@ -537,7 +544,42 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-task-set-leave-callback"></a><h3>gst_task_set_leave_callback ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_task_set_leave_callback         (<em class="parameter"><code><a class="link" href="GstTask.html" title="GstTask"><span class="type">GstTask</span></a> *task</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="GstTask.html#GstTaskThreadFunc" title="GstTaskThreadFunc ()"><span class="type">GstTaskThreadFunc</span></a> leave_func</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
+                                                         <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>
+Call <em class="parameter"><code>leave_func</code></em> when the task function of <em class="parameter"><code>task</code></em> is left. <em class="parameter"><code>user_data</code></em> will
+be passed to <em class="parameter"><code>leave_func</code></em> and <em class="parameter"><code>notify</code></em> will be called when <em class="parameter"><code>user_data</code></em> is no
+longer referenced.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>task</code></em> :</span></p></td>
+<td>The <a class="link" href="GstTask.html" title="GstTask"><span class="type">GstTask</span></a> to use</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>leave_func</code></em> :</span></p></td>
+<td>a <a class="link" href="GstTask.html#GstTaskThreadFunc" title="GstTaskThreadFunc ()"><span class="type">GstTaskThreadFunc</span></a>. <span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
+<td>user data passed to <em class="parameter"><code>leave_func</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
+<td>called when <em class="parameter"><code>user_data</code></em> is no longer referenced</td>
+</tr>
+</tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
@@ -596,7 +638,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/gst/html/GstTaskPool.html b/docs/gst/html/GstTaskPool.html
index e6d3e77..50d58fb 100644
--- a/docs/gst/html/GstTaskPool.html
+++ b/docs/gst/html/GstTaskPool.html
@@ -44,7 +44,7 @@
 
 struct              <a class="link" href="GstTaskPool.html#GstTaskPool-struct" title="struct GstTaskPool">GstTaskPool</a>;
 struct              <a class="link" href="GstTaskPool.html#GstTaskPoolClass" title="struct GstTaskPoolClass">GstTaskPoolClass</a>;
-<span class="returnvalue">void</span>                (<a class="link" href="GstTaskPool.html#GstTaskPoolFunction" title="GstTaskPoolFunction ()">*GstTaskPoolFunction</a>)              (<em class="parameter"><code><span class="type">void</span> *data</code></em>);
+<span class="returnvalue">void</span>                (<a class="link" href="GstTaskPool.html#GstTaskPoolFunction" title="GstTaskPoolFunction ()">*GstTaskPoolFunction</a>)              (<em class="parameter"><code><span class="type">void</span> *user_data</code></em>);
 <a class="link" href="GstTaskPool.html" title="GstTaskPool"><span class="returnvalue">GstTaskPool</span></a> *       <a class="link" href="GstTaskPool.html#gst-task-pool-new" title="gst_task_pool_new ()">gst_task_pool_new</a>                   (<em class="parameter"><code><span class="type">void</span></code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstTaskPool.html#gst-task-pool-prepare" title="gst_task_pool_prepare ()">gst_task_pool_prepare</a>               (<em class="parameter"><code><a class="link" href="GstTaskPool.html" title="GstTaskPool"><span class="type">GstTaskPool</span></a> *pool</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
@@ -134,18 +134,17 @@
 <hr>
 <div class="refsect2">
 <a name="GstTaskPoolFunction"></a><h3>GstTaskPoolFunction ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                (*GstTaskPoolFunction)              (<em class="parameter"><code><span class="type">void</span> *data</code></em>);</pre>
+<pre class="programlisting"><span class="returnvalue">void</span>                (*GstTaskPoolFunction)              (<em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
 <p>
 Task function, see <a class="link" href="GstTaskPool.html#gst-task-pool-push" title="gst_task_pool_push ()"><code class="function">gst_task_pool_push()</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>data</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
 <td>user data for the task function</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -163,7 +162,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -190,7 +188,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -212,7 +209,8 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
-<td>the function to call</td>
+<td>the function to call. <span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span>
+</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
@@ -225,13 +223,13 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a pointer that should be used for the gst_task_pool_join
-function. This pointer can be NULL, you must check <em class="parameter"><code>error</code></em> to detect
-errors.</td>
+<td>a pointer that should be used for the
+gst_task_pool_join function. This pointer can be NULL, you must
+check <em class="parameter"><code>error</code></em> to detect errors. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -256,7 +254,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -277,7 +274,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/gst/html/GstTypeFindFactory.html b/docs/gst/html/GstTypeFindFactory.html
index 6816cca..99f0e48 100644
--- a/docs/gst/html/GstTypeFindFactory.html
+++ b/docs/gst/html/GstTypeFindFactory.html
@@ -47,6 +47,7 @@
 const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * const * <a class="link" href="GstTypeFindFactory.html#gst-type-find-factory-get-extensions" title="gst_type_find_factory_get_extensions ()">gst_type_find_factory_get_extensions</a>
                                                         (<em class="parameter"><code><a class="link" href="GstTypeFindFactory.html" title="GstTypeFindFactory"><span class="type">GstTypeFindFactory</span></a> *factory</code></em>);
 <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="GstTypeFindFactory.html#gst-type-find-factory-get-caps" title="gst_type_find_factory_get_caps ()">gst_type_find_factory_get_caps</a>      (<em class="parameter"><code><a class="link" href="GstTypeFindFactory.html" title="GstTypeFindFactory"><span class="type">GstTypeFindFactory</span></a> *factory</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="GstTypeFindFactory.html#gst-type-find-factory-has-function" title="gst_type_find_factory_has_function ()">gst_type_find_factory_has_function</a>  (<em class="parameter"><code><a class="link" href="GstTypeFindFactory.html" title="GstTypeFindFactory"><span class="type">GstTypeFindFactory</span></a> *factory</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstTypeFindFactory.html#gst-type-find-factory-call-function" title="gst_type_find_factory_call_function ()">gst_type_find_factory_call_function</a> (<em class="parameter"><code><a class="link" href="GstTypeFindFactory.html" title="GstTypeFindFactory"><span class="type">GstTypeFindFactory</span></a> *factory</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstTypeFind.html#GstTypeFind" title="struct GstTypeFind"><span class="type">GstTypeFind</span></a> *find</code></em>);
 </pre>
@@ -72,7 +73,7 @@
 <p>
 </p>
 <div class="example">
-<a name="idp27362848"></a><p class="title"><b>Example 13. how to write a simple typefinder</b></p>
+<a name="idp12056528"></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>
@@ -137,7 +138,7 @@
   MyTypeFind <span class="gtkdoc opt">*</span>find <span class="gtkdoc opt">= (</span>MyTypeFind <span class="gtkdoc opt">*)</span> data<span class="gtkdoc opt">;</span>
   <span class="keyword">if</span> <span class="gtkdoc opt">(</span>probability <span class="gtkdoc opt">&gt;</span> find<span class="gtkdoc opt">-&gt;</span>probability<span class="gtkdoc opt">) {</span>
     find<span class="gtkdoc opt">-&gt;</span>probability <span class="gtkdoc opt">=</span> probability<span class="gtkdoc opt">;</span>
-    <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#gst-caps-replace">gst_caps_replace</a></span> <span class="gtkdoc opt">(&amp;</span>find<span class="gtkdoc opt">-&gt;</span>caps<span class="gtkdoc opt">,</span> caps<span class="gtkdoc opt">);</span>
+    <span class="function"><a href="../gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-replace">gst_caps_replace</a></span> <span class="gtkdoc opt">(&amp;</span>find<span class="gtkdoc opt">-&gt;</span>caps<span class="gtkdoc opt">,</span> caps<span class="gtkdoc opt">);</span>
   <span class="gtkdoc opt">}</span>
 <span class="gtkdoc opt">}</span>
 <span class="gtkdoc kwb">static</span> GstCaps <span class="gtkdoc opt">*</span>
@@ -146,11 +147,11 @@
   GList <span class="gtkdoc opt">*</span>walk<span class="gtkdoc opt">, *</span>type_list<span class="gtkdoc opt">;</span>
   MyTypeFind find <span class="gtkdoc opt">= {</span>data<span class="gtkdoc opt">,</span> size<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">};</span>
   GstTypeFind gst_find <span class="gtkdoc opt">= {</span>my_peek<span class="gtkdoc opt">,</span> my_suggest<span class="gtkdoc opt">, &amp;</span>find<span class="gtkdoc opt">, };</span>
-  walk <span class="gtkdoc opt">=</span> type_list <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTypeFindFactory.html#gst-type-find-factory-get-list">gst_type_find_factory_get_list</a></span> <span class="gtkdoc opt">();</span>
+  walk <span class="gtkdoc opt">=</span> type_list <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/GstTypeFindFactory.html#gst-type-find-factory-get-list">gst_type_find_factory_get_list</a></span> <span class="gtkdoc opt">();</span>
   <span class="keyword">while</span> <span class="gtkdoc opt">(</span>walk<span class="gtkdoc opt">) {</span>
     GstTypeFindFactory <span class="gtkdoc opt">*</span>factory <span class="gtkdoc opt">=</span> <span class="function">GST_TYPE_FIND_FACTORY</span> <span class="gtkdoc opt">(</span>walk<span class="gtkdoc opt">-&gt;</span>data<span class="gtkdoc opt">);</span>
     walk <span class="gtkdoc opt">=</span> <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-next">g_list_next</a></span> <span class="gtkdoc opt">(</span>walk<span class="gtkdoc opt">)</span>
-    <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTypeFindFactory.html#gst-type-find-factory-call-function">gst_type_find_factory_call_function</a></span> <span class="gtkdoc opt">(</span>factory<span class="gtkdoc opt">, &amp;</span>gst_find<span class="gtkdoc opt">);</span>
+    <span class="function"><a href="../gstreamer-1.0/GstTypeFindFactory.html#gst-type-find-factory-call-function">gst_type_find_factory_call_function</a></span> <span class="gtkdoc opt">(</span>factory<span class="gtkdoc opt">, &amp;</span>gst_find<span class="gtkdoc opt">);</span>
   <span class="gtkdoc opt">}</span>
   <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-free">g_list_free</a></span> <span class="gtkdoc opt">(</span>type_list<span class="gtkdoc opt">);</span>
   <span class="keyword">return</span> find<span class="gtkdoc opt">.</span>caps<span class="gtkdoc opt">;</span>
@@ -191,7 +192,7 @@
 </p>
 <p>
 The returned factories are sorted by highest rank first, and then by
-factory name. (behaviour change since 0.10.26)
+factory name.
 </p>
 <p>
 Free-function: gst_plugin_feature_list_free
@@ -259,6 +260,30 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="gst-type-find-factory-has-function"></a><h3>gst_type_find_factory_has_function ()</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_type_find_factory_has_function  (<em class="parameter"><code><a class="link" href="GstTypeFindFactory.html" title="GstTypeFindFactory"><span class="type">GstTypeFindFactory</span></a> *factory</code></em>);</pre>
+<p>
+Check whether the factory has a typefind function. Typefind factories
+without typefind functions are a last-effort fallback mechanism to
+e.g. assume a certain media type based on the file extension.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
+<td>A <a class="link" href="GstTypeFindFactory.html" title="GstTypeFindFactory"><span class="type">GstTypeFindFactory</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>TRUE if the factory has a typefind functions set, otherwise FALSE</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
 <a name="gst-type-find-factory-call-function"></a><h3>gst_type_find_factory_call_function ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_type_find_factory_call_function (<em class="parameter"><code><a class="link" href="GstTypeFindFactory.html" title="GstTypeFindFactory"><span class="type">GstTypeFindFactory</span></a> *factory</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstTypeFind.html#GstTypeFind" title="struct GstTypeFind"><span class="type">GstTypeFind</span></a> *find</code></em>);</pre>
diff --git a/docs/gst/html/annotation-glossary.html b/docs/gst/html/annotation-glossary.html
index 9df3250..cbe3917 100644
--- a/docs/gst/html/annotation-glossary.html
+++ b/docs/gst/html/annotation-glossary.html
@@ -22,6 +22,8 @@
 <tr><td colspan="5" class="shortcuts">
 <a class="shortcut" href="#glsO">O</a>
                       | 
+                   <a class="shortcut" href="#glsS">S</a>
+                      | 
                    <a class="shortcut" href="#glsA">A</a>
                       | 
                    <a class="shortcut" href="#glsI">I</a>
@@ -50,6 +52,10 @@
 <dt>
 <a name="annotation-glossterm-out"></a>out</dt>
 <dd><p>Parameter for returning results. Default is <acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>.</p></dd>
+<a name="glsS"></a><h3 class="title">S</h3>
+<dt>
+<a name="annotation-glossterm-scope%20async"></a>scope async</dt>
+<dd><p>The callback is valid until first called.</p></dd>
 <a name="glsA"></a><h3 class="title">A</h3>
 <dt>
 <a name="annotation-glossterm-allow-none"></a>allow-none</dt>
diff --git a/docs/gst/html/api-index-full.html b/docs/gst/html/api-index-full.html
index c2da1fe..a88240d 100644
--- a/docs/gst/html/api-index-full.html
+++ b/docs/gst/html/api-index-full.html
@@ -67,63 +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>
-<a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams">GstAllocationParams</a>, struct in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
+GstAllocationParams, struct in GstAllocator
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstMemory.html#gst-allocation-params-copy" title="gst_allocation_params_copy ()">gst_allocation_params_copy</a>, function in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
+gst_allocation_params_copy, function in GstAllocator
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstMemory.html#gst-allocation-params-free" title="gst_allocation_params_free ()">gst_allocation_params_free</a>, function in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
+gst_allocation_params_free, function in GstAllocator
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstMemory.html#gst-allocation-params-init" title="gst_allocation_params_init ()">gst_allocation_params_init</a>, function in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
+gst_allocation_params_init, function in GstAllocator
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator">GstAllocator</a>, struct in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
+GstAllocator, struct in GstAllocator
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstMemory.html#GstAllocatorAllocFunction" title="GstAllocatorAllocFunction ()">GstAllocatorAllocFunction</a>, user_function in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
+GstAllocatorFlags, enum in GstAllocator
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstMemory.html#gst-allocator-alloc" title="gst_allocator_alloc ()">gst_allocator_alloc</a>, function in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
+gst_allocator_alloc, function in GstAllocator
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstMemory.html#gst-allocator-find" title="gst_allocator_find ()">gst_allocator_find</a>, function in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
+gst_allocator_find, function in GstAllocator
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstMemory.html#gst-allocator-get-memory-type" title="gst_allocator_get_memory_type ()">gst_allocator_get_memory_type</a>, function in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
+gst_allocator_free, function in GstAllocator
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstMemory.html#gst-allocator-new" title="gst_allocator_new ()">gst_allocator_new</a>, function in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
+gst_allocator_register, function in GstAllocator
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstMemory.html#gst-allocator-ref" title="gst_allocator_ref ()">gst_allocator_ref</a>, function in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
+gst_allocator_set_default, function in GstAllocator
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstMemory.html#gst-allocator-register" title="gst_allocator_register ()">gst_allocator_register</a>, function in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gstreamer-GstMemory.html#gst-allocator-set-default" title="gst_allocator_set_default ()">gst_allocator_set_default</a>, function in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gstreamer-GstMemory.html#GST-ALLOCATOR-SYSMEM:CAPS" title="GST_ALLOCATOR_SYSMEM">GST_ALLOCATOR_SYSMEM</a>, macro in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gstreamer-GstMemory.html#gst-allocator-unref" title="gst_allocator_unref ()">gst_allocator_unref</a>, function in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
+GST_ALLOCATOR_SYSMEM, macro in GstAllocator
 </dt>
 <dd></dd>
 <dt>
@@ -304,7 +292,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstBufferPool.html#GstBufferPoolAcquireParams" title="GstBufferPoolAcquireParams">GstBufferPoolAcquireParams</a>, struct in <a class="link" href="gstreamer-GstBufferPool.html" title="GstBufferPool">GstBufferPool</a>
+<a class="link" href="gstreamer-GstBufferPool.html#GstBufferPoolAcquireParams" title="struct GstBufferPoolAcquireParams">GstBufferPoolAcquireParams</a>, struct in <a class="link" href="gstreamer-GstBufferPool.html" title="GstBufferPool">GstBufferPool</a>
 </dt>
 <dd></dd>
 <dt>
@@ -316,7 +304,7 @@
 </dt>
 <dd></dd>
 <dt>
-<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>
+<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>
 </dt>
 <dd></dd>
 <dt>
@@ -324,6 +312,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-append-region" title="gst_buffer_append_region ()">gst_buffer_append_region</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-copy" title="gst_buffer_copy ()">gst_buffer_copy</a>, function in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
 </dt>
 <dd></dd>
@@ -416,6 +408,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-get-sizes-range" title="gst_buffer_get_sizes_range ()">gst_buffer_get_sizes_range</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-insert-memory" title="gst_buffer_insert_memory ()">gst_buffer_insert_memory</a>, function in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
 </dt>
 <dd></dd>
@@ -492,6 +488,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-map-range" title="gst_buffer_map_range ()">gst_buffer_map_range</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-memcmp" title="gst_buffer_memcmp ()">gst_buffer_memcmp</a>, function in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
 </dt>
 <dd></dd>
@@ -540,6 +540,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-peek-memory" title="gst_buffer_peek_memory ()">gst_buffer_peek_memory</a>, function in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstBufferPool.html#gst-buffer-pool-acquire-buffer" title="gst_buffer_pool_acquire_buffer ()">gst_buffer_pool_acquire_buffer</a>, function in <a class="link" href="gstreamer-GstBufferPool.html" title="GstBufferPool">GstBufferPool</a>
 </dt>
 <dd></dd>
@@ -664,6 +668,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-resize-range" title="gst_buffer_resize_range ()">gst_buffer_resize_range</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-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>
 </dt>
 <dd></dd>
@@ -1309,10 +1317,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstClock.html#gst-clock-id-wait-async-full" title="gst_clock_id_wait_async_full ()">gst_clock_id_wait_async_full</a>, function in <a class="link" href="GstClock.html" title="GstClock">GstClock</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="GstClock.html#gst-clock-new-periodic-id" title="gst_clock_new_periodic_id ()">gst_clock_new_periodic_id</a>, function in <a class="link" href="GstClock.html" title="GstClock">GstClock</a>
 </dt>
 <dd></dd>
@@ -1470,10 +1474,38 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstDateTime.html#gst-date-time-has-day" title="gst_date_time_has_day ()">gst_date_time_has_day</a>, function in <a class="link" href="gstreamer-GstDateTime.html" title="GstDateTime">GstDateTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstDateTime.html#gst-date-time-has-month" title="gst_date_time_has_month ()">gst_date_time_has_month</a>, function in <a class="link" href="gstreamer-GstDateTime.html" title="GstDateTime">GstDateTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstDateTime.html#gst-date-time-has-second" title="gst_date_time_has_second ()">gst_date_time_has_second</a>, function in <a class="link" href="gstreamer-GstDateTime.html" title="GstDateTime">GstDateTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstDateTime.html#gst-date-time-has-time" title="gst_date_time_has_time ()">gst_date_time_has_time</a>, function in <a class="link" href="gstreamer-GstDateTime.html" title="GstDateTime">GstDateTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstDateTime.html#gst-date-time-has-year" title="gst_date_time_has_year ()">gst_date_time_has_year</a>, function in <a class="link" href="gstreamer-GstDateTime.html" title="GstDateTime">GstDateTime</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstDateTime.html#gst-date-time-new" title="gst_date_time_new ()">gst_date_time_new</a>, function in <a class="link" href="gstreamer-GstDateTime.html" title="GstDateTime">GstDateTime</a>
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstDateTime.html#gst-date-time-new-from-g-date-time" title="gst_date_time_new_from_g_date_time ()">gst_date_time_new_from_g_date_time</a>, function in <a class="link" href="gstreamer-GstDateTime.html" title="GstDateTime">GstDateTime</a>
+</dt>
+<dd></dd>
+<dt>
+<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>, function in <a class="link" href="gstreamer-GstDateTime.html" title="GstDateTime">GstDateTime</a>
+</dt>
+<dd></dd>
+<dt>
 <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>, function in <a class="link" href="gstreamer-GstDateTime.html" title="GstDateTime">GstDateTime</a>
 </dt>
 <dd></dd>
@@ -1494,10 +1526,30 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstDateTime.html#gst-date-time-new-y" title="gst_date_time_new_y ()">gst_date_time_new_y</a>, function in <a class="link" href="gstreamer-GstDateTime.html" title="GstDateTime">GstDateTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstDateTime.html#gst-date-time-new-ym" title="gst_date_time_new_ym ()">gst_date_time_new_ym</a>, function in <a class="link" href="gstreamer-GstDateTime.html" title="GstDateTime">GstDateTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstDateTime.html#gst-date-time-new-ymd" title="gst_date_time_new_ymd ()">gst_date_time_new_ymd</a>, function in <a class="link" href="gstreamer-GstDateTime.html" title="GstDateTime">GstDateTime</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstDateTime.html#gst-date-time-ref" title="gst_date_time_ref ()">gst_date_time_ref</a>, function in <a class="link" href="gstreamer-GstDateTime.html" title="GstDateTime">GstDateTime</a>
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstDateTime.html#gst-date-time-to-g-date-time" title="gst_date_time_to_g_date_time ()">gst_date_time_to_g_date_time</a>, function in <a class="link" href="gstreamer-GstDateTime.html" title="GstDateTime">GstDateTime</a>
+</dt>
+<dd></dd>
+<dt>
+<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>, function in <a class="link" href="gstreamer-GstDateTime.html" title="GstDateTime">GstDateTime</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstDateTime.html#gst-date-time-unref" title="gst_date_time_unref ()">gst_date_time_unref</a>, function in <a class="link" href="gstreamer-GstDateTime.html" title="GstDateTime">GstDateTime</a>
 </dt>
 <dd></dd>
@@ -2375,6 +2427,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstEvent.html#gst-event-new-segment-done" title="gst_event_new_segment_done ()">gst_event_new_segment_done</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-sink-message" title="gst_event_new_sink_message ()">gst_event_new_sink_message</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
 </dt>
 <dd></dd>
@@ -2439,6 +2495,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstEvent.html#gst-event-parse-segment-done" title="gst_event_parse_segment_done ()">gst_event_parse_segment_done</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-sink-message" title="gst_event_parse_sink_message ()">gst_event_parse_sink_message</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
 </dt>
 <dd></dd>
@@ -2455,6 +2515,10 @@
 </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>
+<dt>
 <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-tag" title="gst_event_parse_tag ()">gst_event_parse_tag</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
 </dt>
 <dd></dd>
@@ -2677,10 +2741,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstGhostPad.html#gst-ghost-pad-link-default" title="gst_ghost_pad_link_default ()">gst_ghost_pad_link_default</a>, function in <a class="link" href="GstGhostPad.html" title="GstGhostPad">GstGhostPad</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="GstGhostPad.html#gst-ghost-pad-new" title="gst_ghost_pad_new ()">gst_ghost_pad_new</a>, function in <a class="link" href="GstGhostPad.html" title="GstGhostPad">GstGhostPad</a>
 </dt>
 <dd></dd>
@@ -2701,10 +2761,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstGhostPad.html#gst-ghost-pad-unlink-default" title="gst_ghost_pad_unlink_default ()">gst_ghost_pad_unlink_default</a>, function in <a class="link" href="GstGhostPad.html" title="GstGhostPad">GstGhostPad</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstUtils.html#gst-guint64-to-gdouble" title="gst_guint64_to_gdouble()">gst_guint64_to_gdouble</a>, macro in <a class="link" href="gstreamer-GstUtils.html" title="GstUtils">GstUtils</a>
 </dt>
 <dd></dd>
@@ -2855,6 +2911,14 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstMiniObject.html#GstLockFlags" title="enum GstLockFlags">GstLockFlags</a>, enum in <a class="link" href="gstreamer-GstMiniObject.html" title="GstMiniObject">GstMiniObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstMiniObject.html#GST-LOCK-FLAG-READWRITE:CAPS" title="GST_LOCK_FLAG_READWRITE">GST_LOCK_FLAG_READWRITE</a>, macro in <a class="link" href="gstreamer-GstMiniObject.html" title="GstMiniObject">GstMiniObject</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstInfo.html#GST-LOG:CAPS" title="GST_LOG()">GST_LOG</a>, macro in <a class="link" href="gstreamer-GstInfo.html" title="GstInfo">GstInfo</a>
 </dt>
 <dd></dd>
@@ -2908,14 +2972,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstMemory.html#GstMemoryFreeFunction" title="GstMemoryFreeFunction ()">GstMemoryFreeFunction</a>, user_function in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gstreamer-GstMemory.html#GstMemoryInfo" title="struct GstMemoryInfo">GstMemoryInfo</a>, struct in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstMemory.html#GstMemoryIsSpanFunction" title="GstMemoryIsSpanFunction ()">GstMemoryIsSpanFunction</a>, user_function in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
 </dt>
 <dd></dd>
@@ -2952,7 +3008,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstMemory.html#gst-memory-is-exclusive" title="gst_memory_is_exclusive ()">gst_memory_is_exclusive</a>, function in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
+<a class="link" href="gstreamer-GstMemory.html#gst-memory-init" title="gst_memory_init ()">gst_memory_init</a>, function in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-IS-NO-SHARE:CAPS" title="GST_MEMORY_IS_NO_SHARE()">GST_MEMORY_IS_NO_SHARE</a>, macro in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
 </dt>
 <dd></dd>
 <dt>
@@ -2964,6 +3024,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstMemory.html#gst-memory-is-writable" title="gst_memory_is_writable()">gst_memory_is_writable</a>, macro in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-IS-ZERO-PADDED:CAPS" title="GST_MEMORY_IS_ZERO_PADDED()">GST_MEMORY_IS_ZERO_PADDED</a>, macro in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
 </dt>
 <dd></dd>
@@ -2972,6 +3036,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstMemory.html#gst-memory-lock" title="gst_memory_lock()">gst_memory_lock</a>, macro in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstMemory.html#gst-memory-make-mapped" title="gst_memory_make_mapped ()">gst_memory_make_mapped</a>, function in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
 </dt>
 <dd></dd>
@@ -2980,7 +3048,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstMemory.html#gst-memory-new-wrapped" title="gst_memory_new_wrapped ()">gst_memory_new_wrapped</a>, function in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
+gst_memory_new_wrapped, function in GstAllocator
 </dt>
 <dd></dd>
 <dt>
@@ -2996,6 +3064,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstMemory.html#gst-memory-unlock" title="gst_memory_unlock()">gst_memory_unlock</a>, macro in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstMemory.html#gst-memory-unmap" title="gst_memory_unmap ()">gst_memory_unmap</a>, function in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
 </dt>
 <dd></dd>
@@ -3108,6 +3180,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstMessage.html#gst-message-new-reset-time" title="gst_message_new_reset_time ()">gst_message_new_reset_time</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-segment-done" title="gst_message_new_segment_done ()">gst_message_new_segment_done</a>, function in <a class="link" href="gstreamer-GstMessage.html" title="GstMessage">GstMessage</a>
 </dt>
 <dd></dd>
@@ -3208,6 +3284,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstMessage.html#gst-message-parse-reset-time" title="gst_message_parse_reset_time ()">gst_message_parse_reset_time</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-segment-done" title="gst_message_parse_segment_done ()">gst_message_parse_segment_done</a>, function in <a class="link" href="gstreamer-GstMessage.html" title="GstMessage">GstMessage</a>
 </dt>
 <dd></dd>
@@ -3400,7 +3480,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectWeakNotify" title="GstMiniObjectWeakNotify ()">GstMiniObjectWeakNotify</a>, user_function in <a class="link" href="gstreamer-GstMiniObject.html" title="GstMiniObject">GstMiniObject</a>
+<a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectNotify" title="GstMiniObjectNotify ()">GstMiniObjectNotify</a>, user_function in <a class="link" href="gstreamer-GstMiniObject.html" title="GstMiniObject">GstMiniObject</a>
 </dt>
 <dd></dd>
 <dt>
@@ -3424,14 +3504,26 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-get-qdata" title="gst_mini_object_get_qdata ()">gst_mini_object_get_qdata</a>, function in <a class="link" href="gstreamer-GstMiniObject.html" title="GstMiniObject">GstMiniObject</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-init" title="gst_mini_object_init ()">gst_mini_object_init</a>, function in <a class="link" href="gstreamer-GstMiniObject.html" title="GstMiniObject">GstMiniObject</a>
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-IS-LOCKABLE:CAPS" title="GST_MINI_OBJECT_IS_LOCKABLE()">GST_MINI_OBJECT_IS_LOCKABLE</a>, macro in <a class="link" href="gstreamer-GstMiniObject.html" title="GstMiniObject">GstMiniObject</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-is-writable" title="gst_mini_object_is_writable ()">gst_mini_object_is_writable</a>, function in <a class="link" href="gstreamer-GstMiniObject.html" title="GstMiniObject">GstMiniObject</a>
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-lock" title="gst_mini_object_lock ()">gst_mini_object_lock</a>, function in <a class="link" href="gstreamer-GstMiniObject.html" title="GstMiniObject">GstMiniObject</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-make-writable" title="gst_mini_object_make_writable ()">gst_mini_object_make_writable</a>, function in <a class="link" href="gstreamer-GstMiniObject.html" title="GstMiniObject">GstMiniObject</a>
 </dt>
 <dd></dd>
@@ -3452,7 +3544,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-SIZE:CAPS" title="GST_MINI_OBJECT_SIZE()">GST_MINI_OBJECT_SIZE</a>, macro in <a class="link" href="gstreamer-GstMiniObject.html" title="GstMiniObject">GstMiniObject</a>
+<a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-set-qdata" title="gst_mini_object_set_qdata ()">gst_mini_object_set_qdata</a>, function in <a class="link" href="gstreamer-GstMiniObject.html" title="GstMiniObject">GstMiniObject</a>
 </dt>
 <dd></dd>
 <dt>
@@ -3460,6 +3552,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-steal-qdata" title="gst_mini_object_steal_qdata ()">gst_mini_object_steal_qdata</a>, function in <a class="link" href="gstreamer-GstMiniObject.html" title="GstMiniObject">GstMiniObject</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-take" title="gst_mini_object_take ()">gst_mini_object_take</a>, function in <a class="link" href="gstreamer-GstMiniObject.html" title="GstMiniObject">GstMiniObject</a>
 </dt>
 <dd></dd>
@@ -3468,6 +3564,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-unlock" title="gst_mini_object_unlock ()">gst_mini_object_unlock</a>, function in <a class="link" href="gstreamer-GstMiniObject.html" title="GstMiniObject">GstMiniObject</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-unref" title="gst_mini_object_unref ()">gst_mini_object_unref</a>, function in <a class="link" href="gstreamer-GstMiniObject.html" title="GstMiniObject">GstMiniObject</a>
 </dt>
 <dd></dd>
@@ -3835,6 +3935,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="GstPad.html#gst-pad-create-stream-id" title="gst_pad_create_stream_id ()">gst_pad_create_stream_id</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>
@@ -4147,10 +4251,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstPad.html#gst-pad-set-caps" title="gst_pad_set_caps ()">gst_pad_set_caps</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-set-chain-function" title="gst_pad_set_chain_function()">gst_pad_set_chain_function</a>, macro in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
 </dt>
 <dd></dd>
@@ -4739,14 +4839,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstUtils.html#gst-print-element-args" title="gst_print_element_args ()">gst_print_element_args</a>, function in <a class="link" href="gstreamer-GstUtils.html" title="GstUtils">GstUtils</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gstreamer-GstUtils.html#gst-print-pad-caps" title="gst_print_pad_caps ()">gst_print_pad_caps</a>, function in <a class="link" href="gstreamer-GstUtils.html" title="GstUtils">GstUtils</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gstreamer-GstMessage.html#GstProgressType" title="enum GstProgressType">GstProgressType</a>, enum in <a class="link" href="gstreamer-GstMessage.html" title="GstMessage">GstMessage</a>
 </dt>
 <dd></dd>
@@ -4763,10 +4855,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstGhostPad.html#gst-proxy-pad-event-default" title="gst_proxy_pad_event_default ()">gst_proxy_pad_event_default</a>, function in <a class="link" href="GstGhostPad.html" title="GstGhostPad">GstGhostPad</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="GstGhostPad.html#gst-proxy-pad-getrange-default" title="gst_proxy_pad_getrange_default ()">gst_proxy_pad_getrange_default</a>, function in <a class="link" href="GstGhostPad.html" title="GstGhostPad">GstGhostPad</a>
 </dt>
 <dd></dd>
@@ -4778,14 +4866,6 @@
 <a class="link" href="GstGhostPad.html#gst-proxy-pad-iterate-internal-links-default" title="gst_proxy_pad_iterate_internal_links_default ()">gst_proxy_pad_iterate_internal_links_default</a>, function in <a class="link" href="GstGhostPad.html" title="GstGhostPad">GstGhostPad</a>
 </dt>
 <dd></dd>
-<dt>
-<a class="link" href="GstGhostPad.html#gst-proxy-pad-query-default" title="gst_proxy_pad_query_default ()">gst_proxy_pad_query_default</a>, function in <a class="link" href="GstGhostPad.html" title="GstGhostPad">GstGhostPad</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="GstGhostPad.html#gst-proxy-pad-unlink-default" title="gst_proxy_pad_unlink_default ()">gst_proxy_pad_unlink_default</a>, function in <a class="link" href="GstGhostPad.html" title="GstGhostPad">GstGhostPad</a>
-</dt>
-<dd></dd>
 <a name="idxQ"></a><h3 class="title">Q</h3>
 <dt>
 <a class="link" href="gstreamer-GstEvent.html#GstQOSType" title="enum GstQOSType">GstQOSType</a>, enum in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
@@ -4828,6 +4908,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstQuery.html#gst-query-find-allocation-meta" title="gst_query_find_allocation_meta ()">gst_query_find_allocation_meta</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-get-n-allocation-metas" title="gst_query_get_n_allocation_metas ()">gst_query_get_n_allocation_metas</a>, function in <a class="link" href="gstreamer-GstQuery.html" title="GstQuery">GstQuery</a>
 </dt>
 <dd></dd>
@@ -4852,18 +4936,10 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstQuery.html#gst-query-has-allocation-meta" title="gst_query_has_allocation_meta ()">gst_query_has_allocation_meta</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-has-scheduling-mode" title="gst_query_has_scheduling_mode ()">gst_query_has_scheduling_mode</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-intersect-caps-result" title="gst_query_intersect_caps_result ()">gst_query_intersect_caps_result</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>
@@ -4944,10 +5020,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstQuery.html#gst-query-new-toc" title="gst_query_new_toc ()">gst_query_new_toc</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-new-uri" title="gst_query_new_uri ()">gst_query_new_uri</a>, function in <a class="link" href="gstreamer-GstQuery.html" title="GstQuery">GstQuery</a>
 </dt>
 <dd></dd>
@@ -5040,10 +5112,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstQuery.html#gst-query-parse-toc" title="gst_query_parse_toc ()">gst_query_parse_toc</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-parse-uri" title="gst_query_parse_uri ()">gst_query_parse_uri</a>, function in <a class="link" href="gstreamer-GstQuery.html" title="GstQuery">GstQuery</a>
 </dt>
 <dd></dd>
@@ -5124,10 +5192,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstQuery.html#gst-query-set-toc" title="gst_query_set_toc ()">gst_query_set_toc</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-set-uri" title="gst_query_set_uri ()">gst_query_set_uri</a>, function in <a class="link" href="gstreamer-GstQuery.html" title="GstQuery">GstQuery</a>
 </dt>
 <dd></dd>
@@ -6191,6 +6255,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstTagList.html#gst-tag-list-free" title="gst_tag_list_free()">gst_tag_list_free</a>, macro 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-boolean" title="gst_tag_list_get_boolean ()">gst_tag_list_get_boolean</a>, function in <a class="link" href="gstreamer-GstTagList.html" title="GstTagList">GstTagList</a>
 </dt>
 <dd></dd>
@@ -6199,14 +6267,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstTagList.html#gst-tag-list-get-buffer" title="gst_tag_list_get_buffer ()">gst_tag_list_get_buffer</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-buffer-index" title="gst_tag_list_get_buffer_index ()">gst_tag_list_get_buffer_index</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-date" title="gst_tag_list_get_date ()">gst_tag_list_get_date</a>, function in <a class="link" href="gstreamer-GstTagList.html" title="GstTagList">GstTagList</a>
 </dt>
 <dd></dd>
@@ -6263,6 +6323,14 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstTagList.html#gst-tag-list-get-sample" title="gst_tag_list_get_sample ()">gst_tag_list_get_sample</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-sample-index" title="gst_tag_list_get_sample_index ()">gst_tag_list_get_sample_index</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>
@@ -6539,7 +6607,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstTask.html#GstTaskThreadCallbacks" title="GstTaskThreadCallbacks">GstTaskThreadCallbacks</a>, struct in <a class="link" href="GstTask.html" title="GstTask">GstTask</a>
+<a class="link" href="GstTask.html#GstTaskThreadFunc" title="GstTaskThreadFunc ()">GstTaskThreadFunc</a>, user_function in <a class="link" href="GstTask.html" title="GstTask">GstTask</a>
 </dt>
 <dd></dd>
 <dt>
@@ -6599,6 +6667,14 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="GstTask.html#gst-task-set-enter-callback" title="gst_task_set_enter_callback ()">gst_task_set_enter_callback</a>, function in <a class="link" href="GstTask.html" title="GstTask">GstTask</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GstTask.html#gst-task-set-leave-callback" title="gst_task_set_leave_callback ()">gst_task_set_leave_callback</a>, function in <a class="link" href="GstTask.html" title="GstTask">GstTask</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="GstTask.html#gst-task-set-lock" title="gst_task_set_lock ()">gst_task_set_lock</a>, function in <a class="link" href="GstTask.html" title="GstTask">GstTask</a>
 </dt>
 <dd></dd>
@@ -6611,10 +6687,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstTask.html#gst-task-set-thread-callbacks" title="gst_task_set_thread_callbacks ()">gst_task_set_thread_callbacks</a>, function in <a class="link" href="GstTask.html" title="GstTask">GstTask</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="GstTask.html#GST-TASK-SIGNAL:CAPS" title="GST_TASK_SIGNAL()">GST_TASK_SIGNAL</a>, macro in <a class="link" href="GstTask.html" title="GstTask">GstTask</a>
 </dt>
 <dd></dd>
@@ -6679,11 +6751,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc">GstToc</a>, struct in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+<a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc">GstToc</a>, struct in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry">GstTocEntry</a>, struct in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+<a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry">GstTocEntry</a>, struct in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
 </dt>
 <dd></dd>
 <dt>
@@ -6691,27 +6763,79 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstToc.html#GstTocScope" title="enum GstTocScope">GstTocScope</a>, enum in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter">GstTocSetter</a>, struct in <a class="link" href="gstreamer-GstTocSetter.html" title="GstTocSetter">GstTocSetter</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstTocSetter.html#GstTocSetterIFace" title="struct GstTocSetterIFace">GstTocSetterIFace</a>, struct in <a class="link" href="gstreamer-GstTocSetter.html" title="GstTocSetter">GstTocSetter</a>
+<a class="link" href="gstreamer-GstTocSetter.html#GstTocSetterInterface" title="struct GstTocSetterInterface">GstTocSetterInterface</a>, struct in <a class="link" href="gstreamer-GstTocSetter.html" title="GstTocSetter">GstTocSetter</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstToc.html#gst-toc-copy" title="gst_toc_copy ()">gst_toc_copy</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-append-entry" title="gst_toc_append_entry ()">gst_toc_append_entry</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstToc.html#gst-toc-entry-copy" title="gst_toc_entry_copy ()">gst_toc_entry_copy</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-copy" title="gst_toc_copy()">gst_toc_copy</a>, macro in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstToc.html#gst-toc-entry-free" title="gst_toc_entry_free ()">gst_toc_entry_free</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-dump" title="gst_toc_dump ()">gst_toc_dump</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstToc.html#gst-toc-entry-get-start-stop" title="gst_toc_entry_get_start_stop ()">gst_toc_entry_get_start_stop</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-entry-append-sub-entry" title="gst_toc_entry_append_sub_entry ()">gst_toc_entry_append_sub_entry</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-entry-copy" title="gst_toc_entry_copy()">gst_toc_entry_copy</a>, macro in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-entry-get-entry-type" title="gst_toc_entry_get_entry_type ()">gst_toc_entry_get_entry_type</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-entry-get-parent" title="gst_toc_entry_get_parent ()">gst_toc_entry_get_parent</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-entry-get-start-stop-times" title="gst_toc_entry_get_start_stop_times ()">gst_toc_entry_get_start_stop_times</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-entry-get-sub-entries" title="gst_toc_entry_get_sub_entries ()">gst_toc_entry_get_sub_entries</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-entry-get-tags" title="gst_toc_entry_get_tags ()">gst_toc_entry_get_tags</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-entry-get-toc" title="gst_toc_entry_get_toc ()">gst_toc_entry_get_toc</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-entry-get-uid" title="gst_toc_entry_get_uid ()">gst_toc_entry_get_uid</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-entry-is-alternative" title="gst_toc_entry_is_alternative ()">gst_toc_entry_is_alternative</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-entry-is-sequence" title="gst_toc_entry_is_sequence ()">gst_toc_entry_is_sequence</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-entry-make-writable" title="gst_toc_entry_make_writable()">gst_toc_entry_make_writable</a>, macro in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-entry-merge-tags" title="gst_toc_entry_merge_tags ()">gst_toc_entry_merge_tags</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
 </dt>
 <dd></dd>
 <dt>
@@ -6719,11 +6843,15 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstToc.html#gst-toc-entry-new-with-pad" title="gst_toc_entry_new_with_pad ()">gst_toc_entry_new_with_pad</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-entry-ref" title="gst_toc_entry_ref()">gst_toc_entry_ref</a>, macro in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstToc.html#gst-toc-entry-set-start-stop" title="gst_toc_entry_set_start_stop ()">gst_toc_entry_set_start_stop</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-entry-set-start-stop-times" title="gst_toc_entry_set_start_stop_times ()">gst_toc_entry_set_start_stop_times</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-entry-set-tags" title="gst_toc_entry_set_tags ()">gst_toc_entry_set_tags</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
 </dt>
 <dd></dd>
 <dt>
@@ -6731,11 +6859,39 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-IS-ALTERNATIVE:CAPS" title="GST_TOC_ENTRY_TYPE_IS_ALTERNATIVE()">GST_TOC_ENTRY_TYPE_IS_ALTERNATIVE</a>, macro in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-IS-SEQUENCE:CAPS" title="GST_TOC_ENTRY_TYPE_IS_SEQUENCE()">GST_TOC_ENTRY_TYPE_IS_SEQUENCE</a>, macro in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-entry-unref" title="gst_toc_entry_unref()">gst_toc_entry_unref</a>, macro in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstToc.html#gst-toc-find-entry" title="gst_toc_find_entry ()">gst_toc_find_entry</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstToc.html#gst-toc-free" title="gst_toc_free ()">gst_toc_free</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-get-entries" title="gst_toc_get_entries ()">gst_toc_get_entries</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-get-scope" title="gst_toc_get_scope ()">gst_toc_get_scope</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-get-tags" title="gst_toc_get_tags ()">gst_toc_get_tags</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-make-writable" title="gst_toc_make_writable()">gst_toc_make_writable</a>, macro in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-merge-tags" title="gst_toc_merge_tags ()">gst_toc_merge_tags</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
 </dt>
 <dd></dd>
 <dt>
@@ -6743,7 +6899,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstTocSetter.html#gst-toc-setter-add-toc-entry" title="gst_toc_setter_add_toc_entry ()">gst_toc_setter_add_toc_entry</a>, function in <a class="link" href="gstreamer-GstTocSetter.html" title="GstTocSetter">GstTocSetter</a>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-ref" title="gst_toc_ref()">gst_toc_ref</a>, macro in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
 </dt>
 <dd></dd>
 <dt>
@@ -6751,19 +6907,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gstreamer-GstTocSetter.html#gst-toc-setter-get-toc-copy" title="gst_toc_setter_get_toc_copy ()">gst_toc_setter_get_toc_copy</a>, function in <a class="link" href="gstreamer-GstTocSetter.html" title="GstTocSetter">GstTocSetter</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gstreamer-GstTocSetter.html#gst-toc-setter-get-toc-entry" title="gst_toc_setter_get_toc_entry ()">gst_toc_setter_get_toc_entry</a>, function in <a class="link" href="gstreamer-GstTocSetter.html" title="GstTocSetter">GstTocSetter</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gstreamer-GstTocSetter.html#gst-toc-setter-get-toc-entry-copy" title="gst_toc_setter_get_toc_entry_copy ()">gst_toc_setter_get_toc_entry_copy</a>, function in <a class="link" href="gstreamer-GstTocSetter.html" title="GstTocSetter">GstTocSetter</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gstreamer-GstTocSetter.html#gst-toc-setter-reset-toc" title="gst_toc_setter_reset_toc ()">gst_toc_setter_reset_toc</a>, function in <a class="link" href="gstreamer-GstTocSetter.html" title="GstTocSetter">GstTocSetter</a>
+<a class="link" href="gstreamer-GstTocSetter.html#gst-toc-setter-reset" title="gst_toc_setter_reset ()">gst_toc_setter_reset</a>, function in <a class="link" href="gstreamer-GstTocSetter.html" title="GstTocSetter">GstTocSetter</a>
 </dt>
 <dd></dd>
 <dt>
@@ -6771,6 +6915,14 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-set-tags" title="gst_toc_set_tags ()">gst_toc_set_tags</a>, function in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstToc.html#gst-toc-unref" title="gst_toc_unref()">gst_toc_unref</a>, macro in <a class="link" href="gstreamer-GstToc.html" title="GstToc">GstToc</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstInfo.html#GST-TRACE:CAPS" title="GST_TRACE()">GST_TRACE</a>, macro in <a class="link" href="gstreamer-GstInfo.html" title="GstInfo">GstInfo</a>
 </dt>
 <dd></dd>
@@ -6827,6 +6979,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="GstTypeFindFactory.html#gst-type-find-factory-has-function" title="gst_type_find_factory_has_function ()">gst_type_find_factory_has_function</a>, function in <a class="link" href="GstTypeFindFactory.html" title="GstTypeFindFactory">GstTypeFindFactory</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gstreamer-GstTypeFind.html#gst-type-find-get-length" title="gst_type_find_get_length ()">gst_type_find_get_length</a>, function in <a class="link" href="gstreamer-GstTypeFind.html" title="GstTypeFind">GstTypeFind</a>
 </dt>
 <dd></dd>
diff --git a/docs/gst/html/gst-building.html b/docs/gst/html/gst-building.html
index be3ad7b..bb0800e 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="idp7256800"></a><h2>Building GStreamer on UNIX</h2>
+<a name="idp7187984"></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="idp9676688"></a><h2>Building GStreamer Applications</h2>
+<a name="idp10591376"></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 764295b..95dc51f 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="idp7869392"></a><h2>Running and debugging GStreamer Applications</h2>
+<a name="idp11705424"></a><h2>Running and debugging GStreamer Applications</h2>
 <div class="refsect2">
-<a name="idp11982640"></a><h3>Environment variables</h3>
+<a name="idp11902880"></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>. 
@@ -163,7 +163,12 @@
   
 To get all possible debug output, set
 <code class="envar">GST_DEBUG</code>
-to <code class="option">*:9</code>
+to <code class="option">*:9</code>. For debugging purposes a <code class="option">*:6</code> debug
+log is usually the most useful, as it contains all important information, but
+hides a lot of noise such as refs/unrefs. For bug reporting purposes, a
+<code class="option">*:6</code> log is also what will be requested usually. It's often
+also worth running with <code class="option">*:3</code> to see if there are any
+non-fatal errors or warnings that might be related to the problem at hand.
   </p>
 <p><a name="GST_DEBUG_NO_COLOR"></a><b><code class="envar">GST_DEBUG_NO_COLOR</code>. </b>
 Set this environment variable to any value ("1" typically) to switch off
@@ -221,7 +226,8 @@
   Keep track of the unfreed memory pointers and dump an overview of all unfreed
   memory at program exit. Together with a level 9 debug log this can be used to
   follow the lifecycle of leaked objects in order to track down where they are
-  leaked.
+  leaked. This can be useful for debugging memory leaks in situations where
+  tools such as valgrind are not available, or not an option.
 </p></td>
 </tr>
 </tbody>
diff --git a/docs/gst/html/gstreamer-Gst.html b/docs/gst/html/gstreamer-Gst.html
index bd6c4a1..f4904e7 100644
--- a/docs/gst/html/gstreamer-Gst.html
+++ b/docs/gst/html/gstreamer-Gst.html
@@ -83,7 +83,7 @@
 <p>
 </p>
 <div class="example">
-<a name="idp7414080"></a><p class="title"><b>Example 1. Initializing the gstreamer library</b></p>
+<a name="idp9241488"></a><p class="title"><b>Example 1. Initializing the gstreamer library</b></p>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -99,7 +99,7 @@
 <span class="function">main</span> <span class="gtkdoc opt">(</span><span class="gtkdoc kwb">int</span> argc<span class="gtkdoc opt">,</span> <span class="gtkdoc kwb">char</span> <span class="gtkdoc opt">*</span>argv<span class="gtkdoc opt">[])</span>
 <span class="gtkdoc opt">{</span>
   <span class="gtkdoc slc">// initialize the GStreamer library</span>
-  <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-Gst.html#gst-init">gst_init</a></span> <span class="gtkdoc opt">(&amp;</span>argc<span class="gtkdoc opt">, &amp;</span>argv<span class="gtkdoc opt">);</span>
+  <span class="function"><a href="../gstreamer-1.0/gstreamer-Gst.html#gst-init">gst_init</a></span> <span class="gtkdoc opt">(&amp;</span>argc<span class="gtkdoc opt">, &amp;</span>argv<span class="gtkdoc opt">);</span>
   <span class="gtkdoc opt">...</span>
 <span class="gtkdoc opt">}</span></pre></td>
       </tr>
@@ -119,7 +119,7 @@
 the next code fragment:
 </p>
 <div class="example">
-<a name="idp12345008"></a><p class="title"><b>Example 2. Initializing own parameters when initializing gstreamer</b></p>
+<a name="idp10664336"></a><p class="title"><b>Example 2. Initializing own parameters when initializing gstreamer</b></p>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -162,9 +162,9 @@
    <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Deprecated-Thread-APIs.html#g-thread-init">g_thread_init</a></span> <span class="gtkdoc opt">(</span>NULL<span class="gtkdoc opt">);</span>
  ctx <span class="gtkdoc opt">=</span> <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Commandline-option-parser.html#g-option-context-new">g_option_context_new</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;[ADDITIONAL ARGUMENTS]&quot;</span><span class="gtkdoc opt">);</span>
  <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Commandline-option-parser.html#g-option-context-add-main-entries">g_option_context_add_main_entries</a></span> <span class="gtkdoc opt">(</span>ctx<span class="gtkdoc opt">,</span> options<span class="gtkdoc opt">,</span> GETTEXT_PACKAGE<span class="gtkdoc opt">);</span>
- <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Commandline-option-parser.html#g-option-context-add-group">g_option_context_add_group</a></span> <span class="gtkdoc opt">(</span>ctx<span class="gtkdoc opt">,</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-Gst.html#gst-init-get-option-group">gst_init_get_option_group</a></span> <span class="gtkdoc opt">());</span>
+ <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Commandline-option-parser.html#g-option-context-add-group">g_option_context_add_group</a></span> <span class="gtkdoc opt">(</span>ctx<span class="gtkdoc opt">,</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-Gst.html#gst-init-get-option-group">gst_init_get_option_group</a></span> <span class="gtkdoc opt">());</span>
  <span class="keyword">if</span> <span class="gtkdoc opt">(!</span><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Commandline-option-parser.html#g-option-context-parse">g_option_context_parse</a></span> <span class="gtkdoc opt">(</span>ctx<span class="gtkdoc opt">, &amp;</span>argc<span class="gtkdoc opt">, &amp;</span>argv<span class="gtkdoc opt">, &amp;</span>err<span class="gtkdoc opt">)) {</span>
-   <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Error initializing: %s</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">,</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-STR-NULL:CAPS">GST_STR_NULL</a></span> <span class="gtkdoc opt">(</span>err<span class="gtkdoc opt">-&gt;</span>message<span class="gtkdoc opt">));</span>
+   <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Error initializing: %s</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">,</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-STR-NULL:CAPS">GST_STR_NULL</a></span> <span class="gtkdoc opt">(</span>err<span class="gtkdoc opt">-&gt;</span>message<span class="gtkdoc opt">));</span>
    <span class="function">exit</span> <span class="gtkdoc opt">(</span><span class="number">1</span><span class="gtkdoc opt">);</span>
  <span class="gtkdoc opt">}</span>
  <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Commandline-option-parser.html#g-option-context-free">g_option_context_free</a></span> <span class="gtkdoc opt">(</span>ctx<span class="gtkdoc opt">);</span>
@@ -337,7 +337,6 @@
 <td>TRUE if initialization has been done, FALSE otherwise.</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -432,7 +431,6 @@
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if GStreamer is allowed to install a custom SIGSEGV handler.</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.10</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -449,7 +447,6 @@
 <td>whether a custom SIGSEGV handler should be installed.</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.10</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -473,7 +470,6 @@
 rebuilding the registry.</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.10</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -491,7 +487,6 @@
 <td>whether rebuilding the registry can use a temporary child helper process.</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.10</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -527,7 +522,6 @@
 imply that there were changes), otherwise <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.12</p>
 </div>
 </div>
 </div>
diff --git a/docs/gst/html/gstreamer-GstAtomicQueue.html b/docs/gst/html/gstreamer-GstAtomicQueue.html
index ea14541..5692f1e 100644
--- a/docs/gst/html/gstreamer-GstAtomicQueue.html
+++ b/docs/gst/html/gstreamer-GstAtomicQueue.html
@@ -69,7 +69,6 @@
 <p>
 Use the acessor functions to get the stored values.
 </p>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -93,7 +92,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -110,7 +108,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -127,7 +124,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -151,7 +147,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -170,11 +165,12 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the head element of <em class="parameter"><code>queue</code></em> or NULL when the queue is empty.</td>
+<td>the head element of <em class="parameter"><code>queue</code></em> or NULL when
+the queue is empty. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -193,11 +189,12 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the head element of <em class="parameter"><code>queue</code></em> or NULL when the queue is empty.</td>
+<td>the head element of <em class="parameter"><code>queue</code></em> or NULL when
+the queue is empty. <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>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -220,7 +217,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 </div>
 </div>
diff --git a/docs/gst/html/gstreamer-GstBuffer.html b/docs/gst/html/gstreamer-GstBuffer.html
index 153939c..74672c7 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><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> *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><span class="type">GstAllocator</span> *allocator</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> size</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);
+                                                         <em class="parameter"><code><span class="type">GstAllocationParams</span> *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>,
@@ -80,11 +80,23 @@
                                                          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-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>,
+                                                         <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">void</span>                <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-resize-range" title="gst_buffer_resize_range ()">gst_buffer_resize_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>,
+                                                         <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)
+<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>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-insert-memory" title="gst_buffer_insert_memory ()">gst_buffer_insert_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#gint"><span class="type">gint</span></a> idx</code></em>,
@@ -123,6 +135,11 @@
 #define             <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-map" title="gst_buffer_map()">gst_buffer_map</a>                      (b,
                                                          i,
                                                          f)
+<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>,
+                                                         <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>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-unmap" title="gst_buffer_unmap ()">gst_buffer_unmap</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>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-memcmp" title="gst_buffer_memcmp ()">gst_buffer_memcmp</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>,
@@ -158,8 +175,12 @@
 #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>);
-<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>);
+#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-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>,
+                                                         <em class="parameter"><code><span class="type">gssize</span> size</code></em>);
 <a class="link" href="gstreamer-GstMeta.html#GstMeta" title="struct GstMeta"><span class="returnvalue">GstMeta</span></a> *           <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-get-meta" title="gst_buffer_get_meta ()">gst_buffer_get_meta</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/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> api</code></em>);
 <a class="link" href="gstreamer-GstMeta.html#GstMeta" title="struct GstMeta"><span class="returnvalue">GstMeta</span></a> *           <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-add-meta" title="gst_buffer_add_meta ()">gst_buffer_add_meta</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>,
@@ -172,7 +193,7 @@
 <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#GstBufferForeachMetaFunc" title="GstBufferForeachMetaFunc ()">*GstBufferForeachMetaFunc</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-GstMeta.html#GstMeta" title="struct GstMeta"><span class="type">GstMeta</span></a> **meta</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>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-foreach-meta" title="gst_buffer_foreach_meta ()">gst_buffer_foreach_meta</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-foreach-meta" title="gst_buffer_foreach_meta ()">gst_buffer_foreach_meta</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-GstBuffer.html#GstBufferForeachMetaFunc" title="GstBufferForeachMetaFunc ()"><span class="type">GstBufferForeachMetaFunc</span></a> func</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
 </pre>
@@ -191,7 +212,7 @@
 with a given width, height and bits per plane.
 </p>
 <div class="example">
-<a name="idp13953280"></a><p class="title"><b>Example 3. Creating a buffer for a video frame</b></p>
+<a name="idp13658544"></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>
@@ -210,9 +231,9 @@
 gint size<span class="gtkdoc opt">,</span> width<span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">,</span> bpp<span class="gtkdoc opt">;</span>
 <span class="gtkdoc opt">...</span>
 size <span class="gtkdoc opt">=</span> width <span class="gtkdoc opt">*</span> height <span class="gtkdoc opt">*</span> bpp<span class="gtkdoc opt">;</span>
-buffer <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#gst-buffer-new">gst_buffer_new</a></span> <span class="gtkdoc opt">();</span>
-memory <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMemory.html#gst-allocator-alloc">gst_allocator_alloc</a></span> <span class="gtkdoc opt">(</span>NULL<span class="gtkdoc opt">,</span> size<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span>
-<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#gst-buffer-insert-memory">gst_buffer_insert_memory</a></span> <span class="gtkdoc opt">(</span>buffer<span class="gtkdoc opt">, -</span><span class="number">1</span><span class="gtkdoc opt">,</span> memory<span class="gtkdoc opt">);</span>
+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>
+<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>
     </tbody>
@@ -229,7 +250,7 @@
 <p>
 Buffers can contain a list of <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> objects. You can retrieve how many
 memory objects with <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-n-memory" title="gst_buffer_n_memory ()"><code class="function">gst_buffer_n_memory()</code></a> and you can get a pointer
-to memory with <code class="function">gst_buffer_peek_memory()</code>
+to memory with <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-peek-memory" title="gst_buffer_peek_memory ()"><code class="function">gst_buffer_peek_memory()</code></a>
 </p>
 <p>
 A buffer will usually have timestamps, and a duration, but neither of these
@@ -278,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>
@@ -743,7 +764,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.9</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -767,9 +787,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><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> *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><span class="type">GstAllocator</span> *allocator</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> size</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
+                                                         <em class="parameter"><code><span class="type">GstAllocationParams</span> *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
@@ -789,7 +809,7 @@
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td>
-<td>the <a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> to use, or NULL to use the
+<td>the <span class="type">GstAllocator</span> 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>
@@ -915,9 +935,8 @@
 </p>
 <p>
 Note that the refcount affects the writeability
-of <em class="parameter"><code>buf</code></em> and its metadata, see <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-is-writable" title="gst_buffer_is_writable()"><code class="function">gst_buffer_is_writable()</code></a> and
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#gst-buffer-is-metadata-writable"><code class="function">gst_buffer_is_metadata_writable()</code></a>. It is
-important to note that keeping additional references to
+of <em class="parameter"><code>buf</code></em> and its metadata, see <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-is-writable" title="gst_buffer_is_writable()"><code class="function">gst_buffer_is_writable()</code></a>.
+It is important to note that keeping additional references to
 GstBuffer instances can potentially increase the number
 of memcpy operations in a pipeline.
 </p>
@@ -959,6 +978,39 @@
 <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>
+<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>.
+</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>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>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>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>
+</tr>
+</tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
@@ -966,14 +1018,109 @@
 <pre class="programlisting">#define     gst_buffer_get_size(b)         gst_buffer_get_sizes_range ((b), 0, -1, NULL, NULL)
 </pre>
 <p>
-Get the size of <em class="parameter"><code>b</code></em>.
+Get the total size of the memory blocks in <em class="parameter"><code>b</code></em>.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
-<tbody><tr>
+<tbody>
+<tr>
 <td><p><span class="term"><em class="parameter"><code>b</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>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-buffer-get-sizes-range"></a><h3>gst_buffer_get_sizes_range ()</h3>
+<pre class="programlisting"><span class="returnvalue">gsize</span>               gst_buffer_get_sizes_range          (<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>,
+                                                         <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 <em class="parameter"><code>length</code></em> memory blocks stating from <em class="parameter"><code>idx</code></em> in <em class="parameter"><code>buffer</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>offset</code></em> will contain the offset of the data in the
+memory block in <em class="parameter"><code>buffer</code></em> at <em class="parameter"><code>idx</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 memory block at <em class="parameter"><code>idx</code></em> +
+<em class="parameter"><code>length</code></em> -1.
+<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-range" title="gst_buffer_resize_range ()"><code class="function">gst_buffer_resize_range()</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>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>idx</code></em> :</span></p></td>
+<td>an index</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
+<td>a length</td>
+</tr>
+<tr>
+<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>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 <em class="parameter"><code>length</code></em> memory blocks starting at <em class="parameter"><code>idx</code></em> in <em class="parameter"><code>buffer</code></em>.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-buffer-resize-range"></a><h3>gst_buffer_resize_range ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_buffer_resize_range             (<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>,
+                                                         <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 total size of the <em class="parameter"><code>length</code></em> memory blocks starting at <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>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>idx</code></em> :</span></p></td>
+<td>an index</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
+<td>a length</td>
+</tr>
+<tr>
+<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>size</code></em> :</span></p></td>
+<td>the new size or -1 to just adjust the offset</td>
+</tr>
+</tbody>
 </table></div>
 </div>
 <hr>
@@ -981,6 +1128,26 @@
 <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>
+<p>
+Set the offset and total size of the memory blocks in <em class="parameter"><code>b</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>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>the offset adjustement</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
+<td>the new size or -1 to just adjust the offset</td>
+</tr>
+</tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
@@ -988,8 +1155,7 @@
 <pre class="programlisting">#define     gst_buffer_set_size(b,s)       gst_buffer_resize_range ((b), 0, -1, 0, (s))
 </pre>
 <p>
-Set the size of <em class="parameter"><code>b</code></em> to <em class="parameter"><code>s</code></em>. This will remove or trim the memory blocks
-in the buffer.
+Set the total size of the memory blocks in <em class="parameter"><code>b</code></em>.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -1000,7 +1166,41 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
-<td>a new size</td>
+<td>the new size</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-buffer-peek-memory"></a><h3>gst_buffer_peek_memory ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="returnvalue">GstMemory</span></a> *         gst_buffer_peek_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 <em class="parameter"><code>idx</code></em> in <em class="parameter"><code>buffer</code></em>. The memory block stays valid until
+the memory block in <em class="parameter"><code>buffer</code></em> is removed, replaced or merged, typically with
+any call that modifies the memory in <em class="parameter"><code>buffer</code></em>.
+</p>
+<p>
+Since this call does not influence the refcount of the memory,
+<a class="link" href="gstreamer-GstMemory.html#gst-memory-is-writable" title="gst_memory_is_writable()"><code class="function">gst_memory_is_writable()</code></a> can be used to check if <em class="parameter"><code>buffer</code></em> is the sole owner
+of the returned memory.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<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>idx</code></em> :</span></p></td>
+<td>an index</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> at <em class="parameter"><code>idx</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>
 </table></div>
@@ -1230,36 +1430,151 @@
 <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>
+<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.
+</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>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>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>
+</tbody>
+</table></div>
 </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>
+<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.
+</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>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>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>
+</tbody>
+</table></div>
 </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>
+<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>.
+</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>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>an index</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>m</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>
+</tbody>
+</table></div>
 </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 ((b), 0, -1, (m))
+<pre class="programlisting">#define     gst_buffer_replace_all_memory(b,m) gst_buffer_replace_memory_range ((b), 0, -1, (m))
 </pre>
+<p>
+Replaces all memory in <em class="parameter"><code>b</code></em> with <em class="parameter"><code>m</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>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>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>
+</tbody>
+</table></div>
 </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>
+<p>
+Get the memory block at index <em class="parameter"><code>i</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>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>an index</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> that contains the data of the
+memory block at <em class="parameter"><code>idx</code></em>. Use <a class="link" href="gstreamer-GstMemory.html#gst-memory-unref" title="gst_memory_unref ()"><code class="function">gst_memory_unref()</code></a> after usage. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
 </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>
+<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>.
+</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>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>a <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> that contains the merged memory.
+Use <a class="link" href="gstreamer-GstMemory.html#gst-memory-unref" title="gst_memory_unref ()"><code class="function">gst_memory_unref()</code></a> after usage. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1267,7 +1582,7 @@
 <pre class="programlisting">#define     gst_buffer_remove_memory(b,i)      gst_buffer_remove_memory_range ((b), (i), 1)
 </pre>
 <p>
-Remove the memory block in <em class="parameter"><code>b</code></em> at <em class="parameter"><code>i</code></em>.
+Remove the memory block in <em class="parameter"><code>b</code></em> at index <em class="parameter"><code>i</code></em>.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -1288,12 +1603,121 @@
 <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>
+<p>
+Remove all the memory blocks in <em class="parameter"><code>b</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>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>
+<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>.
+</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
+<a class="link" href="gstreamer-GstMemory.html#GST-MAP-WRITE:CAPS"><span class="type">GST_MAP_WRITE</span></a>, <em class="parameter"><code>buffer</code></em> should be writable (as returned from
+<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-is-writable" title="gst_buffer_is_writable()"><code class="function">gst_buffer_is_writable()</code></a>).
+</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.
+</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.
+</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>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>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>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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-buffer-map-range"></a><h3>gst_buffer_map_range ()</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_range                (<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>,
+                                                         <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>info</code></em> with the <a class="link" href="gstreamer-GstMemory.html#GstMapInfo" title="GstMapInfo"><span class="type">GstMapInfo</span></a> of <em class="parameter"><code>length</code></em> merged memory blocks
+starting at <em class="parameter"><code>idx</code></em> in <em class="parameter"><code>buffer</code></em>. When <em class="parameter"><code>length</code></em> is -1, all memory blocks starting
+from <em class="parameter"><code>idx</code></em> are merged and mapped.
+</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
+<a class="link" href="gstreamer-GstMemory.html#GST-MAP-WRITE:CAPS"><span class="type">GST_MAP_WRITE</span></a>, <em class="parameter"><code>buffer</code></em> should be writable (as returned from
+<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-is-writable" title="gst_buffer_is_writable()"><code class="function">gst_buffer_is_writable()</code></a>).
+</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.
+</p>
+<p>
+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>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>idx</code></em> :</span></p></td>
+<td>an index</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
+<td>a length</td>
+</tr>
+<tr>
+<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>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>info</code></em> contains valid
+data.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1667,10 +2091,9 @@
 <pre class="programlisting">#define         gst_buffer_is_writable(buf)     gst_mini_object_is_writable (GST_MINI_OBJECT_CAST (buf))
 </pre>
 <p>
-Tests if you can safely write data into a buffer's data array or validly
-modify the caps and timestamp metadata. Metadata in a GstBuffer is always
-writable, but it is only safe to change it when there is only one owner
-of the buffer - ie, the refcount is 1.
+Tests if you can safely write to a buffer's metadata or its memory array.
+It is only safe to change buffer metadata when the current reference is
+writable, i.e. nobody can see the modifications you will make.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -1746,9 +2169,9 @@
 </div>
 <hr>
 <div class="refsect2">
-<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>
+<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>
 <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>.
@@ -1777,6 +2200,50 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="gst-buffer-append-region"></a><h3>gst_buffer_append_region ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_buffer_append_region            (<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>,
+                                                         <em class="parameter"><code><span class="type">gssize</span> size</code></em>);</pre>
+<p>
+Append <em class="parameter"><code>size</code></em> bytes at <em class="parameter"><code>offset</code></em> 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 the requested region of
+<em class="parameter"><code>buf2</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>buf1</code></em> :</span></p></td>
+<td>the first source <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> to append. <span class="annotation">[<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>buf2</code></em> :</span></p></td>
+<td>the second source <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> to append. <span class="annotation">[<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>offset</code></em> :</span></p></td>
+<td>the offset in <em class="parameter"><code>buf2</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
+<td>the size or -1 of <em class="parameter"><code>buf2</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the new <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> that contains the memory
+of the two source buffers. <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-buffer-get-meta"></a><h3>gst_buffer_get_meta ()</h3>
 <pre class="programlisting"><a class="link" href="gstreamer-GstMeta.html#GstMeta" title="struct GstMeta"><span class="returnvalue">GstMeta</span></a> *           gst_buffer_get_meta                 (<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/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> api</code></em>);</pre>
@@ -1798,7 +2265,8 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the metadata for <em class="parameter"><code>api</code></em> on <em class="parameter"><code>buffer</code></em>.</td>
+<td>the metadata for <em class="parameter"><code>api</code></em> on <em class="parameter"><code>buffer</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>
 </table></div>
@@ -1894,7 +2362,9 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>The next <a class="link" href="gstreamer-GstMeta.html#GstMeta" title="struct GstMeta"><span class="type">GstMeta</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when there are no more items.</td>
+<td>The next <a class="link" href="gstreamer-GstMeta.html#GstMeta" title="struct GstMeta"><span class="type">GstMeta</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when there are
+no more items. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
 </tr>
 </tbody>
 </table></div>
@@ -1948,7 +2418,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-buffer-foreach-meta"></a><h3>gst_buffer_foreach_meta ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_buffer_foreach_meta             (<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 class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_buffer_foreach_meta             (<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-GstBuffer.html#GstBufferForeachMetaFunc" title="GstBufferForeachMetaFunc ()"><span class="type">GstBufferForeachMetaFunc</span></a> func</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>
@@ -1977,6 +2447,11 @@
 <td>user data passed to <em class="parameter"><code>func</code></em>. <span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span>
 </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#FALSE:CAPS"><code class="literal">FALSE</code></a> when <em class="parameter"><code>func</code></em> returned <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> for one of the metadata.</td>
+</tr>
 </tbody>
 </table></div>
 </div>
diff --git a/docs/gst/html/gstreamer-GstBufferList.html b/docs/gst/html/gstreamer-GstBufferList.html
index 6d15c74..9175146 100644
--- a/docs/gst/html/gstreamer-GstBufferList.html
+++ b/docs/gst/html/gstreamer-GstBufferList.html
@@ -47,7 +47,7 @@
 #define             <a class="link" href="gstreamer-GstBufferList.html#gst-buffer-list-add" title="gst_buffer_list_add()">gst_buffer_list_add</a>                 (l,
                                                          b)
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstBufferList.html#gst-buffer-list-insert" title="gst_buffer_list_insert ()">gst_buffer_list_insert</a>              (<em class="parameter"><code><a class="link" href="gstreamer-GstBufferList.html#GstBufferList" title="GstBufferList"><span class="type">GstBufferList</span></a> *list</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> idx</code></em>,
                                                          <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-GstBufferList.html#gst-buffer-list-remove" title="gst_buffer_list_remove ()">gst_buffer_list_remove</a>              (<em class="parameter"><code><a class="link" href="gstreamer-GstBufferList.html#GstBufferList" title="GstBufferList"><span class="type">GstBufferList</span></a> *list</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>,
@@ -60,7 +60,7 @@
 <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-GstBufferList.html#GstBufferListFunc" title="GstBufferListFunc ()">*GstBufferListFunc</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#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstBufferList.html#gst-buffer-list-foreach" title="gst_buffer_list_foreach ()">gst_buffer_list_foreach</a>             (<em class="parameter"><code><a class="link" href="gstreamer-GstBufferList.html#GstBufferList" title="GstBufferList"><span class="type">GstBufferList</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-GstBufferList.html#gst-buffer-list-foreach" title="gst_buffer_list_foreach ()">gst_buffer_list_foreach</a>             (<em class="parameter"><code><a class="link" href="gstreamer-GstBufferList.html#GstBufferList" title="GstBufferList"><span class="type">GstBufferList</span></a> *list</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstBufferList.html#GstBufferListFunc" title="GstBufferListFunc ()"><span class="type">GstBufferListFunc</span></a> func</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
 <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="gstreamer-GstBufferList.html#gst-buffer-list-get" title="gst_buffer_list_get ()">gst_buffer_list_get</a>                 (<em class="parameter"><code><a class="link" href="gstreamer-GstBufferList.html#GstBufferList" title="GstBufferList"><span class="type">GstBufferList</span></a> *list</code></em>,
@@ -93,7 +93,6 @@
 <p>
 Opaque list of grouped buffers.
 </p>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -115,7 +114,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -144,7 +142,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -167,19 +164,36 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-buffer-list-add"></a><h3>gst_buffer_list_add()</h3>
 <pre class="programlisting">#define gst_buffer_list_add(l,b) gst_buffer_list_insert((l),-1,(b));
 </pre>
+<p>
+Append <em class="parameter"><code>b</code></em> at the end of <em class="parameter"><code>l</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>l</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstBufferList.html#GstBufferList" title="GstBufferList"><span class="type">GstBufferList</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>b</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-list-insert"></a><h3>gst_buffer_list_insert ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_buffer_list_insert              (<em class="parameter"><code><a class="link" href="gstreamer-GstBufferList.html#GstBufferList" title="GstBufferList"><span class="type">GstBufferList</span></a> *list</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> idx</code></em>,
                                                          <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>
 Insert <em class="parameter"><code>buffer</code></em> at <em class="parameter"><code>idx</code></em> in <em class="parameter"><code>list</code></em>. Other buffers are moved to make room for
@@ -202,7 +216,7 @@
 </tr>
 <tr>
 <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>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</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>
@@ -266,7 +280,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -284,7 +297,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -310,7 +322,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -328,7 +339,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -356,7 +366,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -406,7 +415,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-buffer-list-foreach"></a><h3>gst_buffer_list_foreach ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_buffer_list_foreach             (<em class="parameter"><code><a class="link" href="gstreamer-GstBufferList.html#GstBufferList" title="GstBufferList"><span class="type">GstBufferList</span></a> *list</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_buffer_list_foreach             (<em class="parameter"><code><a class="link" href="gstreamer-GstBufferList.html#GstBufferList" title="GstBufferList"><span class="type">GstBufferList</span></a> *list</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstBufferList.html#GstBufferListFunc" title="GstBufferListFunc ()"><span class="type">GstBufferListFunc</span></a> func</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>
@@ -435,9 +444,14 @@
 <td>user data passed to <em class="parameter"><code>func</code></em>. <span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span>
 </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> when <em class="parameter"><code>func</code></em> returned <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for each buffer in <em class="parameter"><code>list</code></em> or when
+<em class="parameter"><code>list</code></em> is empty.</td>
+</tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -467,7 +481,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/gst/html/gstreamer-GstBufferPool.html b/docs/gst/html/gstreamer-GstBufferPool.html
index 537aeb7..8bdeac6 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><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> **allocator</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</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>);
 <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><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</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>);
 <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>);
@@ -79,10 +79,10 @@
                                                          <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="gstreamer-GstBufferPool.html#gst-buffer-pool-is-active" title="gst_buffer_pool_is_active ()">gst_buffer_pool_is_active</a>           (<em class="parameter"><code><a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a> *pool</code></em>);
 enum                <a class="link" href="gstreamer-GstBufferPool.html#GstBufferPoolAcquireFlags" title="enum GstBufferPoolAcquireFlags">GstBufferPoolAcquireFlags</a>;
-                    <a class="link" href="gstreamer-GstBufferPool.html#GstBufferPoolAcquireParams" title="GstBufferPoolAcquireParams">GstBufferPoolAcquireParams</a>;
+struct              <a class="link" href="gstreamer-GstBufferPool.html#GstBufferPoolAcquireParams" title="struct GstBufferPoolAcquireParams">GstBufferPoolAcquireParams</a>;
 <a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       <a class="link" href="gstreamer-GstBufferPool.html#gst-buffer-pool-acquire-buffer" title="gst_buffer_pool_acquire_buffer ()">gst_buffer_pool_acquire_buffer</a>      (<em class="parameter"><code><a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a> *pool</code></em>,
                                                          <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-GstBufferPool.html#GstBufferPoolAcquireParams" title="GstBufferPoolAcquireParams"><span class="type">GstBufferPoolAcquireParams</span></a> *params</code></em>);
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstBufferPool.html#GstBufferPoolAcquireParams" title="struct GstBufferPoolAcquireParams"><span class="type">GstBufferPoolAcquireParams</span></a> *params</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstBufferPool.html#gst-buffer-pool-release-buffer" title="gst_buffer_pool_release_buffer ()">gst_buffer_pool_release_buffer</a>      (<em class="parameter"><code><a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a> *pool</code></em>,
                                                          <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>
@@ -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><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> **allocator</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
+                                                         <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>
 <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 <a class="link" href="gstreamer-GstMemory.html#GstAllocator" 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>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>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
-<td><a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a></td>
+<td><span class="type">GstAllocationParams</span></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><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
+                                                         <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>
 <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 <a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a>.
+provided allocator with its default <span class="type">GstAllocationParams</span>.
 </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 <a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a>
+<td>a <span class="type">GstAllocator</span>
 </td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
-<td><a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a></td>
+<td><span class="type">GstAllocationParams</span></td>
 </tr>
 </tbody>
 </table></div>
@@ -630,6 +630,11 @@
 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>.
 </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>.
+</p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -762,13 +767,13 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="GstBufferPoolAcquireParams"></a><h3>GstBufferPoolAcquireParams</h3>
-<pre class="programlisting">typedef struct {
+<a name="GstBufferPoolAcquireParams"></a><h3>struct GstBufferPoolAcquireParams</h3>
+<pre class="programlisting">struct GstBufferPoolAcquireParams {
   GstFormat                 format;
   gint64                    start;
   gint64                    stop;
   GstBufferPoolAcquireFlags flags;
-} GstBufferPoolAcquireParams;
+};
 </pre>
 <p>
 Parameters passed to the <a class="link" href="gstreamer-GstBufferPool.html#gst-buffer-pool-acquire-buffer" title="gst_buffer_pool_acquire_buffer ()"><code class="function">gst_buffer_pool_acquire_buffer()</code></a> function to control the
@@ -807,7 +812,7 @@
 <a name="gst-buffer-pool-acquire-buffer"></a><h3>gst_buffer_pool_acquire_buffer ()</h3>
 <pre class="programlisting"><a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       gst_buffer_pool_acquire_buffer      (<em class="parameter"><code><a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a> *pool</code></em>,
                                                          <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-GstBufferPool.html#GstBufferPoolAcquireParams" title="GstBufferPoolAcquireParams"><span class="type">GstBufferPoolAcquireParams</span></a> *params</code></em>);</pre>
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstBufferPool.html#GstBufferPoolAcquireParams" title="struct GstBufferPoolAcquireParams"><span class="type">GstBufferPoolAcquireParams</span></a> *params</code></em>);</pre>
 <p>
 Acquire a buffer from <em class="parameter"><code>pool</code></em>. <em class="parameter"><code>buffer</code></em> should point to a memory location that
 can hold a pointer to the new buffer.
diff --git a/docs/gst/html/gstreamer-GstCaps.html b/docs/gst/html/gstreamer-GstCaps.html
index ed50c3c..a2aaa9f 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="idp16595824"></a><p class="title"><b>Example 4. Creating caps</b></p>
+<a name="idp16949152"></a><p class="title"><b>Example 4. Creating caps</b></p>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -174,7 +174,7 @@
 7
 8</pre></td>
         <td class="listing_code"><pre class="programlisting">GstCaps <span class="gtkdoc opt">*</span>caps<span class="gtkdoc opt">;</span>
-caps <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#gst-caps-new-simple">gst_caps_new_simple</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;video/x-raw&quot;</span><span class="gtkdoc opt">,</span>
+caps <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-new-simple">gst_caps_new_simple</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;video/x-raw&quot;</span><span class="gtkdoc opt">,</span>
      <span class="string">&quot;format&quot;</span><span class="gtkdoc opt">,</span> G_TYPE_STRING<span class="gtkdoc opt">,</span> <span class="string">&quot;I420&quot;</span><span class="gtkdoc opt">,</span>
      <span class="string">&quot;framerate&quot;</span><span class="gtkdoc opt">,</span> GST_TYPE_FRACTION<span class="gtkdoc opt">,</span> <span class="number">25</span><span class="gtkdoc opt">,</span> <span class="number">1</span><span class="gtkdoc opt">,</span>
      <span class="string">&quot;pixel-aspect-ratio&quot;</span><span class="gtkdoc opt">,</span> GST_TYPE_FRACTION<span class="gtkdoc opt">,</span> <span class="number">1</span><span class="gtkdoc opt">,</span> <span class="number">1</span><span class="gtkdoc opt">,</span>
@@ -309,7 +309,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -682,7 +681,7 @@
 </pre>
 <p>
 Tests if you can safely modify <em class="parameter"><code>caps</code></em>. It is only safe to modify caps when
-there is only one owner of the caps - ie, the refcount is 1.
+there is only one owner of the caps - ie, the object is writable.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -847,7 +846,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.10</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -924,7 +922,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.30</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1049,7 +1046,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1061,13 +1057,6 @@
 Sets fields in a <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>.  The arguments must be passed in the same
 manner as <a class="link" href="gstreamer-GstStructure.html#gst-structure-set" title="gst_structure_set ()"><code class="function">gst_structure_set()</code></a>, and be NULL-terminated.
 </p>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Note</h3>Prior to GStreamer version 0.10.26, this function failed when
-<em class="parameter"><code>caps</code></em> was not simple. If your code needs to work with those versions
-of GStreamer, you may only call this function when <a class="link" href="gstreamer-GstCaps.html#GST-CAPS-IS-SIMPLE:CAPS" title="GST_CAPS_IS_SIMPLE()"><code class="function">GST_CAPS_IS_SIMPLE()</code></a>
-is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for <em class="parameter"><code>caps</code></em>.</div>
-<p>
-</p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -1096,13 +1085,6 @@
 Sets fields in a <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>.  The arguments must be passed in the same
 manner as <a class="link" href="gstreamer-GstStructure.html#gst-structure-set" title="gst_structure_set ()"><code class="function">gst_structure_set()</code></a>, and be NULL-terminated.
 </p>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Note</h3>Prior to GStreamer version 0.10.26, this function failed when
-<em class="parameter"><code>caps</code></em> was not simple. If your code needs to work with those versions
-of GStreamer, you may only call this function when <a class="link" href="gstreamer-GstCaps.html#GST-CAPS-IS-SIMPLE:CAPS" title="GST_CAPS_IS_SIMPLE()"><code class="function">GST_CAPS_IS_SIMPLE()</code></a>
-is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for <em class="parameter"><code>caps</code></em>.</div>
-<p>
-</p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -1254,9 +1236,6 @@
 <p>
 Checks if the given caps are exactly the same set of caps.
 </p>
-<p>
-This function deals correctly with passing NULL for any of the caps.
-</p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -1276,7 +1255,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1371,7 +1349,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1400,7 +1377,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1463,7 +1439,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1607,7 +1582,7 @@
     <tbody>
       <tr>
         <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-LOG:CAPS">GST_LOG</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;caps are %&quot;</span> GST_PTR_FORMAT<span class="gtkdoc opt">,</span> caps<span class="gtkdoc opt">);</span></pre></td>
+        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-LOG:CAPS">GST_LOG</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;caps are %&quot;</span> GST_PTR_FORMAT<span class="gtkdoc opt">,</span> caps<span class="gtkdoc opt">);</span></pre></td>
       </tr>
     </tbody>
   </table>
diff --git a/docs/gst/html/gstreamer-GstDateTime.html b/docs/gst/html/gstreamer-GstDateTime.html
index 54dc3f8..a65000d 100644
--- a/docs/gst/html/gstreamer-GstDateTime.html
+++ b/docs/gst/html/gstreamer-GstDateTime.html
@@ -61,6 +61,9 @@
                                                         (<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>,
@@ -71,6 +74,19 @@
 <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-now-utc" title="gst_date_time_new_now_utc ()">gst_date_time_new_now_utc</a>           (<em class="parameter"><code><span class="type">void</span></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-ref" title="gst_date_time_ref ()">gst_date_time_ref</a>                   (<em class="parameter"><code><a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstDateTime.html#gst-date-time-unref" title="gst_date_time_unref ()">gst_date_time_unref</a>                 (<em class="parameter"><code><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-day" title="gst_date_time_has_day ()">gst_date_time_has_day</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-month" title="gst_date_time_has_month ()">gst_date_time_has_month</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-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>);
+<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-g-date-time" title="gst_date_time_new_from_g_date_time ()">gst_date_time_new_from_g_date_time</a>  (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GDateTime.html#GDateTime"><span class="type">GDateTime</span></a> *dt</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-GDateTime.html#GDateTime"><span class="returnvalue">GDateTime</span></a> *         <a class="link" href="gstreamer-GstDateTime.html#gst-date-time-to-g-date-time" title="gst_date_time_to_g_date_time ()">gst_date_time_to_g_date_time</a>        (<em class="parameter"><code><a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);
 </pre>
 </div>
 <div class="refsect1">
@@ -115,14 +131,14 @@
 <td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstDateTime</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-date-time-get-day"></a><h3>gst_date_time_get_day ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                gst_date_time_get_day               (<em class="parameter"><code>const <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
 <p>
-Returns the day of this <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a>.
+Returns the day of the month of this <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a>.
+Call gst_date_time_has_day before, to avoid warnings.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -139,7 +155,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -147,6 +162,7 @@
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                gst_date_time_get_month             (<em class="parameter"><code>const <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
 <p>
 Returns the month of this <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a>. January is 1, February is 2, etc..
+Call gst_date_time_has_month before, to avoid warnings.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -163,7 +179,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -172,6 +187,7 @@
 <p>
 Retrieves the hour of the day represented by <em class="parameter"><code>datetime</code></em> in the gregorian
 calendar. The return is in the range of 0 to 23.
+Call gst_date_time_has_haur before, to avoid warnings.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -187,7 +203,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -211,7 +226,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -220,6 +234,7 @@
 <p>
 Retrieves the minute of the hour represented by <em class="parameter"><code>datetime</code></em> in the gregorian
 calendar.
+Call gst_date_time_has_minute before, to avoid warnings.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -235,7 +250,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -261,7 +275,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -270,6 +283,7 @@
 <p>
 Retrieves the second of the minute represented by <em class="parameter"><code>datetime</code></em> in the gregorian
 calendar.
+Call gst_date_time_has_second before, to avoid warnings.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -286,7 +300,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -294,6 +307,7 @@
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                gst_date_time_get_year              (<em class="parameter"><code>const <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
 <p>
 Returns the year of this <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a>
+Call gst_date_time_has_year before, to avoid warnings.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -310,7 +324,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -336,6 +349,12 @@
 represeting it in hours for most timezones.
 </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">
@@ -376,7 +395,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -404,7 +422,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -432,24 +449,26 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </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>,
+<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>,
-                                                         <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>);</pre>
+                                                         <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, <em class="parameter"><code>hour</code></em> from 0 to 23, <em class="parameter"><code>minutes</code></em> and <em class="parameter"><code>seconds</code></em> from 0 to 59.
+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
@@ -470,16 +489,72 @@
 <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>,
+                                                         <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>,
+                                                         <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>);</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, <em class="parameter"><code>hour</code></em> from 0 to 23, <em class="parameter"><code>minutes</code></em> and <em class="parameter"><code>seconds</code></em> from 0 to 59.
+</p>
+<p>
+If <em class="parameter"><code>month</code></em> is -1, then the <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> created will only contain <em class="parameter"><code>year</code></em>,
+and all other fields will be considered not set.
+</p>
+<p>
+If <em class="parameter"><code>day</code></em> is -1, then the <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> created will only contain <em class="parameter"><code>year</code></em> and
+<em class="parameter"><code>month</code></em> and all other fields will be considered not set.
+</p>
+<p>
+If <em class="parameter"><code>hour</code></em> is -1, then the <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> created will only contain <em class="parameter"><code>year</code></em> and
+<em class="parameter"><code>month</code></em> and <em class="parameter"><code>day</code></em>, and the time fields will be considered not set. In this
+case <em class="parameter"><code>minute</code></em> and <em class="parameter"><code>seconds</code></em> should also be -1.
+</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, or -1</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, or -1</td>
+</tr>
+<tr>
 <td><p><span class="term"><em class="parameter"><code>hour</code></em> :</span></p></td>
-<td>the hour of the day</td>
+<td>the hour of the day, or -1</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>minute</code></em> :</span></p></td>
-<td>the minute of the hour</td>
+<td>the minute of the hour, or -1</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>seconds</code></em> :</span></p></td>
-<td>the second of the minute</td>
+<td>the second of the minute, or -1</td>
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
@@ -488,7 +563,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -509,7 +583,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -531,7 +604,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -555,7 +627,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -573,7 +644,273 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-date-time-has-day"></a><h3>gst_date_time_has_day ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_date_time_has_day               (<em class="parameter"><code>const <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</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>datetime</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a>
+</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>datetime</code></em>'s day field is set, otherwise FALSE</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-date-time-has-month"></a><h3>gst_date_time_has_month ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_date_time_has_month             (<em class="parameter"><code>const <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</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>datetime</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a>
+</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>datetime</code></em>'s month field is set, otherwise FALSE</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-date-time-has-second"></a><h3>gst_date_time_has_second ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_date_time_has_second            (<em class="parameter"><code>const <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</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>datetime</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a>
+</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>datetime</code></em>'s second field is set, otherwise FALSE</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-date-time-has-time"></a><h3>gst_date_time_has_time ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_date_time_has_time              (<em class="parameter"><code>const <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</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>datetime</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a>
+</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>datetime</code></em>'s hour and minute fields are set,
+otherwise FALSE</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-date-time-has-year"></a><h3>gst_date_time_has_year ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_date_time_has_year              (<em class="parameter"><code>const <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</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>datetime</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a>
+</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>datetime</code></em>'s year field is set (which should always
+be the case), otherwise FALSE</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-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>
+<p>
+Tries to parse common variants of ISO-8601 datetime strings into a
+<a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a>.
+</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>string</code></em> :</span></p></td>
+<td>ISO 8601-formatted datetime string.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a newly created <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a>, or NULL on error. <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-to-iso8601-string"></a><h3>gst_date_time_to_iso8601_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_date_time_to_iso8601_string     (<em class="parameter"><code><a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
+<p>
+Create a minimal string compatible with ISO-8601. Possible output formats
+are (for example): 2012, 2012-06, 2012-06-23, 2012-06-23T23:30Z,
+2012-06-23T23:30+0100, 2012-06-23T23:30:59Z, 2012-06-23T23:30:59+0100
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>datetime</code></em> :</span></p></td>
+<td>GstDateTime.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a newly allocated string formatted according to ISO 8601 and
+only including the datetime fields that are valid, or NULL in case
+there was an error. The string should be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-date-time-new-from-g-date-time"></a><h3>gst_date_time_new_from_g_date_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_g_date_time  (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GDateTime.html#GDateTime"><span class="type">GDateTime</span></a> *dt</code></em>);</pre>
+<p>
+Creates a new <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> from a <a href="http://library.gnome.org/devel/glib/unstable/glib-GDateTime.html#GDateTime"><span class="type">GDateTime</span></a> object.
+</p>
+<p>
+Free-function: gst_date_time_unref
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>dt</code></em> :</span></p></td>
+<td>the <a href="http://library.gnome.org/devel/glib/unstable/glib-GDateTime.html#GDateTime"><span class="type">GDateTime</span></a>. The new <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> takes ownership. <span class="annotation">[<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"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a newly created <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a>, or NULL on error. <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-to-g-date-time"></a><h3>gst_date_time_to_g_date_time ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-GDateTime.html#GDateTime"><span class="returnvalue">GDateTime</span></a> *         gst_date_time_to_g_date_time        (<em class="parameter"><code><a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
+<p>
+Creates a new <a href="http://library.gnome.org/devel/glib/unstable/glib-GDateTime.html#GDateTime"><span class="type">GDateTime</span></a> from a fully defined <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> object.
+</p>
+<p>
+Free-function: g_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>datetime</code></em> :</span></p></td>
+<td>GstDateTime.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a newly created <a href="http://library.gnome.org/devel/glib/unstable/glib-GDateTime.html#GDateTime"><span class="type">GDateTime</span></a>, or NULL on error. <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>
 </div>
 </div>
diff --git a/docs/gst/html/gstreamer-GstEvent.html b/docs/gst/html/gstreamer-GstEvent.html
index 0dfda61..f79555d 100644
--- a/docs/gst/html/gstreamer-GstEvent.html
+++ b/docs/gst/html/gstreamer-GstEvent.html
@@ -87,14 +87,15 @@
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-gap" title="gst_event_parse_gap ()">gst_event_parse_gap</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="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> *timestamp</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> *duration</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-stream-start" title="gst_event_new_stream_start ()">gst_event_new_stream_start</a>          (<em class="parameter"><code><span class="type">void</span></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-stream-start" title="gst_event_new_stream_start ()">gst_event_new_stream_start</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> *stream_id</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-stream-start" title="gst_event_parse_stream_start ()">gst_event_parse_stream_start</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>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 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-segment" title="gst_event_new_segment ()">gst_event_new_segment</a>               (<em class="parameter"><code>const <a class="link" href="gstreamer-GstSegment.html#GstSegment" title="struct GstSegment"><span class="type">GstSegment</span></a> *segment</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-segment" title="gst_event_parse_segment ()">gst_event_parse_segment</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>const <a class="link" href="gstreamer-GstSegment.html#GstSegment" title="struct GstSegment"><span class="type">GstSegment</span></a> **segment</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstEvent.html#gst-event-copy-segment" title="gst_event_copy_segment ()">gst_event_copy_segment</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-GstSegment.html#GstSegment" title="struct GstSegment"><span class="type">GstSegment</span></a> *segment</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-tag" title="gst_event_new_tag ()">gst_event_new_tag</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="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *taglist</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-tag" title="gst_event_new_tag ()">gst_event_new_tag</a>                   (<em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *taglist</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-tag" title="gst_event_parse_tag ()">gst_event_parse_tag</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-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> **taglist</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-buffer-size" title="gst_event_new_buffer_size ()">gst_event_new_buffer_size</a>           (<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
@@ -174,14 +175,19 @@
                                                         (<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="struct GstToc"><span class="type">GstToc</span></a> *toc</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>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> **toc</code></em>,
+                                                         <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>);
 <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-select" title="gst_event_new_toc_select ()">gst_event_new_toc_select</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> *uid</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-toc-select" title="gst_event_parse_toc_select ()">gst_event_parse_toc_select</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#gchar"><span class="type">gchar</span></a> **uid</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-segment-done" title="gst_event_new_segment_done ()">gst_event_new_segment_done</a>          (<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>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-segment-done" title="gst_event_parse_segment_done ()">gst_event_parse_segment_done</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-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>);
 </pre>
 </div>
 <div class="refsect1">
@@ -218,7 +224,7 @@
 the needed parameters to specify seeking time and mode.
 </p>
 <div class="example">
-<a name="idp21515712"></a><p class="title"><b>Example 8. performing a seek on a pipeline</b></p>
+<a name="idp22888576"></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>
@@ -243,13 +249,13 @@
 <span class="gtkdoc opt">...</span>
 <span class="gtkdoc slc">// construct a seek event to play the media from second 2 to 5, flush</span>
 <span class="gtkdoc slc">// the pipeline to decrease latency.</span>
-event <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#gst-event-new-seek">gst_event_new_seek</a></span> <span class="gtkdoc opt">(</span><span class="number">1.0</span><span class="gtkdoc opt">,</span> 
+event <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstEvent.html#gst-event-new-seek">gst_event_new_seek</a></span> <span class="gtkdoc opt">(</span><span class="number">1.0</span><span class="gtkdoc opt">,</span> 
    GST_FORMAT_TIME<span class="gtkdoc opt">,</span> 
    GST_SEEK_FLAG_FLUSH<span class="gtkdoc opt">,</span>
    GST_SEEK_TYPE_SET<span class="gtkdoc opt">,</span> <span class="number">2</span> <span class="gtkdoc opt">*</span> GST_SECOND<span class="gtkdoc opt">,</span>
    GST_SEEK_TYPE_SET<span class="gtkdoc opt">,</span> <span class="number">5</span> <span class="gtkdoc opt">*</span> GST_SECOND<span class="gtkdoc opt">);</span>
 <span class="gtkdoc opt">...</span>
-result <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-send-event">gst_element_send_event</a></span> <span class="gtkdoc opt">(</span>pipeline<span class="gtkdoc opt">,</span> event<span class="gtkdoc opt">);</span>
+result <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/GstElement.html#gst-element-send-event">gst_element_send_event</a></span> <span class="gtkdoc opt">(</span>pipeline<span class="gtkdoc opt">,</span> event<span class="gtkdoc opt">);</span>
 <span class="keyword">if</span> <span class="gtkdoc opt">(!</span>result<span class="gtkdoc opt">)</span>
   <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Message-Logging.html#g-warning">g_warning</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;seek failed&quot;</span><span class="gtkdoc opt">);</span>
 <span class="gtkdoc opt">...</span></pre></td>
@@ -400,7 +406,7 @@
   GST_EVENT_BUFFERSIZE            = GST_EVENT_MAKE_TYPE (90, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY)),
   GST_EVENT_SINK_MESSAGE          = GST_EVENT_MAKE_TYPE (100, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY) | FLAG(STICKY_MULTI)),
   GST_EVENT_EOS                   = GST_EVENT_MAKE_TYPE (110, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY)),
-  GST_EVENT_TOC                   = GST_EVENT_MAKE_TYPE (120, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY)),
+  GST_EVENT_TOC                   = GST_EVENT_MAKE_TYPE (120, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY) | FLAG(STICKY_MULTI)),
 
   /* non-sticky downstream serialized */
   GST_EVENT_SEGMENT_DONE          = GST_EVENT_MAKE_TYPE (150, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
@@ -469,7 +475,7 @@
 </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>contains configuration information for the stream,
+<td>(unimplemented) contains configuration information for the stream,
                 for example stream-headers and codec-data.
 </td>
 </tr>
@@ -497,7 +503,6 @@
 <td>An event that sinks turn into a message. Used to
                          send messages that should be emitted in sync with
                          rendering.
-                         Since: 0.10.26
 </td>
 </tr>
 <tr>
@@ -509,17 +514,17 @@
 <tr>
 <td><p><a name="GST-EVENT-TOC:CAPS"></a><span class="term"><code class="literal">GST_EVENT_TOC</code></span></p></td>
 <td>An event which indicates that a new table of contents (TOC)
-                was found or updated. Since: 0.10.37
+                was found or updated.
 </td>
 </tr>
 <tr>
 <td><p><a name="GST-EVENT-SEGMENT-DONE:CAPS"></a><span class="term"><code class="literal">GST_EVENT_SEGMENT_DONE</code></span></p></td>
-<td>(unimplemented) Marks the end of a segment playback.
+<td>Marks the end of a segment playback.
 </td>
 </tr>
 <tr>
 <td><p><a name="GST-EVENT-GAP:CAPS"></a><span class="term"><code class="literal">GST_EVENT_GAP</code></span></p></td>
-<td>(unimplemented) Marks a gap in the datastream.
+<td>Marks a gap in the datastream.
 </td>
 </tr>
 <tr>
@@ -545,25 +550,23 @@
 <td><p><a name="GST-EVENT-LATENCY:CAPS"></a><span class="term"><code class="literal">GST_EVENT_LATENCY</code></span></p></td>
 <td>Notification of new latency adjustment. Sinks will use
                     the latency information to adjust their synchronisation.
-                    Since: 0.10.12
 </td>
 </tr>
 <tr>
 <td><p><a name="GST-EVENT-STEP:CAPS"></a><span class="term"><code class="literal">GST_EVENT_STEP</code></span></p></td>
 <td>A request for stepping through the media. Sinks will usually
-                 execute the step operation. Since: 0.10.24
+                 execute the step operation.
 </td>
 </tr>
 <tr>
 <td><p><a name="GST-EVENT-RECONFIGURE:CAPS"></a><span class="term"><code class="literal">GST_EVENT_RECONFIGURE</code></span></p></td>
 <td>A request for upstream renegotiating caps and reconfiguring.
-                        Since: 0.11.0
 </td>
 </tr>
 <tr>
 <td><p><a name="GST-EVENT-TOC-SELECT:CAPS"></a><span class="term"><code class="literal">GST_EVENT_TOC_SELECT</code></span></p></td>
 <td>A request for a new playback position based on TOC
-                       entry's UID. Since 0.10.37
+                       entry's UID.
 </td>
 </tr>
 <tr>
@@ -1114,7 +1117,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1150,7 +1152,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1181,7 +1182,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1368,7 +1368,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-event-new-stream-start"></a><h3>gst_event_new_stream_start ()</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_start          (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> *          gst_event_new_stream_start          (<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>
 Create a new STREAM_START event. The stream start event can only
 travel downstream synchronized with the buffer flow. It is expected
@@ -1382,13 +1382,50 @@
 combining multiple streams must ensure that this event is only forwarded
 downstream once and not for every single input stream.
 </p>
+<p>
+The <em class="parameter"><code>stream_id</code></em> should be a unique string that consists of the upstream
+stream-id, / as separator and a unique stream-id for this specific
+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.
+</p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
-<tbody><tr>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>stream_id</code></em> :</span></p></td>
+<td>Identifier for this stream</td>
+</tr>
+<tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>the new STREAM_START event. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
-</tr></tbody>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-event-parse-stream-start"></a><h3>gst_event_parse_stream_start ()</h3>
+<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.
+</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-start event.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>stream_id</code></em> :</span></p></td>
+<td>pointer to store the stream-id. <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>
@@ -1502,24 +1539,21 @@
 <hr>
 <div class="refsect2">
 <a name="gst-event-new-tag"></a><h3>gst_event_new_tag ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> *          gst_event_new_tag                   (<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="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *taglist</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> *          gst_event_new_tag                   (<em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *taglist</code></em>);</pre>
 <p>
 Generates a metadata tag event from the given <em class="parameter"><code>taglist</code></em>.
 </p>
 <p>
-Since the TAG event has the <a class="link" href="gstreamer-GstEvent.html#GST-EVENT-TYPE-STICKY-MULTI:CAPS"><code class="literal">GST_EVENT_TYPE_STICKY_MULTI</code></a> flag set, the
-<em class="parameter"><code>name</code></em> will be used to keep track of multiple tag events.
+The scope of the taglist specifies if the taglist applies to the
+complete medium or only to this specific stream. As the tag event
+is a sticky event, elements should merge tags received from
+upstream with a given scope with their own tags with the same
+scope and create a new tag event from it.
 </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 event. <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>taglist</code></em> :</span></p></td>
 <td>metadata list. The event will take ownership
 of the taglist. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -1680,7 +1714,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1936,7 +1969,7 @@
 <td><p><a name="GST-SEEK-FLAG-SKIP:CAPS"></a><span class="term"><code class="literal">GST_SEEK_FLAG_SKIP</code></span></p></td>
 <td>when doing fast foward or fast reverse playback, allow
                     elements to skip frames instead of generating all
-                    frames. Since 0.10.22.
+                    frames.
 </td>
 </tr>
 <tr>
@@ -1944,14 +1977,13 @@
 <td>go to a location before the requested position,
                     if KEY_UNIT this means the keyframe at or before the
                     requested position the one at or before the seek target.
-                    Since 0.10.37.
 </td>
 </tr>
 <tr>
 <td><p><a name="GST-SEEK-FLAG-SNAP-AFTER:CAPS"></a><span class="term"><code class="literal">GST_SEEK_FLAG_SNAP_AFTER</code></span></p></td>
 <td>go to a location after the requested position,
                     if KEY_UNIT this means the keyframe at of after the
-                    requested position. Since 0.10.37.
+                    requested position.
 </td>
 </tr>
 <tr>
@@ -1959,7 +1991,7 @@
 <td>go to a position near the requested position,
                     if KEY_UNIT this means the keyframe closest to the
                     requested position, if both keyframes are at an equal
-                    distance, behaves like SNAP_BEFORE. Since 0.10.37.
+                    distance, behaves like SNAP_BEFORE.
 </td>
 </tr>
 </tbody>
@@ -2164,7 +2196,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.12</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2188,7 +2219,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.12</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2247,7 +2277,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2296,7 +2325,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2330,7 +2358,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2354,7 +2381,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2374,7 +2400,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.11.0</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2419,7 +2444,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
-<td>A pointer to the caps. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
+<td>A pointer to the caps. <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>
 </tbody>
@@ -2647,7 +2672,7 @@
 <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="struct GstToc"><span class="type">GstToc</span></a> *toc</code></em>,
+<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>
 <p>
 Generate a TOC event from the given <em class="parameter"><code>toc</code></em>. The purpose of the TOC event is to
@@ -2657,13 +2682,10 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
-<td>a name for the event</td>
-</tr>
-<tr>
 <td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td>
 <td>
-<a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> structure.</td>
+<a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> structure. <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>updated</code></em> :</span></p></td>
@@ -2671,17 +2693,17 @@
 </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-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>.</td>
+<td>a new <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</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>
-<p class="since">Since 0.10.37</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-event-parse-toc"></a><h3>gst_event_parse_toc ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_event_parse_toc                 (<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-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> **toc</code></em>,
+                                                         <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>
 <p>
 Parse a TOC <em class="parameter"><code>event</code></em> and store the results in the given <em class="parameter"><code>toc</code></em> and <em class="parameter"><code>updated</code></em> locations.
@@ -2695,7 +2717,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td>
-<td>pointer to <a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> structure. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
+<td>pointer to <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> structure. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
 <tr>
@@ -2705,7 +2727,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.37</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2729,7 +2750,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.37</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2753,7 +2773,63 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.37</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-event-new-segment-done"></a><h3>gst_event_new_segment_done ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> *          gst_event_new_segment_done          (<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>);</pre>
+<p>
+Create a new segment-done event. This event is sent by elements that
+finish playback of a segment as a result of a segment seek.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
+<td>The format of the position being done</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>position</code></em> :</span></p></td>
+<td>The position of the segment being done</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-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</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-event-parse-segment-done"></a><h3>gst_event_parse_segment_done ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_event_parse_segment_done        (<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-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>);</pre>
+<p>
+Extracts the position and format from the segment done message.
+</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 valid <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> of type GST_EVENT_SEGMENT_DONE.</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>position</code></em> :</span></p></td>
+<td>Result location for the position, 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>
 </div>
 <div class="refsect1">
diff --git a/docs/gst/html/gstreamer-GstFormat.html b/docs/gst/html/gstreamer-GstFormat.html
index f763b9c..a65df6e 100644
--- a/docs/gst/html/gstreamer-GstFormat.html
+++ b/docs/gst/html/gstreamer-GstFormat.html
@@ -284,7 +284,8 @@
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>formats</code></em> :</span></p></td>
-<td>The format array to search</td>
+<td>The format array to search. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span>
+</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-GstGError.html b/docs/gst/html/gstreamer-GstGError.html
index f82a9e1..f3b0fbd 100644
--- a/docs/gst/html/gstreamer-GstGError.html
+++ b/docs/gst/html/gstreamer-GstGError.html
@@ -115,14 +115,14 @@
 <p>
 </p>
 <div class="example">
-<a name="idp6925664"></a><p class="title"><b>Example 7. Throwing an error</b></p>
+<a name="idp9531472"></a><p class="title"><b>Example 7. Throwing an error</b></p>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
       <tr>
         <td class="listing_lines" align="right"><pre>1
 2</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-ELEMENT-ERROR:CAPS">GST_ELEMENT_ERROR</a></span> <span class="gtkdoc opt">(</span>src<span class="gtkdoc opt">,</span> RESOURCE<span class="gtkdoc opt">,</span> NOT_FOUND<span class="gtkdoc opt">,</span>
+        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="../gstreamer-1.0/GstElement.html#GST-ELEMENT-ERROR:CAPS">GST_ELEMENT_ERROR</a></span> <span class="gtkdoc opt">(</span>src<span class="gtkdoc opt">,</span> RESOURCE<span class="gtkdoc opt">,</span> NOT_FOUND<span class="gtkdoc opt">,</span>
   <span class="gtkdoc opt">(</span><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-I18N.html#gettext-macro">_</a></span><span class="gtkdoc opt">(</span><span class="string">&quot;No file name specified for reading.&quot;</span><span class="gtkdoc opt">)), (</span>NULL<span class="gtkdoc opt">));</span></pre></td>
       </tr>
     </tbody>
@@ -259,7 +259,7 @@
 <tr>
 <td><p><a name="GST-CORE-ERROR-DISABLED:CAPS"></a><span class="term"><code class="literal">GST_CORE_ERROR_DISABLED</code></span></p></td>
 <td>used if functionality has been disabled at
-                          compile time (Since: 0.10.13).
+                          compile time.
 </td>
 </tr>
 <tr>
@@ -533,13 +533,13 @@
 <tr>
 <td><p><a name="GST-STREAM-ERROR-DECRYPT:CAPS"></a><span class="term"><code class="literal">GST_STREAM_ERROR_DECRYPT</code></span></p></td>
 <td>used when the stream is encrypted and can't be
-decrypted because this is not supported by the element. (Since: 0.10.20)
+decrypted because this is not supported by the element.
 </td>
 </tr>
 <tr>
 <td><p><a name="GST-STREAM-ERROR-DECRYPT-NOKEY:CAPS"></a><span class="term"><code class="literal">GST_STREAM_ERROR_DECRYPT_NOKEY</code></span></p></td>
 <td>used when the stream is encrypted and
-can't be decrypted because no suitable key is available. (Since: 0.10.20)
+can't be decrypted because no suitable key is available.
 </td>
 </tr>
 <tr>
diff --git a/docs/gst/html/gstreamer-GstInfo.html b/docs/gst/html/gstreamer-GstInfo.html
index 2129d3d..d6fb6f4 100644
--- a/docs/gst/html/gstreamer-GstInfo.html
+++ b/docs/gst/html/gstreamer-GstInfo.html
@@ -55,7 +55,7 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> line</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> *object</code></em>,
                                                          <em class="parameter"><code><span class="type">GstDebugMessage</span> *message</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><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-GstInfo.html#gst-debug-log" title="gst_debug_log ()">gst_debug_log</a>                       (<em class="parameter"><code><a class="link" href="gstreamer-GstInfo.html#GstDebugCategory" title="struct GstDebugCategory"><span class="type">GstDebugCategory</span></a> *category</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstInfo.html#GstDebugLevel" title="enum GstDebugLevel"><span class="type">GstDebugLevel</span></a> level</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> *file</code></em>,
@@ -83,7 +83,8 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> unused</code></em>);
 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-GstInfo.html#gst-debug-level-get-name" title="gst_debug_level_get_name ()">gst_debug_level_get_name</a>            (<em class="parameter"><code><a class="link" href="gstreamer-GstInfo.html#GstDebugLevel" title="enum GstDebugLevel"><span class="type">GstDebugLevel</span></a> level</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstInfo.html#gst-debug-add-log-function" title="gst_debug_add_log_function ()">gst_debug_add_log_function</a>          (<em class="parameter"><code><a class="link" href="gstreamer-GstInfo.html#GstLogFunction" title="GstLogFunction ()"><span class="type">GstLogFunction</span></a> func</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</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>);
 <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-GstInfo.html#gst-debug-remove-log-function" title="gst_debug_remove_log_function ()">gst_debug_remove_log_function</a>       (<em class="parameter"><code><a class="link" href="gstreamer-GstInfo.html#GstLogFunction" title="GstLogFunction ()"><span class="type">GstLogFunction</span></a> func</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-GstInfo.html#gst-debug-remove-log-function-by-data" title="gst_debug_remove_log_function_by_data ()">gst_debug_remove_log_function_by_data</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>);
@@ -249,7 +250,7 @@
       <tr>
         <td class="listing_lines" align="right"><pre>1
 2</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-STATIC:CAPS">GST_DEBUG_CATEGORY_STATIC</a></span> <span class="gtkdoc opt">(</span>my_category<span class="gtkdoc opt">);</span>     <span class="gtkdoc slc">// define category (statically)</span>
+        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-STATIC:CAPS">GST_DEBUG_CATEGORY_STATIC</a></span> <span class="gtkdoc opt">(</span>my_category<span class="gtkdoc opt">);</span>     <span class="gtkdoc slc">// define category (statically)</span>
 <span class="gtkdoc ppc">#define GST_CAT_DEFAULT my_category</span>     <span class="gtkdoc slc">// set as default</span><span class="gtkdoc ppc"></span></pre></td>
       </tr>
     </tbody>
@@ -265,7 +266,7 @@
       <tr>
         <td class="listing_lines" align="right"><pre>1
 2</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-INIT:CAPS">GST_DEBUG_CATEGORY_INIT</a></span> <span class="gtkdoc opt">(</span>my_category<span class="gtkdoc opt">,</span> <span class="string">&quot;my category&quot;</span><span class="gtkdoc opt">,</span>
+        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-INIT:CAPS">GST_DEBUG_CATEGORY_INIT</a></span> <span class="gtkdoc opt">(</span>my_category<span class="gtkdoc opt">,</span> <span class="string">&quot;my category&quot;</span><span class="gtkdoc opt">,</span>
                          <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="string">&quot;This is my very own&quot;</span><span class="gtkdoc opt">);</span></pre></td>
       </tr>
     </tbody>
@@ -352,7 +353,7 @@
  in the executed code path is not fully implemented or handled yet. Note
  that this does not replace proper error handling in any way, the purpose
  of this message is to make it easier to spot incomplete/unfinished pieces
- of code when reading the debug log. (Since: 0.10.23)
+ of code when reading the debug log.
 </td>
 </tr>
 <tr>
@@ -385,7 +386,7 @@
 </tr>
 <tr>
 <td><p><a name="GST-LEVEL-TRACE:CAPS"></a><span class="term"><code class="literal">GST_LEVEL_TRACE</code></span></p></td>
-<td>Tracing-related messages (Since: 0.10.30)
+<td>Tracing-related messages.
  Examples for this are referencing/dereferencing of objects.
 </td>
 </tr>
@@ -393,7 +394,7 @@
 <td><p><a name="GST-LEVEL-MEMDUMP:CAPS"></a><span class="term"><code class="literal">GST_LEVEL_MEMDUMP</code></span></p></td>
 <td>memory dump messages are used to log (small) chunks of
  data as memory dumps in the log. They will be displayed as hexdump with
- ASCII characters. (Since: 0.10.23)
+ ASCII characters.
 </td>
 </tr>
 <tr>
@@ -601,7 +602,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -665,7 +665,7 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> line</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> *object</code></em>,
                                                          <em class="parameter"><code><span class="type">GstDebugMessage</span> *message</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>);</pre>
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>
 Function prototype for a logging function that can be registered with
 <a class="link" href="gstreamer-GstInfo.html#gst-debug-add-log-function" title="gst_debug_add_log_function ()"><code class="function">gst_debug_add_log_function()</code></a>.
@@ -706,7 +706,7 @@
 <td>the message</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
 <td>user data for the log function</td>
 </tr>
 </tbody>
@@ -929,7 +929,8 @@
 <div class="refsect2">
 <a name="gst-debug-add-log-function"></a><h3>gst_debug_add_log_function ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_debug_add_log_function          (<em class="parameter"><code><a class="link" href="gstreamer-GstInfo.html#GstLogFunction" title="GstLogFunction ()"><span class="type">GstLogFunction</span></a> func</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
+                                                         <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>
 Adds the logging function to the list of logging functions.
 Be sure to use <a href="http://library.gnome.org/devel/glib/unstable/glib-Miscellaneous-Macros.html#G-GNUC-NO-INSTRUMENT:CAPS"><span class="type">G_GNUC_NO_INSTRUMENT</span></a> on that function, it is needed.
@@ -942,9 +943,12 @@
 <td>the function to use</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
-<td>user data. <span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span>
-</td>
+<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 when <em class="parameter"><code>user_data</code></em> is not used anymore</td>
 </tr>
 </tbody>
 </table></div>
@@ -961,7 +965,8 @@
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
-<td>the log function to remove</td>
+<td>the log function to remove. <span class="annotation">[<acronym title="The callback is valid only during the call to the method."><span class="acronym">scope call</span></acronym>]</span>
+</td>
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
@@ -1267,12 +1272,12 @@
 4
 5
 6</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-STATIC:CAPS">GST_DEBUG_CATEGORY_STATIC</a></span> <span class="gtkdoc opt">(</span>gst_myplugin_debug<span class="gtkdoc opt">);</span>
+        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-STATIC:CAPS">GST_DEBUG_CATEGORY_STATIC</a></span> <span class="gtkdoc opt">(</span>gst_myplugin_debug<span class="gtkdoc opt">);</span>
 <span class="gtkdoc ppc">#define GST_CAT_DEFAULT gst_myplugin_debug</span>
-<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-STATIC:CAPS">GST_DEBUG_CATEGORY_STATIC</a></span> <span class="gtkdoc opt">(</span>GST_CAT_PERFORMANCE<span class="gtkdoc opt">);</span>
+<span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-STATIC:CAPS">GST_DEBUG_CATEGORY_STATIC</a></span> <span class="gtkdoc opt">(</span>GST_CAT_PERFORMANCE<span class="gtkdoc opt">);</span>
 <span class="gtkdoc opt">...</span>
-<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-INIT:CAPS">GST_DEBUG_CATEGORY_INIT</a></span> <span class="gtkdoc opt">(</span>gst_myplugin_debug<span class="gtkdoc opt">,</span> <span class="string">&quot;myplugin&quot;</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="string">&quot;nice element&quot;</span><span class="gtkdoc opt">);</span>
-<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-GET:CAPS">GST_DEBUG_CATEGORY_GET</a></span> <span class="gtkdoc opt">(</span>GST_CAT_PERFORMANCE<span class="gtkdoc opt">,</span> <span class="string">&quot;GST_PERFORMANCE&quot;</span><span class="gtkdoc opt">);</span></pre></td>
+<span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-INIT:CAPS">GST_DEBUG_CATEGORY_INIT</a></span> <span class="gtkdoc opt">(</span>gst_myplugin_debug<span class="gtkdoc opt">,</span> <span class="string">&quot;myplugin&quot;</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="string">&quot;nice element&quot;</span><span class="gtkdoc opt">);</span>
+<span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-GET:CAPS">GST_DEBUG_CATEGORY_GET</a></span> <span class="gtkdoc opt">(</span>GST_CAT_PERFORMANCE<span class="gtkdoc opt">,</span> <span class="string">&quot;GST_PERFORMANCE&quot;</span><span class="gtkdoc opt">);</span></pre></td>
       </tr>
     </tbody>
   </table>
@@ -1293,7 +1298,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1518,7 +1522,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.23</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1707,7 +1710,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.23</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1735,7 +1737,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.30</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1770,7 +1771,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.23</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1903,7 +1903,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.23</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1926,7 +1925,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.30</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1956,7 +1954,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.23</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2091,7 +2088,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.23</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2114,7 +2110,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.30</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2144,7 +2139,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.23</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2241,7 +2235,6 @@
 <td>printf-style message to output</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.23</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2258,7 +2251,6 @@
 <td>printf-style message to output</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.30</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2284,7 +2276,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.23</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2304,7 +2295,6 @@
 <td>pointer to the function to register</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2394,7 +2384,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2423,7 +2412,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2452,7 +2440,7 @@
     <tbody>
       <tr>
         <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="function">printf</span><span class="gtkdoc opt">(</span><span class="string">&quot;%&quot;</span> GST_TIME_FORMAT <span class="string">&quot;</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">,</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-TIME-ARGS:CAPS">GST_TIME_ARGS</a></span><span class="gtkdoc opt">(</span>ts<span class="gtkdoc opt">));</span></pre></td>
+        <td class="listing_code"><pre class="programlisting"><span class="function">printf</span><span class="gtkdoc opt">(</span><span class="string">&quot;%&quot;</span> GST_TIME_FORMAT <span class="string">&quot;</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">,</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-TIME-ARGS:CAPS">GST_TIME_ARGS</a></span><span class="gtkdoc opt">(</span>ts<span class="gtkdoc opt">));</span></pre></td>
       </tr>
     </tbody>
   </table>
diff --git a/docs/gst/html/gstreamer-GstIterator.html b/docs/gst/html/gstreamer-GstIterator.html
index 82147a4..054cc8e 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="idp22563824"></a><p class="title"><b>Example 9. Using an iterator</b></p>
+<a name="idp21761296"></a><p class="title"><b>Example 9. Using an iterator</b></p>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -153,14 +153,14 @@
         <td class="listing_code"><pre class="programlisting">it <span class="gtkdoc opt">=</span> <span class="function">_get_iterator</span><span class="gtkdoc opt">(</span>object<span class="gtkdoc opt">);</span>
 done <span class="gtkdoc opt">=</span> FALSE<span class="gtkdoc opt">;</span>
 <span class="keyword">while</span> <span class="gtkdoc opt">(!</span>done<span class="gtkdoc opt">) {</span>
-  <span class="keyword">switch</span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstIterator.html#gst-iterator-next">gst_iterator_next</a></span> <span class="gtkdoc opt">(</span>it<span class="gtkdoc opt">, &amp;</span>item<span class="gtkdoc opt">)) {</span>
+  <span class="keyword">switch</span> <span class="gtkdoc opt">(</span><span class="function"><a href="../gstreamer-1.0/gstreamer-GstIterator.html#gst-iterator-next">gst_iterator_next</a></span> <span class="gtkdoc opt">(</span>it<span class="gtkdoc opt">, &amp;</span>item<span class="gtkdoc opt">)) {</span>
     <span class="keyword">case</span> GST_ITERATOR_OK<span class="gtkdoc opt">:</span>
       <span class="gtkdoc opt">...</span> use<span class="gtkdoc opt">/</span>change item here<span class="gtkdoc opt">...</span>
       <span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#g-value-reset">g_value_reset</a></span> <span class="gtkdoc opt">(&amp;</span>item<span class="gtkdoc opt">);</span>
       <span class="keyword">break</span><span class="gtkdoc opt">;</span>
     <span class="keyword">case</span> GST_ITERATOR_RESYNC<span class="gtkdoc opt">:</span>
       <span class="gtkdoc opt">...</span>rollback changes to items<span class="gtkdoc opt">...</span>
-      <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstIterator.html#gst-iterator-resync">gst_iterator_resync</a></span> <span class="gtkdoc opt">(</span>it<span class="gtkdoc opt">);</span>
+      <span class="function"><a href="../gstreamer-1.0/gstreamer-GstIterator.html#gst-iterator-resync">gst_iterator_resync</a></span> <span class="gtkdoc opt">(</span>it<span class="gtkdoc opt">);</span>
       <span class="keyword">break</span><span class="gtkdoc opt">;</span>
     <span class="keyword">case</span> GST_ITERATOR_ERROR<span class="gtkdoc opt">:</span>
       <span class="gtkdoc opt">...</span>wrong parameters were given<span class="gtkdoc opt">...</span>
@@ -172,7 +172,7 @@
   <span class="gtkdoc opt">}</span>
 <span class="gtkdoc opt">}</span>
 <span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#g-value-unset">g_value_unset</a></span> <span class="gtkdoc opt">(&amp;</span>item<span class="gtkdoc opt">);</span>
-<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstIterator.html#gst-iterator-free">gst_iterator_free</a></span> <span class="gtkdoc opt">(</span>it<span class="gtkdoc opt">);</span></pre></td>
+<span class="function"><a href="../gstreamer-1.0/gstreamer-GstIterator.html#gst-iterator-free">gst_iterator_free</a></span> <span class="gtkdoc opt">(</span>it<span class="gtkdoc opt">);</span></pre></td>
       </tr>
     </tbody>
   </table>
@@ -689,7 +689,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/gst/html/gstreamer-GstMemory.html b/docs/gst/html/gstreamer-GstMemory.html
index 945f0e2..92e8a05 100644
--- a/docs/gst/html/gstreamer-GstMemory.html
+++ b/docs/gst/html/gstreamer-GstMemory.html
@@ -47,23 +47,18 @@
 #define             <a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-FLAG-UNSET:CAPS" title="GST_MEMORY_FLAG_UNSET()">GST_MEMORY_FLAG_UNSET</a>               (mem,
                                                          flag)
 #define             <a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-IS-READONLY:CAPS" title="GST_MEMORY_IS_READONLY()">GST_MEMORY_IS_READONLY</a>              (mem)
+#define             <a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-IS-NO-SHARE:CAPS" title="GST_MEMORY_IS_NO_SHARE()">GST_MEMORY_IS_NO_SHARE</a>              (mem)
 #define             <a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-IS-ZERO-PADDED:CAPS" title="GST_MEMORY_IS_ZERO_PADDED()">GST_MEMORY_IS_ZERO_PADDED</a>           (mem)
 #define             <a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-IS-ZERO-PREFIXED:CAPS" title="GST_MEMORY_IS_ZERO_PREFIXED()">GST_MEMORY_IS_ZERO_PREFIXED</a>         (mem)
 struct              <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory">GstMemory</a>;
 enum                <a class="link" href="gstreamer-GstMemory.html#GstMapFlags" title="enum GstMapFlags">GstMapFlags</a>;
+#define             <a class="link" href="gstreamer-GstMemory.html#GST-MAP-READWRITE:CAPS" title="GST_MAP_READWRITE">GST_MAP_READWRITE</a>
                     <a class="link" href="gstreamer-GstMemory.html#GstMapInfo" title="GstMapInfo">GstMapInfo</a>;
 #define             <a class="link" href="gstreamer-GstMemory.html#GST-MAP-INFO-INIT:CAPS" title="GST_MAP_INFO_INIT">GST_MAP_INFO_INIT</a>
-#define             <a class="link" href="gstreamer-GstMemory.html#GST-MAP-READWRITE:CAPS" title="GST_MAP_READWRITE">GST_MAP_READWRITE</a>
-struct              <a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams">GstAllocationParams</a>;
-<a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="returnvalue">GstMemory</span></a> *         (<a class="link" href="gstreamer-GstMemory.html#GstAllocatorAllocFunction" title="GstAllocatorAllocFunction ()">*GstAllocatorAllocFunction</a>)        (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocator" 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="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</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#gpointer"><span class="returnvalue">gpointer</span></a>            (<a class="link" href="gstreamer-GstMemory.html#GstMemoryMapFunction" title="GstMemoryMapFunction ()">*GstMemoryMapFunction</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><span class="type">gsize</span> maxsize</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>);
 <span class="returnvalue">void</span>                (<a class="link" href="gstreamer-GstMemory.html#GstMemoryUnmapFunction" title="GstMemoryUnmapFunction ()">*GstMemoryUnmapFunction</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>);
-<span class="returnvalue">void</span>                (<a class="link" href="gstreamer-GstMemory.html#GstMemoryFreeFunction" title="GstMemoryFreeFunction ()">*GstMemoryFreeFunction</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>);
 <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="returnvalue">GstMemory</span></a> *         (<a class="link" href="gstreamer-GstMemory.html#GstMemoryCopyFunction" title="GstMemoryCopyFunction ()">*GstMemoryCopyFunction</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><span class="type">gssize</span> offset</code></em>,
                                                          <em class="parameter"><code><span class="type">gssize</span> size</code></em>);
@@ -73,41 +68,27 @@
 <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-GstMemory.html#GstMemoryIsSpanFunction" title="GstMemoryIsSpanFunction ()">*GstMemoryIsSpanFunction</a>)          (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *mem1</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *mem2</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> *offset</code></em>);
-struct              <a class="link" href="gstreamer-GstMemory.html#GstMemoryInfo" title="struct GstMemoryInfo">GstMemoryInfo</a>;
-                    <a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator">GstAllocator</a>;
-<a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="returnvalue">GstAllocator</span></a> *      <a class="link" href="gstreamer-GstMemory.html#gst-allocator-new" title="gst_allocator_new ()">gst_allocator_new</a>                   (<em class="parameter"><code>const <a class="link" href="gstreamer-GstMemory.html#GstMemoryInfo" title="struct GstMemoryInfo"><span class="type">GstMemoryInfo</span></a> *info</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>);
-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-GstMemory.html#gst-allocator-get-memory-type" title="gst_allocator_get_memory_type ()">gst_allocator_get_memory_type</a>       (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>);
-<a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="returnvalue">GstAllocator</span></a> *      <a class="link" href="gstreamer-GstMemory.html#gst-allocator-ref" title="gst_allocator_ref ()">gst_allocator_ref</a>                   (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMemory.html#gst-allocator-unref" title="gst_allocator_unref ()">gst_allocator_unref</a>                 (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>);
-#define             <a class="link" href="gstreamer-GstMemory.html#GST-ALLOCATOR-SYSMEM:CAPS" title="GST_ALLOCATOR_SYSMEM">GST_ALLOCATOR_SYSMEM</a>
-<a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="returnvalue">GstAllocator</span></a> *      <a class="link" href="gstreamer-GstMemory.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="gstreamer-GstMemory.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="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMemory.html#gst-allocator-set-default" title="gst_allocator_set_default ()">gst_allocator_set_default</a>           (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMemory.html#gst-allocation-params-init" title="gst_allocation_params_init ()">gst_allocation_params_init</a>          (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);
-<a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="returnvalue">GstAllocationParams</span></a> * <a class="link" href="gstreamer-GstMemory.html#gst-allocation-params-copy" title="gst_allocation_params_copy ()">gst_allocation_params_copy</a>        (<em class="parameter"><code>const <a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMemory.html#gst-allocation-params-free" title="gst_allocation_params_free ()">gst_allocation_params_free</a>          (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.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="gstreamer-GstMemory.html#gst-allocator-alloc" title="gst_allocator_alloc ()">gst_allocator_alloc</a>                 (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocator" 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="gstreamer-GstMemory.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="gstreamer-GstMemory.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>,
+<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="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>,
                                                          <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>);
-<a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="returnvalue">GstMemory</span></a> *         <a class="link" href="gstreamer-GstMemory.html#gst-memory-ref" title="gst_memory_ref ()">gst_memory_ref</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>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMemory.html#gst-memory-unref" title="gst_memory_unref ()">gst_memory_unref</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>);
-<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-GstMemory.html#gst-memory-is-exclusive" title="gst_memory_is_exclusive ()">gst_memory_is_exclusive</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><span class="type">gsize</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-GstMemory.html#gst-memory-ref" title="gst_memory_ref ()">gst_memory_ref</a>                      (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *memory</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMemory.html#gst-memory-unref" title="gst_memory_unref ()">gst_memory_unref</a>                    (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *memory</code></em>);
 <span class="returnvalue">gsize</span>               <a class="link" href="gstreamer-GstMemory.html#gst-memory-get-sizes" title="gst_memory_get_sizes ()">gst_memory_get_sizes</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><span class="type">gsize</span> *offset</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> *maxsize</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMemory.html#gst-memory-resize" title="gst_memory_resize ()">gst_memory_resize</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><span class="type">gssize</span> offset</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> size</code></em>);
+#define             <a class="link" href="gstreamer-GstMemory.html#gst-memory-lock" title="gst_memory_lock()">gst_memory_lock</a>                     (m,
+                                                         f)
+#define             <a class="link" href="gstreamer-GstMemory.html#gst-memory-unlock" title="gst_memory_unlock()">gst_memory_unlock</a>                   (m,
+                                                         f)
+#define             <a class="link" href="gstreamer-GstMemory.html#gst-memory-is-writable" title="gst_memory_is_writable()">gst_memory_is_writable</a>              (m)
 <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="returnvalue">GstMemory</span></a> *         <a class="link" href="gstreamer-GstMemory.html#gst-memory-make-mapped" title="gst_memory_make_mapped ()">gst_memory_make_mapped</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#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>);
@@ -140,18 +121,18 @@
 in the allocated region.
 </p>
 <p>
-Memory is usually created by allocators with a <a class="link" href="gstreamer-GstMemory.html#gst-allocator-alloc" title="gst_allocator_alloc ()"><code class="function">gst_allocator_alloc()</code></a>
+Memory is usually created by allocators with a <code class="function">gst_allocator_alloc()</code>
 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="gstreamer-GstMemory.html#gst-allocator-register" title="gst_allocator_register ()"><code class="function">gst_allocator_register()</code></a>.
+New allocators can be registered with <code class="function">gst_allocator_register()</code>.
 Allocators are identified by name and can be retrieved with
-<a class="link" href="gstreamer-GstMemory.html#gst-allocator-find" title="gst_allocator_find ()"><code class="function">gst_allocator_find()</code></a>. <a class="link" href="gstreamer-GstMemory.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
+<code class="function">gst_allocator_find()</code>. <code class="function">gst_allocator_set_default()</code> can be used to change the
 default allocator.
 </p>
 <p>
-New memory can be created with <a class="link" href="gstreamer-GstMemory.html#gst-memory-new-wrapped" title="gst_memory_new_wrapped ()"><code class="function">gst_memory_new_wrapped()</code></a> that wraps the memory
+New memory can be created with <code class="function">gst_memory_new_wrapped()</code> that wraps the memory
 allocated elsewhere.
 </p>
 <p>
@@ -185,12 +166,12 @@
 <div class="refsect2">
 <a name="GstMemoryFlags"></a><h3>enum GstMemoryFlags</h3>
 <pre class="programlisting">typedef enum {
-  GST_MEMORY_FLAG_READONLY      = (1 &lt;&lt; 0),
-  GST_MEMORY_FLAG_NO_SHARE      = (1 &lt;&lt; 1),
-  GST_MEMORY_FLAG_ZERO_PREFIXED = (1 &lt;&lt; 2),
-  GST_MEMORY_FLAG_ZERO_PADDED   = (1 &lt;&lt; 3),
+  GST_MEMORY_FLAG_READONLY      = GST_MINI_OBJECT_FLAG_LOCK_READONLY,
+  GST_MEMORY_FLAG_NO_SHARE      = (GST_MINI_OBJECT_FLAG_LAST &lt;&lt; 0),
+  GST_MEMORY_FLAG_ZERO_PREFIXED = (GST_MINI_OBJECT_FLAG_LAST &lt;&lt; 1),
+  GST_MEMORY_FLAG_ZERO_PADDED   = (GST_MINI_OBJECT_FLAG_LAST &lt;&lt; 2),
 
-  GST_MEMORY_FLAG_LAST          = (1 &lt;&lt; 16)
+  GST_MEMORY_FLAG_LAST          = (GST_MINI_OBJECT_FLAG_LAST &lt;&lt; 16)
 } GstMemoryFlags;
 </pre>
 <p>
@@ -232,7 +213,7 @@
 <hr>
 <div class="refsect2">
 <a name="GST-MEMORY-FLAGS:CAPS"></a><h3>GST_MEMORY_FLAGS()</h3>
-<pre class="programlisting">#define GST_MEMORY_FLAGS(mem)  (GST_MEMORY_CAST (mem)-&gt;flags)
+<pre class="programlisting">#define GST_MEMORY_FLAGS(mem)  GST_MINI_OBJECT_FLAGS (mem)
 </pre>
 <p>
 A flags word containing <a class="link" href="gstreamer-GstMemory.html#GstMemoryFlags" title="enum GstMemoryFlags"><span class="type">GstMemoryFlags</span></a> flags set on <em class="parameter"><code>mem</code></em>
@@ -248,7 +229,7 @@
 <hr>
 <div class="refsect2">
 <a name="GST-MEMORY-FLAG-IS-SET:CAPS"></a><h3>GST_MEMORY_FLAG_IS_SET()</h3>
-<pre class="programlisting">#define GST_MEMORY_FLAG_IS_SET(mem,flag)   !!(GST_MEMORY_FLAGS (mem) &amp; (flag))
+<pre class="programlisting">#define GST_MEMORY_FLAG_IS_SET(mem,flag)   GST_MINI_OBJECT_FLAG_IS_SET (mem,flag)
 </pre>
 <p>
 Gives the status of a specific flag on a <em class="parameter"><code>mem</code></em>.
@@ -270,7 +251,7 @@
 <hr>
 <div class="refsect2">
 <a name="GST-MEMORY-FLAG-UNSET:CAPS"></a><h3>GST_MEMORY_FLAG_UNSET()</h3>
-<pre class="programlisting">#define GST_MEMORY_FLAG_UNSET(mem,flag)   (GST_MEMORY_FLAGS (mem) &amp;= ~(flag))
+<pre class="programlisting">#define GST_MEMORY_FLAG_UNSET(mem,flag)   GST_MINI_OBJECT_FLAG_UNSET (mem, flag)
 </pre>
 <p>
 Clear a specific flag on a <em class="parameter"><code>mem</code></em>.
@@ -307,6 +288,22 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="GST-MEMORY-IS-NO-SHARE:CAPS"></a><h3>GST_MEMORY_IS_NO_SHARE()</h3>
+<pre class="programlisting">#define GST_MEMORY_IS_NO_SHARE(mem)        GST_MEMORY_FLAG_IS_SET(mem,GST_MEMORY_FLAG_NO_SHARE)
+</pre>
+<p>
+Check if <em class="parameter"><code>mem</code></em> cannot be shared between buffers
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<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>.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
 <a name="GST-MEMORY-IS-ZERO-PADDED:CAPS"></a><h3>GST_MEMORY_IS_ZERO_PADDED()</h3>
 <pre class="programlisting">#define GST_MEMORY_IS_ZERO_PADDED(mem)     GST_MEMORY_FLAG_IS_SET(mem,GST_MEMORY_FLAG_ZERO_PADDED)
 </pre>
@@ -341,12 +338,11 @@
 <div class="refsect2">
 <a name="GstMemory"></a><h3>struct GstMemory</h3>
 <pre class="programlisting">struct GstMemory {
+  GstMiniObject   mini_object;
+
   GstAllocator   *allocator;
 
-  GstMemoryFlags  flags;
-  gint            refcount;
   GstMemory      *parent;
-  volatile gint   state;
   gsize           maxsize;
   gsize           align;
   gsize           offset;
@@ -361,27 +357,19 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><a class="link" href="gstreamer-GstMemory.html#GstAllocator" 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="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a>
+<td><p><span class="term"><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> <em class="structfield"><code><a name="GstMemory.mini-object"></a>mini_object</code></em>;</span></p></td>
+<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>
 </tr>
 <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="GstMemory.flags"></a>flags</code></em>;</span></p></td>
-<td>memory flags</td>
-</tr>
-<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstMemory.refcount"></a>refcount</code></em>;</span></p></td>
-<td>refcount</td>
-</tr>
-<tr>
 <td><p><span class="term"><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *<em class="structfield"><code><a name="GstMemory.parent"></a>parent</code></em>;</span></p></td>
 <td>parent memory block</td>
 </tr>
 <tr>
-<td><p><span class="term">volatile <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstMemory.state"></a>state</code></em>;</span></p></td>
-<td>private state</td>
-</tr>
-<tr>
 <td><p><span class="term"><span class="type">gsize</span> <em class="structfield"><code><a name="GstMemory.maxsize"></a>maxsize</code></em>;</span></p></td>
 <td>the maximum size allocated</td>
 </tr>
@@ -404,8 +392,8 @@
 <div class="refsect2">
 <a name="GstMapFlags"></a><h3>enum GstMapFlags</h3>
 <pre class="programlisting">typedef enum {
-  GST_MAP_READ      = (1 &lt;&lt; 0),
-  GST_MAP_WRITE     = (1 &lt;&lt; 1),
+  GST_MAP_READ      = GST_LOCK_FLAG_READ,
+  GST_MAP_WRITE     = GST_LOCK_FLAG_WRITE,
 
   GST_MAP_FLAG_LAST = (1 &lt;&lt; 16)
 } GstMapFlags;
@@ -436,6 +424,15 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="GST-MAP-READWRITE:CAPS"></a><h3>GST_MAP_READWRITE</h3>
+<pre class="programlisting">#define GST_MAP_READWRITE      (GST_MAP_READ | GST_MAP_WRITE)
+</pre>
+<p>
+GstMapFlags value alias for GST_MAP_READ | GST_MAP_WRITE
+</p>
+</div>
+<hr>
+<div class="refsect2">
 <a name="GstMapInfo"></a><h3>GstMapInfo</h3>
 <pre class="programlisting">typedef struct {
   GstMemory *memory;
@@ -462,7 +459,8 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="type">guint8</span> *<em class="structfield"><code><a name="GstMapInfo.data"></a>data</code></em>;</span></p></td>
-<td>a pointer to the mapped data</td>
+<td>a pointer to the mapped data. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size]</span>
+</td>
 </tr>
 <tr>
 <td><p><span class="term"><span class="type">gsize</span> <em class="structfield"><code><a name="GstMapInfo.size"></a>size</code></em>;</span></p></td>
@@ -488,97 +486,6 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="GST-MAP-READWRITE:CAPS"></a><h3>GST_MAP_READWRITE</h3>
-<pre class="programlisting">#define GST_MAP_READWRITE      (GST_MAP_READ | GST_MAP_WRITE)
-</pre>
-<p>
-Map for readwrite access
-</p>
-</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 disired 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="GstAllocatorAllocFunction"></a><h3>GstAllocatorAllocFunction ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="returnvalue">GstMemory</span></a> *         (*GstAllocatorAllocFunction)        (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocator" 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="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
-<p>
-Allocate a new <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> from <em class="parameter"><code>allocator</code></em> that can hold at least <em class="parameter"><code>size</code></em>
-bytes (+ padding) and is aligned to (<em class="parameter"><code>align</code></em> + 1) bytes.
-</p>
-<p>
-The offset and size of the memory should be set and the prefix/padding must
-be filled with 0 if <em class="parameter"><code>params</code></em> 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>
-<em class="parameter"><code>user_data</code></em> is the data that was used when creating <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="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
-<td>the size</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
-<td>allocator params</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"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a newly allocated <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a>. Free with <a class="link" href="gstreamer-GstMemory.html#gst-memory-unref" title="gst_memory_unref ()"><code class="function">gst_memory_unref()</code></a>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
 <a name="GstMemoryMapFunction"></a><h3>GstMemoryMapFunction ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            (*GstMemoryMapFunction)             (<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><span class="type">gsize</span> maxsize</code></em>,
@@ -637,23 +544,6 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="GstMemoryFreeFunction"></a><h3>GstMemoryFreeFunction ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                (*GstMemoryFreeFunction)            (<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>
-Free the memory used by <em class="parameter"><code>mem</code></em>. This function is usually called when the
-refcount of the <em class="parameter"><code>mem</code></em> has reached 0.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><tr>
-<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>
-</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
 <a name="GstMemoryCopyFunction"></a><h3>GstMemoryCopyFunction ()</h3>
 <pre class="programlisting"><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="returnvalue">GstMemory</span></a> *         (*GstMemoryCopyFunction)            (<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><span class="type">gssize</span> offset</code></em>,
@@ -758,414 +648,56 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="GstMemoryInfo"></a><h3>struct GstMemoryInfo</h3>
-<pre class="programlisting">struct GstMemoryInfo {
-  const gchar              *mem_type;
-
-  GstAllocatorAllocFunction alloc;
-
-  GstMemoryMapFunction      mem_map;
-  GstMemoryUnmapFunction    mem_unmap;
-  GstMemoryFreeFunction     mem_free;
-
-  GstMemoryCopyFunction     mem_copy;
-  GstMemoryShareFunction    mem_share;
-  GstMemoryIsSpanFunction   mem_is_span;
-};
-</pre>
-<p>
-The <a class="link" href="gstreamer-GstMemory.html#GstMemoryInfo" title="struct GstMemoryInfo"><span class="type">GstMemoryInfo</span></a> is used to register new memory allocators and contain
-the implementations for various memory operations.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstMemoryInfo.mem-type"></a>mem_type</code></em>;</span></p></td>
-<td>the memory type this allocator provides</td>
-</tr>
-<tr>
-<td><p><span class="term"><a class="link" href="gstreamer-GstMemory.html#GstAllocatorAllocFunction" title="GstAllocatorAllocFunction ()"><span class="type">GstAllocatorAllocFunction</span></a> <em class="structfield"><code><a name="GstMemoryInfo.alloc"></a>alloc</code></em>;</span></p></td>
-<td>the implementation of the GstAllocatorAllocFunction</td>
-</tr>
-<tr>
-<td><p><span class="term"><a class="link" href="gstreamer-GstMemory.html#GstMemoryMapFunction" title="GstMemoryMapFunction ()"><span class="type">GstMemoryMapFunction</span></a> <em class="structfield"><code><a name="GstMemoryInfo.mem-map"></a>mem_map</code></em>;</span></p></td>
-<td>the implementation of the GstMemoryMapFunction</td>
-</tr>
-<tr>
-<td><p><span class="term"><a class="link" href="gstreamer-GstMemory.html#GstMemoryUnmapFunction" title="GstMemoryUnmapFunction ()"><span class="type">GstMemoryUnmapFunction</span></a> <em class="structfield"><code><a name="GstMemoryInfo.mem-unmap"></a>mem_unmap</code></em>;</span></p></td>
-<td>the implementation of the GstMemoryUnmapFunction</td>
-</tr>
-<tr>
-<td><p><span class="term"><a class="link" href="gstreamer-GstMemory.html#GstMemoryFreeFunction" title="GstMemoryFreeFunction ()"><span class="type">GstMemoryFreeFunction</span></a> <em class="structfield"><code><a name="GstMemoryInfo.mem-free"></a>mem_free</code></em>;</span></p></td>
-<td>the implementation of the GstMemoryFreeFunction</td>
-</tr>
-<tr>
-<td><p><span class="term"><a class="link" href="gstreamer-GstMemory.html#GstMemoryCopyFunction" title="GstMemoryCopyFunction ()"><span class="type">GstMemoryCopyFunction</span></a> <em class="structfield"><code><a name="GstMemoryInfo.mem-copy"></a>mem_copy</code></em>;</span></p></td>
-<td>the implementation of the GstMemoryCopyFunction</td>
-</tr>
-<tr>
-<td><p><span class="term"><a class="link" href="gstreamer-GstMemory.html#GstMemoryShareFunction" title="GstMemoryShareFunction ()"><span class="type">GstMemoryShareFunction</span></a> <em class="structfield"><code><a name="GstMemoryInfo.mem-share"></a>mem_share</code></em>;</span></p></td>
-<td>the implementation of the GstMemoryShareFunction</td>
-</tr>
-<tr>
-<td><p><span class="term"><a class="link" href="gstreamer-GstMemory.html#GstMemoryIsSpanFunction" title="GstMemoryIsSpanFunction ()"><span class="type">GstMemoryIsSpanFunction</span></a> <em class="structfield"><code><a name="GstMemoryInfo.mem-is-span"></a>mem_is_span</code></em>;</span></p></td>
-<td>the implementation of the GstMemoryIsSpanFunction</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstAllocator"></a><h3>GstAllocator</h3>
-<pre class="programlisting">typedef struct _GstAllocator GstAllocator;</pre>
-<p>
-An opaque type returned from <a class="link" href="gstreamer-GstMemory.html#gst-allocator-new" title="gst_allocator_new ()"><code class="function">gst_allocator_new()</code></a> or <a class="link" href="gstreamer-GstMemory.html#gst-allocator-find" title="gst_allocator_find ()"><code class="function">gst_allocator_find()</code></a>
-that can be used to allocator memory.
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-allocator-new"></a><h3>gst_allocator_new ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="returnvalue">GstAllocator</span></a> *      gst_allocator_new                   (<em class="parameter"><code>const <a class="link" href="gstreamer-GstMemory.html#GstMemoryInfo" title="struct GstMemoryInfo"><span class="type">GstMemoryInfo</span></a> *info</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>
-Create a new memory allocator with <em class="parameter"><code>info</code></em> and <em class="parameter"><code>user_data</code></em>.
-</p>
-<p>
-All functions in <em class="parameter"><code>info</code></em> are mandatory exept the copy and is_span
-functions, which will have a default implementation when left NULL.
-</p>
-<p>
-The <em class="parameter"><code>user_data</code></em> will be passed to all calls of the alloc function. <em class="parameter"><code>notify</code></em>
-will be called with <em class="parameter"><code>user_data</code></em> when the allocator is freed.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gstreamer-GstMemory.html#GstMemoryInfo" title="struct GstMemoryInfo"><span class="type">GstMemoryInfo</span></a>
-</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>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> for <em class="parameter"><code>user_data</code></em>
-</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#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a>.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-allocator-get-memory-type"></a><h3>gst_allocator_get_memory_type ()</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_allocator_get_memory_type       (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>);</pre>
-<p>
-Get the memory type allocated by this allocator
-</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="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the memory type provided by <em class="parameter"><code>allocator</code></em>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-allocator-ref"></a><h3>gst_allocator_ref ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="returnvalue">GstAllocator</span></a> *      gst_allocator_ref                   (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>);</pre>
-<p>
-Increases the refcount 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="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<em class="parameter"><code>allocator</code></em> with increased refcount</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-allocator-unref"></a><h3>gst_allocator_unref ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_allocator_unref                 (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>);</pre>
-<p>
-Decreases the refcount of <em class="parameter"><code>allocator</code></em>. When the refcount reaches 0, the notify
-function of <em class="parameter"><code>allocator</code></em> will be called and the allocator will be freed.
-</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="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a>
-</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="gstreamer-GstMemory.html#GstAllocator" 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="gstreamer-GstMemory.html#GstAllocator" 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="gstreamer-GstMemory.html#gst-allocator-unref" title="gst_allocator_unref ()"><code class="function">gst_allocator_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="gstreamer-GstMemory.html#GstAllocator" 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="gstreamer-GstMemory.html#GstAllocator" 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="gstreamer-GstMemory.html#GstAllocator" 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="gstreamer-GstMemory.html#GstAllocator" 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="gstreamer-GstMemory.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="gstreamer-GstMemory.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="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="returnvalue">GstAllocationParams</span></a> * gst_allocation_params_copy        (<em class="parameter"><code>const <a class="link" href="gstreamer-GstMemory.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="gstreamer-GstMemory.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="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a>, free with
-<a class="link" href="gstreamer-GstMemory.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="gstreamer-GstMemory.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="gstreamer-GstMemory.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="gstreamer-GstMemory.html#GstAllocator" 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="gstreamer-GstMemory.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="gstreamer-GstMemory.html#GstAllocator" 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-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>,
+<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="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>,
                                                          <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>
+                                                         <em class="parameter"><code><span class="type">gsize</span> size</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.
+Initializes a newly allocated <em class="parameter"><code>mem</code></em> with the given parameters. This function
+will call <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-init" title="gst_mini_object_init ()"><code class="function">gst_mini_object_init()</code></a> with the default memory parameters.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
 <tr>
+<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>
+</td>
+</tr>
+<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>
+<td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td>
+<td>the <span class="type">GstAllocator</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>parent</code></em> :</span></p></td>
+<td>the parent of <em class="parameter"><code>mem</code></em>
+</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>
+<td>the total size of the memory</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>align</code></em> :</span></p></td>
+<td>the alignment of the memory</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>
+<td>The offset in the memory</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>
+<td>the size of valid data in the memory</td>
 </tr>
 </tbody>
 </table></div>
@@ -1173,22 +705,22 @@
 <hr>
 <div class="refsect2">
 <a name="gst-memory-ref"></a><h3>gst_memory_ref ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="returnvalue">GstMemory</span></a> *         gst_memory_ref                      (<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>
+<pre class="programlisting"><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="returnvalue">GstMemory</span></a> *         gst_memory_ref                      (<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>
-Increases the refcount of <em class="parameter"><code>mem</code></em>.
+Increase the refcount of this memory.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
 <tr>
-<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>
-</td>
+<td><p><span class="term"><em class="parameter"><code>memory</code></em> :</span></p></td>
+<td>The memory to refcount</td>
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<em class="parameter"><code>mem</code></em> with increased refcount</td>
+<em class="parameter"><code>memory</code></em> (for convenience when doing assignments). <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>
@@ -1196,33 +728,15 @@
 <hr>
 <div class="refsect2">
 <a name="gst-memory-unref"></a><h3>gst_memory_unref ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_memory_unref                    (<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>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_memory_unref                    (<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>
-Decreases the refcount of <em class="parameter"><code>mem</code></em>. When the refcount reaches 0, the free
-function of <em class="parameter"><code>mem</code></em> will be called.
+Decrease the refcount of an memory, freeing it if the refcount reaches 0.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
-<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>
-</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-memory-is-exclusive"></a><h3>gst_memory_is_exclusive ()</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_memory_is_exclusive             (<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>
-Check if the current ref to <em class="parameter"><code>mem</code></em> is exclusive, this means that no other
-references exist other than <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>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>
+<td><p><span class="term"><em class="parameter"><code>memory</code></em> :</span></p></td>
+<td>the memory to refcount. <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>
@@ -1295,6 +809,24 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="gst-memory-lock"></a><h3>gst_memory_lock()</h3>
+<pre class="programlisting">#define        gst_memory_lock(m,f)        gst_mini_object_lock (GST_MINI_OBJECT_CAST (m), (f))
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-memory-unlock"></a><h3>gst_memory_unlock()</h3>
+<pre class="programlisting">#define        gst_memory_unlock(m,f)      gst_mini_object_unlock (GST_MINI_OBJECT_CAST (m), (f))
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-memory-is-writable"></a><h3>gst_memory_is_writable()</h3>
+<pre class="programlisting">#define        gst_memory_is_writable(m)   gst_mini_object_is_writable (GST_MINI_OBJECT_CAST (m))
+</pre>
+</div>
+<hr>
+<div class="refsect2">
 <a name="gst-memory-make-mapped"></a><h3>gst_memory_make_mapped ()</h3>
 <pre class="programlisting"><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="returnvalue">GstMemory</span></a> *         gst_memory_make_mapped              (<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#GstMapInfo" title="GstMapInfo"><span class="type">GstMapInfo</span></a> *info</code></em>,
diff --git a/docs/gst/html/gstreamer-GstMessage.html b/docs/gst/html/gstreamer-GstMessage.html
index c4cf15f..0cffd73 100644
--- a/docs/gst/html/gstreamer-GstMessage.html
+++ b/docs/gst/html/gstreamer-GstMessage.html
@@ -168,9 +168,9 @@
 <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>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> reset_time</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>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-async-done" title="gst_message_parse_async_done ()">gst_message_parse_async_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 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *reset_time</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-step-start" title="gst_message_new_step_start ()">gst_message_new_step_start</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 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> active</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>,
@@ -214,11 +214,15 @@
                                                          <em class="parameter"><code><span class="type">guint64</span> *processed</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> *dropped</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-toc" title="gst_message_new_toc ()">gst_message_new_toc</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-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> *toc</code></em>,
+                                                         <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-GstMessage.html#gst-message-parse-toc" title="gst_message_parse_toc ()">gst_message_parse_toc</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-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> **toc</code></em>,
+                                                         <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>);
+<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-reset-time" title="gst_message_new_reset_time ()">gst_message_new_reset_time</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="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>);
 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>,
@@ -273,13 +277,13 @@
 <p>
 </p>
 <div class="example">
-<a name="idp30136752"></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="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>
 <div class="example-contents">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
       <tr>
         <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBus.html#gst-bus-post">gst_bus_post</a></span> <span class="gtkdoc opt">(</span>bus<span class="gtkdoc opt">,</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#gst-message-new-eos">gst_message_new_eos</a></span><span class="gtkdoc opt">());</span></pre></td>
+        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="../gstreamer-1.0/GstBus.html#gst-bus-post">gst_bus_post</a></span> <span class="gtkdoc opt">(</span>bus<span class="gtkdoc opt">,</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstMessage.html#gst-message-new-eos">gst_message_new_eos</a></span><span class="gtkdoc opt">());</span></pre></td>
       </tr>
     </tbody>
   </table>
@@ -370,6 +374,8 @@
   GST_MESSAGE_QOS               = (1 &lt;&lt; 24),
   GST_MESSAGE_PROGRESS          = (1 &lt;&lt; 25),
   GST_MESSAGE_TOC               = (1 &lt;&lt; 26),
+  GST_MESSAGE_RESET_TIME        = (1 &lt;&lt; 27),
+  GST_MESSAGE_STREAM_START      = (1 &lt;&lt; 28),
   GST_MESSAGE_ANY               = ~0
 } GstMessageType;
 </pre>
@@ -507,53 +513,61 @@
 <tr>
 <td><p><a name="GST-MESSAGE-LATENCY:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_LATENCY</code></span></p></td>
 <td>Posted by elements when their latency changes. The
-application should recalculate and distribute a new latency. Since: 0.10.12
+application should recalculate and distribute a new latency.
 </td>
 </tr>
 <tr>
 <td><p><a name="GST-MESSAGE-ASYNC-START:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_ASYNC_START</code></span></p></td>
 <td>Posted by elements when they start an ASYNC
 <a class="link" href="GstElement.html#GstStateChange" title="enum GstStateChange"><span class="type">GstStateChange</span></a>. This message is not forwarded to the application but is used
-internally. Since: 0.10.13.
+internally.
 </td>
 </tr>
 <tr>
 <td><p><a name="GST-MESSAGE-ASYNC-DONE:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_ASYNC_DONE</code></span></p></td>
 <td>Posted by elements when they complete an ASYNC
 <a class="link" href="GstElement.html#GstStateChange" title="enum GstStateChange"><span class="type">GstStateChange</span></a>. The application will only receive this message from the toplevel
-pipeline. Since: 0.10.13
+pipeline.
 </td>
 </tr>
 <tr>
 <td><p><a name="GST-MESSAGE-REQUEST-STATE:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_REQUEST_STATE</code></span></p></td>
 <td>Posted by elements when they want the pipeline to
 change state. This message is a suggestion to the application which can
-decide to perform the state change on (part of) the pipeline. Since: 0.10.23.
+decide to perform the state change on (part of) the pipeline.
 </td>
 </tr>
 <tr>
 <td><p><a name="GST-MESSAGE-STEP-START:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_STEP_START</code></span></p></td>
-<td>A stepping operation was started. Since: 0.10.24
+<td>A stepping operation was started.
 </td>
 </tr>
 <tr>
 <td><p><a name="GST-MESSAGE-QOS:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_QOS</code></span></p></td>
 <td>A buffer was dropped or an element changed its processing
-strategy for Quality of Service reasons. Since: 0.10.29
+strategy for Quality of Service reasons.
 </td>
 </tr>
 <tr>
 <td><p><a name="GST-MESSAGE-PROGRESS:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_PROGRESS</code></span></p></td>
-<td>A progress message. Since: 0.10.33
+<td>A progress message.
 </td>
 </tr>
 <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: 0.10.37
+was updated. Since:
 </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>
+</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>
+</tr>
+<tr>
 <td><p><a name="GST-MESSAGE-ANY:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_ANY</code></span></p></td>
 <td>mask for all of the above messages.
 </td>
@@ -594,7 +608,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -664,7 +677,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -854,7 +866,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -885,7 +896,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -914,7 +924,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1070,14 +1079,14 @@
 16
 17</pre></td>
         <td class="listing_code"><pre class="programlisting"><span class="gtkdoc opt">...</span>
-<span class="keyword">switch</span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GST-MESSAGE-TYPE:CAPS">GST_MESSAGE_TYPE</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">)) {</span>
+<span class="keyword">switch</span> <span class="gtkdoc opt">(</span><span class="function"><a href="../gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-TYPE:CAPS">GST_MESSAGE_TYPE</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">)) {</span>
   <span class="keyword">case</span> GST_MESSAGE_ERROR<span class="gtkdoc opt">: {</span>
     GError <span class="gtkdoc opt">*</span>err <span class="gtkdoc opt">=</span> NULL<span class="gtkdoc opt">;</span>
     gchar <span class="gtkdoc opt">*</span>dbg_info <span class="gtkdoc opt">=</span> NULL<span class="gtkdoc opt">;</span>
     
-    <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#gst-message-parse-error">gst_message_parse_error</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">, &amp;</span>err<span class="gtkdoc opt">, &amp;</span>dbg_info<span class="gtkdoc opt">);</span>
+    <span class="function"><a href="../gstreamer-1.0/gstreamer-GstMessage.html#gst-message-parse-error">gst_message_parse_error</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">, &amp;</span>err<span class="gtkdoc opt">, &amp;</span>dbg_info<span class="gtkdoc opt">);</span>
     <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-printerr">g_printerr</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;ERROR from element %s: %s</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">,</span>
-        <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html#GST-OBJECT-NAME:CAPS">GST_OBJECT_NAME</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">-&gt;</span>src<span class="gtkdoc opt">),</span> err<span class="gtkdoc opt">-&gt;</span>message<span class="gtkdoc opt">);</span>
+        <span class="function"><a href="../gstreamer-1.0/GstObject.html#GST-OBJECT-NAME:CAPS">GST_OBJECT_NAME</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">-&gt;</span>src<span class="gtkdoc opt">),</span> err<span class="gtkdoc opt">-&gt;</span>message<span class="gtkdoc opt">);</span>
     <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-printerr">g_printerr</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Debugging info: %s</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">, (</span>dbg_info<span class="gtkdoc opt">)</span> ? dbg_info <span class="gtkdoc opt">:</span> <span class="string">&quot;none&quot;</span><span class="gtkdoc opt">);</span>
     <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#g-error-free">g_error_free</a></span> <span class="gtkdoc opt">(</span>err<span class="gtkdoc opt">);</span>
     <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free">g_free</a></span> <span class="gtkdoc opt">(</span>dbg_info<span class="gtkdoc opt">);</span>
@@ -1224,7 +1233,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.12</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1259,7 +1267,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.12</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1323,14 +1330,14 @@
 13
 14</pre></td>
         <td class="listing_code"><pre class="programlisting"><span class="gtkdoc opt">...</span>
-<span class="keyword">switch</span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GST-MESSAGE-TYPE:CAPS">GST_MESSAGE_TYPE</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">)) {</span>
+<span class="keyword">switch</span> <span class="gtkdoc opt">(</span><span class="function"><a href="../gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-TYPE:CAPS">GST_MESSAGE_TYPE</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">)) {</span>
   <span class="keyword">case</span> GST_MESSAGE_TAG<span class="gtkdoc opt">: {</span>
     GstTagList <span class="gtkdoc opt">*</span>tags <span class="gtkdoc opt">=</span> NULL<span class="gtkdoc opt">;</span>
     
-    <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#gst-message-parse-tag">gst_message_parse_tag</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">, &amp;</span>tags<span class="gtkdoc opt">);</span>
-    <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Got tags from element %s</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">,</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html#GST-OBJECT-NAME:CAPS">GST_OBJECT_NAME</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">-&gt;</span>src<span class="gtkdoc opt">));</span>
+    <span class="function"><a href="../gstreamer-1.0/gstreamer-GstMessage.html#gst-message-parse-tag">gst_message_parse_tag</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">, &amp;</span>tags<span class="gtkdoc opt">);</span>
+    <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Got tags from element %s</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">,</span> <span class="function"><a href="../gstreamer-1.0/GstObject.html#GST-OBJECT-NAME:CAPS">GST_OBJECT_NAME</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">-&gt;</span>src<span class="gtkdoc opt">));</span>
     <span class="function">handle_tags</span> <span class="gtkdoc opt">(</span>tags<span class="gtkdoc opt">);</span>
-    <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#gst-tag-list-unref">gst_tag_list_unref</a></span> <span class="gtkdoc opt">(</span>tags<span class="gtkdoc opt">);</span>
+    <span class="function"><a href="../gstreamer-1.0/gstreamer-GstTagList.html#gst-tag-list-unref">gst_tag_list_unref</a></span> <span class="gtkdoc opt">(</span>tags<span class="gtkdoc opt">);</span>
     <span class="keyword">break</span><span class="gtkdoc opt">;</span>
   <span class="gtkdoc opt">}</span>
   <span class="gtkdoc opt">...</span>
@@ -1377,7 +1384,7 @@
 The application must be prepared to receive BUFFERING messages in the
 PREROLLING state and may only set the pipeline to PLAYING after receiving a
 message with <em class="parameter"><code>percent</code></em> set to 100, which can happen after the pipeline
-completed prerolling. 
+completed prerolling.
 </p>
 <p>
 MT safe.
@@ -1401,7 +1408,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.11</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1429,7 +1435,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.11</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1467,7 +1472,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1510,7 +1514,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1585,15 +1588,15 @@
 14
 15</pre></td>
         <td class="listing_code"><pre class="programlisting"><span class="gtkdoc opt">...</span>
-<span class="keyword">switch</span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GST-MESSAGE-TYPE:CAPS">GST_MESSAGE_TYPE</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">)) {</span>
+<span class="keyword">switch</span> <span class="gtkdoc opt">(</span><span class="function"><a href="../gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-TYPE:CAPS">GST_MESSAGE_TYPE</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">)) {</span>
   <span class="keyword">case</span> GST_MESSAGE_STATE_CHANGED<span class="gtkdoc opt">: {</span>
     GstState old_state<span class="gtkdoc opt">,</span> new_state<span class="gtkdoc opt">;</span>
     
-    <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#gst-message-parse-state-changed">gst_message_parse_state_changed</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">, &amp;</span>old_state<span class="gtkdoc opt">, &amp;</span>new_state<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span>
+    <span class="function"><a href="../gstreamer-1.0/gstreamer-GstMessage.html#gst-message-parse-state-changed">gst_message_parse_state_changed</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">, &amp;</span>old_state<span class="gtkdoc opt">, &amp;</span>new_state<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span>
     <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Element %s changed state from %s to %s.</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">,</span>
-        <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html#GST-OBJECT-NAME:CAPS">GST_OBJECT_NAME</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">-&gt;</span>src<span class="gtkdoc opt">),</span>
-        <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-state-get-name">gst_element_state_get_name</a></span> <span class="gtkdoc opt">(</span>old_state<span class="gtkdoc opt">),</span>
-        <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-state-get-name">gst_element_state_get_name</a></span> <span class="gtkdoc opt">(</span>new_state<span class="gtkdoc opt">));</span>
+        <span class="function"><a href="../gstreamer-1.0/GstObject.html#GST-OBJECT-NAME:CAPS">GST_OBJECT_NAME</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">-&gt;</span>src<span class="gtkdoc opt">),</span>
+        <span class="function"><a href="../gstreamer-1.0/GstElement.html#gst-element-state-get-name">gst_element_state_get_name</a></span> <span class="gtkdoc opt">(</span>old_state<span class="gtkdoc opt">),</span>
+        <span class="function"><a href="../gstreamer-1.0/GstElement.html#gst-element-state-get-name">gst_element_state_get_name</a></span> <span class="gtkdoc opt">(</span>new_state<span class="gtkdoc opt">));</span>
     <span class="keyword">break</span><span class="gtkdoc opt">;</span>
   <span class="gtkdoc opt">}</span>
   <span class="gtkdoc opt">...</span>
@@ -1723,7 +1726,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1786,7 +1788,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2325,7 +2326,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.12</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2355,11 +2355,13 @@
 <div class="refsect2">
 <a name="gst-message-new-async-done"></a><h3>gst_message_new_async_done ()</h3>
 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_async_done          (<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 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> reset_time</code></em>);</pre>
+                                                         <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> running_time</code></em>);</pre>
 <p>
 The message is posted when elements completed an ASYNC state change.
-<em class="parameter"><code>reset_time</code></em> is set to TRUE when the element requests a new running_time
-before going to PLAYING.
+<em class="parameter"><code>running_time</code></em> contains the time of the desired running_time when this
+elements goes to PLAYING. A value of <a class="link" href="GstClock.html#GST-CLOCK-TIME-NONE:CAPS" title="GST_CLOCK_TIME_NONE"><span class="type">GST_CLOCK_TIME_NONE</span></a> for <em class="parameter"><code>running_time</code></em>
+means that the element has no clock interaction and thus doesn't care about
+the running_time of the pipeline.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -2370,8 +2372,8 @@
 </td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>reset_time</code></em> :</span></p></td>
-<td>if the running_time should be reset</td>
+<td><p><span class="term"><em class="parameter"><code>running_time</code></em> :</span></p></td>
+<td>the desired running_time</td>
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
@@ -2386,9 +2388,9 @@
 <div class="refsect2">
 <a name="gst-message-parse-async-done"></a><h3>gst_message_parse_async_done ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_async_done        (<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 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *reset_time</code></em>);</pre>
+                                                         <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> *running_time</code></em>);</pre>
 <p>
-Extract the reset_time from the async_done message.
+Extract the running_time from the async_done message.
 </p>
 <p>
 MT safe.
@@ -2401,8 +2403,8 @@
 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_ASYNC_DONE.</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>reset_time</code></em> :</span></p></td>
-<td>Result location for the reset_time or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
+<td><p><span class="term"><em class="parameter"><code>running_time</code></em> :</span></p></td>
+<td>Result location for the running_time 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>
@@ -2472,7 +2474,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2529,7 +2530,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2592,7 +2592,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.29</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2630,7 +2629,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.29</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2675,7 +2673,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.29</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2735,7 +2732,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.29</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2778,7 +2774,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.29</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2827,13 +2822,12 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.29</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-message-new-toc"></a><h3>gst_message_new_toc ()</h3>
 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_toc                 (<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-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> *toc</code></em>,
+                                                         <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>
 <p>
 Create a new TOC message. The message is posted by elements
@@ -2849,7 +2843,8 @@
 <tr>
 <td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td>
 <td>
-<a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> structure for the message.</td>
+<a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> structure for 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"><em class="parameter"><code>updated</code></em> :</span></p></td>
@@ -2858,22 +2853,22 @@
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>a new TOC message.
-MT safe.</td>
+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>
-<p class="since">Since 0.10.37</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-message-parse-toc"></a><h3>gst_message_parse_toc ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_toc               (<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-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> **toc</code></em>,
+                                                         <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>
 <p>
 Extract thef TOC from the <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a>. The TOC returned in the
 output argument is a copy; the caller must free it with
-<a class="link" href="gstreamer-GstToc.html#gst-toc-free" title="gst_toc_free ()"><code class="function">gst_toc_free()</code></a> when done.
+<a class="link" href="gstreamer-GstToc.html#gst-toc-unref" title="gst_toc_unref()"><code class="function">gst_toc_unref()</code></a> when done.
 </p>
 <p>
 MT safe.
@@ -2887,7 +2882,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td>
-<td>return location for the TOC. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
+<td>return location for the TOC. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
 <tr>
@@ -2897,7 +2892,62 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.37</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-reset-time"></a><h3>gst_message_new_reset_time ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_reset_time          (<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="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> running_time</code></em>);</pre>
+<p>
+This message is posted when the pipeline running-time should be reset to
+<em class="parameter"><code>running_time</code></em>, like after a flushing seek.
+</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"><em class="parameter"><code>running_time</code></em> :</span></p></td>
+<td>the requested running-time</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The new reset_time 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="gst-message-parse-reset-time"></a><h3>gst_message_parse_reset_time ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_reset_time        (<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>);</pre>
+<p>
+Extract the running-time from the RESET_TIME message.
+</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_RESET_TIME.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>running_time</code></em> :</span></p></td>
+<td>Result location for the running_time 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">
@@ -2925,7 +2975,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2971,7 +3020,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3012,7 +3060,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3044,7 +3091,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.23</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3071,7 +3117,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.23</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3131,7 +3176,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3167,7 +3211,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3202,7 +3245,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3227,7 +3269,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3252,7 +3293,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3300,7 +3340,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3344,7 +3383,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3380,7 +3418,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/gst/html/gstreamer-GstMeta.html b/docs/gst/html/gstreamer-GstMeta.html
index a12f9c6..996ae4e 100644
--- a/docs/gst/html/gstreamer-GstMeta.html
+++ b/docs/gst/html/gstreamer-GstMeta.html
@@ -561,17 +561,17 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>init_func</code></em> :</span></p></td>
-<td>a <a class="link" href="gstreamer-GstMeta.html#GstMetaInitFunction" title="GstMetaInitFunction ()"><span class="type">GstMetaInitFunction</span></a>
+<td>(scope async) a <a class="link" href="gstreamer-GstMeta.html#GstMetaInitFunction" title="GstMetaInitFunction ()"><span class="type">GstMetaInitFunction</span></a>
 </td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>free_func</code></em> :</span></p></td>
-<td>a <a class="link" href="gstreamer-GstMeta.html#GstMetaFreeFunction" title="GstMetaFreeFunction ()"><span class="type">GstMetaFreeFunction</span></a>
+<td>(scope async) a <a class="link" href="gstreamer-GstMeta.html#GstMetaFreeFunction" title="GstMetaFreeFunction ()"><span class="type">GstMetaFreeFunction</span></a>
 </td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>transform_func</code></em> :</span></p></td>
-<td>a <a class="link" href="gstreamer-GstMeta.html#GstMetaTransformFunction" title="GstMetaTransformFunction ()"><span class="type">GstMetaTransformFunction</span></a>
+<td>(scope async) a <a class="link" href="gstreamer-GstMeta.html#GstMetaTransformFunction" title="GstMetaTransformFunction ()"><span class="type">GstMetaTransformFunction</span></a>
 </td>
 </tr>
 <tr>
diff --git a/docs/gst/html/gstreamer-GstMiniObject.html b/docs/gst/html/gstreamer-GstMiniObject.html
index 3903994..44374a3 100644
--- a/docs/gst/html/gstreamer-GstMiniObject.html
+++ b/docs/gst/html/gstreamer-GstMiniObject.html
@@ -41,13 +41,13 @@
 #include &lt;gst/gst.h&gt;
 
 struct              <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject">GstMiniObject</a>;
-enum                <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectFlags" title="enum GstMiniObjectFlags">GstMiniObjectFlags</a>;
 <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="returnvalue">GstMiniObject</span></a> *     (<a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectCopyFunction" title="GstMiniObjectCopyFunction ()">*GstMiniObjectCopyFunction</a>)        (<em class="parameter"><code>const <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *obj</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-GstMiniObject.html#GstMiniObjectDisposeFunction" title="GstMiniObjectDisposeFunction ()">*GstMiniObjectDisposeFunction</a>)     (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *obj</code></em>);
 <span class="returnvalue">void</span>                (<a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectFreeFunction" title="GstMiniObjectFreeFunction ()">*GstMiniObjectFreeFunction</a>)        (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *obj</code></em>);
-<span class="returnvalue">void</span>                (<a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectWeakNotify" title="GstMiniObjectWeakNotify ()">*GstMiniObjectWeakNotify</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><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *where_the_mini_object_was</code></em>);
+<span class="returnvalue">void</span>                (<a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectNotify" title="GstMiniObjectNotify ()">*GstMiniObjectNotify</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> user_data</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *obj</code></em>);
 #define             <a class="link" href="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-TYPE:CAPS" title="GST_MINI_OBJECT_TYPE()">GST_MINI_OBJECT_TYPE</a>                (obj)
+enum                <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectFlags" title="enum GstMiniObjectFlags">GstMiniObjectFlags</a>;
 #define             <a class="link" href="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAGS:CAPS" title="GST_MINI_OBJECT_FLAGS()">GST_MINI_OBJECT_FLAGS</a>               (obj)
 #define             <a class="link" href="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAG-IS-SET:CAPS" title="GST_MINI_OBJECT_FLAG_IS_SET()">GST_MINI_OBJECT_FLAG_IS_SET</a>         (obj,
                                                          flag)
@@ -55,30 +55,47 @@
                                                          flag)
 #define             <a class="link" href="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAG-UNSET:CAPS" title="GST_MINI_OBJECT_FLAG_UNSET()">GST_MINI_OBJECT_FLAG_UNSET</a>          (obj,
                                                          flag)
+#define             <a class="link" href="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-IS-LOCKABLE:CAPS" title="GST_MINI_OBJECT_IS_LOCKABLE()">GST_MINI_OBJECT_IS_LOCKABLE</a>         (obj)
+enum                <a class="link" href="gstreamer-GstMiniObject.html#GstLockFlags" title="enum GstLockFlags">GstLockFlags</a>;
+#define             <a class="link" href="gstreamer-GstMiniObject.html#GST-LOCK-FLAG-READWRITE:CAPS" title="GST_LOCK_FLAG_READWRITE">GST_LOCK_FLAG_READWRITE</a>
 #define             <a class="link" href="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-REFCOUNT:CAPS" title="GST_MINI_OBJECT_REFCOUNT()">GST_MINI_OBJECT_REFCOUNT</a>            (obj)
 #define             <a class="link" href="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-REFCOUNT-VALUE:CAPS" title="GST_MINI_OBJECT_REFCOUNT_VALUE()">GST_MINI_OBJECT_REFCOUNT_VALUE</a>      (obj)
-#define             <a class="link" href="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-SIZE:CAPS" title="GST_MINI_OBJECT_SIZE()">GST_MINI_OBJECT_SIZE</a>                (obj)
 #define             <a class="link" href="gstreamer-GstMiniObject.html#GST-DEFINE-MINI-OBJECT-TYPE:CAPS" title="GST_DEFINE_MINI_OBJECT_TYPE()">GST_DEFINE_MINI_OBJECT_TYPE</a>         (TypeName,
                                                          type_name)
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-init" title="gst_mini_object_init ()">gst_mini_object_init</a>                (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *mini_object</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> flags</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> type</code></em>,
-                                                         <em class="parameter"><code><span class="type">gsize</span> size</code></em>);
-<a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="returnvalue">GstMiniObject</span></a> *     <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-copy" title="gst_mini_object_copy ()">gst_mini_object_copy</a>                (<em class="parameter"><code>const <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *mini_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="gstreamer-GstMiniObject.html#gst-mini-object-is-writable" title="gst_mini_object_is_writable ()">gst_mini_object_is_writable</a>         (<em class="parameter"><code>const <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *mini_object</code></em>);
-<a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="returnvalue">GstMiniObject</span></a> *     <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-make-writable" title="gst_mini_object_make_writable ()">gst_mini_object_make_writable</a>       (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *mini_object</code></em>);
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectCopyFunction" title="GstMiniObjectCopyFunction ()"><span class="type">GstMiniObjectCopyFunction</span></a> copy_func</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectDisposeFunction" title="GstMiniObjectDisposeFunction ()"><span class="type">GstMiniObjectDisposeFunction</span></a> dispose_func</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectFreeFunction" title="GstMiniObjectFreeFunction ()"><span class="type">GstMiniObjectFreeFunction</span></a> free_func</code></em>);
 <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="returnvalue">GstMiniObject</span></a> *     <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-ref" title="gst_mini_object_ref ()">gst_mini_object_ref</a>                 (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *mini_object</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-unref" title="gst_mini_object_unref ()">gst_mini_object_unref</a>               (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *mini_object</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-weak-ref" title="gst_mini_object_weak_ref ()">gst_mini_object_weak_ref</a>            (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *object</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectWeakNotify" title="GstMiniObjectWeakNotify ()"><span class="type">GstMiniObjectWeakNotify</span></a> notify</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectNotify" title="GstMiniObjectNotify ()"><span class="type">GstMiniObjectNotify</span></a> notify</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>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-weak-unref" title="gst_mini_object_weak_unref ()">gst_mini_object_weak_unref</a>          (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *object</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectWeakNotify" title="GstMiniObjectWeakNotify ()"><span class="type">GstMiniObjectWeakNotify</span></a> notify</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectNotify" title="GstMiniObjectNotify ()"><span class="type">GstMiniObjectNotify</span></a> notify</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>);
+<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-GstMiniObject.html#gst-mini-object-lock" title="gst_mini_object_lock ()">gst_mini_object_lock</a>                (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *object</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstLockFlags" title="enum GstLockFlags"><span class="type">GstLockFlags</span></a> flags</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-unlock" title="gst_mini_object_unlock ()">gst_mini_object_unlock</a>              (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *object</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstLockFlags" title="enum GstLockFlags"><span class="type">GstLockFlags</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-GstMiniObject.html#gst-mini-object-is-writable" title="gst_mini_object_is_writable ()">gst_mini_object_is_writable</a>         (<em class="parameter"><code>const <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *mini_object</code></em>);
+<a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="returnvalue">GstMiniObject</span></a> *     <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-make-writable" title="gst_mini_object_make_writable ()">gst_mini_object_make_writable</a>       (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *mini_object</code></em>);
+<a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="returnvalue">GstMiniObject</span></a> *     <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-copy" title="gst_mini_object_copy ()">gst_mini_object_copy</a>                (<em class="parameter"><code>const <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *mini_object</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-set-qdata" title="gst_mini_object_set_qdata ()">gst_mini_object_set_qdata</a>           (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *object</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</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><a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-get-qdata" title="gst_mini_object_get_qdata ()">gst_mini_object_get_qdata</a>           (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *object</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-steal-qdata" title="gst_mini_object_steal_qdata ()">gst_mini_object_steal_qdata</a>         (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *object</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</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-GstMiniObject.html#gst-mini-object-replace" title="gst_mini_object_replace ()">gst_mini_object_replace</a>             (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> **olddata</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *newdata</code></em>);
-<a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="returnvalue">GstMiniObject</span></a> *     <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-steal" title="gst_mini_object_steal ()">gst_mini_object_steal</a>               (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> **olddata</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-GstMiniObject.html#gst-mini-object-take" title="gst_mini_object_take ()">gst_mini_object_take</a>                (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> **olddata</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *newdata</code></em>);
+<a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="returnvalue">GstMiniObject</span></a> *     <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-steal" title="gst_mini_object_steal ()">gst_mini_object_steal</a>               (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> **olddata</code></em>);
 </pre>
 </div>
 <div class="refsect1">
@@ -107,7 +124,17 @@
 object, which might be a new copy when the refcount was not 1.
 </p>
 <p>
-Last reviewed on 2012-03-28 (0.11.3)
+Opaque data can be associated with a <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> with
+<a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-set-qdata" title="gst_mini_object_set_qdata ()"><code class="function">gst_mini_object_set_qdata()</code></a> and <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-get-qdata" title="gst_mini_object_get_qdata ()"><code class="function">gst_mini_object_get_qdata()</code></a>. The data is
+meant to be specific to the particular object and is not automatically copied
+with <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-copy" title="gst_mini_object_copy ()"><code class="function">gst_mini_object_copy()</code></a> or similar methods.
+</p>
+<p>
+A weak reference can be added and remove with <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-weak-ref" title="gst_mini_object_weak_ref ()"><code class="function">gst_mini_object_weak_ref()</code></a>
+and <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-weak-unref" title="gst_mini_object_weak_unref ()"><code class="function">gst_mini_object_weak_unref()</code></a> respectively.
+</p>
+<p>
+Last reviewed on 2012-06-15 (0.11.93)
 </p>
 </div>
 <div class="refsect1">
@@ -118,8 +145,8 @@
   GType   type;
 
   gint    refcount;
+  gint    lockstate;
   guint   flags;
-  gsize   size;
 
   GstMiniObjectCopyFunction copy;
   GstMiniObjectDisposeFunction dispose;
@@ -145,12 +172,12 @@
 <td>atomic refcount</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstMiniObject.flags"></a>flags</code></em>;</span></p></td>
-<td>extra flags.</td>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstMiniObject.lockstate"></a>lockstate</code></em>;</span></p></td>
+<td>atomic state of the locks</td>
 </tr>
 <tr>
-<td><p><span class="term"><span class="type">gsize</span> <em class="structfield"><code><a name="GstMiniObject.size"></a>size</code></em>;</span></p></td>
-<td>the size of the structure</td>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstMiniObject.flags"></a>flags</code></em>;</span></p></td>
+<td>extra flags.</td>
 </tr>
 <tr>
 <td><p><span class="term"><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectCopyFunction" title="GstMiniObjectCopyFunction ()"><span class="type">GstMiniObjectCopyFunction</span></a> <em class="structfield"><code><a name="GstMiniObject.copy"></a>copy</code></em>;</span></p></td>
@@ -169,26 +196,6 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="GstMiniObjectFlags"></a><h3>enum GstMiniObjectFlags</h3>
-<pre class="programlisting">typedef enum {
-  /* padding */
-  GST_MINI_OBJECT_FLAG_LAST = (1&lt;&lt;4)
-} GstMiniObjectFlags;
-</pre>
-<p>
-Flags for the mini object
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><tr>
-<td><p><a name="GST-MINI-OBJECT-FLAG-LAST:CAPS"></a><span class="term"><code class="literal">GST_MINI_OBJECT_FLAG_LAST</code></span></p></td>
-<td>first flag that can be used by subclasses.
-</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
 <a name="GstMiniObjectCopyFunction"></a><h3>GstMiniObjectCopyFunction ()</h3>
 <pre class="programlisting"><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="returnvalue">GstMiniObject</span></a> *     (*GstMiniObjectCopyFunction)        (<em class="parameter"><code>const <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *obj</code></em>);</pre>
 <p>
@@ -252,30 +259,26 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="GstMiniObjectWeakNotify"></a><h3>GstMiniObjectWeakNotify ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                (*GstMiniObjectWeakNotify)          (<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><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *where_the_mini_object_was</code></em>);</pre>
+<a name="GstMiniObjectNotify"></a><h3>GstMiniObjectNotify ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                (*GstMiniObjectNotify)              (<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 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#GstMiniObjectWeakNotify" title="GstMiniObjectWeakNotify ()"><span class="type">GstMiniObjectWeakNotify</span></a> function can be added to a mini object as a
-callback that gets triggered when the mini object is finalized. Since the
-mini object is already being finalized when the <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectWeakNotify" title="GstMiniObjectWeakNotify ()"><span class="type">GstMiniObjectWeakNotify</span></a> is
-called, there's not much you could do with the object, apart from e.g. using
-its adress as hash-index or the like.
+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>.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
-<td>data that was provided when the weak reference was established</td>
+<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
+<td>data that was provided when the notify was added</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>where_the_mini_object_was</code></em> :</span></p></td>
-<td>the mini object being finalized</td>
+<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
+<td>the mini object</td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.35</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -295,6 +298,42 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="GstMiniObjectFlags"></a><h3>enum GstMiniObjectFlags</h3>
+<pre class="programlisting">typedef enum {
+  GST_MINI_OBJECT_FLAG_LOCKABLE      = (1 &lt;&lt; 0),
+  GST_MINI_OBJECT_FLAG_LOCK_READONLY = (1 &lt;&lt; 1),
+  /* padding */
+  GST_MINI_OBJECT_FLAG_LAST          = (1 &lt;&lt; 4)
+} GstMiniObjectFlags;
+</pre>
+<p>
+Flags for the mini object
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><a name="GST-MINI-OBJECT-FLAG-LOCKABLE:CAPS"></a><span class="term"><code class="literal">GST_MINI_OBJECT_FLAG_LOCKABLE</code></span></p></td>
+<td>the object can be locked and unlocked with
+<a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-lock" title="gst_mini_object_lock ()"><code class="function">gst_mini_object_lock()</code></a> and <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-unlock" title="gst_mini_object_unlock ()"><code class="function">gst_mini_object_unlock()</code></a>.
+</td>
+</tr>
+<tr>
+<td><p><a name="GST-MINI-OBJECT-FLAG-LOCK-READONLY:CAPS"></a><span class="term"><code class="literal">GST_MINI_OBJECT_FLAG_LOCK_READONLY</code></span></p></td>
+<td>the object is permanently locked in
+READONLY mode. Only read locks can be performed on the object.
+</td>
+</tr>
+<tr>
+<td><p><a name="GST-MINI-OBJECT-FLAG-LAST:CAPS"></a><span class="term"><code class="literal">GST_MINI_OBJECT_FLAG_LAST</code></span></p></td>
+<td>first flag that can be used by subclasses.
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
 <a name="GST-MINI-OBJECT-FLAGS:CAPS"></a><h3>GST_MINI_OBJECT_FLAGS()</h3>
 <pre class="programlisting">#define GST_MINI_OBJECT_FLAGS(obj)  (GST_MINI_OBJECT_CAST(obj)-&gt;flags)
 </pre>
@@ -377,6 +416,73 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="GST-MINI-OBJECT-IS-LOCKABLE:CAPS"></a><h3>GST_MINI_OBJECT_IS_LOCKABLE()</h3>
+<pre class="programlisting">#define GST_MINI_OBJECT_IS_LOCKABLE(obj)  GST_MINI_OBJECT_FLAG_IS_SET(obj, GST_MINI_OBJECT_FLAG_LOCKABLE)
+</pre>
+<p>
+Check if <em class="parameter"><code>obj</code></em> is lockable. A lockable object can be locked and unlocked with
+<a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-lock" title="gst_mini_object_lock ()"><code class="function">gst_mini_object_lock()</code></a> and <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-unlock" title="gst_mini_object_unlock ()"><code class="function">gst_mini_object_unlock()</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>obj</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstLockFlags"></a><h3>enum GstLockFlags</h3>
+<pre class="programlisting">typedef enum {
+  GST_LOCK_FLAG_READ      = (1 &lt;&lt; 0),
+  GST_LOCK_FLAG_WRITE     = (1 &lt;&lt; 1),
+  GST_LOCK_FLAG_EXCLUSIVE = (1 &lt;&lt; 2),
+
+  GST_LOCK_FLAG_LAST      = (1 &lt;&lt; 8)
+} GstLockFlags;
+</pre>
+<p>
+Flags used when locking miniobjects
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><a name="GST-LOCK-FLAG-READ:CAPS"></a><span class="term"><code class="literal">GST_LOCK_FLAG_READ</code></span></p></td>
+<td>lock for read access
+</td>
+</tr>
+<tr>
+<td><p><a name="GST-LOCK-FLAG-WRITE:CAPS"></a><span class="term"><code class="literal">GST_LOCK_FLAG_WRITE</code></span></p></td>
+<td>lock for write access
+</td>
+</tr>
+<tr>
+<td><p><a name="GST-LOCK-FLAG-EXCLUSIVE:CAPS"></a><span class="term"><code class="literal">GST_LOCK_FLAG_EXCLUSIVE</code></span></p></td>
+<td>lock for exclusive access
+</td>
+</tr>
+<tr>
+<td><p><a name="GST-LOCK-FLAG-LAST:CAPS"></a><span class="term"><code class="literal">GST_LOCK_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="GST-LOCK-FLAG-READWRITE:CAPS"></a><h3>GST_LOCK_FLAG_READWRITE</h3>
+<pre class="programlisting">#define GST_LOCK_FLAG_READWRITE  (GST_LOCK_FLAG_READ | GST_LOCK_FLAG_WRITE)
+</pre>
+<p>
+GstLockFlags value alias for GST_LOCK_FLAG_READ | GST_LOCK_FLAG_WRITE
+</p>
+</div>
+<hr>
+<div class="refsect2">
 <a name="GST-MINI-OBJECT-REFCOUNT:CAPS"></a><h3>GST_MINI_OBJECT_REFCOUNT()</h3>
 <pre class="programlisting">#define GST_MINI_OBJECT_REFCOUNT(obj)           ((GST_MINI_OBJECT_CAST(obj))-&gt;refcount)
 </pre>
@@ -411,23 +517,6 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="GST-MINI-OBJECT-SIZE:CAPS"></a><h3>GST_MINI_OBJECT_SIZE()</h3>
-<pre class="programlisting">#define GST_MINI_OBJECT_SIZE(obj)              ((GST_MINI_OBJECT_CAST(obj))-&gt;size)
-</pre>
-<p>
-Get the allocated size of <em class="parameter"><code>obj</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>obj</code></em> :</span></p></td>
-<td>a <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a>
-</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
 <a name="GST-DEFINE-MINI-OBJECT-TYPE:CAPS"></a><h3>GST_DEFINE_MINI_OBJECT_TYPE()</h3>
 <pre class="programlisting">#define             GST_DEFINE_MINI_OBJECT_TYPE(TypeName,type_name)</pre>
 <p>
@@ -451,13 +540,14 @@
 <div class="refsect2">
 <a name="gst-mini-object-init"></a><h3>gst_mini_object_init ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_mini_object_init                (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *mini_object</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> flags</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> type</code></em>,
-                                                         <em class="parameter"><code><span class="type">gsize</span> size</code></em>);</pre>
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectCopyFunction" title="GstMiniObjectCopyFunction ()"><span class="type">GstMiniObjectCopyFunction</span></a> copy_func</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectDisposeFunction" title="GstMiniObjectDisposeFunction ()"><span class="type">GstMiniObjectDisposeFunction</span></a> dispose_func</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectFreeFunction" title="GstMiniObjectFreeFunction ()"><span class="type">GstMiniObjectFreeFunction</span></a> free_func</code></em>);</pre>
 <p>
-Initializes a mini-object with the desired type and size.
-</p>
-<p>
-MT safe
+Initializes a mini-object with the desired type and copy/dispose/free
+functions.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -472,93 +562,16 @@
 <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>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
-<td>the size of the data</td>
+<td><p><span class="term"><em class="parameter"><code>copy_func</code></em> :</span></p></td>
+<td>the copy function, or NULL</td>
 </tr>
 <tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the new mini-object. <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-mini-object-copy"></a><h3>gst_mini_object_copy ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="returnvalue">GstMiniObject</span></a> *     gst_mini_object_copy                (<em class="parameter"><code>const <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *mini_object</code></em>);</pre>
-<p>
-Creates a copy of the mini-object.
-</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>mini_object</code></em> :</span></p></td>
-<td>the mini-object to copy</td>
+<td><p><span class="term"><em class="parameter"><code>dispose_func</code></em> :</span></p></td>
+<td>the dispose function, or NULL</td>
 </tr>
 <tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the new mini-object. <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-mini-object-is-writable"></a><h3>gst_mini_object_is_writable ()</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_mini_object_is_writable         (<em class="parameter"><code>const <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *mini_object</code></em>);</pre>
-<p>
-Checks if a mini-object is writable.  A mini-object is writable
-if the reference count is one. Modification of a mini-object should
-only be done after verifying that it is writable.
-</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>mini_object</code></em> :</span></p></td>
-<td>the mini-object to check</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TRUE if the object is writable.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mini-object-make-writable"></a><h3>gst_mini_object_make_writable ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="returnvalue">GstMiniObject</span></a> *     gst_mini_object_make_writable       (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *mini_object</code></em>);</pre>
-<p>
-Checks if a mini-object is writable.  If not, a writable copy is made and
-returned.  This gives away the reference to the original mini object,
-and returns a reference to the new object.
-</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>mini_object</code></em> :</span></p></td>
-<td>the mini-object to make writable. <span class="annotation">[<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"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a mini-object (possibly the same pointer) that
-is writable. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td><p><span class="term"><em class="parameter"><code>free_func</code></em> :</span></p></td>
+<td>the free function or NULL</td>
 </tr>
 </tbody>
 </table></div>
@@ -613,7 +626,7 @@
 <div class="refsect2">
 <a name="gst-mini-object-weak-ref"></a><h3>gst_mini_object_weak_ref ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_mini_object_weak_ref            (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *object</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectWeakNotify" title="GstMiniObjectWeakNotify ()"><span class="type">GstMiniObjectWeakNotify</span></a> notify</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectNotify" title="GstMiniObjectNotify ()"><span class="type">GstMiniObjectNotify</span></a> notify</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>);</pre>
 <p>
 Adds a weak reference callback to a mini object. Weak references are
@@ -641,16 +654,15 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.35</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-mini-object-weak-unref"></a><h3>gst_mini_object_weak_unref ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_mini_object_weak_unref          (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *object</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectWeakNotify" title="GstMiniObjectWeakNotify ()"><span class="type">GstMiniObjectWeakNotify</span></a> notify</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectNotify" title="GstMiniObjectNotify ()"><span class="type">GstMiniObjectNotify</span></a> notify</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>);</pre>
 <p>
-Removes a weak reference callback to a mini object.
+Removes a weak reference callback from a mini object.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -670,7 +682,244 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.35</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mini-object-lock"></a><h3>gst_mini_object_lock ()</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_mini_object_lock                (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *object</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstLockFlags" title="enum GstLockFlags"><span class="type">GstLockFlags</span></a> flags</code></em>);</pre>
+<p>
+Lock the mini-object with the specified access mode in <em class="parameter"><code>flags</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>object</code></em> :</span></p></td>
+<td>the mini-object to lock</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
+<td><a class="link" href="gstreamer-GstMiniObject.html#GstLockFlags" title="enum GstLockFlags"><span class="type">GstLockFlags</span></a></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 <em class="parameter"><code>object</code></em> could be locked.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mini-object-unlock"></a><h3>gst_mini_object_unlock ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_mini_object_unlock              (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *object</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstLockFlags" title="enum GstLockFlags"><span class="type">GstLockFlags</span></a> flags</code></em>);</pre>
+<p>
+Unlock the mini-object with the specified access mode in <em class="parameter"><code>flags</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>object</code></em> :</span></p></td>
+<td>the mini-object to unlock</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
+<td><a class="link" href="gstreamer-GstMiniObject.html#GstLockFlags" title="enum GstLockFlags"><span class="type">GstLockFlags</span></a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mini-object-is-writable"></a><h3>gst_mini_object_is_writable ()</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_mini_object_is_writable         (<em class="parameter"><code>const <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *mini_object</code></em>);</pre>
+<p>
+If <em class="parameter"><code>mini_object</code></em> has the LOCKABLE flag set, check if the current EXCLUSIVE
+lock on <em class="parameter"><code>object</code></em> is the only one, this means that changes to the object will
+not be visible to any other object.
+</p>
+<p>
+If the LOCKABLE flag is not set, check if the refcount of <em class="parameter"><code>mini_object</code></em> is
+exactly 1, meaning that no other reference exists to the object and that the
+object is therefore writable.
+</p>
+<p>
+Modification of a mini-object should only be done after verifying that it
+is writable.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>mini_object</code></em> :</span></p></td>
+<td>the mini-object to check</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>TRUE if the object is writable.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mini-object-make-writable"></a><h3>gst_mini_object_make_writable ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="returnvalue">GstMiniObject</span></a> *     gst_mini_object_make_writable       (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *mini_object</code></em>);</pre>
+<p>
+Checks if a mini-object is writable.  If not, a writable copy is made and
+returned.  This gives away the reference to the original mini object,
+and returns a reference to the new object.
+</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>mini_object</code></em> :</span></p></td>
+<td>the mini-object to make writable. <span class="annotation">[<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"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a mini-object (possibly the same pointer) that
+is writable. <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-mini-object-copy"></a><h3>gst_mini_object_copy ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="returnvalue">GstMiniObject</span></a> *     gst_mini_object_copy                (<em class="parameter"><code>const <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *mini_object</code></em>);</pre>
+<p>
+Creates a copy of the mini-object.
+</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>mini_object</code></em> :</span></p></td>
+<td>the mini-object to copy</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the new mini-object. <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-mini-object-set-qdata"></a><h3>gst_mini_object_set_qdata ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_mini_object_set_qdata           (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *object</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</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><a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>);</pre>
+<p>
+This sets an opaque, named pointer on a miniobject.
+The name is specified through a <a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> (retrived e.g. via
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#g-quark-from-static-string"><code class="function">g_quark_from_static_string()</code></a>), and the pointer
+can be gotten back from the <em class="parameter"><code>object</code></em> with <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-get-qdata" title="gst_mini_object_get_qdata ()"><code class="function">gst_mini_object_get_qdata()</code></a>
+until the <em class="parameter"><code>object</code></em> is disposed.
+Setting a previously set user data pointer, overrides (frees)
+the old pointer set, using <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> as pointer essentially
+removes the data stored.
+</p>
+<p>
+<em class="parameter"><code>destroy</code></em> may be specified which is called with <em class="parameter"><code>data</code></em> as argument
+when the <em class="parameter"><code>object</code></em> is disposed, or the data is being overwritten by
+a call to <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-set-qdata" title="gst_mini_object_set_qdata ()"><code class="function">gst_mini_object_set_qdata()</code></a> with the same <em class="parameter"><code>quark</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>object</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>quark</code></em> :</span></p></td>
+<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>, naming the user data pointer</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
+<td>An opaque user data pointer</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>destroy</code></em> :</span></p></td>
+<td>Function to invoke with <em class="parameter"><code>data</code></em> as argument, when <em class="parameter"><code>data</code></em>
+needs to be freed</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mini-object-get-qdata"></a><h3>gst_mini_object_get_qdata ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            gst_mini_object_get_qdata           (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *object</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>);</pre>
+<p>
+This function gets back user data pointers stored via
+<a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-set-qdata" title="gst_mini_object_set_qdata ()"><code class="function">gst_mini_object_set_qdata()</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>object</code></em> :</span></p></td>
+<td>The GstMiniObject to get a stored user data pointer from</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>quark</code></em> :</span></p></td>
+<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>, naming the user data pointer</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The user data pointer set, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></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>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mini-object-steal-qdata"></a><h3>gst_mini_object_steal_qdata ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            gst_mini_object_steal_qdata         (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *object</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>);</pre>
+<p>
+This function gets back user data pointers stored via <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-set-qdata" title="gst_mini_object_set_qdata ()"><code class="function">gst_mini_object_set_qdata()</code></a>
+and removes the data from <em class="parameter"><code>object</code></em> without invoking its <code class="function">destroy()</code> function (if
+any 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>object</code></em> :</span></p></td>
+<td>The GstMiniObject to get a stored user data pointer from</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>quark</code></em> :</span></p></td>
+<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>, naming the user data pointer</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The user data pointer set, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</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">
@@ -708,6 +957,41 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="gst-mini-object-take"></a><h3>gst_mini_object_take ()</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_mini_object_take                (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> **olddata</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *newdata</code></em>);</pre>
+<p>
+Modifies a pointer to point to a new mini-object. The modification
+is done atomically. This version is similar to <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-replace" title="gst_mini_object_replace ()"><code class="function">gst_mini_object_replace()</code></a>
+except that it does not increase the refcount of <em class="parameter"><code>newdata</code></em> and thus
+takes ownership of <em class="parameter"><code>newdata</code></em>.
+</p>
+<p>
+Either <em class="parameter"><code>newdata</code></em> and the value pointed to by <em class="parameter"><code>olddata</code></em> may be NULL.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>olddata</code></em> :</span></p></td>
+<td>pointer to a pointer to a mini-object to
+be replaced. <span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</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>newdata</code></em> :</span></p></td>
+<td>pointer to new mini-object</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>newdata</code></em> was different from <em class="parameter"><code>olddata</code></em>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
 <a name="gst-mini-object-steal"></a><h3>gst_mini_object_steal ()</h3>
 <pre class="programlisting"><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="returnvalue">GstMiniObject</span></a> *     gst_mini_object_steal               (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> **olddata</code></em>);</pre>
 <p>
@@ -731,41 +1015,6 @@
 </tbody>
 </table></div>
 </div>
-<hr>
-<div class="refsect2">
-<a name="gst-mini-object-take"></a><h3>gst_mini_object_take ()</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_mini_object_take                (<em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> **olddata</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> *newdata</code></em>);</pre>
-<p>
-Modifies a pointer to point to a new mini-object. The modification
-is done atomically. This version is similar to <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-replace" title="gst_mini_object_replace ()"><code class="function">gst_mini_object_replace()</code></a>
-except that it does not increase the refcount of <em class="parameter"><code>newdata</code></em> and thus
-takes ownership of <em class="parameter"><code>newdata</code></em>.
-</p>
-<p>
-Either <em class="parameter"><code>newdata</code></em> and the value pointed to by <em class="parameter"><code>olddata</code></em> may be NULL.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>olddata</code></em> :</span></p></td>
-<td>pointer to a pointer to a mini-object to
-be replaced. <span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</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>newdata</code></em> :</span></p></td>
-<td>pointer to new mini-object</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>newdata</code></em> was different from <em class="parameter"><code>olddata</code></em>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/gst/html/gstreamer-GstParamSpec.html b/docs/gst/html/gstreamer-GstParamSpec.html
index 3716355..f160059 100644
--- a/docs/gst/html/gstreamer-GstParamSpec.html
+++ b/docs/gst/html/gstreamer-GstParamSpec.html
@@ -99,7 +99,6 @@
 they can be changed when the element is in the PAUSED or lower state.
 This flag implies GST_PARAM_MUTABLE_READY.
 </p>
-<p class="since">Since 0.10.23</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -111,7 +110,6 @@
 they can be changed when the element is in the PLAYING or lower state.
 This flag implies GST_PARAM_MUTABLE_PAUSED.
 </p>
-<p class="since">Since 0.10.23</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -122,7 +120,6 @@
 Use this flag on GObject properties of GstElements to indicate that
 they can be changed when the element is in the READY or lower state.
 </p>
-<p class="since">Since 0.10.23</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -242,7 +239,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.14</p>
 </div>
 </div>
 </div>
diff --git a/docs/gst/html/gstreamer-GstParse.html b/docs/gst/html/gstreamer-GstParse.html
index 15b4a03..a073684 100644
--- a/docs/gst/html/gstreamer-GstParse.html
+++ b/docs/gst/html/gstreamer-GstParse.html
@@ -173,7 +173,6 @@
 <p>
 Opaque structure.
 </p>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -203,7 +202,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -281,7 +279,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -359,7 +356,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -396,12 +392,12 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a newly-created bin, or NULL if an error occurred. <span class="annotation">[transfer floating]</span>
+<td>a newly-created bin,
+or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error occurred. <span class="annotation">[transfer floating][<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> Gst.Bin]</span>
 </td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.3</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -451,12 +447,12 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a newly-created bin, or NULL if an error occurred. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+<td>a newly-created bin, or
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error occurred. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> Gst.Bin]</span>
 </td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -478,7 +474,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -495,7 +490,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -524,7 +518,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 </div>
 </div>
diff --git a/docs/gst/html/gstreamer-GstPoll.html b/docs/gst/html/gstreamer-GstPoll.html
index 1201175..d83e95b 100644
--- a/docs/gst/html/gstreamer-GstPoll.html
+++ b/docs/gst/html/gstreamer-GstPoll.html
@@ -150,7 +150,6 @@
 be assigned to a variable. In that case you have to use
 <a class="link" href="gstreamer-GstPoll.html#gst-poll-fd-init" title="gst_poll_fd_init ()"><code class="function">gst_poll_fd_init()</code></a>.
 </p>
-<p class="since">Since 0.10.18</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -178,7 +177,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.18</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -206,7 +204,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.18</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -234,7 +231,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.18</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -268,7 +264,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.18</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -302,7 +297,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.18</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -330,7 +324,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.18</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -358,7 +351,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.18</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -389,7 +381,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.18</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -407,7 +398,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.18</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -424,7 +414,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.18</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -453,7 +442,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.18</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -479,7 +467,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.23</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -505,7 +492,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.32</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -533,7 +519,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.18</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -553,7 +538,6 @@
 <td>a <a class="link" href="gstreamer-GstPoll.html#GstPoll" title="GstPoll"><span class="type">GstPoll</span></a>.</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.18</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -583,7 +567,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.18</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -610,7 +593,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.18</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -650,7 +632,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.18</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -676,7 +657,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.23</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -708,7 +688,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.23</p>
 </div>
 </div>
 </div>
diff --git a/docs/gst/html/gstreamer-GstQuery.html b/docs/gst/html/gstreamer-GstQuery.html
index 0e8a04a..d733740 100644
--- a/docs/gst/html/gstreamer-GstQuery.html
+++ b/docs/gst/html/gstreamer-GstQuery.html
@@ -143,9 +143,6 @@
                                                          <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-GstQuery.html#gst-query-parse-caps-result" title="gst_query_parse_caps_result ()">gst_query_parse_caps_result</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="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-GstQuery.html#gst-query-intersect-caps-result" title="gst_query_intersect_caps_result ()">gst_query_intersect_caps_result</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="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *filter</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCapsIntersectMode" title="enum GstCapsIntersectMode"><span class="type">GstCapsIntersectMode</span></a> mode</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-accept-caps" title="gst_query_new_accept_caps ()">gst_query_new_accept_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-GstQuery.html#gst-query-parse-accept-caps" title="gst_query_parse_accept_caps ()">gst_query_parse_accept_caps</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="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> **caps</code></em>);
@@ -218,28 +215,31 @@
                                                          <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><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</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>);
 <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><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> **allocator</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</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>);
 <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><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</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>);
 <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><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>);
 <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-metas" title="gst_query_get_n_allocation_metas ()">gst_query_get_n_allocation_metas</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>);
 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>               <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-nth-allocation-meta" title="gst_query_parse_nth_allocation_meta ()">gst_query_parse_nth_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/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</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>const <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> **params</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstQuery.html#gst-query-remove-nth-allocation-meta" title="gst_query_remove_nth_allocation_meta ()">gst_query_remove_nth_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/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-allocation-meta" title="gst_query_has_allocation_meta ()">gst_query_has_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>);
+<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-find-allocation-meta" title="gst_query_find_allocation_meta ()">gst_query_find_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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *index</code></em>);
 enum                <a class="link" href="gstreamer-GstQuery.html#GstSchedulingFlags" title="enum GstSchedulingFlags">GstSchedulingFlags</a>;
 <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-scheduling" title="gst_query_new_scheduling ()">gst_query_new_scheduling</a>            (<em class="parameter"><code><span class="type">void</span></code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-scheduling" title="gst_query_parse_scheduling ()">gst_query_parse_scheduling</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>,
@@ -260,13 +260,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-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 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>);
-<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-toc" title="gst_query_new_toc ()">gst_query_new_toc</a>                   (<em class="parameter"><code><span class="type">void</span></code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-toc" title="gst_query_parse_toc ()">gst_query_parse_toc</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="gstreamer-GstToc.html#GstToc" title="struct 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#gchar"><span class="type">gchar</span></a> **extend_uid</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstQuery.html#gst-query-set-toc" title="gst_query_set_toc ()">gst_query_set_toc</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="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> *toc</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> *extend_uid</code></em>);
 </pre>
 </div>
 <div class="refsect1">
@@ -287,7 +280,7 @@
 <p>
 </p>
 <div class="example">
-<a name="idp39385888"></a><p class="title"><b>Example 12. Query duration on a pipeline</b></p>
+<a name="idp40045456"></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>
@@ -307,17 +300,17 @@
 13</pre></td>
         <td class="listing_code"><pre class="programlisting">GstQuery <span class="gtkdoc opt">*</span>query<span class="gtkdoc opt">;</span>
 gboolean res<span class="gtkdoc opt">;</span>
-query <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstQuery.html#gst-query-new-duration">gst_query_new_duration</a></span> <span class="gtkdoc opt">(</span>GST_FORMAT_TIME<span class="gtkdoc opt">);</span>
-res <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-query">gst_element_query</a></span> <span class="gtkdoc opt">(</span>pipeline<span class="gtkdoc opt">,</span> query<span class="gtkdoc opt">);</span>
+query <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstQuery.html#gst-query-new-duration">gst_query_new_duration</a></span> <span class="gtkdoc opt">(</span>GST_FORMAT_TIME<span class="gtkdoc opt">);</span>
+res <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/GstElement.html#gst-element-query">gst_element_query</a></span> <span class="gtkdoc opt">(</span>pipeline<span class="gtkdoc opt">,</span> query<span class="gtkdoc opt">);</span>
 <span class="keyword">if</span> <span class="gtkdoc opt">(</span>res<span class="gtkdoc opt">) {</span>
   gint64 duration<span class="gtkdoc opt">;</span>
-  <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstQuery.html#gst-query-parse-duration">gst_query_parse_duration</a></span> <span class="gtkdoc opt">(</span>query<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">, &amp;</span>duration<span class="gtkdoc opt">);</span>
-  <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;duration = %&quot;</span>GST_TIME_FORMAT<span class="gtkdoc opt">,</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-TIME-ARGS:CAPS">GST_TIME_ARGS</a></span> <span class="gtkdoc opt">(</span>duration<span class="gtkdoc opt">));</span>
+  <span class="function"><a href="../gstreamer-1.0/gstreamer-GstQuery.html#gst-query-parse-duration">gst_query_parse_duration</a></span> <span class="gtkdoc opt">(</span>query<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">, &amp;</span>duration<span class="gtkdoc opt">);</span>
+  <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;duration = %&quot;</span>GST_TIME_FORMAT<span class="gtkdoc opt">,</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-TIME-ARGS:CAPS">GST_TIME_ARGS</a></span> <span class="gtkdoc opt">(</span>duration<span class="gtkdoc opt">));</span>
 <span class="gtkdoc opt">}</span>
 <span class="keyword">else</span> <span class="gtkdoc opt">{</span>
   <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;duration query failed...&quot;</span><span class="gtkdoc opt">);</span>
 <span class="gtkdoc opt">}</span>
-<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstQuery.html#gst-query-unref">gst_query_unref</a></span> <span class="gtkdoc opt">(</span>query<span class="gtkdoc opt">);</span></pre></td>
+<span class="function"><a href="../gstreamer-1.0/gstreamer-GstQuery.html#gst-query-unref">gst_query_unref</a></span> <span class="gtkdoc opt">(</span>query<span class="gtkdoc opt">);</span></pre></td>
       </tr>
     </tbody>
   </table>
@@ -445,8 +438,7 @@
   GST_QUERY_SCHEDULING   = GST_QUERY_MAKE_TYPE (150, FLAG(UPSTREAM)),
   GST_QUERY_ACCEPT_CAPS  = GST_QUERY_MAKE_TYPE (160, FLAG(BOTH)),
   GST_QUERY_CAPS         = GST_QUERY_MAKE_TYPE (170, FLAG(BOTH)),
-  GST_QUERY_DRAIN        = GST_QUERY_MAKE_TYPE (180, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
-  GST_QUERY_TOC          = GST_QUERY_MAKE_TYPE (190, FLAG(BOTH))
+  GST_QUERY_DRAIN        = GST_QUERY_MAKE_TYPE (180, FLAG(DOWNSTREAM) | FLAG(SERIALIZED))
 } GstQueryType;
 </pre>
 <p>
@@ -507,19 +499,17 @@
 </tr>
 <tr>
 <td><p><a name="GST-QUERY-BUFFERING:CAPS"></a><span class="term"><code class="literal">GST_QUERY_BUFFERING</code></span></p></td>
-<td>query available media for efficient seeking. Since
-0.10.20.
+<td>query available media for efficient seeking.
 </td>
 </tr>
 <tr>
 <td><p><a name="GST-QUERY-CUSTOM:CAPS"></a><span class="term"><code class="literal">GST_QUERY_CUSTOM</code></span></p></td>
-<td>a custom application or element defined query. Since
-0.10.22.
+<td>a custom application or element defined query.
 </td>
 </tr>
 <tr>
 <td><p><a name="GST-QUERY-URI:CAPS"></a><span class="term"><code class="literal">GST_QUERY_URI</code></span></p></td>
-<td>query the URI of the source or sink. Since 0.10.22.
+<td>query the URI of the source or sink.
 </td>
 </tr>
 <tr>
@@ -547,12 +537,6 @@
 <td>wait till all serialized data is consumed downstream
 </td>
 </tr>
-<tr>
-<td><p><a name="GST-QUERY-TOC:CAPS"></a><span class="term"><code class="literal">GST_QUERY_TOC</code></span></p></td>
-<td>query the full table of contents (TOC) with the marker
-for an entry which can be used to extend received TOC. Since 0.10.37.
-</td>
-</tr>
 </tbody>
 </table></div>
 </div>
@@ -587,7 +571,6 @@
 <td>the query to query</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1242,7 +1225,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.12</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1279,7 +1261,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.12</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1313,7 +1294,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.12</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1443,7 +1423,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1504,7 +1483,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1529,7 +1507,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1804,13 +1781,6 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-query-intersect-caps-result"></a><h3>gst_query_intersect_caps_result ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_query_intersect_caps_result     (<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="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *filter</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCapsIntersectMode" title="enum GstCapsIntersectMode"><span class="type">GstCapsIntersectMode</span></a> mode</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
 <a name="gst-query-new-accept-caps"></a><h3>gst_query_new_accept_caps ()</h3>
 <pre class="programlisting"><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> *          gst_query_new_accept_caps           (<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>);</pre>
 <p>
@@ -1864,12 +1834,46 @@
 <a name="gst-query-set-accept-caps-result"></a><h3>gst_query_set_accept_caps_result ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_query_set_accept_caps_result    (<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#gboolean"><span class="type">gboolean</span></a> result</code></em>);</pre>
+<p>
+Set <em class="parameter"><code>result</code></em> as the result for the <em class="parameter"><code>query</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>query</code></em> :</span></p></td>
+<td>a GST_QUERY_ACCEPT_CAPS 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>result</code></em> :</span></p></td>
+<td>the result to set</td>
+</tr>
+</tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-query-parse-accept-caps-result"></a><h3>gst_query_parse_accept_caps_result ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_query_parse_accept_caps_result  (<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#gboolean"><span class="type">gboolean</span></a> *result</code></em>);</pre>
+<p>
+Parse the result from <em class="parameter"><code>query</code></em> and store in <em class="parameter"><code>result</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>query</code></em> :</span></p></td>
+<td>a GST_QUERY_ACCEPT_CAPS 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>result</code></em> :</span></p></td>
+<td>location for the result</td>
+</tr>
+</tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1935,7 +1939,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1964,7 +1967,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1995,7 +1997,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2033,7 +2034,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2075,7 +2075,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2114,7 +2113,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2161,7 +2159,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2195,7 +2192,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2219,7 +2215,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2260,7 +2255,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2282,7 +2276,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2310,7 +2303,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2333,7 +2325,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2470,6 +2461,9 @@
 <p>
 Get the pool parameters in <em class="parameter"><code>query</code></em>.
 </p>
+<p>
+Unref <em class="parameter"><code>pool</code></em> with <a class="link" href="GstObject.html#gst-object-unref" title="gst_object_unref ()"><code class="function">gst_object_unref()</code></a> when it's not needed any more.
+</p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -2483,7 +2477,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td>
-<td>the <a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a>. <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>the <a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a>. <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>
@@ -2551,8 +2545,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><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
+                                                         <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>
 <p>
 Add <em class="parameter"><code>allocator</code></em> and its <em class="parameter"><code>params</code></em> as a supported memory allocator.
 </p>
@@ -2566,11 +2560,12 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td>
-<td>the memory allocator</td>
+<td>the memory 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>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
-<td>a <a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a>
+<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>
 </tr>
 </tbody>
@@ -2609,8 +2604,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><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> **allocator</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
+                                                         <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>
 <p>
 Parse an available query and get the alloctor and its params
 at <em class="parameter"><code>index</code></em> of the allocator array.
@@ -2629,12 +2624,13 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td>
-<td>variable to hold the result. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+<td>variable to hold the result. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
 </td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
-<td>parameters for the allocator</td>
+<td>parameters for the allocator. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
 </tr>
 </tbody>
 </table></div>
@@ -2644,8 +2640,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><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
+                                                         <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>
 <p>
 Parse an available query and get the alloctor and its params
 at <em class="parameter"><code>index</code></em> of the allocator array.
@@ -2664,12 +2660,13 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td>
-<td>new allocator to set. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+<td>new allocator to set. <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>params</code></em> :</span></p></td>
-<td>parameters for the allocator</td>
+<td>parameters for the 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>
 </tbody>
 </table></div>
@@ -2678,9 +2675,10 @@
 <div class="refsect2">
 <a name="gst-query-add-allocation-meta"></a><h3>gst_query_add_allocation_meta ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_query_add_allocation_meta       (<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>);</pre>
+                                                         <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>);</pre>
 <p>
-Add <em class="parameter"><code>api</code></em> as aone of the supported metadata API to <em class="parameter"><code>query</code></em>.
+Add <em class="parameter"><code>api</code></em> with <em class="parameter"><code>params</code></em> as one of the supported metadata API to <em class="parameter"><code>query</code></em>.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -2694,6 +2692,11 @@
 <td><p><span class="term"><em class="parameter"><code>api</code></em> :</span></p></td>
 <td>the metadata API</td>
 </tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
+<td>API specific 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>
 </tbody>
 </table></div>
 </div>
@@ -2724,7 +2727,8 @@
 <div class="refsect2">
 <a name="gst-query-parse-nth-allocation-meta"></a><h3>gst_query_parse_nth_allocation_meta ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>               gst_query_parse_nth_allocation_meta (<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>);</pre>
+                                                         <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>const <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> **params</code></em>);</pre>
 <p>
 Parse an available query and get the metadata API
 at <em class="parameter"><code>index</code></em> of the metadata API array.
@@ -2742,6 +2746,11 @@
 <td>position in the metadata API array to read</td>
 </tr>
 <tr>
+<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
+<td>API specific flags. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of the metadata API at <em class="parameter"><code>index</code></em>.</td>
 </tr>
@@ -2774,11 +2783,14 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-query-has-allocation-meta"></a><h3>gst_query_has_allocation_meta ()</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_allocation_meta       (<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>);</pre>
+<a name="gst-query-find-allocation-meta"></a><h3>gst_query_find_allocation_meta ()</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_find_allocation_meta      (<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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *index</code></em>);</pre>
 <p>
-Check if <em class="parameter"><code>query</code></em> has metadata <em class="parameter"><code>api</code></em> set.
+Check if <em class="parameter"><code>query</code></em> has metadata <em class="parameter"><code>api</code></em> set. When this function returns TRUE,
+<em class="parameter"><code>index</code></em> will contain the index where the requested API and the flags can be
+found.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -2793,6 +2805,11 @@
 <td>the metadata API</td>
 </tr>
 <tr>
+<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
+<td>the index. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>TRUE when <em class="parameter"><code>api</code></em> is in the list of metadata.</td>
 </tr>
@@ -3045,85 +3062,6 @@
 </tr></tbody>
 </table></div>
 </div>
-<hr>
-<div class="refsect2">
-<a name="gst-query-new-toc"></a><h3>gst_query_new_toc ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> *          gst_query_new_toc                   (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>
-Constructs a new query TOC query object. Use <a class="link" href="gstreamer-GstQuery.html#gst-query-unref" title="gst_query_unref ()"><code class="function">gst_query_unref()</code></a>
-when done with it. A TOC query is used to query the full TOC with
-the UID marker for TOC extending (to insert some new entries).
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>A <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a>.</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-query-parse-toc"></a><h3>gst_query_parse_toc ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_query_parse_toc                 (<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="gstreamer-GstToc.html#GstToc" title="struct 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#gchar"><span class="type">gchar</span></a> **extend_uid</code></em>);</pre>
-<p>
-Parse a TOC query, writing the TOC into <em class="parameter"><code>toc</code></em> as a newly
-allocated <a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> and extend UID into <em class="parameter"><code>extend_uid</code></em>, if the respective parameters
-are non-NULL. Use <em class="parameter"><code>extend_uid</code></em> value to insert new entries into the TOC (<em class="parameter"><code>extend_uid</code></em> will
-act as root entry for newly inserted entries).
-Free <em class="parameter"><code>toc</code></em> with <a class="link" href="gstreamer-GstToc.html#gst-toc-free" title="gst_toc_free ()"><code class="function">gst_toc_free()</code></a> and <em class="parameter"><code>extend_uid</code></em> with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage.
-</p>
-<div class="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 <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>toc</code></em> :</span></p></td>
-<td>the storage for the received TOC (may be 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>extend_uid</code></em> :</span></p></td>
-<td>the storage for the received extend UID marker (may be NULL),
-0 means root TOC level. <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-query-set-toc"></a><h3>gst_query_set_toc ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_query_set_toc                   (<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="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> *toc</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> *extend_uid</code></em>);</pre>
-<p>
-Answer a TOC query by setting appropriate <a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> structure.
-</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 <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> with query type GST_QUERY_TOC.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td>
-<td>the GstToc to set.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>extend_uid</code></em> :</span></p></td>
-<td>UID which can be used for TOC extending (may be NULL),
-0 means root TOC level.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <div class="refsect1">
 <a name="gstreamer-GstQuery.see-also"></a><h2>See Also</h2>
diff --git a/docs/gst/html/gstreamer-GstSample.html b/docs/gst/html/gstreamer-GstSample.html
index 3621b46..e500b1c 100644
--- a/docs/gst/html/gstreamer-GstSample.html
+++ b/docs/gst/html/gstreamer-GstSample.html
@@ -71,7 +71,7 @@
 <p>
 The opaque structure of a <a class="link" href="gstreamer-GstSample.html#GstSample" title="GstSample"><span class="type">GstSample</span></a>. A sample contains a typed memory
 block and the associated timing information. It is mainly used to
-exchange buffers with and application.
+exchange buffers with an application.
 </p>
 </div>
 <hr>
@@ -188,22 +188,21 @@
 <tbody>
 <tr>
 <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>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>, or NULL. <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>caps</code></em> :</span></p></td>
-<td>a <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>
+<td>a <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>, or NULL. <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>segment</code></em> :</span></p></td>
-<td>a <a class="link" href="gstreamer-GstSegment.html#GstSegment" title="struct GstSegment"><span class="type">GstSegment</span></a>
-</td>
+<td>transfer none) (allow-none): a <a class="link" href="gstreamer-GstSegment.html#GstSegment" title="struct GstSegment"><span class="type">GstSegment</span></a>, or NULL</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a>
+<td>a <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a>, or NULL. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
 </td>
 </tr>
 <tr>
@@ -214,7 +213,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/gst/html/gstreamer-GstSegment.html b/docs/gst/html/gstreamer-GstSegment.html
index 972a797..60fb442 100644
--- a/docs/gst/html/gstreamer-GstSegment.html
+++ b/docs/gst/html/gstreamer-GstSegment.html
@@ -109,11 +109,10 @@
 rate and applied_rate is 1.0.
 </p>
 <p>
-If the segment is used for managing seeks, the segment duration should be set with
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSegment.html#gst-segment-set-duration"><code class="function">gst_segment_set_duration()</code></a>. The public duration field contains the duration of the
-segment. When using the segment for seeking, the start and time members should
-normally be left to their default 0 value. The stop position is left to -1 unless
-explicitly configured to a different value after a seek event.
+The public duration field contains the duration of the segment. When using
+the segment for seeking, the start and time members should normally be left
+to their default 0 value. The stop position is left to -1 unless explicitly
+configured to a different value after a seek event.
 </p>
 <p>
 The current position in the segment should be set by changing the position
@@ -123,7 +122,7 @@
 For elements that perform seeks, the current segment should be updated with the
 <a class="link" href="gstreamer-GstSegment.html#gst-segment-do-seek" title="gst_segment_do_seek ()"><code class="function">gst_segment_do_seek()</code></a> and the values from the seek event. This method will update
 all the segment fields. The position field will contain the new playback position.
-If the cur_type was different from GST_SEEK_TYPE_NONE, playback continues from
+If the start_type was different from GST_SEEK_TYPE_NONE, playback continues from
 the position position, possibly with updated flags or rate.
 </p>
 <p>
@@ -159,6 +158,7 @@
 
   GstFormat       format;
   guint64         base;
+  guint64         offset;
   guint64         start;
   guint64         stop;
   guint64         time;
@@ -192,7 +192,12 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="type">guint64</span> <em class="structfield"><code><a name="GstSegment.base"></a>base</code></em>;</span></p></td>
-<td>the base time of the segment</td>
+<td>the base of the segment</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="type">guint64</span> <em class="structfield"><code><a name="GstSegment.offset"></a>offset</code></em>;</span></p></td>
+<td>the offset to apply to <em class="parameter"><code>start</code></em> or <em class="parameter"><code>stop</code></em>
+</td>
 </tr>
 <tr>
 <td><p><span class="term"><span class="type">guint64</span> <em class="structfield"><code><a name="GstSegment.start"></a>start</code></em>;</span></p></td>
@@ -223,7 +228,8 @@
 <pre class="programlisting">typedef enum {
   GST_SEGMENT_FLAG_NONE            = GST_SEEK_FLAG_NONE,
   GST_SEGMENT_FLAG_RESET           = GST_SEEK_FLAG_FLUSH,
-  GST_SEGMENT_FLAG_SKIP            = GST_SEEK_FLAG_SKIP
+  GST_SEGMENT_FLAG_SKIP            = GST_SEEK_FLAG_SKIP,
+  GST_SEGMENT_FLAG_SEGMENT         = GST_SEEK_FLAG_SEGMENT
 } GstSegmentFlags;
 </pre>
 <p>
@@ -249,6 +255,11 @@
 <td>perform skip playback
 </td>
 </tr>
+<tr>
+<td><p><a name="GST-SEGMENT-FLAG-SEGMENT:CAPS"></a><span class="term"><code class="literal">GST_SEGMENT_FLAG_SEGMENT</code></span></p></td>
+<td>send SEGMENT_DONE instead of EOS
+</td>
+</tr>
 </tbody>
 </table></div>
 </div>
@@ -389,7 +400,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -508,8 +518,7 @@
                                                          <em class="parameter"><code><span class="type">guint64</span> position</code></em>);</pre>
 <p>
 Translate <em class="parameter"><code>position</code></em> to the total running time using the currently configured
-and previously accumulated segments. Position is a value between <em class="parameter"><code>segment</code></em>
-start and stop time.
+segment. Position is a value between <em class="parameter"><code>segment</code></em> start and stop time.
 </p>
 <p>
 This function is typically used by elements that need to synchronize to the
@@ -617,7 +626,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -652,7 +660,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/gst/html/gstreamer-GstStructure.html b/docs/gst/html/gstreamer-GstStructure.html
index 32ad2d4..4d9d619 100644
--- a/docs/gst/html/gstreamer-GstStructure.html
+++ b/docs/gst/html/gstreamer-GstStructure.html
@@ -503,7 +503,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -692,7 +691,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -727,7 +725,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -817,7 +814,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -861,7 +857,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -896,7 +891,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -985,7 +979,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1076,7 +1069,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.10</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1105,7 +1097,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.10</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1375,7 +1366,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1408,7 +1398,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1439,7 +1428,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1469,7 +1457,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1498,7 +1485,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1532,7 +1518,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1646,7 +1631,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1804,7 +1788,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2039,7 +2022,7 @@
     <tbody>
       <tr>
         <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-LOG:CAPS">GST_LOG</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;structure is %&quot;</span> GST_PTR_FORMAT<span class="gtkdoc opt">,</span> structure<span class="gtkdoc opt">);</span></pre></td>
+        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-LOG:CAPS">GST_LOG</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;structure is %&quot;</span> GST_PTR_FORMAT<span class="gtkdoc opt">,</span> structure<span class="gtkdoc opt">);</span></pre></td>
       </tr>
     </tbody>
   </table>
@@ -2325,7 +2308,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.30</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/gst/html/gstreamer-GstTagList.html b/docs/gst/html/gstreamer-GstTagList.html
index 64d1c15..45e80af 100644
--- a/docs/gst/html/gstreamer-GstTagList.html
+++ b/docs/gst/html/gstreamer-GstTagList.html
@@ -155,6 +155,7 @@
 <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-empty" title="gst_tag_list_new_empty ()">gst_tag_list_new_empty</a>              (<em class="parameter"><code><span class="type">void</span></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-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 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>,
@@ -287,13 +288,13 @@
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *tag</code></em>,
                                                          <em class="parameter"><code><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-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> **value</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gstreamer-GstTagList.html#gst-tag-list-get-buffer" title="gst_tag_list_get_buffer ()">gst_tag_list_get_buffer</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-get-sample" title="gst_tag_list_get_sample ()">gst_tag_list_get_sample</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>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *tag</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> **value</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gstreamer-GstTagList.html#gst-tag-list-get-buffer-index" title="gst_tag_list_get_buffer_index ()">gst_tag_list_get_buffer_index</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>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstSample.html#GstSample" title="GstSample"><span class="type">GstSample</span></a> **sample</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-get-sample-index" title="gst_tag_list_get_sample_index ()">gst_tag_list_get_sample_index</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>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *tag</code></em>,
                                                          <em class="parameter"><code><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> **value</code></em>);
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstSample.html#GstSample" title="GstSample"><span class="type">GstSample</span></a> **sample</code></em>);
 </pre>
 </div>
 <div class="refsect1">
@@ -354,7 +355,7 @@
 <p>
 </p>
 <div class="table">
-<a name="idp44575472"></a><p class="title"><b>Table 1. merge mode</b></p>
+<a name="idp44799952"></a><p class="title"><b>Table 1. merge mode</b></p>
 <div class="table-contents"><table summary="merge mode" border="1">
 <colgroup>
 <col>
@@ -587,7 +588,6 @@
 <p>
 The title as it should be sorted, e.g. 'Doll House, The'
 </p>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -614,7 +614,6 @@
 The artist name as it should be sorted, e.g. 'Hendrix, Jimi' or
 'Guitar Heroes, The'
 </p>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -639,7 +638,6 @@
 <p>
 The album name as it should be sorted, e.g. 'Jazz Guitar, The'
 </p>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -649,7 +647,6 @@
 <p>
 The artist of the entire album, as it should be displayed.
 </p>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -659,7 +656,6 @@
 <p>
 The artist of the entire album, as it should be sorted.
 </p>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -678,7 +674,6 @@
 <p>
 date and time the data was created (<a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> structure)
 </p>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -715,7 +710,6 @@
 This tag is used for unknown Vorbis comment tags,
 unknown APE tags and certain ID3v2 comment fields.
 </p>
-<p class="since">Since 0.10.10</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -771,7 +765,6 @@
 <p>
 Homepage for this media (i.e. artist or movie homepage) (string)
 </p>
-<p class="since">Since 0.10.23</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -826,7 +819,6 @@
 <p>
 URI to location where copyright details can be found (string)
 </p>
-<p class="since">Since 0.10.14</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -842,7 +834,6 @@
 Note: do not use this field to describe the encoding application. Use
 <a class="link" href="gstreamer-GstTagList.html#GST-TAG-APPLICATION-NAME:CAPS" title="GST_TAG_APPLICATION_NAME"><span class="type">GST_TAG_APPLICATION_NAME</span></a> or <a class="link" href="gstreamer-GstTagList.html#GST-TAG-COMMENT:CAPS" title="GST_TAG_COMMENT"><span class="type">GST_TAG_COMMENT</span></a> for that.
 </p>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -852,7 +843,6 @@
 <p>
 person(s) who composed the recording (string)
 </p>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -880,7 +870,6 @@
 <p>
 URI to location where license details can be found (string)
 </p>
-<p class="since">Since 0.10.14</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -935,7 +924,6 @@
 <p>
 codec/format the subtitle data is stored in (string)
 </p>
-<p class="since">Since 0.10.23</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -945,7 +933,6 @@
 <p>
 container format the data is stored in (string)
 </p>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1055,7 +1042,6 @@
 <p>
 reference level of track and album gain values (double)
 </p>
-<p class="since">Since 0.10.12</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1083,7 +1069,6 @@
 is not available. This tag should not be set in addition to a language
 code. It is undefined what language or locale the language name is in.
 </p>
-<p class="since">Since 0.10.37</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1094,7 +1079,6 @@
 image (sample) (sample taglist should specify the content type and preferably
 also set "image-type" field as <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gsttag.html#GstTagImageType"><span class="type">GstTagImageType</span></a>)
 </p>
-<p class="since">Since 0.10.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1105,7 +1089,6 @@
 image that is meant for preview purposes, e.g. small icon-sized version
 (sample) (sample taglist should specify the content type)
 </p>
-<p class="since">Since 0.10.7</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1117,7 +1100,6 @@
 type and if possible set "filename" to the file name of the
 attachment)
 </p>
-<p class="since">Since 0.10.21</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1127,7 +1109,6 @@
 <p>
 number of beats per minute in audio (double)
 </p>
-<p class="since">Since 0.10.12</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1137,7 +1118,6 @@
 <p>
 comma separated keywords describing the content (string).
 </p>
-<p class="since">Since 0.10.21</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1148,7 +1128,6 @@
 human readable descriptive location of where the media has been recorded or
 produced. (string).
 </p>
-<p class="since">Since 0.10.21</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1160,7 +1139,6 @@
 degrees according to WGS84 (zero at the equator, negative values for southern
 latitudes) (double).
 </p>
-<p class="since">Since 0.10.21</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1172,7 +1150,6 @@
 degrees according to WGS84 (zero at the prime meridian in Greenwich/UK,
 negative values for western longitudes). (double).
 </p>
-<p class="since">Since 0.10.21</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1183,7 +1160,6 @@
 geo elevation of where the media has been recorded or produced in meters
 according to WGS84 (zero is average sea level) (double).
 </p>
-<p class="since">Since 0.10.21</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1193,7 +1169,6 @@
 <p>
 The city (english name) where the media has been produced (string).
 </p>
-<p class="since">Since 0.10.29</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1203,7 +1178,6 @@
 <p>
 The country (english name) where the media has been produced (string).
 </p>
-<p class="since">Since 0.10.29</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1218,7 +1192,6 @@
 This tag has been added as this is how it is handled/named in XMP's
 Iptc4xmpcore schema.
 </p>
-<p class="since">Since 0.10.29</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1229,7 +1202,6 @@
 Represents the expected error on the horizontal positioning in
 meters (double).
 </p>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1244,7 +1216,6 @@
 <p>
 See also <a class="link" href="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-CAPTURE-DIRECTION:CAPS" title="GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION"><span class="type">GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION</span></a>
 </p>
-<p class="since">Since 0.10.30</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1258,9 +1229,6 @@
 <p>
 See also <a class="link" href="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-MOVEMENT-DIRECTION:CAPS" title="GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION"><span class="type">GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION</span></a>
 </p>
-<p>
-Since 0.10.30
-</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1275,7 +1243,6 @@
 <p>
 See also <a class="link" href="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-MOVEMENT-DIRECTION:CAPS" title="GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION"><span class="type">GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION</span></a>
 </p>
-<p class="since">Since 0.10.30</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1285,7 +1252,6 @@
 <p>
 Name of the show, used for displaying (string)
 </p>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1295,7 +1261,6 @@
 <p>
 Name of the show, used for sorting (string)
 </p>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1305,7 +1270,6 @@
 <p>
 Number of the episode within a season/show (unsigned integer)
 </p>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1315,7 +1279,6 @@
 <p>
 Number of the season of a show/series (unsigned integer)
 </p>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1325,7 +1288,6 @@
 <p>
 The lyrics of the media (string)
 </p>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1335,7 +1297,6 @@
 <p>
 The composer's name, used for sorting (string)
 </p>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1346,7 +1307,6 @@
 Groups together media that are related and spans multiple tracks. An
 example are multiple pieces of a concerto. (string)
 </p>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1358,7 +1318,6 @@
 The higher the value, the more the user likes this media
 (unsigned int from 0 to 100)
 </p>
-<p class="since">Since 0.10.29</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1368,7 +1327,6 @@
 <p>
 Manufacturer of the device used to create the media (string)
 </p>
-<p class="since">Since 0.10.30</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1378,7 +1336,6 @@
 <p>
 Model of the device used to create the media (string)
 </p>
-<p class="since">Since 0.10.30</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1388,7 +1345,6 @@
 <p>
 Name of the application used to create the media (string)
 </p>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1396,13 +1352,12 @@
 <pre class="programlisting">#define GST_TAG_APPLICATION_DATA          "application-data"
 </pre>
 <p>
-Arbitrary application data (buffer)
+Arbitrary application data (sample)
 </p>
 <p>
-Some formats allow application's to add their own arbitrary data
-into files. This data is application's dependent.
+Some formats allow applications to add their own arbitrary data
+into files. This data is application dependent.
 </p>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1433,7 +1388,6 @@
 Rotations indicated by the values are in clockwise direction and
 'flip' means an horizontal mirroring.
 </p>
-<p class="since">Since 0.10.30</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1762,7 +1716,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1809,7 +1762,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1832,7 +1784,12 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-tag-list-free"></a><h3>gst_tag_list_free()</h3>
+<pre class="programlisting">#define gst_tag_list_free(taglist)    gst_tag_list_unref(taglist)
+</pre>
 </div>
 <hr>
 <div class="refsect2">
@@ -1856,7 +1813,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1878,7 +1834,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.11</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1905,7 +1860,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2237,7 +2191,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2958,7 +2911,7 @@
 </p>
 <p>
 The resulting string in <em class="parameter"><code>value</code></em> will be in UTF-8 encoding and should be
-freed by the caller using g_free when no longer needed. Since 0.10.24 the
+freed by the caller using g_free when no longer needed. The
 returned string is also guaranteed to be non-NULL and non-empty.
 </p>
 <p>
@@ -3001,7 +2954,7 @@
 </p>
 <p>
 The resulting string in <em class="parameter"><code>value</code></em> will be in UTF-8 encoding and should be
-freed by the caller using g_free when no longer needed. Since 0.10.24 the
+freed by the caller using g_free when no longer needed. The
 returned string is also guaranteed to be non-NULL and non-empty.
 </p>
 <p>
@@ -3272,7 +3225,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3316,21 +3268,22 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-tag-list-get-buffer"></a><h3>gst_tag_list_get_buffer ()</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_tag_list_get_buffer             (<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 name="gst-tag-list-get-sample"></a><h3>gst_tag_list_get_sample ()</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_tag_list_get_sample             (<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>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *tag</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> **value</code></em>);</pre>
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstSample.html#GstSample" title="GstSample"><span class="type">GstSample</span></a> **sample</code></em>);</pre>
 <p>
-Copies the first buffer for the given tag in the taglist into the variable
-pointed to by <em class="parameter"><code>value</code></em>. Free the buffer with <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-unref" title="gst_buffer_unref ()"><code class="function">gst_buffer_unref()</code></a> when it is
-no longer needed.
+Copies the first sample for the given tag in the taglist into the variable
+pointed to by <em class="parameter"><code>sample</code></em>. Free the sample with <a class="link" href="gstreamer-GstSample.html#gst-sample-unref" title="gst_sample_unref ()"><code class="function">gst_sample_unref()</code></a> when it is
+no longer needed. You can retrieve the buffer from the sample using
+<a class="link" href="gstreamer-GstSample.html#gst-sample-get-buffer" title="gst_sample_get_buffer ()"><code class="function">gst_sample_get_buffer()</code></a> and the associated caps (if any) with
+<a class="link" href="gstreamer-GstSample.html#gst-sample-get-caps" title="gst_sample_get_caps ()"><code class="function">gst_sample_get_caps()</code></a>.
 </p>
 <p>
-Free-function: gst_buffer_unref
+Free-function: gst_sample_unref
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -3344,34 +3297,35 @@
 <td>tag to read out</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
-<td>address of a GstBuffer
+<td><p><span class="term"><em class="parameter"><code>sample</code></em> :</span></p></td>
+<td>address of a GstSample
 pointer variable to store the result into. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym> callee-allocates][<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"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TRUE, if a buffer was copied, FALSE if the tag didn't exist in the
-given list or if it was <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>.</td>
+<td>TRUE, if a sample was returned, FALSE if the tag didn't exist in
+the given list or if it was <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>.</td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.23</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-tag-list-get-buffer-index"></a><h3>gst_tag_list_get_buffer_index ()</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_tag_list_get_buffer_index       (<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 name="gst-tag-list-get-sample-index"></a><h3>gst_tag_list_get_sample_index ()</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_tag_list_get_sample_index       (<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>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *tag</code></em>,
                                                          <em class="parameter"><code><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> **value</code></em>);</pre>
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstSample.html#GstSample" title="GstSample"><span class="type">GstSample</span></a> **sample</code></em>);</pre>
 <p>
-Gets the buffer that is at the given index for the given tag in the given
-list and copies it into the variable pointed to by <em class="parameter"><code>value</code></em>. Free the buffer
-with <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-unref" title="gst_buffer_unref ()"><code class="function">gst_buffer_unref()</code></a> when it is no longer needed.
+Gets the sample that is at the given index for the given tag in the given
+list and copies it into the variable pointed to by <em class="parameter"><code>smple</code></em>. Free the sample
+with <a class="link" href="gstreamer-GstSample.html#gst-sample-unref" title="gst_sample_unref ()"><code class="function">gst_sample_unref()</code></a> when it is no longer needed. You can retrieve the
+buffer from the sample using <a class="link" href="gstreamer-GstSample.html#gst-sample-get-buffer" title="gst_sample_get_buffer ()"><code class="function">gst_sample_get_buffer()</code></a> and the associated
+caps (if any) with <a class="link" href="gstreamer-GstSample.html#gst-sample-get-caps" title="gst_sample_get_caps ()"><code class="function">gst_sample_get_caps()</code></a>.
 </p>
 <p>
-Free-function: gst_buffer_unref
+Free-function: gst_sample_unref
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -3389,19 +3343,18 @@
 <td>number of entry to read out</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
-<td>address of a GstBuffer
+<td><p><span class="term"><em class="parameter"><code>sample</code></em> :</span></p></td>
+<td>address of a GstSample
 pointer variable to store the result into. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym> callee-allocates][<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"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TRUE, if a buffer was copied, FALSE if the tag didn't exist in the
+<td>TRUE, if a sample was copied, FALSE if the tag didn't exist in the
 given list or if it was <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>.</td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.23</p>
 </div>
 </div>
 </div>
diff --git a/docs/gst/html/gstreamer-GstToc.html b/docs/gst/html/gstreamer-GstToc.html
index f7135f9..ea3d8f1 100644
--- a/docs/gst/html/gstreamer-GstToc.html
+++ b/docs/gst/html/gstreamer-GstToc.html
@@ -40,47 +40,77 @@
 <pre class="synopsis">
 #include &lt;gst/gst.h&gt;
 
-struct              <a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc">GstToc</a>;
-struct              <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry">GstTocEntry</a>;
+                    <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc">GstToc</a>;
+enum                <a class="link" href="gstreamer-GstToc.html#GstTocScope" title="enum GstTocScope">GstTocScope</a>;
+                    <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry">GstTocEntry</a>;
 enum                <a class="link" href="gstreamer-GstToc.html#GstTocEntryType" title="enum GstTocEntryType">GstTocEntryType</a>;
-<a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="returnvalue">GstTocEntry</span></a> *       <a class="link" href="gstreamer-GstToc.html#gst-toc-entry-new" title="gst_toc_entry_new ()">gst_toc_entry_new</a>                   (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntryType" title="enum GstTocEntryType"><span class="type">GstTocEntryType</span></a> type</code></em>,
+<a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="returnvalue">GstToc</span></a> *            <a class="link" href="gstreamer-GstToc.html#gst-toc-new" title="gst_toc_new ()">gst_toc_new</a>                         (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocScope" title="enum GstTocScope"><span class="type">GstTocScope</span></a> scope</code></em>);
+#define             <a class="link" href="gstreamer-GstToc.html#gst-toc-ref" title="gst_toc_ref()">gst_toc_ref</a>                         (toc)
+#define             <a class="link" href="gstreamer-GstToc.html#gst-toc-unref" title="gst_toc_unref()">gst_toc_unref</a>                       (toc)
+#define             <a class="link" href="gstreamer-GstToc.html#gst-toc-copy" title="gst_toc_copy()">gst_toc_copy</a>                        (toc)
+#define             <a class="link" href="gstreamer-GstToc.html#gst-toc-make-writable" title="gst_toc_make_writable()">gst_toc_make_writable</a>               (toc)
+<a class="link" href="gstreamer-GstToc.html#GstTocScope" title="enum GstTocScope"><span class="returnvalue">GstTocScope</span></a>         <a class="link" href="gstreamer-GstToc.html#gst-toc-get-scope" title="gst_toc_get_scope ()">gst_toc_get_scope</a>                   (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> *toc</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="gstreamer-GstToc.html#gst-toc-get-entries" title="gst_toc_get_entries ()">gst_toc_get_entries</a>                 (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> *toc</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstToc.html#gst-toc-append-entry" title="gst_toc_append_entry ()">gst_toc_append_entry</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 class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>);
+<a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="returnvalue">GstTagList</span></a> *        <a class="link" href="gstreamer-GstToc.html#gst-toc-get-tags" title="gst_toc_get_tags ()">gst_toc_get_tags</a>                    (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> *toc</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstToc.html#gst-toc-merge-tags" title="gst_toc_merge_tags ()">gst_toc_merge_tags</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 class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *tags</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagMergeMode" title="enum GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> mode</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstToc.html#gst-toc-set-tags" title="gst_toc_set_tags ()">gst_toc_set_tags</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 class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *tags</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstToc.html#gst-toc-dump" title="gst_toc_dump ()">gst_toc_dump</a>                        (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> *toc</code></em>);
+<a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="returnvalue">GstTocEntry</span></a> *       <a class="link" href="gstreamer-GstToc.html#gst-toc-entry-new" title="gst_toc_entry_new ()">gst_toc_entry_new</a>                   (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntryType" title="enum GstTocEntryType"><span class="type">GstTocEntryType</span></a> type</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> *uid</code></em>);
-<a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="returnvalue">GstTocEntry</span></a> *       <a class="link" href="gstreamer-GstToc.html#gst-toc-entry-new-with-pad" title="gst_toc_entry_new_with_pad ()">gst_toc_entry_new_with_pad</a>          (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntryType" title="enum GstTocEntryType"><span class="type">GstTocEntryType</span></a> type</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> *uid</code></em>,
-                                                         <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="gstreamer-GstToc.html#gst-toc-entry-free" title="gst_toc_entry_free ()">gst_toc_entry_free</a>                  (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>);
-<a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="returnvalue">GstToc</span></a> *            <a class="link" href="gstreamer-GstToc.html#gst-toc-new" title="gst_toc_new ()">gst_toc_new</a>                         (<em class="parameter"><code><span class="type">void</span></code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstToc.html#gst-toc-free" title="gst_toc_free ()">gst_toc_free</a>                        (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> *toc</code></em>);
-<a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="returnvalue">GstTocEntry</span></a> *       <a class="link" href="gstreamer-GstToc.html#gst-toc-entry-copy" title="gst_toc_entry_copy ()">gst_toc_entry_copy</a>                  (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>);
-<a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="returnvalue">GstToc</span></a> *            <a class="link" href="gstreamer-GstToc.html#gst-toc-copy" title="gst_toc_copy ()">gst_toc_copy</a>                        (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> *toc</code></em>);
-<a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="returnvalue">GstTocEntry</span></a> *       <a class="link" href="gstreamer-GstToc.html#gst-toc-find-entry" title="gst_toc_find_entry ()">gst_toc_find_entry</a>                  (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> *toc</code></em>,
+#define             <a class="link" href="gstreamer-GstToc.html#gst-toc-entry-ref" title="gst_toc_entry_ref()">gst_toc_entry_ref</a>                   (entry)
+#define             <a class="link" href="gstreamer-GstToc.html#gst-toc-entry-unref" title="gst_toc_entry_unref()">gst_toc_entry_unref</a>                 (entry)
+#define             <a class="link" href="gstreamer-GstToc.html#gst-toc-entry-copy" title="gst_toc_entry_copy()">gst_toc_entry_copy</a>                  (entry)
+#define             <a class="link" href="gstreamer-GstToc.html#gst-toc-entry-make-writable" title="gst_toc_entry_make_writable()">gst_toc_entry_make_writable</a>         (entry)
+<a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="returnvalue">GstTocEntry</span></a> *       <a class="link" href="gstreamer-GstToc.html#gst-toc-find-entry" title="gst_toc_find_entry ()">gst_toc_find_entry</a>                  (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> *toc</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> *uid</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-GstToc.html#gst-toc-entry-get-start-stop" title="gst_toc_entry_get_start_stop ()">gst_toc_entry_get_start_stop</a>        (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>,
+<a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="returnvalue">GstToc</span></a> *            <a class="link" href="gstreamer-GstToc.html#gst-toc-entry-get-toc" title="gst_toc_entry_get_toc ()">gst_toc_entry_get_toc</a>               (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>);
+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-GstToc.html#gst-toc-entry-get-uid" title="gst_toc_entry_get_uid ()">gst_toc_entry_get_uid</a>               (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>);
+<a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="returnvalue">GstTocEntry</span></a> *       <a class="link" href="gstreamer-GstToc.html#gst-toc-entry-get-parent" title="gst_toc_entry_get_parent ()">gst_toc_entry_get_parent</a>            (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</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="gstreamer-GstToc.html#gst-toc-entry-get-sub-entries" title="gst_toc_entry_get_sub_entries ()">gst_toc_entry_get_sub_entries</a>       (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstToc.html#gst-toc-entry-append-sub-entry" title="gst_toc_entry_append_sub_entry ()">gst_toc_entry_append_sub_entry</a>      (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *subentry</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-GstToc.html#gst-toc-entry-get-start-stop-times" title="gst_toc_entry_get_start_stop_times ()">gst_toc_entry_get_start_stop_times</a>  (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> *start</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> *stop</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstToc.html#gst-toc-entry-set-start-stop" title="gst_toc_entry_set_start_stop ()">gst_toc_entry_set_start_stop</a>        (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>,
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstToc.html#gst-toc-entry-set-start-stop-times" title="gst_toc_entry_set_start_stop_times ()">gst_toc_entry_set_start_stop_times</a>  (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> start</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> stop</code></em>);
+<a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="returnvalue">GstTagList</span></a> *        <a class="link" href="gstreamer-GstToc.html#gst-toc-entry-get-tags" title="gst_toc_entry_get_tags ()">gst_toc_entry_get_tags</a>              (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstToc.html#gst-toc-entry-merge-tags" title="gst_toc_entry_merge_tags ()">gst_toc_entry_merge_tags</a>            (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *tags</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagMergeMode" title="enum GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> mode</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstToc.html#gst-toc-entry-set-tags" title="gst_toc_entry_set_tags ()">gst_toc_entry_set_tags</a>              (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *tags</code></em>);
 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-GstToc.html#gst-toc-entry-type-get-nick" title="gst_toc_entry_type_get_nick ()">gst_toc_entry_type_get_nick</a>         (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntryType" title="enum GstTocEntryType"><span class="type">GstTocEntryType</span></a> type</code></em>);
+<a class="link" href="gstreamer-GstToc.html#GstTocEntryType" title="enum GstTocEntryType"><span class="returnvalue">GstTocEntryType</span></a>     <a class="link" href="gstreamer-GstToc.html#gst-toc-entry-get-entry-type" title="gst_toc_entry_get_entry_type ()">gst_toc_entry_get_entry_type</a>        (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</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-GstToc.html#gst-toc-entry-is-alternative" title="gst_toc_entry_is_alternative ()">gst_toc_entry_is_alternative</a>        (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</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-GstToc.html#gst-toc-entry-is-sequence" title="gst_toc_entry_is_sequence ()">gst_toc_entry_is_sequence</a>           (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>);
+#define             <a class="link" href="gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-IS-ALTERNATIVE:CAPS" title="GST_TOC_ENTRY_TYPE_IS_ALTERNATIVE()">GST_TOC_ENTRY_TYPE_IS_ALTERNATIVE</a>   (entry_type)
+#define             <a class="link" href="gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-IS-SEQUENCE:CAPS" title="GST_TOC_ENTRY_TYPE_IS_SEQUENCE()">GST_TOC_ENTRY_TYPE_IS_SEQUENCE</a>      (entry_type)
 </pre>
 </div>
 <div class="refsect1">
 <a name="gstreamer-GstToc.description"></a><h2>Description</h2>
 <p>
-<a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> functions are used to create/free <a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> and <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> structures.
-Also they are used to convert <a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> into <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> and vice versa.
+<a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> functions are used to create/free <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> and <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> structures.
+Also they are used to convert <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> into <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> and vice versa.
 </p>
 <p>
-<a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> lets you to inform other elements in pipeline or application that playing
+<a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> lets you to inform other elements in pipeline or application that playing
 source has some kind of table of contents (TOC). These may be chapters, editions,
 angles or other types. For example: DVD chapters, Matroska chapters or cue sheet
 TOC. Such TOC will be useful for applications to display instead of just a
 playlist.
 </p>
 <p>
-Using TOC is very easy. Firstly, create <a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> structure which represents root
+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="struct GstTocEntry"><span class="type">GstTocEntry</span></a> entries by appending them to <a class="link" href="gstreamer-GstToc.html#GstToc.entries"><span class="type">GstToc.entries</span></a> <a class="link" href="gstreamer-GstToc.html#GstTocEntry.subentries"><span class="type">GstTocEntry.subentries</span></a>
+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).
@@ -92,7 +122,7 @@
  stop values.
 </p>
 <p>
-Please, use <a class="link" href="gstreamer-GstToc.html#GstToc.info"><span class="type">GstToc.info</span></a> and <a class="link" href="gstreamer-GstToc.html#GstTocEntry.info"><span class="type">GstTocEntry.info</span></a> fields in that way: create a <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a>,
+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.
@@ -103,112 +133,109 @@
 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 <a class="link" href="gstreamer-GstQuery.html#gst-query-new-toc" title="gst_query_new_toc ()"><code class="function">gst_query_new_toc()</code></a>, set it with <a class="link" href="gstreamer-GstQuery.html#gst-query-set-toc" title="gst_query_set_toc ()"><code class="function">gst_query_set_toc()</code></a> and parse it with
-<a class="link" href="gstreamer-GstQuery.html#gst-query-parse-toc" title="gst_query_parse_toc ()"><code class="function">gst_query_parse_toc()</code></a>.
+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>.
 </p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-GstToc.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="GstToc"></a><h3>struct GstToc</h3>
-<pre class="programlisting">struct GstToc {
-  GList *entries;
-  GstTagList *tags;
-  GstStructure *info;
-};
+<a name="GstToc"></a><h3>GstToc</h3>
+<pre class="programlisting">typedef struct _GstToc GstToc;</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstTocScope"></a><h3>enum GstTocScope</h3>
+<pre class="programlisting">typedef enum {
+  GST_TOC_SCOPE_GLOBAL = 1,
+  GST_TOC_SCOPE_CURRENT = 2
+} GstTocScope;
 </pre>
 <p>
-Definition of TOC structure.
+The scope of a TOC.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="GstToc.entries"></a>entries</code></em>;</span></p></td>
-<td>list of <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> entries of the TOC.</td>
+<td><p><a name="GST-TOC-SCOPE-GLOBAL:CAPS"></a><span class="term"><code class="literal">GST_TOC_SCOPE_GLOBAL</code></span></p></td>
+<td>global TOC representing all selectable options
+    (this is what applications are usually interested in)
+</td>
 </tr>
 <tr>
-<td><p><span class="term"><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *<em class="structfield"><code><a name="GstToc.tags"></a>tags</code></em>;</span></p></td>
-<td>tags related to the whole TOC.</td>
-</tr>
-<tr>
-<td><p><span class="term"><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *<em class="structfield"><code><a name="GstToc.info"></a>info</code></em>;</span></p></td>
-<td>extra information related to the TOC.</td>
+<td><p><a name="GST-TOC-SCOPE-CURRENT:CAPS"></a><span class="term"><code class="literal">GST_TOC_SCOPE_CURRENT</code></span></p></td>
+<td>TOC for the currently active/selected stream
+    (this is a TOC representing the current stream from start to EOS,
+    and is what a TOC writer / muxer is usually interested in; it will
+    usually be a subset of the global TOC, e.g. just the chapters of
+    the current title, or the chapters selected for playback from the
+    current title)
+</td>
 </tr>
 </tbody>
 </table></div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="GstTocEntry"></a><h3>struct GstTocEntry</h3>
-<pre class="programlisting">struct GstTocEntry {
-  gchar *uid;
-  GstTocEntryType type;
-  GList *subentries;
-  GList *pads;
-  GstTagList *tags;
-  GstStructure *info;
-};
-</pre>
-<p>
-Definition of TOC entry structure.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstTocEntry.uid"></a>uid</code></em>;</span></p></td>
-<td>unique (for a whole TOC) id of the entry. This value should be persistent and
-should not be changed while updating TOC. <em class="parameter"><code>uid</code></em> should be handled as "opaque" value
-without meaning (e.g. applications should not assume the /editionX/chapterY/chapter/Z structure,
-other demuxers could do something else), it should help to track updates of certain entries.</td>
-</tr>
-<tr>
-<td><p><span class="term"><a class="link" href="gstreamer-GstToc.html#GstTocEntryType" title="enum GstTocEntryType"><span class="type">GstTocEntryType</span></a> <em class="structfield"><code><a name="GstTocEntry.type"></a>type</code></em>;</span></p></td>
-<td>
-<a class="link" href="gstreamer-GstToc.html#GstTocEntryType" title="enum GstTocEntryType"><span class="type">GstTocEntryType</span></a> of this entry.</td>
-</tr>
-<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="GstTocEntry.subentries"></a>subentries</code></em>;</span></p></td>
-<td>list of <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> children.</td>
-</tr>
-<tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="GstTocEntry.pads"></a>pads</code></em>;</span></p></td>
-<td>list of <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> objects, related to this <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a>.</td>
-</tr>
-<tr>
-<td><p><span class="term"><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *<em class="structfield"><code><a name="GstTocEntry.tags"></a>tags</code></em>;</span></p></td>
-<td>tags related to this entry.</td>
-</tr>
-<tr>
-<td><p><span class="term"><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *<em class="structfield"><code><a name="GstTocEntry.info"></a>info</code></em>;</span></p></td>
-<td>extra information related to this entry.</td>
-</tr>
-</tbody>
-</table></div>
+<a name="GstTocEntry"></a><h3>GstTocEntry</h3>
+<pre class="programlisting">typedef struct _GstTocEntry GstTocEntry;</pre>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstTocEntryType"></a><h3>enum GstTocEntryType</h3>
 <pre class="programlisting">typedef enum {
-  GST_TOC_ENTRY_TYPE_CHAPTER     = 0,
-  GST_TOC_ENTRY_TYPE_EDITION     = 1
+  GST_TOC_ENTRY_TYPE_ANGLE       = -3,
+  GST_TOC_ENTRY_TYPE_VERSION     = -2,
+  GST_TOC_ENTRY_TYPE_EDITION     = -1,
+  GST_TOC_ENTRY_TYPE_INVALID     = 0,
+  GST_TOC_ENTRY_TYPE_TITLE       = 1,
+  GST_TOC_ENTRY_TYPE_TRACK       = 2,
+  GST_TOC_ENTRY_TYPE_CHAPTER     = 3,
 } GstTocEntryType;
 </pre>
 <p>
-The different types of TOC entry.
+The different types of TOC entries (see <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a>).
+</p>
+<p>
+There are two types of TOC entries: alternatives or parts in a sequence.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><a name="GST-TOC-ENTRY-TYPE-CHAPTER:CAPS"></a><span class="term"><code class="literal">GST_TOC_ENTRY_TYPE_CHAPTER</code></span></p></td>
-<td>a chapter type entry.
+<td><p><a name="GST-TOC-ENTRY-TYPE-ANGLE:CAPS"></a><span class="term"><code class="literal">GST_TOC_ENTRY_TYPE_ANGLE</code></span></p></td>
+<td>entry is an angle (i.e. an alternative)
+</td>
+</tr>
+<tr>
+<td><p><a name="GST-TOC-ENTRY-TYPE-VERSION:CAPS"></a><span class="term"><code class="literal">GST_TOC_ENTRY_TYPE_VERSION</code></span></p></td>
+<td>entry is a version (i.e. alternative)
 </td>
 </tr>
 <tr>
 <td><p><a name="GST-TOC-ENTRY-TYPE-EDITION:CAPS"></a><span class="term"><code class="literal">GST_TOC_ENTRY_TYPE_EDITION</code></span></p></td>
-<td>an edition entry (angle or alternative in other terms).
+<td>entry is an edition (i.e. alternative)
+</td>
+</tr>
+<tr>
+<td><p><a name="GST-TOC-ENTRY-TYPE-INVALID:CAPS"></a><span class="term"><code class="literal">GST_TOC_ENTRY_TYPE_INVALID</code></span></p></td>
+<td>invalid entry type value
+</td>
+</tr>
+<tr>
+<td><p><a name="GST-TOC-ENTRY-TYPE-TITLE:CAPS"></a><span class="term"><code class="literal">GST_TOC_ENTRY_TYPE_TITLE</code></span></p></td>
+<td>entry is a title (i.e. a part of a sequence)
+</td>
+</tr>
+<tr>
+<td><p><a name="GST-TOC-ENTRY-TYPE-TRACK:CAPS"></a><span class="term"><code class="literal">GST_TOC_ENTRY_TYPE_TRACK</code></span></p></td>
+<td>entry is a track (i.e. a part of a sequence)
+</td>
+</tr>
+<tr>
+<td><p><a name="GST-TOC-ENTRY-TYPE-CHAPTER:CAPS"></a><span class="term"><code class="literal">GST_TOC_ENTRY_TYPE_CHAPTER</code></span></p></td>
+<td>entry is a chapter (i.e. a part of a sequence)
 </td>
 </tr>
 </tbody>
@@ -216,11 +243,219 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="gst-toc-new"></a><h3>gst_toc_new ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="returnvalue">GstToc</span></a> *            gst_toc_new                         (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocScope" title="enum GstTocScope"><span class="type">GstTocScope</span></a> scope</code></em>);</pre>
+<p>
+Create a new <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> structure.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>scope</code></em> :</span></p></td>
+<td>scope of this TOC</td>
+</tr>
+<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> structure, free it
+with <a class="link" href="gstreamer-GstToc.html#gst-toc-unref" title="gst_toc_unref()"><code class="function">gst_toc_unref()</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-toc-ref"></a><h3>gst_toc_ref()</h3>
+<pre class="programlisting">#define gst_toc_ref(toc)            (GstToc*)gst_mini_object_ref(GST_MINI_OBJECT_CAST(toc))
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-toc-unref"></a><h3>gst_toc_unref()</h3>
+<pre class="programlisting">#define gst_toc_unref(toc)          gst_mini_object_unref(GST_MINI_OBJECT_CAST(toc))
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-toc-copy"></a><h3>gst_toc_copy()</h3>
+<pre class="programlisting">#define gst_toc_copy(toc)           (GstToc*)gst_mini_object_copy(GST_MINI_OBJECT_CAST(toc))
+</pre>
+<p>
+Copy <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> with all subentries (deep copy).
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td>
+<td>
+<a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> to copy.</td>
+</tr>
+<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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-toc-make-writable"></a><h3>gst_toc_make_writable()</h3>
+<pre class="programlisting">#define gst_toc_make_writable(toc)  (GstToc*)gst_mini_object_make_writable(GST_MINI_OBJECT_CAST(toc))
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-toc-get-scope"></a><h3>gst_toc_get_scope ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstToc.html#GstTocScope" title="enum GstTocScope"><span class="returnvalue">GstTocScope</span></a>         gst_toc_get_scope                   (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> *toc</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>toc</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> instance</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>scope of <em class="parameter"><code>toc</code></em>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-toc-get-entries"></a><h3>gst_toc_get_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_get_entries                 (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> *toc</code></em>);</pre>
+<p>
+Gets the list of <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> of <em class="parameter"><code>toc</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>toc</code></em> :</span></p></td>
+<td>A <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</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> for <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">
+<a name="gst-toc-append-entry"></a><h3>gst_toc_append_entry ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_toc_append_entry                (<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 class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>);</pre>
+<p>
+Appends the <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> <em class="parameter"><code>entry</code></em> to <em class="parameter"><code>toc</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>toc</code></em> :</span></p></td>
+<td>A <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> instance</td>
+</tr>
+<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>. <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-toc-get-tags"></a><h3>gst_toc_get_tags ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="returnvalue">GstTagList</span></a> *        gst_toc_get_tags                    (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> *toc</code></em>);</pre>
+<p>
+Gets the tags for <em class="parameter"><code>toc</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>toc</code></em> :</span></p></td>
+<td>A <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> instance</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>A <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> for <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>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-toc-merge-tags"></a><h3>gst_toc_merge_tags ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_toc_merge_tags                  (<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 class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *tags</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagMergeMode" title="enum GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> mode</code></em>);</pre>
+<p>
+Merge <em class="parameter"><code>tags</code></em> into the existing tags of <em class="parameter"><code>toc</code></em> using <em class="parameter"><code>mode</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>toc</code></em> :</span></p></td>
+<td>A <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> instance</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>tags</code></em> :</span></p></td>
+<td>A <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <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>mode</code></em> :</span></p></td>
+<td>A <a class="link" href="gstreamer-GstTagList.html#GstTagMergeMode" title="enum GstTagMergeMode"><span class="type">GstTagMergeMode</span></a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-toc-set-tags"></a><h3>gst_toc_set_tags ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_toc_set_tags                    (<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 class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *tags</code></em>);</pre>
+<p>
+Set a <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> with tags for the complete <em class="parameter"><code>toc</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>toc</code></em> :</span></p></td>
+<td>A <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> instance</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>tags</code></em> :</span></p></td>
+<td>A <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<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-toc-dump"></a><h3>gst_toc_dump ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_toc_dump                        (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> *toc</code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
 <a name="gst-toc-entry-new"></a><h3>gst_toc_entry_new ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="returnvalue">GstTocEntry</span></a> *       gst_toc_entry_new                   (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntryType" title="enum GstTocEntryType"><span class="type">GstTocEntryType</span></a> type</code></em>,
+<pre class="programlisting"><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="returnvalue">GstTocEntry</span></a> *       gst_toc_entry_new                   (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntryType" title="enum GstTocEntryType"><span class="type">GstTocEntryType</span></a> type</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> *uid</code></em>);</pre>
 <p>
-Create new <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> structure.
+Create new <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> structure.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -235,104 +470,30 @@
 </tr>
 <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#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> structure, free it with <a class="link" href="gstreamer-GstToc.html#gst-toc-entry-free" title="gst_toc_entry_free ()"><code class="function">gst_toc_entry_free()</code></a>.</td>
+<td>newly allocated <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> structure, free it with <a class="link" href="gstreamer-GstToc.html#gst-toc-entry-unref" title="gst_toc_entry_unref()"><code class="function">gst_toc_entry_unref()</code></a>.</td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.37</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-toc-entry-new-with-pad"></a><h3>gst_toc_entry_new_with_pad ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="returnvalue">GstTocEntry</span></a> *       gst_toc_entry_new_with_pad          (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntryType" title="enum GstTocEntryType"><span class="type">GstTocEntryType</span></a> type</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> *uid</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
-<p>
-Create new <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> structure with <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> related.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
-<td>entry type.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>uid</code></em> :</span></p></td>
-<td>unique ID (UID) in the whole TOC.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
-<td>
-<a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> related to this entry.</td>
-</tr>
-<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#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> structure, free it with <a class="link" href="gstreamer-GstToc.html#gst-toc-entry-free" title="gst_toc_entry_free ()"><code class="function">gst_toc_entry_free()</code></a>
-when done.</td>
-</tr>
-</tbody>
-</table></div>
-<p class="since">Since 0.10.37</p>
+<a name="gst-toc-entry-ref"></a><h3>gst_toc_entry_ref()</h3>
+<pre class="programlisting">#define gst_toc_entry_ref(entry)            (GstTocEntry*)gst_mini_object_ref(GST_MINI_OBJECT_CAST(entry))
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-toc-entry-free"></a><h3>gst_toc_entry_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_toc_entry_free                  (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>);</pre>
-<p>
-Free unused <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> structure. Note that <a class="link" href="gstreamer-GstToc.html#GstTocEntry.uid"><span class="type">GstTocEntry.uid</span></a> will
-be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> and all <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> objects in the <a class="link" href="gstreamer-GstToc.html#GstTocEntry.pads"><span class="type">GstTocEntry.pads</span></a>
-list will be unrefed with <a class="link" href="GstObject.html#gst-object-unref" title="gst_object_unref ()"><code class="function">gst_object_unref()</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>entry</code></em> :</span></p></td>
-<td>
-<a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> structure to free.</td>
-</tr></tbody>
-</table></div>
-<p class="since">Since 0.10.37</p>
+<a name="gst-toc-entry-unref"></a><h3>gst_toc_entry_unref()</h3>
+<pre class="programlisting">#define gst_toc_entry_unref(entry)          gst_mini_object_unref(GST_MINI_OBJECT_CAST(entry))
+</pre>
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-toc-new"></a><h3>gst_toc_new ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="returnvalue">GstToc</span></a> *            gst_toc_new                         (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<a name="gst-toc-entry-copy"></a><h3>gst_toc_entry_copy()</h3>
+<pre class="programlisting">#define gst_toc_entry_copy(entry)           (GstTocEntry*)gst_mini_object_copy(GST_MINI_OBJECT_CAST(entry))
+</pre>
 <p>
-Create new <a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> structure.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><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="struct GstToc"><span class="type">GstToc</span></a> structure, free it with <a class="link" href="gstreamer-GstToc.html#gst-toc-free" title="gst_toc_free ()"><code class="function">gst_toc_free()</code></a>.</td>
-</tr></tbody>
-</table></div>
-<p class="since">Since 0.10.37</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-toc-free"></a><h3>gst_toc_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_toc_free                        (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> *toc</code></em>);</pre>
-<p>
-Free unused <a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> structure.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td>
-<td>
-<a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> structure to free.</td>
-</tr></tbody>
-</table></div>
-<p class="since">Since 0.10.37</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-toc-entry-copy"></a><h3>gst_toc_entry_copy ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="returnvalue">GstTocEntry</span></a> *       gst_toc_entry_copy                  (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>);</pre>
-<p>
-Copy <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> with all subentries (deep copy).
+Copy <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> with all subentries (deep copy).
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -340,48 +501,29 @@
 <tr>
 <td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
 <td>
-<a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> to copy.</td>
+<a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> to copy.</td>
 </tr>
 <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#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> in case of success, NULL otherwise;
-free it when done with <a class="link" href="gstreamer-GstToc.html#gst-toc-entry-free" title="gst_toc_entry_free ()"><code class="function">gst_toc_entry_free()</code></a>.</td>
+<td>newly allocated <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> in case of success, NULL otherwise;
+free it when done with <a class="link" href="gstreamer-GstToc.html#gst-toc-entry-unref" title="gst_toc_entry_unref()"><code class="function">gst_toc_entry_unref()</code></a>.</td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.37</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-toc-copy"></a><h3>gst_toc_copy ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="returnvalue">GstToc</span></a> *            gst_toc_copy                        (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> *toc</code></em>);</pre>
-<p>
-Copy <a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> with all subentries (deep copy).
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td>
-<td>
-<a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> to copy.</td>
-</tr>
-<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="struct GstToc"><span class="type">GstToc</span></a> in case of success, NULL otherwise;
-free it when done with <a class="link" href="gstreamer-GstToc.html#gst-toc-free" title="gst_toc_free ()"><code class="function">gst_toc_free()</code></a>.</td>
-</tr>
-</tbody>
-</table></div>
-<p class="since">Since 0.10.37</p>
+<a name="gst-toc-entry-make-writable"></a><h3>gst_toc_entry_make_writable()</h3>
+<pre class="programlisting">#define gst_toc_entry_make_writable(entry)  (GstTocEntry*)gst_mini_object_make_writable(GST_MINI_OBJECT_CAST(entry))
+</pre>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-toc-find-entry"></a><h3>gst_toc_find_entry ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="returnvalue">GstTocEntry</span></a> *       gst_toc_find_entry                  (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> *toc</code></em>,
+<pre class="programlisting"><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="returnvalue">GstTocEntry</span></a> *       gst_toc_find_entry                  (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> *toc</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> *uid</code></em>);</pre>
 <p>
-Find <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> with given <em class="parameter"><code>uid</code></em> in the <em class="parameter"><code>toc</code></em>.
+Find <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> with given <em class="parameter"><code>uid</code></em> in the <em class="parameter"><code>toc</code></em>.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -389,25 +531,119 @@
 <tr>
 <td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td>
 <td>
-<a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> to search in.</td>
+<a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> to search in.</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>uid</code></em> :</span></p></td>
-<td>UID to find <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> with.</td>
+<td>UID to find <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> with.</td>
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> with specified <em class="parameter"><code>uid</code></em> from the <em class="parameter"><code>toc</code></em>, or NULL if not found.</td>
+<a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> with specified <em class="parameter"><code>uid</code></em> from the <em class="parameter"><code>toc</code></em>, or NULL if not found. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.37</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-toc-entry-get-start-stop"></a><h3>gst_toc_entry_get_start_stop ()</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_toc_entry_get_start_stop        (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>,
+<a name="gst-toc-entry-get-toc"></a><h3>gst_toc_entry_get_toc ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="returnvalue">GstToc</span></a> *            gst_toc_entry_get_toc               (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>);</pre>
+<p>
+Gets the parent <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> 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>The parent <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</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>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<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>.
+</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">
+<a name="gst-toc-entry-get-parent"></a><h3>gst_toc_entry_get_parent ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="returnvalue">GstTocEntry</span></a> *       gst_toc_entry_get_parent            (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>);</pre>
+<p>
+Gets the parent <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> 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>The parent <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>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-toc-entry-append-sub-entry"></a><h3>gst_toc_entry_append_sub_entry ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_toc_entry_append_sub_entry      (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *subentry</code></em>);</pre>
+<p>
+Appends the <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> <em class="parameter"><code>subentry</code></em> to <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"><em class="parameter"><code>subentry</code></em> :</span></p></td>
+<td>A <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</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-toc-entry-get-start-stop-times"></a><h3>gst_toc_entry_get_start_stop_times ()</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_toc_entry_get_start_stop_times  (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> *start</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> *stop</code></em>);</pre>
 <p>
@@ -419,7 +655,7 @@
 <tr>
 <td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
 <td>
-<a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> to get values from.</td>
+<a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> to get values from.</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
@@ -438,12 +674,11 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.37</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-toc-entry-set-start-stop"></a><h3>gst_toc_entry_set_start_stop ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_toc_entry_set_start_stop        (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>,
+<a name="gst-toc-entry-set-start-stop-times"></a><h3>gst_toc_entry_set_start_stop_times ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_toc_entry_set_start_stop_times  (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> start</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> stop</code></em>);</pre>
 <p>
@@ -455,7 +690,7 @@
 <tr>
 <td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
 <td>
-<a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> to set values.</td>
+<a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> to set values.</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
@@ -467,7 +702,80 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.37</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-toc-entry-get-tags"></a><h3>gst_toc_entry_get_tags ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="returnvalue">GstTagList</span></a> *        gst_toc_entry_get_tags              (<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 tags for <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 class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> for <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>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-toc-entry-merge-tags"></a><h3>gst_toc_entry_merge_tags ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_toc_entry_merge_tags            (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *tags</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagMergeMode" title="enum GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> mode</code></em>);</pre>
+<p>
+Merge <em class="parameter"><code>tags</code></em> into the existing tags of <em class="parameter"><code>entry</code></em> using <em class="parameter"><code>mode</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"><em class="parameter"><code>tags</code></em> :</span></p></td>
+<td>A <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <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>mode</code></em> :</span></p></td>
+<td>A <a class="link" href="gstreamer-GstTagList.html#GstTagMergeMode" title="enum GstTagMergeMode"><span class="type">GstTagMergeMode</span></a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-toc-entry-set-tags"></a><h3>gst_toc_entry_set_tags ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_toc_entry_set_tags              (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *tags</code></em>);</pre>
+<p>
+Set a <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> with tags for the complete <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"><em class="parameter"><code>tags</code></em> :</span></p></td>
+<td>A <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<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">
@@ -485,16 +793,91 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns the human-readable <em class="parameter"><code>type</code></em>. Can be NULL if an error occurred.</td>
+<td>Returns a human-readable string for <em class="parameter"><code>type</code></em>. This string is
+only for debugging purpose and should not be displayed in a user
+interface.</td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.11.92</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-toc-entry-get-entry-type"></a><h3>gst_toc_entry_get_entry_type ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstToc.html#GstTocEntryType" title="enum GstTocEntryType"><span class="returnvalue">GstTocEntryType</span></a>     gst_toc_entry_get_entry_type        (<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>
+<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>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<em class="parameter"><code>entry</code></em>'s entry type</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-toc-entry-is-alternative"></a><h3>gst_toc_entry_is_alternative ()</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_toc_entry_is_alternative        (<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>
+<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>
+</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 <em class="parameter"><code>entry</code></em>'s type is an alternative type, otherwise <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-toc-entry-is-sequence"></a><h3>gst_toc_entry_is_sequence ()</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_toc_entry_is_sequence           (<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>
+<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>
+</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 <em class="parameter"><code>entry</code></em>'s type is a sequence type, otherwise <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GST-TOC-ENTRY-TYPE-IS-ALTERNATIVE:CAPS"></a><h3>GST_TOC_ENTRY_TYPE_IS_ALTERNATIVE()</h3>
+<pre class="programlisting">#define GST_TOC_ENTRY_TYPE_IS_ALTERNATIVE(entry_type)  (entry_type &lt; 0)
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GST-TOC-ENTRY-TYPE-IS-SEQUENCE:CAPS"></a><h3>GST_TOC_ENTRY_TYPE_IS_SEQUENCE()</h3>
+<pre class="programlisting">#define GST_TOC_ENTRY_TYPE_IS_SEQUENCE(entry_type)     (entry_type &gt; 0)
+</pre>
 </div>
 </div>
 <div class="refsect1">
 <a name="gstreamer-GstToc.see-also"></a><h2>See Also</h2>
-<a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a>, <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>, <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a>, <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a>, <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>
+<a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a>, <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>, <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a>, <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/gst/html/gstreamer-GstTocSetter.html b/docs/gst/html/gstreamer-GstTocSetter.html
index c9aec50..f5fe714 100644
--- a/docs/gst/html/gstreamer-GstTocSetter.html
+++ b/docs/gst/html/gstreamer-GstTocSetter.html
@@ -42,19 +42,11 @@
 #include &lt;gst/gst.h&gt;
 
                     <a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter">GstTocSetter</a>;
-struct              <a class="link" href="gstreamer-GstTocSetter.html#GstTocSetterIFace" title="struct GstTocSetterIFace">GstTocSetterIFace</a>;
-const <a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="returnvalue">GstToc</span></a> *      <a class="link" href="gstreamer-GstTocSetter.html#gst-toc-setter-get-toc" title="gst_toc_setter_get_toc ()">gst_toc_setter_get_toc</a>              (<em class="parameter"><code><a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a> *setter</code></em>);
-<a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="returnvalue">GstToc</span></a> *            <a class="link" href="gstreamer-GstTocSetter.html#gst-toc-setter-get-toc-copy" title="gst_toc_setter_get_toc_copy ()">gst_toc_setter_get_toc_copy</a>         (<em class="parameter"><code><a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a> *setter</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstTocSetter.html#gst-toc-setter-reset-toc" title="gst_toc_setter_reset_toc ()">gst_toc_setter_reset_toc</a>            (<em class="parameter"><code><a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a> *setter</code></em>);
+struct              <a class="link" href="gstreamer-GstTocSetter.html#GstTocSetterInterface" title="struct GstTocSetterInterface">GstTocSetterInterface</a>;
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstTocSetter.html#gst-toc-setter-set-toc" title="gst_toc_setter_set_toc ()">gst_toc_setter_set_toc</a>              (<em class="parameter"><code><a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a> *setter</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> *toc</code></em>);
-const <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="returnvalue">GstTocEntry</span></a> * <a class="link" href="gstreamer-GstTocSetter.html#gst-toc-setter-get-toc-entry" title="gst_toc_setter_get_toc_entry ()">gst_toc_setter_get_toc_entry</a>        (<em class="parameter"><code><a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a> *setter</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> *uid</code></em>);
-<a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="returnvalue">GstTocEntry</span></a> *       <a class="link" href="gstreamer-GstTocSetter.html#gst-toc-setter-get-toc-entry-copy" title="gst_toc_setter_get_toc_entry_copy ()">gst_toc_setter_get_toc_entry_copy</a>   (<em class="parameter"><code><a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a> *setter</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> *uid</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-GstTocSetter.html#gst-toc-setter-add-toc-entry" title="gst_toc_setter_add_toc_entry ()">gst_toc_setter_add_toc_entry</a>        (<em class="parameter"><code><a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a> *setter</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> *parent_uid</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>);
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> *toc</code></em>);
+<a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="returnvalue">GstToc</span></a> *            <a class="link" href="gstreamer-GstTocSetter.html#gst-toc-setter-get-toc" title="gst_toc_setter_get_toc ()">gst_toc_setter_get_toc</a>              (<em class="parameter"><code><a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a> *setter</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstTocSetter.html#gst-toc-setter-reset" title="gst_toc_setter_reset ()">gst_toc_setter_reset</a>                (<em class="parameter"><code><a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a> *setter</code></em>);
 </pre>
 </div>
 <div class="refsect1">
@@ -90,8 +82,8 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="GstTocSetterIFace"></a><h3>struct GstTocSetterIFace</h3>
-<pre class="programlisting">struct GstTocSetterIFace {
+<a name="GstTocSetterInterface"></a><h3>struct GstTocSetterInterface</h3>
+<pre class="programlisting">struct GstTocSetterInterface {
   GTypeInterface g_iface;
 
   /* signals */
@@ -100,26 +92,47 @@
 };
 </pre>
 <p>
-<a class="link" href="gstreamer-GstTocSetter.html#GstTocSetterIFace" title="struct GstTocSetterIFace"><span class="type">GstTocSetterIFace</span></a> interface.
+<a class="link" href="gstreamer-GstTocSetter.html#GstTocSetterInterface" title="struct GstTocSetterInterface"><span class="type">GstTocSetterInterface</span></a> interface.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="GstTocSetterIFace.g-iface"></a>g_iface</code></em>;</span></p></td>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="GstTocSetterInterface.g-iface"></a>g_iface</code></em>;</span></p></td>
 <td>parent interface type.</td>
 </tr></tbody>
 </table></div>
 </div>
 <hr>
 <div class="refsect2">
+<a name="gst-toc-setter-set-toc"></a><h3>gst_toc_setter_set_toc ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_toc_setter_set_toc              (<em class="parameter"><code><a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a> *setter</code></em>,
+                                                         <em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> *toc</code></em>);</pre>
+<p>
+Set the given TOC on the setter. Previously setted TOC will be
+unrefed before setting a new one.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>setter</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> to set. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
 <a name="gst-toc-setter-get-toc"></a><h3>gst_toc_setter_get_toc ()</h3>
-<pre class="programlisting">const <a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="returnvalue">GstToc</span></a> *      gst_toc_setter_get_toc              (<em class="parameter"><code><a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a> *setter</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="returnvalue">GstToc</span></a> *            gst_toc_setter_get_toc              (<em class="parameter"><code><a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a> *setter</code></em>);</pre>
 <p>
 Return current TOC the setter uses. The TOC should not be
-modified or freed.
-</p>
-<p>
-This function is not thread-safe. Use <a class="link" href="gstreamer-GstTocSetter.html#gst-toc-setter-get-toc-copy" title="gst_toc_setter_get_toc_copy ()"><code class="function">gst_toc_setter_get_toc_copy()</code></a> instead.
+modified without making it writable first.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -130,43 +143,17 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a current snapshot of the TOC used in the setter
-or NULL if none is used.</td>
+<td>TOC set, or NULL. Unref with <a class="link" href="gstreamer-GstToc.html#gst-toc-unref" title="gst_toc_unref()"><code class="function">gst_toc_unref()</code></a>
+when no longer needed. <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>
-<p class="since">Since 0.10.37</p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-toc-setter-get-toc-copy"></a><h3>gst_toc_setter_get_toc_copy ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="returnvalue">GstToc</span></a> *            gst_toc_setter_get_toc_copy         (<em class="parameter"><code><a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a> *setter</code></em>);</pre>
-<p>
-Return current TOC the setter uses. The difference between this
-function and <a class="link" href="gstreamer-GstTocSetter.html#gst-toc-setter-get-toc" title="gst_toc_setter_get_toc ()"><code class="function">gst_toc_setter_get_toc()</code></a> is that this function returns deep
-copy of the TOC, so you can modify it in any way. This function is thread-safe.
-Free it when done with <a class="link" href="gstreamer-GstToc.html#gst-toc-free" title="gst_toc_free ()"><code class="function">gst_toc_free()</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>setter</code></em> :</span></p></td>
-<td>a <a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a>.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a copy of the current snapshot of the TOC used in the setter
-or NULL if none is used.</td>
-</tr>
-</tbody>
-</table></div>
-<p class="since">Since 0.10.37</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-toc-setter-reset-toc"></a><h3>gst_toc_setter_reset_toc ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_toc_setter_reset_toc            (<em class="parameter"><code><a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a> *setter</code></em>);</pre>
+<a name="gst-toc-setter-reset"></a><h3>gst_toc_setter_reset ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_toc_setter_reset                (<em class="parameter"><code><a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a> *setter</code></em>);</pre>
 <p>
 Reset the internal TOC. Elements should call this from within the
 state-change handler.
@@ -178,126 +165,6 @@
 <td>a <a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a>.</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.37</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-toc-setter-set-toc"></a><h3>gst_toc_setter_set_toc ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_toc_setter_set_toc              (<em class="parameter"><code><a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a> *setter</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> *toc</code></em>);</pre>
-<p>
-Set the given TOC on the setter. Previously setted TOC will be
-freed before setting a new one.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>setter</code></em> :</span></p></td>
-<td>a <a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a>.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td>
-<td>a <a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> to set.</td>
-</tr>
-</tbody>
-</table></div>
-<p class="since">Since 0.10.37</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-toc-setter-get-toc-entry"></a><h3>gst_toc_setter_get_toc_entry ()</h3>
-<pre class="programlisting">const <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="returnvalue">GstTocEntry</span></a> * gst_toc_setter_get_toc_entry        (<em class="parameter"><code><a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a> *setter</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> *uid</code></em>);</pre>
-<p>
-Return <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> (if any) with given <em class="parameter"><code>uid</code></em>. Returned entry should
-not be modified or freed.
-</p>
-<p>
-This function is not thread-safe. Use <a class="link" href="gstreamer-GstTocSetter.html#gst-toc-setter-get-toc-entry-copy" title="gst_toc_setter_get_toc_entry_copy ()"><code class="function">gst_toc_setter_get_toc_entry_copy()</code></a> instead.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>setter</code></em> :</span></p></td>
-<td>a <a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a>.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>uid</code></em> :</span></p></td>
-<td>UID to find entry with.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a TOC entry with given <em class="parameter"><code>uid</code></em> from the TOC in the setter
-or NULL if none entry with such <em class="parameter"><code>uid</code></em> was found.</td>
-</tr>
-</tbody>
-</table></div>
-<p class="since">Since 0.10.37</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-toc-setter-get-toc-entry-copy"></a><h3>gst_toc_setter_get_toc_entry_copy ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="returnvalue">GstTocEntry</span></a> *       gst_toc_setter_get_toc_entry_copy   (<em class="parameter"><code><a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a> *setter</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> *uid</code></em>);</pre>
-<p>
-Return <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> (if any) with given <em class="parameter"><code>uid</code></em>. It perform a deep copying,
-so you can modify returned value. Free it when done with <a class="link" href="gstreamer-GstToc.html#gst-toc-entry-free" title="gst_toc_entry_free ()"><code class="function">gst_toc_entry_free()</code></a>.
-This function is thread-safe.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>setter</code></em> :</span></p></td>
-<td>a <a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a>.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>uid</code></em> :</span></p></td>
-<td>UID to find entry with.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a TOC entry with given <em class="parameter"><code>uid</code></em> from the TOC in the setter
-or NULL if none entry with such <em class="parameter"><code>uid</code></em> was found.</td>
-</tr>
-</tbody>
-</table></div>
-<p class="since">Since 0.10.37</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-toc-setter-add-toc-entry"></a><h3>gst_toc_setter_add_toc_entry ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_toc_setter_add_toc_entry        (<em class="parameter"><code><a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a> *setter</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> *parent_uid</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>);</pre>
-<p>
-Try to find entry with given <em class="parameter"><code>parent_uid</code></em> and append an <em class="parameter"><code>entry</code></em> to that <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a>.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>setter</code></em> :</span></p></td>
-<td>a <a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a>.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>parent_uid</code></em> :</span></p></td>
-<td>UID of the parent entry to append given <em class="parameter"><code>entry</code></em>. Use 0 for the TOC root level.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
-<td>
-<a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="struct GstTocEntry"><span class="type">GstTocEntry</span></a> to append.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TRUE if entry with <em class="parameter"><code>parent_uid</code></em> was found, FALSE otherwise.</td>
-</tr>
-</tbody>
-</table></div>
-<p class="since">Since 0.10.37</p>
 </div>
 </div>
 </div>
diff --git a/docs/gst/html/gstreamer-GstTypeFind.html b/docs/gst/html/gstreamer-GstTypeFind.html
index 432ec7d..2d7e06d 100644
--- a/docs/gst/html/gstreamer-GstTypeFind.html
+++ b/docs/gst/html/gstreamer-GstTypeFind.html
@@ -42,7 +42,7 @@
 
 struct              <a class="link" href="gstreamer-GstTypeFind.html#GstTypeFind" title="struct GstTypeFind">GstTypeFind</a>;
 <span class="returnvalue">void</span>                (<a class="link" href="gstreamer-GstTypeFind.html#GstTypeFindFunction" title="GstTypeFindFunction ()">*GstTypeFindFunction</a>)              (<em class="parameter"><code><a class="link" href="gstreamer-GstTypeFind.html#GstTypeFind" title="struct GstTypeFind"><span class="type">GstTypeFind</span></a> *find</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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
 enum                <a class="link" href="gstreamer-GstTypeFind.html#GstTypeFindProbability" title="enum GstTypeFindProbability">GstTypeFindProbability</a>;
 const <span class="returnvalue">guint8</span> *      <a class="link" href="gstreamer-GstTypeFind.html#gst-type-find-peek" title="gst_type_find_peek ()">gst_type_find_peek</a>                  (<em class="parameter"><code><a class="link" href="gstreamer-GstTypeFind.html#GstTypeFind" title="struct GstTypeFind"><span class="type">GstTypeFind</span></a> *find</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> offset</code></em>,
@@ -125,7 +125,7 @@
 <div class="refsect2">
 <a name="GstTypeFindFunction"></a><h3>GstTypeFindFunction ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                (*GstTypeFindFunction)              (<em class="parameter"><code><a class="link" href="gstreamer-GstTypeFind.html#GstTypeFind" title="struct GstTypeFind"><span class="type">GstTypeFind</span></a> *find</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>);</pre>
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>
 A function that will be called by typefinding.
 </p>
@@ -137,7 +137,7 @@
 <td>A <a class="link" href="gstreamer-GstTypeFind.html#GstTypeFind" title="struct GstTypeFind"><span class="type">GstTypeFind</span></a> structure</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
 <td>optionnal data to pass to the function</td>
 </tr>
 </tbody>
@@ -164,7 +164,7 @@
 <tbody>
 <tr>
 <td><p><a name="GST-TYPE-FIND-NONE:CAPS"></a><span class="term"><code class="literal">GST_TYPE_FIND_NONE</code></span></p></td>
-<td>type undetected. Since 0.10.36.
+<td>type undetected.
 </td>
 </tr>
 <tr>
@@ -314,7 +314,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -358,8 +357,7 @@
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
-<td>A <a class="link" href="GstPlugin.html" title="GstPlugin"><span class="type">GstPlugin</span></a>, or NULL for a static typefind function (note that
-passing NULL only works in GStreamer 0.10.16 and later)</td>
+<td>A <a class="link" href="GstPlugin.html" title="GstPlugin"><span class="type">GstPlugin</span></a>, or NULL for a static typefind function</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-GstUriHandler.html b/docs/gst/html/gstreamer-GstUriHandler.html
index 2348701..6402400 100644
--- a/docs/gst/html/gstreamer-GstUriHandler.html
+++ b/docs/gst/html/gstreamer-GstUriHandler.html
@@ -62,7 +62,8 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
 <a class="link" href="GstElement.html" title="GstElement"><span class="returnvalue">GstElement</span></a> *        <a class="link" href="gstreamer-GstUriHandler.html#gst-element-make-from-uri" title="gst_element_make_from_uri ()">gst_element_make_from_uri</a>           (<em class="parameter"><code>const <a class="link" href="gstreamer-GstUriHandler.html#GstURIType" title="enum GstURIType"><span class="type">GstURIType</span></a> type</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> *uri</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> *elementname</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> *elementname</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
 <a class="link" href="gstreamer-GstUriHandler.html#GstURIType" title="enum GstURIType"><span class="returnvalue">GstURIType</span></a>          <a class="link" href="gstreamer-GstUriHandler.html#gst-uri-handler-get-uri-type" title="gst_uri_handler_get_uri_type ()">gst_uri_handler_get_uri_type</a>        (<em class="parameter"><code><a class="link" href="gstreamer-GstUriHandler.html#GstURIHandler"><span class="type">GstURIHandler</span></a> *handler</code></em>);
 const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * const * <a class="link" href="gstreamer-GstUriHandler.html#gst-uri-handler-get-protocols" title="gst_uri_handler_get_protocols ()">gst_uri_handler_get_protocols</a>     (<em class="parameter"><code><a class="link" href="gstreamer-GstUriHandler.html#GstURIHandler"><span class="type">GstURIHandler</span></a> *handler</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-GstUriHandler.html#gst-uri-handler-get-uri" title="gst_uri_handler_get_uri ()">gst_uri_handler_get_uri</a>             (<em class="parameter"><code><a class="link" href="gstreamer-GstUriHandler.html#GstURIHandler"><span class="type">GstURIHandler</span></a> *handler</code></em>);
@@ -189,7 +190,7 @@
 <div class="refsect2">
 <a name="GstURIError"></a><h3>enum GstURIError</h3>
 <pre class="programlisting">typedef enum {
-  GST_URI_ERROR_BAD_PROTOCOL,
+  GST_URI_ERROR_UNSUPPORTED_PROTOCOL,
   GST_URI_ERROR_BAD_URI,
   GST_URI_ERROR_BAD_STATE,
   GST_URI_ERROR_BAD_REFERENCE
@@ -202,7 +203,7 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><a name="GST-URI-ERROR-BAD-PROTOCOL:CAPS"></a><span class="term"><code class="literal">GST_URI_ERROR_BAD_PROTOCOL</code></span></p></td>
+<td><p><a name="GST-URI-ERROR-UNSUPPORTED-PROTOCOL:CAPS"></a><span class="term"><code class="literal">GST_URI_ERROR_UNSUPPORTED_PROTOCOL</code></span></p></td>
 <td>The protocol is not supported
 </td>
 </tr>
@@ -298,7 +299,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.13</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -348,7 +348,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -394,9 +393,9 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the location for this
-URI. Returns NULL if the URI isn't valid. If the URI does not contain
-a location, an empty string is returned. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span>
+<td>the location for this URI. Returns NULL if the
+URI isn't valid. If the URI does not contain a location, an empty
+string is returned. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
 </tbody>
@@ -422,14 +421,13 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>location</code></em> :</span></p></td>
-<td>Location for URI. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+<td>Location for URI. <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 string for this
-URI. Returns NULL if the given URI protocol is not valid, or the given
-location is NULL. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span>
+<td>a new string for this URI. Returns NULL if the
+given URI protocol is not valid, or the given location is NULL. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
 </tbody>
@@ -462,14 +460,14 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-element-make-from-uri"></a><h3>gst_element_make_from_uri ()</h3>
 <pre class="programlisting"><a class="link" href="GstElement.html" title="GstElement"><span class="returnvalue">GstElement</span></a> *        gst_element_make_from_uri           (<em class="parameter"><code>const <a class="link" href="gstreamer-GstUriHandler.html#GstURIType" title="enum GstURIType"><span class="type">GstURIType</span></a> type</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> *uri</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> *elementname</code></em>);</pre>
+                                                         <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> *elementname</code></em>,
+                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
 <p>
 Creates an element for handling the given URI.
 </p>
@@ -490,6 +488,11 @@
 </td>
 </tr>
 <tr>
+<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
+<td>address where to store error information, or NULL. <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 new element or NULL if none could be created. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
@@ -536,9 +539,9 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the
-supported protocols. Returns NULL if the <em class="parameter"><code>handler</code></em> isn't implemented
-properly, or the <em class="parameter"><code>handler</code></em> doesn't support any protocols. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8]</span>
+<td>the supported protocols.
+Returns NULL if the <em class="parameter"><code>handler</code></em> isn't implemented properly, or the <em class="parameter"><code>handler</code></em>
+doesn't support any protocols. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8]</span>
 </td>
 </tr>
 </tbody>
diff --git a/docs/gst/html/gstreamer-GstUtils.html b/docs/gst/html/gstreamer-GstUtils.html
index d6dc072..7ff1198 100644
--- a/docs/gst/html/gstreamer-GstUtils.html
+++ b/docs/gst/html/gstreamer-GstUtils.html
@@ -110,12 +110,6 @@
 #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>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstUtils.html#gst-print-element-args" title="gst_print_element_args ()">gst_print_element_args</a>              (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Strings.html#GString"><span class="type">GString</span></a> *buf</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> indent</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *element</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstUtils.html#gst-print-pad-caps" title="gst_print_pad_caps ()">gst_print_pad_caps</a>                  (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Strings.html#GString"><span class="type">GString</span></a> *buf</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> indent</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</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>,
@@ -265,7 +259,8 @@
 <hr>
 <div class="refsect2">
 <a name="GST-READ-UINT16-LE:CAPS"></a><h3>GST_READ_UINT16_LE()</h3>
-<pre class="programlisting">#define             GST_READ_UINT16_LE(data)</pre>
+<pre class="programlisting">#  define GST_READ_UINT16_LE(data)      _GST_FAST_READ_SWAP (16, data)
+</pre>
 <p>
 Read a 16 bit unsigned integer value in little endian format from the memory buffer.
 </p>
@@ -280,7 +275,8 @@
 <hr>
 <div class="refsect2">
 <a name="GST-READ-UINT16-BE:CAPS"></a><h3>GST_READ_UINT16_BE()</h3>
-<pre class="programlisting">#define             GST_READ_UINT16_BE(data)</pre>
+<pre class="programlisting">#  define GST_READ_UINT16_BE(data)      _GST_FAST_READ (16, data)
+</pre>
 <p>
 Read a 16 bit unsigned integer value in big endian format from the memory buffer.
 </p>
@@ -306,7 +302,6 @@
 <td>memory location</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -322,12 +317,12 @@
 <td>memory location</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-READ-UINT32-LE:CAPS"></a><h3>GST_READ_UINT32_LE()</h3>
-<pre class="programlisting">#define             GST_READ_UINT32_LE(data)</pre>
+<pre class="programlisting">#  define GST_READ_UINT32_LE(data)      _GST_FAST_READ_SWAP (32, data)
+</pre>
 <p>
 Read a 32 bit unsigned integer value in little endian format from the memory buffer.
 </p>
@@ -342,7 +337,8 @@
 <hr>
 <div class="refsect2">
 <a name="GST-READ-UINT32-BE:CAPS"></a><h3>GST_READ_UINT32_BE()</h3>
-<pre class="programlisting">#define             GST_READ_UINT32_BE(data)</pre>
+<pre class="programlisting">#  define GST_READ_UINT32_BE(data)      _GST_FAST_READ (32, data)
+</pre>
 <p>
 Read a 32 bit unsigned integer value in big endian format from the memory buffer.
 </p>
@@ -357,7 +353,8 @@
 <hr>
 <div class="refsect2">
 <a name="GST-READ-UINT64-LE:CAPS"></a><h3>GST_READ_UINT64_LE()</h3>
-<pre class="programlisting">#define             GST_READ_UINT64_LE(data)</pre>
+<pre class="programlisting">#  define GST_READ_UINT64_LE(data)      _GST_FAST_READ_SWAP (64, data)
+</pre>
 <p>
 Read a 64 bit unsigned integer value in little endian format from the memory buffer.
 </p>
@@ -372,7 +369,8 @@
 <hr>
 <div class="refsect2">
 <a name="GST-READ-UINT64-BE:CAPS"></a><h3>GST_READ_UINT64_BE()</h3>
-<pre class="programlisting">#define             GST_READ_UINT64_BE(data)</pre>
+<pre class="programlisting">#  define GST_READ_UINT64_BE(data)      _GST_FAST_READ (64, data)
+</pre>
 <p>
 Read a 64 bit unsigned integer value in big endian format from the memory buffer.
 </p>
@@ -405,7 +403,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -428,7 +425,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -451,7 +447,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -474,7 +469,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -559,7 +553,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -581,7 +574,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -688,7 +680,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -711,7 +702,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -734,7 +724,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -757,7 +746,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -870,7 +858,6 @@
 <td>integer value to round down</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.12</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -887,7 +874,6 @@
 <td>integer value to round down</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.12</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -904,7 +890,6 @@
 <td>integer value to round down</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.12</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -921,7 +906,6 @@
 <td>integer value to round down</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.12</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -938,7 +922,6 @@
 <td>integer value to round down</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.12</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -955,7 +938,6 @@
 <td>integer value to round down</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.12</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -973,7 +955,6 @@
 <td>value</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -991,7 +972,6 @@
 <td>value</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1014,7 +994,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1032,7 +1011,6 @@
 <td>value</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1050,7 +1028,6 @@
 <td>value</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1068,7 +1045,6 @@
 <td>value</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1086,7 +1062,6 @@
 <td>value</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1109,7 +1084,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1127,7 +1101,6 @@
 <td>value</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1145,7 +1118,6 @@
 <td>value</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1192,64 +1164,6 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-print-element-args"></a><h3>gst_print_element_args ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_print_element_args              (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Strings.html#GString"><span class="type">GString</span></a> *buf</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> indent</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *element</code></em>);</pre>
-<p>
-Print the element argument in a human readable format in the given
-GString.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
-<td>the buffer to print the args in</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>indent</code></em> :</span></p></td>
-<td>initial indentation</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
-<td>the element to print the args of. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-print-pad-caps"></a><h3>gst_print_pad_caps ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_print_pad_caps                  (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Strings.html#GString"><span class="type">GString</span></a> *buf</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> indent</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
-<p>
-Write the pad capabilities in a human readable format into
-the given GString.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
-<td>the buffer to print the caps in</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>indent</code></em> :</span></p></td>
-<td>initial indentation</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
-<td>the pad to print the caps from. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<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>
@@ -1588,7 +1502,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1620,7 +1533,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.11.0</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1651,7 +1563,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1683,7 +1594,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1734,7 +1644,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1785,7 +1694,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1823,7 +1731,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1847,7 +1754,6 @@
 you handle wraparound correctly.</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1878,7 +1784,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1955,7 +1860,6 @@
 <td>the timestamp</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.16</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1989,7 +1893,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.23</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2052,7 +1955,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.23</p>
 </div>
 </div>
 </div>
diff --git a/docs/gst/html/gstreamer-GstValue.html b/docs/gst/html/gstreamer-GstValue.html
index 2b9118b..f9f0caa 100644
--- a/docs/gst/html/gstreamer-GstValue.html
+++ b/docs/gst/html/gstreamer-GstValue.html
@@ -237,7 +237,7 @@
     <tbody>
       <tr>
         <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting">guint32 fourcc <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstValue.html#GST-MAKE-FOURCC:CAPS">GST_MAKE_FOURCC</a></span> <span class="gtkdoc opt">(</span><span class="string">'M'</span><span class="gtkdoc opt">,</span> <span class="string">'J'</span><span class="gtkdoc opt">,</span> <span class="string">'P'</span><span class="gtkdoc opt">,</span> <span class="string">'G'</span><span class="gtkdoc opt">);</span></pre></td>
+        <td class="listing_code"><pre class="programlisting">guint32 fourcc <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstValue.html#GST-MAKE-FOURCC:CAPS">GST_MAKE_FOURCC</a></span> <span class="gtkdoc opt">(</span><span class="string">'M'</span><span class="gtkdoc opt">,</span> <span class="string">'J'</span><span class="gtkdoc opt">,</span> <span class="string">'P'</span><span class="gtkdoc opt">,</span> <span class="string">'G'</span><span class="gtkdoc opt">);</span></pre></td>
       </tr>
     </tbody>
   </table>
@@ -283,7 +283,7 @@
     <tbody>
       <tr>
         <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting">guint32 fourcc <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstValue.html#GST-STR-FOURCC:CAPS">GST_STR_FOURCC</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;MJPG&quot;</span><span class="gtkdoc opt">);</span></pre></td>
+        <td class="listing_code"><pre class="programlisting">guint32 fourcc <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstValue.html#GST-STR-FOURCC:CAPS">GST_STR_FOURCC</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;MJPG&quot;</span><span class="gtkdoc opt">);</span></pre></td>
       </tr>
     </tbody>
   </table>
@@ -313,7 +313,7 @@
     <tbody>
       <tr>
         <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="function">printf</span> <span class="gtkdoc opt">(</span><span class="string">&quot;fourcc: %&quot;</span> GST_FOURCC_FORMAT <span class="string">&quot;</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">,</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstValue.html#GST-FOURCC-ARGS:CAPS">GST_FOURCC_ARGS</a></span> <span class="gtkdoc opt">(</span>fcc<span class="gtkdoc opt">));</span></pre></td>
+        <td class="listing_code"><pre class="programlisting"><span class="function">printf</span> <span class="gtkdoc opt">(</span><span class="string">&quot;fourcc: %&quot;</span> GST_FOURCC_FORMAT <span class="string">&quot;</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">,</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstValue.html#GST-FOURCC-ARGS:CAPS">GST_FOURCC_ARGS</a></span> <span class="gtkdoc opt">(</span>fcc<span class="gtkdoc opt">));</span></pre></td>
       </tr>
     </tbody>
   </table>
@@ -584,7 +584,6 @@
 <td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to check</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -601,7 +600,6 @@
 <td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstInt64Range</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -629,7 +627,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -651,7 +648,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -673,7 +669,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -706,7 +701,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.11.0</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -728,7 +722,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.11.0</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1017,7 +1010,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.32</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1400,7 +1392,6 @@
 <td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to check</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1481,7 +1472,6 @@
 <td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to check</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1504,7 +1494,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1527,7 +1516,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/gst/html/gstreamer-GstVersion.html b/docs/gst/html/gstreamer-GstVersion.html
index 351c2b8..1462ee8 100644
--- a/docs/gst/html/gstreamer-GstVersion.html
+++ b/docs/gst/html/gstreamer-GstVersion.html
@@ -129,7 +129,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.18</p>
 </div>
 </div>
 </div>
diff --git a/docs/gst/html/gstreamer-hierarchy.html b/docs/gst/html/gstreamer-hierarchy.html
index 620c502..b55e2b8 100644
--- a/docs/gst/html/gstreamer-hierarchy.html
+++ b/docs/gst/html/gstreamer-hierarchy.html
@@ -26,6 +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="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 7c148fe..2c9faa2 100644
--- a/docs/gst/html/gstreamer.devhelp2
+++ b/docs/gst/html/gstreamer.devhelp2
@@ -70,28 +70,28 @@
     <sub name="Annotation Glossary" link="annotation-glossary.html"/>
   </chapters>
   <functions>
-    <keyword type="" name="Environment variables" link="gst-running.html#idp11982640"/>
+    <keyword type="" name="Environment variables" link="gst-running.html#idp11902880"/>
     <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"/>
-    <keyword type="function" name="gst_is_initialized ()" link="gstreamer-Gst.html#gst-is-initialized" since="0.10.31"/>
+    <keyword type="function" name="gst_is_initialized ()" link="gstreamer-Gst.html#gst-is-initialized"/>
     <keyword type="function" name="gst_deinit ()" link="gstreamer-Gst.html#gst-deinit"/>
     <keyword type="function" name="gst_version ()" link="gstreamer-Gst.html#gst-version"/>
     <keyword type="function" name="gst_version_string ()" link="gstreamer-Gst.html#gst-version-string"/>
-    <keyword type="function" name="gst_segtrap_is_enabled ()" link="gstreamer-Gst.html#gst-segtrap-is-enabled" since="0.10.10"/>
-    <keyword type="function" name="gst_segtrap_set_enabled ()" link="gstreamer-Gst.html#gst-segtrap-set-enabled" since="0.10.10"/>
-    <keyword type="function" name="gst_registry_fork_is_enabled ()" link="gstreamer-Gst.html#gst-registry-fork-is-enabled" since="0.10.10"/>
-    <keyword type="function" name="gst_registry_fork_set_enabled ()" link="gstreamer-Gst.html#gst-registry-fork-set-enabled" since="0.10.10"/>
-    <keyword type="function" name="gst_update_registry ()" link="gstreamer-Gst.html#gst-update-registry" since="0.10.12"/>
-    <keyword type="struct" name="GstAtomicQueue" link="gstreamer-GstAtomicQueue.html#GstAtomicQueue" since="0.10.33"/>
-    <keyword type="function" name="gst_atomic_queue_new ()" link="gstreamer-GstAtomicQueue.html#gst-atomic-queue-new" since="0.10.33"/>
-    <keyword type="function" name="gst_atomic_queue_ref ()" link="gstreamer-GstAtomicQueue.html#gst-atomic-queue-ref" since="0.10.33"/>
-    <keyword type="function" name="gst_atomic_queue_unref ()" link="gstreamer-GstAtomicQueue.html#gst-atomic-queue-unref" since="0.10.33"/>
-    <keyword type="function" name="gst_atomic_queue_push ()" link="gstreamer-GstAtomicQueue.html#gst-atomic-queue-push" since="0.10.33"/>
-    <keyword type="function" name="gst_atomic_queue_peek ()" link="gstreamer-GstAtomicQueue.html#gst-atomic-queue-peek" since="0.10.33"/>
-    <keyword type="function" name="gst_atomic_queue_pop ()" link="gstreamer-GstAtomicQueue.html#gst-atomic-queue-pop" since="0.10.33"/>
-    <keyword type="function" name="gst_atomic_queue_length ()" link="gstreamer-GstAtomicQueue.html#gst-atomic-queue-length" since="0.10.33"/>
-    <keyword type="" name="Notes" link="GstBin.html#idp10089840"/>
+    <keyword type="function" name="gst_segtrap_is_enabled ()" link="gstreamer-Gst.html#gst-segtrap-is-enabled"/>
+    <keyword type="function" name="gst_segtrap_set_enabled ()" link="gstreamer-Gst.html#gst-segtrap-set-enabled"/>
+    <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="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"/>
+    <keyword type="function" name="gst_atomic_queue_unref ()" link="gstreamer-GstAtomicQueue.html#gst-atomic-queue-unref"/>
+    <keyword type="function" name="gst_atomic_queue_push ()" link="gstreamer-GstAtomicQueue.html#gst-atomic-queue-push"/>
+    <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="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"/>
@@ -106,10 +106,10 @@
     <keyword type="function" name="gst_bin_iterate_sorted ()" link="GstBin.html#gst-bin-iterate-sorted"/>
     <keyword type="function" name="gst_bin_iterate_sources ()" link="GstBin.html#gst-bin-iterate-sources"/>
     <keyword type="function" name="gst_bin_iterate_all_by_interface ()" link="GstBin.html#gst-bin-iterate-all-by-interface"/>
-    <keyword type="function" name="gst_bin_recalculate_latency ()" link="GstBin.html#gst-bin-recalculate-latency" since="0.10.22."/>
+    <keyword type="function" name="gst_bin_recalculate_latency ()" link="GstBin.html#gst-bin-recalculate-latency"/>
     <keyword type="function" name="gst_bin_add_many ()" link="GstBin.html#gst-bin-add-many"/>
     <keyword type="function" name="gst_bin_remove_many ()" link="GstBin.html#gst-bin-remove-many"/>
-    <keyword type="function" name="gst_bin_find_unlinked_pad ()" link="GstBin.html#gst-bin-find-unlinked-pad" since="0.10.20"/>
+    <keyword type="function" name="gst_bin_find_unlinked_pad ()" link="GstBin.html#gst-bin-find-unlinked-pad"/>
     <keyword type="enum" name="enum GstBinFlags" link="GstBin.html#GstBinFlags"/>
     <keyword type="macro" name="GST_BIN_CHILDREN()" link="GstBin.html#GST-BIN-CHILDREN:CAPS"/>
     <keyword type="macro" name="GST_BIN_CHILDREN_COOKIE()" link="GstBin.html#GST-BIN-CHILDREN-COOKIE:CAPS"/>
@@ -136,7 +136,7 @@
     <keyword type="macro" name="GST_BUFFER_DTS_IS_VALID()" link="gstreamer-GstBuffer.html#GST-BUFFER-DTS-IS-VALID:CAPS"/>
     <keyword type="macro" name="GST_BUFFER_OFFSET_IS_VALID()" link="gstreamer-GstBuffer.html#GST-BUFFER-OFFSET-IS-VALID:CAPS"/>
     <keyword type="macro" name="GST_BUFFER_OFFSET_END_IS_VALID()" link="gstreamer-GstBuffer.html#GST-BUFFER-OFFSET-END-IS-VALID:CAPS"/>
-    <keyword type="macro" name="GST_BUFFER_IS_DISCONT()" link="gstreamer-GstBuffer.html#GST-BUFFER-IS-DISCONT:CAPS" since="0.10.9"/>
+    <keyword type="macro" name="GST_BUFFER_IS_DISCONT()" link="gstreamer-GstBuffer.html#GST-BUFFER-IS-DISCONT:CAPS"/>
     <keyword type="function" name="gst_buffer_new ()" link="gstreamer-GstBuffer.html#gst-buffer-new"/>
     <keyword type="function" name="gst_buffer_new_allocate ()" link="gstreamer-GstBuffer.html#gst-buffer-new-allocate"/>
     <keyword type="function" name="gst_buffer_new_wrapped ()" link="gstreamer-GstBuffer.html#gst-buffer-new-wrapped"/>
@@ -145,8 +145,11 @@
     <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_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_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"/>
     <keyword type="function" name="gst_buffer_replace_memory_range ()" link="gstreamer-GstBuffer.html#gst-buffer-replace-memory-range"/>
@@ -162,6 +165,7 @@
     <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_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"/>
     <keyword type="function" name="gst_buffer_extract ()" link="gstreamer-GstBuffer.html#gst-buffer-extract"/>
@@ -176,28 +180,29 @@
     <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="function" name="gst_buffer_append ()" link="gstreamer-GstBuffer.html#gst-buffer-append"/>
+    <keyword type="macro" 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"/>
     <keyword type="function" name="gst_buffer_remove_meta ()" link="gstreamer-GstBuffer.html#gst-buffer-remove-meta"/>
     <keyword type="function" name="gst_buffer_iterate_meta ()" link="gstreamer-GstBuffer.html#gst-buffer-iterate-meta"/>
     <keyword type="function" name="GstBufferForeachMetaFunc ()" link="gstreamer-GstBuffer.html#GstBufferForeachMetaFunc"/>
     <keyword type="function" name="gst_buffer_foreach_meta ()" link="gstreamer-GstBuffer.html#gst-buffer-foreach-meta"/>
-    <keyword type="struct" name="GstBufferList" link="gstreamer-GstBufferList.html#GstBufferList" since="0.10.24"/>
-    <keyword type="function" name="gst_buffer_list_new ()" link="gstreamer-GstBufferList.html#gst-buffer-list-new" since="0.10.24"/>
-    <keyword type="function" name="gst_buffer_list_new_sized ()" link="gstreamer-GstBufferList.html#gst-buffer-list-new-sized" since="0.10.24"/>
-    <keyword type="function" name="gst_buffer_list_length ()" link="gstreamer-GstBufferList.html#gst-buffer-list-length" since="0.10.24"/>
+    <keyword type="struct" name="GstBufferList" link="gstreamer-GstBufferList.html#GstBufferList"/>
+    <keyword type="function" name="gst_buffer_list_new ()" link="gstreamer-GstBufferList.html#gst-buffer-list-new"/>
+    <keyword type="function" name="gst_buffer_list_new_sized ()" link="gstreamer-GstBufferList.html#gst-buffer-list-new-sized"/>
+    <keyword type="function" name="gst_buffer_list_length ()" link="gstreamer-GstBufferList.html#gst-buffer-list-length"/>
     <keyword type="macro" name="gst_buffer_list_add()" link="gstreamer-GstBufferList.html#gst-buffer-list-add"/>
     <keyword type="function" name="gst_buffer_list_insert ()" link="gstreamer-GstBufferList.html#gst-buffer-list-insert"/>
     <keyword type="function" name="gst_buffer_list_remove ()" link="gstreamer-GstBufferList.html#gst-buffer-list-remove"/>
-    <keyword type="function" name="gst_buffer_list_ref ()" link="gstreamer-GstBufferList.html#gst-buffer-list-ref" since="0.10.24"/>
-    <keyword type="function" name="gst_buffer_list_unref ()" link="gstreamer-GstBufferList.html#gst-buffer-list-unref" since="0.10.24"/>
-    <keyword type="function" name="gst_buffer_list_copy ()" link="gstreamer-GstBufferList.html#gst-buffer-list-copy" since="0.10.24"/>
-    <keyword type="macro" name="gst_buffer_list_is_writable()" link="gstreamer-GstBufferList.html#gst-buffer-list-is-writable" since="0.10.24"/>
-    <keyword type="macro" name="gst_buffer_list_make_writable()" link="gstreamer-GstBufferList.html#gst-buffer-list-make-writable" since="0.10.24"/>
+    <keyword type="function" name="gst_buffer_list_ref ()" link="gstreamer-GstBufferList.html#gst-buffer-list-ref"/>
+    <keyword type="function" name="gst_buffer_list_unref ()" link="gstreamer-GstBufferList.html#gst-buffer-list-unref"/>
+    <keyword type="function" name="gst_buffer_list_copy ()" link="gstreamer-GstBufferList.html#gst-buffer-list-copy"/>
+    <keyword type="macro" name="gst_buffer_list_is_writable()" link="gstreamer-GstBufferList.html#gst-buffer-list-is-writable"/>
+    <keyword type="macro" name="gst_buffer_list_make_writable()" link="gstreamer-GstBufferList.html#gst-buffer-list-make-writable"/>
     <keyword type="function" name="GstBufferListFunc ()" link="gstreamer-GstBufferList.html#GstBufferListFunc"/>
-    <keyword type="function" name="gst_buffer_list_foreach ()" link="gstreamer-GstBufferList.html#gst-buffer-list-foreach" since="0.10.24"/>
-    <keyword type="function" name="gst_buffer_list_get ()" link="gstreamer-GstBufferList.html#gst-buffer-list-get" since="0.10.24"/>
+    <keyword type="function" name="gst_buffer_list_foreach ()" link="gstreamer-GstBufferList.html#gst-buffer-list-foreach"/>
+    <keyword type="function" name="gst_buffer_list_get ()" link="gstreamer-GstBufferList.html#gst-buffer-list-get"/>
     <keyword type="struct" name="GstBufferPool" link="gstreamer-GstBufferPool.html#GstBufferPool"/>
     <keyword type="struct" name="struct GstBufferPoolClass" link="gstreamer-GstBufferPool.html#GstBufferPoolClass"/>
     <keyword type="macro" name="GST_BUFFER_POOL_IS_FLUSHING()" link="gstreamer-GstBufferPool.html#GST-BUFFER-POOL-IS-FLUSHING:CAPS"/>
@@ -217,7 +222,7 @@
     <keyword type="function" name="gst_buffer_pool_set_active ()" link="gstreamer-GstBufferPool.html#gst-buffer-pool-set-active"/>
     <keyword type="function" name="gst_buffer_pool_is_active ()" link="gstreamer-GstBufferPool.html#gst-buffer-pool-is-active"/>
     <keyword type="enum" name="enum GstBufferPoolAcquireFlags" link="gstreamer-GstBufferPool.html#GstBufferPoolAcquireFlags"/>
-    <keyword type="struct" name="GstBufferPoolAcquireParams" link="gstreamer-GstBufferPool.html#GstBufferPoolAcquireParams"/>
+    <keyword type="struct" name="struct GstBufferPoolAcquireParams" link="gstreamer-GstBufferPool.html#GstBufferPoolAcquireParams"/>
     <keyword type="function" name="gst_buffer_pool_acquire_buffer ()" link="gstreamer-GstBufferPool.html#gst-buffer-pool-acquire-buffer"/>
     <keyword type="function" name="gst_buffer_pool_release_buffer ()" link="gstreamer-GstBufferPool.html#gst-buffer-pool-release-buffer"/>
     <keyword type="struct" name="struct GstBus" link="GstBus.html#GstBus-struct"/>
@@ -230,9 +235,9 @@
     <keyword type="function" name="gst_bus_have_pending ()" link="GstBus.html#gst-bus-have-pending"/>
     <keyword type="function" name="gst_bus_peek ()" link="GstBus.html#gst-bus-peek"/>
     <keyword type="function" name="gst_bus_pop ()" link="GstBus.html#gst-bus-pop"/>
-    <keyword type="function" name="gst_bus_pop_filtered ()" link="GstBus.html#gst-bus-pop-filtered" since="0.10.15"/>
-    <keyword type="function" name="gst_bus_timed_pop ()" link="GstBus.html#gst-bus-timed-pop" since="0.10.12"/>
-    <keyword type="function" name="gst_bus_timed_pop_filtered ()" link="GstBus.html#gst-bus-timed-pop-filtered" since="0.10.15"/>
+    <keyword type="function" name="gst_bus_pop_filtered ()" link="GstBus.html#gst-bus-pop-filtered"/>
+    <keyword type="function" name="gst_bus_timed_pop ()" link="GstBus.html#gst-bus-timed-pop"/>
+    <keyword type="function" name="gst_bus_timed_pop_filtered ()" link="GstBus.html#gst-bus-timed-pop-filtered"/>
     <keyword type="function" name="gst_bus_set_flushing ()" link="GstBus.html#gst-bus-set-flushing"/>
     <keyword type="function" name="gst_bus_set_sync_handler ()" link="GstBus.html#gst-bus-set-sync-handler"/>
     <keyword type="function" name="gst_bus_sync_signal_handler ()" link="GstBus.html#gst-bus-sync-signal-handler"/>
@@ -251,7 +256,7 @@
     <keyword type="signal" name="The &quot;sync-message&quot; signal" link="GstBus.html#GstBus-sync-message"/>
     <keyword type="struct" name="struct GstCaps" link="gstreamer-GstCaps.html#GstCaps"/>
     <keyword type="struct" name="struct GstStaticCaps" link="gstreamer-GstCaps.html#GstStaticCaps"/>
-    <keyword type="enum" name="enum GstCapsIntersectMode" link="gstreamer-GstCaps.html#GstCapsIntersectMode" since="0.10.33"/>
+    <keyword type="enum" name="enum GstCapsIntersectMode" link="gstreamer-GstCaps.html#GstCapsIntersectMode"/>
     <keyword type="enum" name="enum GstCapsFlags" link="gstreamer-GstCaps.html#GstCapsFlags"/>
     <keyword type="macro" name="GST_CAPS_ANY" link="gstreamer-GstCaps.html#GST-CAPS-ANY:CAPS"/>
     <keyword type="macro" name="GST_CAPS_NONE" link="gstreamer-GstCaps.html#GST-CAPS-NONE:CAPS"/>
@@ -277,14 +282,14 @@
     <keyword type="function" name="gst_static_caps_get ()" link="gstreamer-GstCaps.html#gst-static-caps-get"/>
     <keyword type="function" name="gst_static_caps_cleanup ()" link="gstreamer-GstCaps.html#gst-static-caps-cleanup"/>
     <keyword type="function" name="gst_caps_append ()" link="gstreamer-GstCaps.html#gst-caps-append"/>
-    <keyword type="function" name="gst_caps_merge ()" link="gstreamer-GstCaps.html#gst-caps-merge" since="0.10.10"/>
+    <keyword type="function" name="gst_caps_merge ()" link="gstreamer-GstCaps.html#gst-caps-merge"/>
     <keyword type="function" name="gst_caps_append_structure ()" link="gstreamer-GstCaps.html#gst-caps-append-structure"/>
     <keyword type="function" name="gst_caps_remove_structure ()" link="gstreamer-GstCaps.html#gst-caps-remove-structure"/>
-    <keyword type="function" name="gst_caps_steal_structure ()" link="gstreamer-GstCaps.html#gst-caps-steal-structure" since="0.10.30"/>
+    <keyword type="function" name="gst_caps_steal_structure ()" link="gstreamer-GstCaps.html#gst-caps-steal-structure"/>
     <keyword type="function" name="gst_caps_merge_structure ()" link="gstreamer-GstCaps.html#gst-caps-merge-structure"/>
     <keyword type="function" name="gst_caps_get_size ()" link="gstreamer-GstCaps.html#gst-caps-get-size"/>
     <keyword type="function" name="gst_caps_get_structure ()" link="gstreamer-GstCaps.html#gst-caps-get-structure"/>
-    <keyword type="function" name="gst_caps_set_value ()" link="gstreamer-GstCaps.html#gst-caps-set-value" since="0.10.26"/>
+    <keyword type="function" name="gst_caps_set_value ()" link="gstreamer-GstCaps.html#gst-caps-set-value"/>
     <keyword type="function" name="gst_caps_set_simple ()" link="gstreamer-GstCaps.html#gst-caps-set-simple"/>
     <keyword type="function" name="gst_caps_set_simple_valist ()" link="gstreamer-GstCaps.html#gst-caps-set-simple-valist"/>
     <keyword type="function" name="gst_caps_is_any ()" link="gstreamer-GstCaps.html#gst-caps-is-any"/>
@@ -292,13 +297,13 @@
     <keyword type="function" name="gst_caps_is_fixed ()" link="gstreamer-GstCaps.html#gst-caps-is-fixed"/>
     <keyword type="function" name="gst_caps_is_equal ()" link="gstreamer-GstCaps.html#gst-caps-is-equal"/>
     <keyword type="function" name="gst_caps_is_equal_fixed ()" link="gstreamer-GstCaps.html#gst-caps-is-equal-fixed"/>
-    <keyword type="function" name="gst_caps_is_strictly_equal ()" link="gstreamer-GstCaps.html#gst-caps-is-strictly-equal" since="0.10.36"/>
+    <keyword type="function" name="gst_caps_is_strictly_equal ()" link="gstreamer-GstCaps.html#gst-caps-is-strictly-equal"/>
     <keyword type="function" name="gst_caps_is_always_compatible ()" link="gstreamer-GstCaps.html#gst-caps-is-always-compatible"/>
     <keyword type="function" name="gst_caps_is_subset ()" link="gstreamer-GstCaps.html#gst-caps-is-subset"/>
-    <keyword type="function" name="gst_caps_is_subset_structure ()" link="gstreamer-GstCaps.html#gst-caps-is-subset-structure" since="0.10.36"/>
-    <keyword type="function" name="gst_caps_can_intersect ()" link="gstreamer-GstCaps.html#gst-caps-can-intersect" since="0.10.25"/>
+    <keyword type="function" name="gst_caps_is_subset_structure ()" link="gstreamer-GstCaps.html#gst-caps-is-subset-structure"/>
+    <keyword type="function" name="gst_caps_can_intersect ()" link="gstreamer-GstCaps.html#gst-caps-can-intersect"/>
     <keyword type="function" name="gst_caps_intersect ()" link="gstreamer-GstCaps.html#gst-caps-intersect"/>
-    <keyword type="function" name="gst_caps_intersect_full ()" link="gstreamer-GstCaps.html#gst-caps-intersect-full" since="0.10.33"/>
+    <keyword type="function" name="gst_caps_intersect_full ()" link="gstreamer-GstCaps.html#gst-caps-intersect-full"/>
     <keyword type="function" name="gst_caps_normalize ()" link="gstreamer-GstCaps.html#gst-caps-normalize"/>
     <keyword type="function" name="gst_caps_simplify ()" link="gstreamer-GstCaps.html#gst-caps-simplify"/>
     <keyword type="function" name="gst_caps_replace ()" link="gstreamer-GstCaps.html#gst-caps-replace"/>
@@ -316,7 +321,7 @@
     <keyword type="function" name="gst_sample_get_caps ()" link="gstreamer-GstSample.html#gst-sample-get-caps"/>
     <keyword type="function" name="gst_sample_get_info ()" link="gstreamer-GstSample.html#gst-sample-get-info"/>
     <keyword type="function" name="gst_sample_get_segment ()" link="gstreamer-GstSample.html#gst-sample-get-segment"/>
-    <keyword type="function" name="gst_sample_new ()" link="gstreamer-GstSample.html#gst-sample-new" since="0.10.24"/>
+    <keyword type="function" name="gst_sample_new ()" link="gstreamer-GstSample.html#gst-sample-new"/>
     <keyword type="function" name="gst_sample_ref ()" link="gstreamer-GstSample.html#gst-sample-ref"/>
     <keyword type="function" name="gst_sample_unref ()" link="gstreamer-GstSample.html#gst-sample-unref"/>
     <keyword type="struct" name="GstChildProxy" link="GstChildProxy.html#GstChildProxy-struct"/>
@@ -346,10 +351,10 @@
     <keyword type="macro" name="GST_MSECOND" link="GstClock.html#GST-MSECOND:CAPS"/>
     <keyword type="macro" name="GST_USECOND" link="GstClock.html#GST-USECOND:CAPS"/>
     <keyword type="macro" name="GST_NSECOND" link="GstClock.html#GST-NSECOND:CAPS"/>
-    <keyword type="macro" name="GST_TIME_AS_SECONDS()" link="GstClock.html#GST-TIME-AS-SECONDS:CAPS" since="0.10.16"/>
-    <keyword type="macro" name="GST_TIME_AS_MSECONDS()" link="GstClock.html#GST-TIME-AS-MSECONDS:CAPS" since="0.10.16"/>
-    <keyword type="macro" name="GST_TIME_AS_USECONDS()" link="GstClock.html#GST-TIME-AS-USECONDS:CAPS" since="0.10.16"/>
-    <keyword type="macro" name="GST_TIME_AS_NSECONDS()" link="GstClock.html#GST-TIME-AS-NSECONDS:CAPS" since="0.10.16"/>
+    <keyword type="macro" name="GST_TIME_AS_SECONDS()" link="GstClock.html#GST-TIME-AS-SECONDS:CAPS"/>
+    <keyword type="macro" name="GST_TIME_AS_MSECONDS()" link="GstClock.html#GST-TIME-AS-MSECONDS:CAPS"/>
+    <keyword type="macro" name="GST_TIME_AS_USECONDS()" link="GstClock.html#GST-TIME-AS-USECONDS:CAPS"/>
+    <keyword type="macro" name="GST_TIME_AS_NSECONDS()" link="GstClock.html#GST-TIME-AS-NSECONDS:CAPS"/>
     <keyword type="macro" name="GST_CLOCK_DIFF()" link="GstClock.html#GST-CLOCK-DIFF:CAPS"/>
     <keyword type="macro" name="GST_TIMEVAL_TO_TIME()" link="GstClock.html#GST-TIMEVAL-TO-TIME:CAPS"/>
     <keyword type="macro" name="GST_TIME_TO_TIMEVAL()" link="GstClock.html#GST-TIME-TO-TIMEVAL:CAPS"/>
@@ -375,11 +380,11 @@
     <keyword type="function" name="gst_clock_get_time ()" link="GstClock.html#gst-clock-get-time"/>
     <keyword type="function" name="gst_clock_new_single_shot_id ()" link="GstClock.html#gst-clock-new-single-shot-id"/>
     <keyword type="function" name="gst_clock_new_periodic_id ()" link="GstClock.html#gst-clock-new-periodic-id"/>
-    <keyword type="function" name="gst_clock_single_shot_id_reinit ()" link="GstClock.html#gst-clock-single-shot-id-reinit" since="0.10.32"/>
-    <keyword type="function" name="gst_clock_periodic_id_reinit ()" link="GstClock.html#gst-clock-periodic-id-reinit" since="0.10.33"/>
+    <keyword type="function" name="gst_clock_single_shot_id_reinit ()" link="GstClock.html#gst-clock-single-shot-id-reinit"/>
+    <keyword type="function" name="gst_clock_periodic_id_reinit ()" link="GstClock.html#gst-clock-periodic-id-reinit"/>
     <keyword type="function" name="gst_clock_get_internal_time ()" link="GstClock.html#gst-clock-get-internal-time"/>
     <keyword type="function" name="gst_clock_adjust_unlocked ()" link="GstClock.html#gst-clock-adjust-unlocked"/>
-    <keyword type="function" name="gst_clock_unadjust_unlocked ()" link="GstClock.html#gst-clock-unadjust-unlocked" since="0.10.13"/>
+    <keyword type="function" name="gst_clock_unadjust_unlocked ()" link="GstClock.html#gst-clock-unadjust-unlocked"/>
     <keyword type="function" name="gst_clock_get_calibration ()" link="GstClock.html#gst-clock-get-calibration"/>
     <keyword type="function" name="gst_clock_set_calibration ()" link="GstClock.html#gst-clock-set-calibration"/>
     <keyword type="function" name="gst_clock_get_timeout ()" link="GstClock.html#gst-clock-get-timeout"/>
@@ -387,7 +392,6 @@
     <keyword type="function" name="gst_clock_id_get_time ()" link="GstClock.html#gst-clock-id-get-time"/>
     <keyword type="function" name="gst_clock_id_wait ()" link="GstClock.html#gst-clock-id-wait"/>
     <keyword type="function" name="gst_clock_id_wait_async ()" link="GstClock.html#gst-clock-id-wait-async"/>
-    <keyword type="function" name="gst_clock_id_wait_async_full ()" link="GstClock.html#gst-clock-id-wait-async-full" since="0.10.30"/>
     <keyword type="function" name="gst_clock_id_unschedule ()" link="GstClock.html#gst-clock-id-unschedule"/>
     <keyword type="function" name="gst_clock_id_compare_func ()" link="GstClock.html#gst-clock-id-compare-func"/>
     <keyword type="function" name="gst_clock_id_ref ()" link="GstClock.html#gst-clock-id-ref"/>
@@ -421,23 +425,35 @@
     <keyword type="function" name="gst_control_source_get_value ()" link="GstControlSource.html#gst-control-source-get-value"/>
     <keyword type="function" name="gst_control_source_get_value_array ()" link="GstControlSource.html#gst-control-source-get-value-array"/>
     <keyword type="struct" name="GstDateTime" link="gstreamer-GstDateTime.html#GstDateTime"/>
-    <keyword type="macro" name="GST_TYPE_DATE_TIME" link="gstreamer-GstDateTime.html#GST-TYPE-DATE-TIME:CAPS" since="0.10.31"/>
-    <keyword type="function" name="gst_date_time_get_day ()" link="gstreamer-GstDateTime.html#gst-date-time-get-day" since="0.10.31"/>
-    <keyword type="function" name="gst_date_time_get_month ()" link="gstreamer-GstDateTime.html#gst-date-time-get-month" since="0.10.31"/>
-    <keyword type="function" name="gst_date_time_get_hour ()" link="gstreamer-GstDateTime.html#gst-date-time-get-hour" since="0.10.31"/>
-    <keyword type="function" name="gst_date_time_get_microsecond ()" link="gstreamer-GstDateTime.html#gst-date-time-get-microsecond" since="0.10.31"/>
-    <keyword type="function" name="gst_date_time_get_minute ()" link="gstreamer-GstDateTime.html#gst-date-time-get-minute" since="0.10.31"/>
-    <keyword type="function" name="gst_date_time_get_time_zone_offset ()" link="gstreamer-GstDateTime.html#gst-date-time-get-time-zone-offset" since="0.10.31"/>
-    <keyword type="function" name="gst_date_time_get_second ()" link="gstreamer-GstDateTime.html#gst-date-time-get-second" since="0.10.31"/>
-    <keyword type="function" name="gst_date_time_get_year ()" link="gstreamer-GstDateTime.html#gst-date-time-get-year" since="0.10.31"/>
-    <keyword type="function" name="gst_date_time_new ()" link="gstreamer-GstDateTime.html#gst-date-time-new" since="0.10.31"/>
-    <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" since="0.10.31"/>
-    <keyword type="function" name="gst_date_time_new_from_unix_epoch_utc ()" link="gstreamer-GstDateTime.html#gst-date-time-new-from-unix-epoch-utc" since="0.10.31"/>
-    <keyword type="function" name="gst_date_time_new_local_time ()" link="gstreamer-GstDateTime.html#gst-date-time-new-local-time" since="0.10.31"/>
-    <keyword type="function" name="gst_date_time_new_now_local_time ()" link="gstreamer-GstDateTime.html#gst-date-time-new-now-local-time" since="0.10.31"/>
-    <keyword type="function" name="gst_date_time_new_now_utc ()" link="gstreamer-GstDateTime.html#gst-date-time-new-now-utc" since="0.10.31"/>
-    <keyword type="function" name="gst_date_time_ref ()" link="gstreamer-GstDateTime.html#gst-date-time-ref" since="0.10.31"/>
-    <keyword type="function" name="gst_date_time_unref ()" link="gstreamer-GstDateTime.html#gst-date-time-unref" since="0.10.31"/>
+    <keyword type="macro" name="GST_TYPE_DATE_TIME" link="gstreamer-GstDateTime.html#GST-TYPE-DATE-TIME:CAPS"/>
+    <keyword type="function" name="gst_date_time_get_day ()" link="gstreamer-GstDateTime.html#gst-date-time-get-day"/>
+    <keyword type="function" name="gst_date_time_get_month ()" link="gstreamer-GstDateTime.html#gst-date-time-get-month"/>
+    <keyword type="function" name="gst_date_time_get_hour ()" link="gstreamer-GstDateTime.html#gst-date-time-get-hour"/>
+    <keyword type="function" name="gst_date_time_get_microsecond ()" link="gstreamer-GstDateTime.html#gst-date-time-get-microsecond"/>
+    <keyword type="function" name="gst_date_time_get_minute ()" link="gstreamer-GstDateTime.html#gst-date-time-get-minute"/>
+    <keyword type="function" name="gst_date_time_get_time_zone_offset ()" link="gstreamer-GstDateTime.html#gst-date-time-get-time-zone-offset"/>
+    <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_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"/>
+    <keyword type="function" name="gst_date_time_ref ()" link="gstreamer-GstDateTime.html#gst-date-time-ref"/>
+    <keyword type="function" name="gst_date_time_unref ()" link="gstreamer-GstDateTime.html#gst-date-time-unref"/>
+    <keyword type="function" name="gst_date_time_has_day ()" link="gstreamer-GstDateTime.html#gst-date-time-has-day"/>
+    <keyword type="function" name="gst_date_time_has_month ()" link="gstreamer-GstDateTime.html#gst-date-time-has-month"/>
+    <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"/>
+    <keyword type="function" name="gst_date_time_to_g_date_time ()" link="gstreamer-GstDateTime.html#gst-date-time-to-g-date-time"/>
     <keyword type="struct" name="struct GstElement" link="GstElement.html#GstElement-struct"/>
     <keyword type="struct" name="struct GstElementClass" link="GstElement.html#GstElementClass"/>
     <keyword type="enum" name="enum GstElementFlags" link="GstElement.html#GstElementFlags"/>
@@ -449,7 +465,7 @@
     <keyword type="macro" name="GST_STATE_NEXT()" link="GstElement.html#GST-STATE-NEXT:CAPS"/>
     <keyword type="macro" name="GST_STATE_PENDING()" link="GstElement.html#GST-STATE-PENDING:CAPS"/>
     <keyword type="macro" name="GST_STATE_RETURN()" link="GstElement.html#GST-STATE-RETURN:CAPS"/>
-    <keyword type="macro" name="GST_STATE_TARGET()" link="GstElement.html#GST-STATE-TARGET:CAPS" since="0.10.13"/>
+    <keyword type="macro" name="GST_STATE_TARGET()" link="GstElement.html#GST-STATE-TARGET:CAPS"/>
     <keyword type="macro" name="GST_STATE_TRANSITION()" link="GstElement.html#GST-STATE-TRANSITION:CAPS"/>
     <keyword type="macro" name="GST_STATE_TRANSITION_CURRENT()" link="GstElement.html#GST-STATE-TRANSITION-CURRENT:CAPS"/>
     <keyword type="macro" name="GST_STATE_TRANSITION_NEXT()" link="GstElement.html#GST-STATE-TRANSITION-NEXT:CAPS"/>
@@ -460,10 +476,10 @@
     <keyword type="macro" name="GST_ELEMENT_BUS()" link="GstElement.html#GST-ELEMENT-BUS:CAPS"/>
     <keyword type="macro" name="GST_ELEMENT_CLOCK()" link="GstElement.html#GST-ELEMENT-CLOCK:CAPS"/>
     <keyword type="macro" name="GST_ELEMENT_PADS()" link="GstElement.html#GST-ELEMENT-PADS:CAPS"/>
-    <keyword type="macro" name="GST_ELEMENT_START_TIME()" link="GstElement.html#GST-ELEMENT-START-TIME:CAPS" since="0.10.24"/>
+    <keyword type="macro" name="GST_ELEMENT_START_TIME()" link="GstElement.html#GST-ELEMENT-START-TIME:CAPS"/>
     <keyword type="macro" name="GST_ELEMENT_ERROR()" link="GstElement.html#GST-ELEMENT-ERROR:CAPS"/>
     <keyword type="macro" name="GST_ELEMENT_WARNING()" link="GstElement.html#GST-ELEMENT-WARNING:CAPS"/>
-    <keyword type="macro" name="GST_ELEMENT_INFO()" link="GstElement.html#GST-ELEMENT-INFO:CAPS" since="0.10.12"/>
+    <keyword type="macro" name="GST_ELEMENT_INFO()" link="GstElement.html#GST-ELEMENT-INFO:CAPS"/>
     <keyword type="macro" name="GST_ELEMENT_IS_LOCKED_STATE()" link="GstElement.html#GST-ELEMENT-IS-LOCKED-STATE:CAPS"/>
     <keyword type="macro" name="GST_ELEMENT_METADATA_AUTHOR" link="GstElement.html#GST-ELEMENT-METADATA-AUTHOR:CAPS"/>
     <keyword type="macro" name="GST_ELEMENT_METADATA_DESCRIPTION" link="GstElement.html#GST-ELEMENT-METADATA-DESCRIPTION:CAPS"/>
@@ -484,7 +500,7 @@
     <keyword type="function" name="gst_element_get_compatible_pad_template ()" link="GstElement.html#gst-element-get-compatible-pad-template"/>
     <keyword type="function" name="gst_element_get_request_pad ()" link="GstElement.html#gst-element-get-request-pad"/>
     <keyword type="function" name="gst_element_get_static_pad ()" link="GstElement.html#gst-element-get-static-pad"/>
-    <keyword type="function" name="gst_element_request_pad ()" link="GstElement.html#gst-element-request-pad" since="0.10.32"/>
+    <keyword type="function" name="gst_element_request_pad ()" link="GstElement.html#gst-element-request-pad"/>
     <keyword type="function" name="gst_element_no_more_pads ()" link="GstElement.html#gst-element-no-more-pads"/>
     <keyword type="function" name="gst_element_release_request_pad ()" link="GstElement.html#gst-element-release-request-pad"/>
     <keyword type="function" name="gst_element_remove_pad ()" link="GstElement.html#gst-element-remove-pad"/>
@@ -496,15 +512,15 @@
     <keyword type="function" name="gst_element_link_many ()" link="GstElement.html#gst-element-link-many"/>
     <keyword type="function" name="gst_element_unlink_many ()" link="GstElement.html#gst-element-unlink-many"/>
     <keyword type="function" name="gst_element_link_pads ()" link="GstElement.html#gst-element-link-pads"/>
-    <keyword type="function" name="gst_element_link_pads_full ()" link="GstElement.html#gst-element-link-pads-full" since="0.10.30"/>
+    <keyword type="function" name="gst_element_link_pads_full ()" link="GstElement.html#gst-element-link-pads-full"/>
     <keyword type="function" name="gst_element_unlink_pads ()" link="GstElement.html#gst-element-unlink-pads"/>
     <keyword type="function" name="gst_element_link_pads_filtered ()" link="GstElement.html#gst-element-link-pads-filtered"/>
     <keyword type="function" name="gst_element_link_filtered ()" link="GstElement.html#gst-element-link-filtered"/>
     <keyword type="function" name="gst_element_class_get_metadata ()" link="GstElement.html#gst-element-class-get-metadata"/>
     <keyword type="function" name="gst_element_set_base_time ()" link="GstElement.html#gst-element-set-base-time"/>
     <keyword type="function" name="gst_element_get_base_time ()" link="GstElement.html#gst-element-get-base-time"/>
-    <keyword type="function" name="gst_element_set_start_time ()" link="GstElement.html#gst-element-set-start-time" since="0.10.24"/>
-    <keyword type="function" name="gst_element_get_start_time ()" link="GstElement.html#gst-element-get-start-time" since="0.10.24"/>
+    <keyword type="function" name="gst_element_set_start_time ()" link="GstElement.html#gst-element-set-start-time"/>
+    <keyword type="function" name="gst_element_get_start_time ()" link="GstElement.html#gst-element-get-start-time"/>
     <keyword type="function" name="gst_element_set_bus ()" link="GstElement.html#gst-element-set-bus"/>
     <keyword type="function" name="gst_element_get_bus ()" link="GstElement.html#gst-element-get-bus"/>
     <keyword type="function" name="gst_element_get_factory ()" link="GstElement.html#gst-element-get-factory"/>
@@ -523,7 +539,7 @@
     <keyword type="function" name="gst_element_continue_state ()" link="GstElement.html#gst-element-continue-state"/>
     <keyword type="function" name="gst_element_lost_state ()" link="GstElement.html#gst-element-lost-state"/>
     <keyword type="function" name="gst_element_state_get_name ()" link="GstElement.html#gst-element-state-get-name"/>
-    <keyword type="function" name="gst_element_state_change_return_get_name ()" link="GstElement.html#gst-element-state-change-return-get-name" since="0.10.11"/>
+    <keyword type="function" name="gst_element_state_change_return_get_name ()" link="GstElement.html#gst-element-state-change-return-get-name"/>
     <keyword type="function" name="gst_element_sync_state_with_parent ()" link="GstElement.html#gst-element-sync-state-with-parent"/>
     <keyword type="function" name="gst_element_change_state ()" link="GstElement.html#gst-element-change-state"/>
     <keyword type="function" name="gst_element_message_full ()" link="GstElement.html#gst-element-message-full"/>
@@ -533,7 +549,7 @@
     <keyword type="function" name="gst_element_query_position ()" link="GstElement.html#gst-element-query-position"/>
     <keyword type="function" name="gst_element_query_duration ()" link="GstElement.html#gst-element-query-duration"/>
     <keyword type="function" name="gst_element_send_event ()" link="GstElement.html#gst-element-send-event"/>
-    <keyword type="function" name="gst_element_seek_simple ()" link="GstElement.html#gst-element-seek-simple" since="0.10.7"/>
+    <keyword type="function" name="gst_element_seek_simple ()" link="GstElement.html#gst-element-seek-simple"/>
     <keyword type="function" name="gst_element_seek ()" link="GstElement.html#gst-element-seek"/>
     <keyword type="signal" name="The &quot;no-more-pads&quot; signal" link="GstElement.html#GstElement-no-more-pads"/>
     <keyword type="signal" name="The &quot;pad-added&quot; signal" link="GstElement.html#GstElement-pad-added"/>
@@ -547,19 +563,19 @@
     <keyword type="function" name="gst_element_factory_get_num_pad_templates ()" link="GstElementFactory.html#gst-element-factory-get-num-pad-templates"/>
     <keyword type="function" name="gst_element_factory_get_uri_type ()" link="GstElementFactory.html#gst-element-factory-get-uri-type"/>
     <keyword type="function" name="gst_element_factory_get_uri_protocols ()" link="GstElementFactory.html#gst-element-factory-get-uri-protocols"/>
-    <keyword type="function" name="gst_element_factory_has_interface ()" link="GstElementFactory.html#gst-element-factory-has-interface" since="0.10.14"/>
+    <keyword type="function" name="gst_element_factory_has_interface ()" link="GstElementFactory.html#gst-element-factory-has-interface"/>
     <keyword type="function" name="gst_element_factory_create ()" link="GstElementFactory.html#gst-element-factory-create"/>
     <keyword type="function" name="gst_element_factory_make ()" link="GstElementFactory.html#gst-element-factory-make"/>
-    <keyword type="function" name="gst_element_factory_can_sink_all_caps ()" link="GstElementFactory.html#gst-element-factory-can-sink-all-caps" since="0.10.33"/>
-    <keyword type="function" name="gst_element_factory_can_src_all_caps ()" link="GstElementFactory.html#gst-element-factory-can-src-all-caps" since="0.10.33"/>
-    <keyword type="function" name="gst_element_factory_can_sink_any_caps ()" link="GstElementFactory.html#gst-element-factory-can-sink-any-caps" since="0.10.33"/>
-    <keyword type="function" name="gst_element_factory_can_src_any_caps ()" link="GstElementFactory.html#gst-element-factory-can-src-any-caps" since="0.10.33"/>
+    <keyword type="function" name="gst_element_factory_can_sink_all_caps ()" link="GstElementFactory.html#gst-element-factory-can-sink-all-caps"/>
+    <keyword type="function" name="gst_element_factory_can_src_all_caps ()" link="GstElementFactory.html#gst-element-factory-can-src-all-caps"/>
+    <keyword type="function" name="gst_element_factory_can_sink_any_caps ()" link="GstElementFactory.html#gst-element-factory-can-sink-any-caps"/>
+    <keyword type="function" name="gst_element_factory_can_src_any_caps ()" link="GstElementFactory.html#gst-element-factory-can-src-any-caps"/>
     <keyword type="function" name="gst_element_factory_get_static_pad_templates ()" link="GstElementFactory.html#gst-element-factory-get-static-pad-templates"/>
     <keyword type="typedef" name="GstElementFactoryListType" link="GstElementFactory.html#GstElementFactoryListType"/>
-    <keyword type="macro" name="GST_ELEMENT_FACTORY_TYPE_ANY" link="GstElementFactory.html#GST-ELEMENT-FACTORY-TYPE-ANY:CAPS" since="0.10.31"/>
-    <keyword type="macro" name="GST_ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS" link="GstElementFactory.html#GST-ELEMENT-FACTORY-TYPE-AUDIOVIDEO-SINKS:CAPS" since="0.10.31"/>
-    <keyword type="macro" name="GST_ELEMENT_FACTORY_TYPE_AUDIO_ENCODER" link="GstElementFactory.html#GST-ELEMENT-FACTORY-TYPE-AUDIO-ENCODER:CAPS" since="0.10.31"/>
-    <keyword type="macro" name="GST_ELEMENT_FACTORY_TYPE_DECODABLE" link="GstElementFactory.html#GST-ELEMENT-FACTORY-TYPE-DECODABLE:CAPS" since="0.10.31"/>
+    <keyword type="macro" name="GST_ELEMENT_FACTORY_TYPE_ANY" link="GstElementFactory.html#GST-ELEMENT-FACTORY-TYPE-ANY:CAPS"/>
+    <keyword type="macro" name="GST_ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS" link="GstElementFactory.html#GST-ELEMENT-FACTORY-TYPE-AUDIOVIDEO-SINKS:CAPS"/>
+    <keyword type="macro" name="GST_ELEMENT_FACTORY_TYPE_AUDIO_ENCODER" link="GstElementFactory.html#GST-ELEMENT-FACTORY-TYPE-AUDIO-ENCODER:CAPS"/>
+    <keyword type="macro" name="GST_ELEMENT_FACTORY_TYPE_DECODABLE" link="GstElementFactory.html#GST-ELEMENT-FACTORY-TYPE-DECODABLE:CAPS"/>
     <keyword type="macro" name="GST_ELEMENT_FACTORY_TYPE_DECODER" link="GstElementFactory.html#GST-ELEMENT-FACTORY-TYPE-DECODER:CAPS"/>
     <keyword type="macro" name="GST_ELEMENT_FACTORY_TYPE_DEMUXER" link="GstElementFactory.html#GST-ELEMENT-FACTORY-TYPE-DEMUXER:CAPS"/>
     <keyword type="macro" name="GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER" link="GstElementFactory.html#GST-ELEMENT-FACTORY-TYPE-DEPAYLOADER:CAPS"/>
@@ -571,16 +587,16 @@
     <keyword type="macro" name="GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA" link="GstElementFactory.html#GST-ELEMENT-FACTORY-TYPE-MEDIA-METADATA:CAPS"/>
     <keyword type="macro" name="GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE" link="GstElementFactory.html#GST-ELEMENT-FACTORY-TYPE-MEDIA-SUBTITLE:CAPS"/>
     <keyword type="macro" name="GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO" link="GstElementFactory.html#GST-ELEMENT-FACTORY-TYPE-MEDIA-VIDEO:CAPS"/>
-    <keyword type="macro" name="GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY" link="GstElementFactory.html#GST-ELEMENT-FACTORY-TYPE-MEDIA-ANY:CAPS" since="0.10.31"/>
+    <keyword type="macro" name="GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY" link="GstElementFactory.html#GST-ELEMENT-FACTORY-TYPE-MEDIA-ANY:CAPS"/>
     <keyword type="macro" name="GST_ELEMENT_FACTORY_TYPE_MUXER" link="GstElementFactory.html#GST-ELEMENT-FACTORY-TYPE-MUXER:CAPS"/>
     <keyword type="macro" name="GST_ELEMENT_FACTORY_TYPE_PARSER" link="GstElementFactory.html#GST-ELEMENT-FACTORY-TYPE-PARSER:CAPS"/>
     <keyword type="macro" name="GST_ELEMENT_FACTORY_TYPE_PAYLOADER" link="GstElementFactory.html#GST-ELEMENT-FACTORY-TYPE-PAYLOADER:CAPS"/>
     <keyword type="macro" name="GST_ELEMENT_FACTORY_TYPE_SINK" link="GstElementFactory.html#GST-ELEMENT-FACTORY-TYPE-SINK:CAPS"/>
     <keyword type="macro" name="GST_ELEMENT_FACTORY_TYPE_SRC" link="GstElementFactory.html#GST-ELEMENT-FACTORY-TYPE-SRC:CAPS"/>
-    <keyword type="macro" name="GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER" link="GstElementFactory.html#GST-ELEMENT-FACTORY-TYPE-VIDEO-ENCODER:CAPS" since="0.10.31"/>
-    <keyword type="function" name="gst_element_factory_list_filter ()" link="GstElementFactory.html#gst-element-factory-list-filter" since="0.10.31"/>
-    <keyword type="function" name="gst_element_factory_list_get_elements ()" link="GstElementFactory.html#gst-element-factory-list-get-elements" since="0.10.31"/>
-    <keyword type="function" name="gst_element_factory_list_is_type ()" link="GstElementFactory.html#gst-element-factory-list-is-type" since="0.10.31"/>
+    <keyword type="macro" name="GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER" link="GstElementFactory.html#GST-ELEMENT-FACTORY-TYPE-VIDEO-ENCODER:CAPS"/>
+    <keyword type="function" name="gst_element_factory_list_filter ()" link="GstElementFactory.html#gst-element-factory-list-filter"/>
+    <keyword type="function" name="gst_element_factory_list_get_elements ()" link="GstElementFactory.html#gst-element-factory-list-get-elements"/>
+    <keyword type="function" name="gst_element_factory_list_is_type ()" link="GstElementFactory.html#gst-element-factory-list-is-type"/>
     <keyword type="enum" name="enum GstCoreError" link="gstreamer-GstGError.html#GstCoreError"/>
     <keyword type="enum" name="enum GstLibraryError" link="gstreamer-GstGError.html#GstLibraryError"/>
     <keyword type="enum" name="enum GstResourceError" link="gstreamer-GstGError.html#GstResourceError"/>
@@ -618,9 +634,9 @@
     <keyword type="function" name="gst_event_writable_structure ()" link="gstreamer-GstEvent.html#gst-event-writable-structure"/>
     <keyword type="function" name="gst_event_new_custom ()" link="gstreamer-GstEvent.html#gst-event-new-custom"/>
     <keyword type="function" name="gst_event_get_structure ()" link="gstreamer-GstEvent.html#gst-event-get-structure"/>
-    <keyword type="function" name="gst_event_has_name ()" link="gstreamer-GstEvent.html#gst-event-has-name" since="0.10.20"/>
-    <keyword type="function" name="gst_event_get_seqnum ()" link="gstreamer-GstEvent.html#gst-event-get-seqnum" since="0.10.22"/>
-    <keyword type="function" name="gst_event_set_seqnum ()" link="gstreamer-GstEvent.html#gst-event-set-seqnum" since="0.10.22"/>
+    <keyword type="function" name="gst_event_has_name ()" link="gstreamer-GstEvent.html#gst-event-has-name"/>
+    <keyword type="function" name="gst_event_get_seqnum ()" link="gstreamer-GstEvent.html#gst-event-get-seqnum"/>
+    <keyword type="function" name="gst_event_set_seqnum ()" link="gstreamer-GstEvent.html#gst-event-set-seqnum"/>
     <keyword type="function" name="gst_event_new_flush_start ()" link="gstreamer-GstEvent.html#gst-event-new-flush-start"/>
     <keyword type="function" name="gst_event_new_flush_stop ()" link="gstreamer-GstEvent.html#gst-event-new-flush-stop"/>
     <keyword type="function" name="gst_event_parse_flush_stop ()" link="gstreamer-GstEvent.html#gst-event-parse-flush-stop"/>
@@ -628,6 +644,7 @@
     <keyword type="function" name="gst_event_new_gap ()" link="gstreamer-GstEvent.html#gst-event-new-gap"/>
     <keyword type="function" name="gst_event_parse_gap ()" link="gstreamer-GstEvent.html#gst-event-parse-gap"/>
     <keyword type="function" name="gst_event_new_stream_start ()" link="gstreamer-GstEvent.html#gst-event-new-stream-start"/>
+    <keyword type="function" name="gst_event_parse_stream_start ()" link="gstreamer-GstEvent.html#gst-event-parse-stream-start"/>
     <keyword type="function" name="gst_event_new_segment ()" link="gstreamer-GstEvent.html#gst-event-new-segment"/>
     <keyword type="function" name="gst_event_parse_segment ()" link="gstreamer-GstEvent.html#gst-event-parse-segment"/>
     <keyword type="function" name="gst_event_copy_segment ()" link="gstreamer-GstEvent.html#gst-event-copy-segment"/>
@@ -635,7 +652,7 @@
     <keyword type="function" name="gst_event_parse_tag ()" link="gstreamer-GstEvent.html#gst-event-parse-tag"/>
     <keyword type="function" name="gst_event_new_buffer_size ()" link="gstreamer-GstEvent.html#gst-event-new-buffer-size"/>
     <keyword type="function" name="gst_event_parse_buffer_size ()" link="gstreamer-GstEvent.html#gst-event-parse-buffer-size"/>
-    <keyword type="enum" name="enum GstQOSType" link="gstreamer-GstEvent.html#GstQOSType" since="0.10.33"/>
+    <keyword type="enum" name="enum GstQOSType" link="gstreamer-GstEvent.html#GstQOSType"/>
     <keyword type="function" name="gst_event_new_qos ()" link="gstreamer-GstEvent.html#gst-event-new-qos"/>
     <keyword type="function" name="gst_event_parse_qos ()" link="gstreamer-GstEvent.html#gst-event-parse-qos"/>
     <keyword type="enum" name="enum GstSeekType" link="gstreamer-GstEvent.html#GstSeekType"/>
@@ -643,13 +660,13 @@
     <keyword type="function" name="gst_event_new_seek ()" link="gstreamer-GstEvent.html#gst-event-new-seek"/>
     <keyword type="function" name="gst_event_parse_seek ()" link="gstreamer-GstEvent.html#gst-event-parse-seek"/>
     <keyword type="function" name="gst_event_new_navigation ()" link="gstreamer-GstEvent.html#gst-event-new-navigation"/>
-    <keyword type="function" name="gst_event_new_latency ()" link="gstreamer-GstEvent.html#gst-event-new-latency" since="0.10.12"/>
-    <keyword type="function" name="gst_event_parse_latency ()" link="gstreamer-GstEvent.html#gst-event-parse-latency" since="0.10.12"/>
-    <keyword type="function" name="gst_event_new_step ()" link="gstreamer-GstEvent.html#gst-event-new-step" since="0.10.24"/>
-    <keyword type="function" name="gst_event_parse_step ()" link="gstreamer-GstEvent.html#gst-event-parse-step" since="0.10.24"/>
-    <keyword type="function" name="gst_event_new_sink_message ()" link="gstreamer-GstEvent.html#gst-event-new-sink-message" since="0.10.26"/>
-    <keyword type="function" name="gst_event_parse_sink_message ()" link="gstreamer-GstEvent.html#gst-event-parse-sink-message" since="0.10.26"/>
-    <keyword type="function" name="gst_event_new_reconfigure ()" link="gstreamer-GstEvent.html#gst-event-new-reconfigure" since="0.11.0"/>
+    <keyword type="function" name="gst_event_new_latency ()" link="gstreamer-GstEvent.html#gst-event-new-latency"/>
+    <keyword type="function" name="gst_event_parse_latency ()" link="gstreamer-GstEvent.html#gst-event-parse-latency"/>
+    <keyword type="function" name="gst_event_new_step ()" link="gstreamer-GstEvent.html#gst-event-new-step"/>
+    <keyword type="function" name="gst_event_parse_step ()" link="gstreamer-GstEvent.html#gst-event-parse-step"/>
+    <keyword type="function" name="gst_event_new_sink_message ()" link="gstreamer-GstEvent.html#gst-event-new-sink-message"/>
+    <keyword type="function" name="gst_event_parse_sink_message ()" link="gstreamer-GstEvent.html#gst-event-parse-sink-message"/>
+    <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"/>
@@ -660,10 +677,12 @@
     <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" since="0.10.37"/>
-    <keyword type="function" name="gst_event_parse_toc ()" link="gstreamer-GstEvent.html#gst-event-parse-toc" since="0.10.37"/>
-    <keyword type="function" name="gst_event_new_toc_select ()" link="gstreamer-GstEvent.html#gst-event-new-toc-select" since="0.10.37"/>
-    <keyword type="function" name="gst_event_parse_toc_select ()" link="gstreamer-GstEvent.html#gst-event-parse-toc-select" since="0.10.37"/>
+    <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"/>
+    <keyword type="function" name="gst_event_parse_toc_select ()" link="gstreamer-GstEvent.html#gst-event-parse-toc-select"/>
+    <keyword type="function" name="gst_event_new_segment_done ()" link="gstreamer-GstEvent.html#gst-event-new-segment-done"/>
+    <keyword type="function" name="gst_event_parse_segment_done ()" link="gstreamer-GstEvent.html#gst-event-parse-segment-done"/>
     <keyword type="enum" name="enum GstFormat" link="gstreamer-GstFormat.html#GstFormat"/>
     <keyword type="macro" name="GST_FORMAT_PERCENT_MAX" link="gstreamer-GstFormat.html#GST-FORMAT-PERCENT-MAX:CAPS"/>
     <keyword type="macro" name="GST_FORMAT_PERCENT_SCALE" link="gstreamer-GstFormat.html#GST-FORMAT-PERCENT-SCALE:CAPS"/>
@@ -679,23 +698,18 @@
     <keyword type="struct" name="struct GstGhostPad" link="GstGhostPad.html#GstGhostPad-struct"/>
     <keyword type="function" name="gst_ghost_pad_new ()" link="GstGhostPad.html#gst-ghost-pad-new"/>
     <keyword type="function" name="gst_ghost_pad_new_no_target ()" link="GstGhostPad.html#gst-ghost-pad-new-no-target"/>
-    <keyword type="function" name="gst_ghost_pad_new_from_template ()" link="GstGhostPad.html#gst-ghost-pad-new-from-template" since="0.10.10"/>
-    <keyword type="function" name="gst_ghost_pad_new_no_target_from_template ()" link="GstGhostPad.html#gst-ghost-pad-new-no-target-from-template" since="0.10.10"/>
+    <keyword type="function" name="gst_ghost_pad_new_from_template ()" link="GstGhostPad.html#gst-ghost-pad-new-from-template"/>
+    <keyword type="function" name="gst_ghost_pad_new_no_target_from_template ()" link="GstGhostPad.html#gst-ghost-pad-new-no-target-from-template"/>
     <keyword type="function" name="gst_ghost_pad_set_target ()" link="GstGhostPad.html#gst-ghost-pad-set-target"/>
     <keyword type="function" name="gst_ghost_pad_get_target ()" link="GstGhostPad.html#gst-ghost-pad-get-target"/>
-    <keyword type="function" name="gst_ghost_pad_construct ()" link="GstGhostPad.html#gst-ghost-pad-construct" since="0.10.22"/>
-    <keyword type="function" name="gst_ghost_pad_unlink_default ()" link="GstGhostPad.html#gst-ghost-pad-unlink-default" since="0.10.36"/>
-    <keyword type="function" name="gst_ghost_pad_link_default ()" link="GstGhostPad.html#gst-ghost-pad-link-default" since="0.10.36"/>
+    <keyword type="function" name="gst_ghost_pad_construct ()" link="GstGhostPad.html#gst-ghost-pad-construct"/>
     <keyword type="function" name="gst_ghost_pad_activate_mode_default ()" link="GstGhostPad.html#gst-ghost-pad-activate-mode-default"/>
     <keyword type="function" name="gst_ghost_pad_internal_activate_mode_default ()" link="GstGhostPad.html#gst-ghost-pad-internal-activate-mode-default"/>
-    <keyword type="function" name="gst_proxy_pad_get_internal ()" link="GstGhostPad.html#gst-proxy-pad-get-internal" since="0.10.36"/>
-    <keyword type="function" name="gst_proxy_pad_event_default ()" link="GstGhostPad.html#gst-proxy-pad-event-default" since="0.10.36"/>
-    <keyword type="function" name="gst_proxy_pad_query_default ()" link="GstGhostPad.html#gst-proxy-pad-query-default" since="0.10.36"/>
-    <keyword type="function" name="gst_proxy_pad_iterate_internal_links_default ()" link="GstGhostPad.html#gst-proxy-pad-iterate-internal-links-default" since="0.10.36"/>
-    <keyword type="function" name="gst_proxy_pad_chain_default ()" link="GstGhostPad.html#gst-proxy-pad-chain-default" since="0.10.36"/>
-    <keyword type="function" name="gst_proxy_pad_chain_list_default ()" link="GstGhostPad.html#gst-proxy-pad-chain-list-default" since="0.10.36"/>
+    <keyword type="function" name="gst_proxy_pad_get_internal ()" link="GstGhostPad.html#gst-proxy-pad-get-internal"/>
+    <keyword type="function" name="gst_proxy_pad_iterate_internal_links_default ()" link="GstGhostPad.html#gst-proxy-pad-iterate-internal-links-default"/>
+    <keyword type="function" name="gst_proxy_pad_chain_default ()" link="GstGhostPad.html#gst-proxy-pad-chain-default"/>
+    <keyword type="function" name="gst_proxy_pad_chain_list_default ()" link="GstGhostPad.html#gst-proxy-pad-chain-list-default"/>
     <keyword type="function" name="gst_proxy_pad_getrange_default ()" link="GstGhostPad.html#gst-proxy-pad-getrange-default"/>
-    <keyword type="function" name="gst_proxy_pad_unlink_default ()" link="GstGhostPad.html#gst-proxy-pad-unlink-default" since="0.10.36"/>
     <keyword type="struct" name="struct GstIterator" link="gstreamer-GstIterator.html#GstIterator"/>
     <keyword type="enum" name="enum GstIteratorItem" link="gstreamer-GstIterator.html#GstIteratorItem"/>
     <keyword type="enum" name="enum GstIteratorResult" link="gstreamer-GstIterator.html#GstIteratorResult"/>
@@ -712,7 +726,7 @@
     <keyword type="macro" name="GST_ITERATOR_ORIG_COOKIE()" link="gstreamer-GstIterator.html#GST-ITERATOR-ORIG-COOKIE:CAPS"/>
     <keyword type="function" name="gst_iterator_new ()" link="gstreamer-GstIterator.html#gst-iterator-new"/>
     <keyword type="function" name="gst_iterator_new_list ()" link="gstreamer-GstIterator.html#gst-iterator-new-list"/>
-    <keyword type="function" name="gst_iterator_new_single ()" link="gstreamer-GstIterator.html#gst-iterator-new-single" since="0.10.25"/>
+    <keyword type="function" name="gst_iterator_new_single ()" link="gstreamer-GstIterator.html#gst-iterator-new-single"/>
     <keyword type="function" name="gst_iterator_copy ()" link="gstreamer-GstIterator.html#gst-iterator-copy"/>
     <keyword type="function" name="gst_iterator_free ()" link="gstreamer-GstIterator.html#gst-iterator-free"/>
     <keyword type="function" name="gst_iterator_next ()" link="gstreamer-GstIterator.html#gst-iterator-next"/>
@@ -727,41 +741,27 @@
     <keyword type="macro" name="GST_MEMORY_FLAG_IS_SET()" link="gstreamer-GstMemory.html#GST-MEMORY-FLAG-IS-SET:CAPS"/>
     <keyword type="macro" name="GST_MEMORY_FLAG_UNSET()" link="gstreamer-GstMemory.html#GST-MEMORY-FLAG-UNSET:CAPS"/>
     <keyword type="macro" name="GST_MEMORY_IS_READONLY()" link="gstreamer-GstMemory.html#GST-MEMORY-IS-READONLY:CAPS"/>
+    <keyword type="macro" name="GST_MEMORY_IS_NO_SHARE()" link="gstreamer-GstMemory.html#GST-MEMORY-IS-NO-SHARE:CAPS"/>
     <keyword type="macro" name="GST_MEMORY_IS_ZERO_PADDED()" link="gstreamer-GstMemory.html#GST-MEMORY-IS-ZERO-PADDED:CAPS"/>
     <keyword type="macro" name="GST_MEMORY_IS_ZERO_PREFIXED()" link="gstreamer-GstMemory.html#GST-MEMORY-IS-ZERO-PREFIXED:CAPS"/>
     <keyword type="struct" name="struct GstMemory" link="gstreamer-GstMemory.html#GstMemory"/>
     <keyword type="enum" name="enum GstMapFlags" link="gstreamer-GstMemory.html#GstMapFlags"/>
+    <keyword type="macro" name="GST_MAP_READWRITE" link="gstreamer-GstMemory.html#GST-MAP-READWRITE:CAPS"/>
     <keyword type="struct" name="GstMapInfo" link="gstreamer-GstMemory.html#GstMapInfo"/>
     <keyword type="macro" name="GST_MAP_INFO_INIT" link="gstreamer-GstMemory.html#GST-MAP-INFO-INIT:CAPS"/>
-    <keyword type="macro" name="GST_MAP_READWRITE" link="gstreamer-GstMemory.html#GST-MAP-READWRITE:CAPS"/>
-    <keyword type="struct" name="struct GstAllocationParams" link="gstreamer-GstMemory.html#GstAllocationParams"/>
-    <keyword type="function" name="GstAllocatorAllocFunction ()" link="gstreamer-GstMemory.html#GstAllocatorAllocFunction"/>
     <keyword type="function" name="GstMemoryMapFunction ()" link="gstreamer-GstMemory.html#GstMemoryMapFunction"/>
     <keyword type="function" name="GstMemoryUnmapFunction ()" link="gstreamer-GstMemory.html#GstMemoryUnmapFunction"/>
-    <keyword type="function" name="GstMemoryFreeFunction ()" link="gstreamer-GstMemory.html#GstMemoryFreeFunction"/>
     <keyword type="function" name="GstMemoryCopyFunction ()" link="gstreamer-GstMemory.html#GstMemoryCopyFunction"/>
     <keyword type="function" name="GstMemoryShareFunction ()" link="gstreamer-GstMemory.html#GstMemoryShareFunction"/>
     <keyword type="function" name="GstMemoryIsSpanFunction ()" link="gstreamer-GstMemory.html#GstMemoryIsSpanFunction"/>
-    <keyword type="struct" name="struct GstMemoryInfo" link="gstreamer-GstMemory.html#GstMemoryInfo"/>
-    <keyword type="struct" name="GstAllocator" link="gstreamer-GstMemory.html#GstAllocator"/>
-    <keyword type="function" name="gst_allocator_new ()" link="gstreamer-GstMemory.html#gst-allocator-new"/>
-    <keyword type="function" name="gst_allocator_get_memory_type ()" link="gstreamer-GstMemory.html#gst-allocator-get-memory-type"/>
-    <keyword type="function" name="gst_allocator_ref ()" link="gstreamer-GstMemory.html#gst-allocator-ref"/>
-    <keyword type="function" name="gst_allocator_unref ()" link="gstreamer-GstMemory.html#gst-allocator-unref"/>
-    <keyword type="macro" name="GST_ALLOCATOR_SYSMEM" link="gstreamer-GstMemory.html#GST-ALLOCATOR-SYSMEM:CAPS"/>
-    <keyword type="function" name="gst_allocator_find ()" link="gstreamer-GstMemory.html#gst-allocator-find"/>
-    <keyword type="function" name="gst_allocator_register ()" link="gstreamer-GstMemory.html#gst-allocator-register"/>
-    <keyword type="function" name="gst_allocator_set_default ()" link="gstreamer-GstMemory.html#gst-allocator-set-default"/>
-    <keyword type="function" name="gst_allocation_params_init ()" link="gstreamer-GstMemory.html#gst-allocation-params-init"/>
-    <keyword type="function" name="gst_allocation_params_copy ()" link="gstreamer-GstMemory.html#gst-allocation-params-copy"/>
-    <keyword type="function" name="gst_allocation_params_free ()" link="gstreamer-GstMemory.html#gst-allocation-params-free"/>
-    <keyword type="function" name="gst_allocator_alloc ()" link="gstreamer-GstMemory.html#gst-allocator-alloc"/>
-    <keyword type="function" name="gst_memory_new_wrapped ()" link="gstreamer-GstMemory.html#gst-memory-new-wrapped"/>
+    <keyword type="function" name="gst_memory_init ()" link="gstreamer-GstMemory.html#gst-memory-init"/>
     <keyword type="function" name="gst_memory_ref ()" link="gstreamer-GstMemory.html#gst-memory-ref"/>
     <keyword type="function" name="gst_memory_unref ()" link="gstreamer-GstMemory.html#gst-memory-unref"/>
-    <keyword type="function" name="gst_memory_is_exclusive ()" link="gstreamer-GstMemory.html#gst-memory-is-exclusive"/>
     <keyword type="function" name="gst_memory_get_sizes ()" link="gstreamer-GstMemory.html#gst-memory-get-sizes"/>
     <keyword type="function" name="gst_memory_resize ()" link="gstreamer-GstMemory.html#gst-memory-resize"/>
+    <keyword type="macro" name="gst_memory_lock()" link="gstreamer-GstMemory.html#gst-memory-lock"/>
+    <keyword type="macro" name="gst_memory_unlock()" link="gstreamer-GstMemory.html#gst-memory-unlock"/>
+    <keyword type="macro" name="gst_memory_is_writable()" link="gstreamer-GstMemory.html#gst-memory-is-writable"/>
     <keyword type="function" name="gst_memory_make_mapped ()" link="gstreamer-GstMemory.html#gst-memory-make-mapped"/>
     <keyword type="function" name="gst_memory_map ()" link="gstreamer-GstMemory.html#gst-memory-map"/>
     <keyword type="function" name="gst_memory_unmap ()" link="gstreamer-GstMemory.html#gst-memory-unmap"/>
@@ -771,11 +771,11 @@
     <keyword type="struct" name="struct GstMessage" link="gstreamer-GstMessage.html#GstMessage"/>
     <keyword type="enum" name="enum GstMessageType" link="gstreamer-GstMessage.html#GstMessageType"/>
     <keyword type="macro" name="GST_MESSAGE_SRC()" link="gstreamer-GstMessage.html#GST-MESSAGE-SRC:CAPS"/>
-    <keyword type="macro" name="GST_MESSAGE_SRC_NAME()" link="gstreamer-GstMessage.html#GST-MESSAGE-SRC-NAME:CAPS" since="0.10.24"/>
+    <keyword type="macro" name="GST_MESSAGE_SRC_NAME()" link="gstreamer-GstMessage.html#GST-MESSAGE-SRC-NAME:CAPS"/>
     <keyword type="macro" name="GST_MESSAGE_TIMESTAMP()" link="gstreamer-GstMessage.html#GST-MESSAGE-TIMESTAMP:CAPS"/>
     <keyword type="macro" name="GST_MESSAGE_SEQNUM()" link="gstreamer-GstMessage.html#GST-MESSAGE-SEQNUM:CAPS"/>
     <keyword type="macro" name="GST_MESSAGE_TYPE()" link="gstreamer-GstMessage.html#GST-MESSAGE-TYPE:CAPS"/>
-    <keyword type="macro" name="GST_MESSAGE_TYPE_NAME()" link="gstreamer-GstMessage.html#GST-MESSAGE-TYPE-NAME:CAPS" since="0.10.4"/>
+    <keyword type="macro" name="GST_MESSAGE_TYPE_NAME()" link="gstreamer-GstMessage.html#GST-MESSAGE-TYPE-NAME:CAPS"/>
     <keyword type="function" name="gst_message_type_to_quark ()" link="gstreamer-GstMessage.html#gst-message-type-to-quark"/>
     <keyword type="function" name="gst_message_type_get_name ()" link="gstreamer-GstMessage.html#gst-message-type-get-name"/>
     <keyword type="function" name="gst_message_ref ()" link="gstreamer-GstMessage.html#gst-message-ref"/>
@@ -783,9 +783,9 @@
     <keyword type="function" name="gst_message_copy ()" link="gstreamer-GstMessage.html#gst-message-copy"/>
     <keyword type="function" name="gst_message_get_structure ()" link="gstreamer-GstMessage.html#gst-message-get-structure"/>
     <keyword type="macro" name="gst_message_make_writable()" link="gstreamer-GstMessage.html#gst-message-make-writable"/>
-    <keyword type="function" name="gst_message_get_seqnum ()" link="gstreamer-GstMessage.html#gst-message-get-seqnum" since="0.10.22"/>
-    <keyword type="function" name="gst_message_set_seqnum ()" link="gstreamer-GstMessage.html#gst-message-set-seqnum" since="0.10.22"/>
-    <keyword type="function" name="gst_message_has_name ()" link="gstreamer-GstMessage.html#gst-message-has-name" since="0.10.20"/>
+    <keyword type="function" name="gst_message_get_seqnum ()" link="gstreamer-GstMessage.html#gst-message-get-seqnum"/>
+    <keyword type="function" name="gst_message_set_seqnum ()" link="gstreamer-GstMessage.html#gst-message-set-seqnum"/>
+    <keyword type="function" name="gst_message_has_name ()" link="gstreamer-GstMessage.html#gst-message-has-name"/>
     <keyword type="macro" name="gst_message_is_writable()" link="gstreamer-GstMessage.html#gst-message-is-writable"/>
     <keyword type="function" name="gst_message_replace ()" link="gstreamer-GstMessage.html#gst-message-replace"/>
     <keyword type="function" name="gst_message_new_eos ()" link="gstreamer-GstMessage.html#gst-message-new-eos"/>
@@ -793,19 +793,19 @@
     <keyword type="function" name="gst_message_parse_error ()" link="gstreamer-GstMessage.html#gst-message-parse-error"/>
     <keyword type="function" name="gst_message_new_warning ()" link="gstreamer-GstMessage.html#gst-message-new-warning"/>
     <keyword type="function" name="gst_message_parse_warning ()" link="gstreamer-GstMessage.html#gst-message-parse-warning"/>
-    <keyword type="function" name="gst_message_new_info ()" link="gstreamer-GstMessage.html#gst-message-new-info" since="0.10.12"/>
-    <keyword type="function" name="gst_message_parse_info ()" link="gstreamer-GstMessage.html#gst-message-parse-info" since="0.10.12"/>
+    <keyword type="function" name="gst_message_new_info ()" link="gstreamer-GstMessage.html#gst-message-new-info"/>
+    <keyword type="function" name="gst_message_parse_info ()" link="gstreamer-GstMessage.html#gst-message-parse-info"/>
     <keyword type="function" name="gst_message_new_tag ()" link="gstreamer-GstMessage.html#gst-message-new-tag"/>
     <keyword type="function" name="gst_message_parse_tag ()" link="gstreamer-GstMessage.html#gst-message-parse-tag"/>
-    <keyword type="function" name="gst_message_new_buffering ()" link="gstreamer-GstMessage.html#gst-message-new-buffering" since="0.10.11"/>
-    <keyword type="function" name="gst_message_parse_buffering ()" link="gstreamer-GstMessage.html#gst-message-parse-buffering" since="0.10.11"/>
-    <keyword type="function" name="gst_message_set_buffering_stats ()" link="gstreamer-GstMessage.html#gst-message-set-buffering-stats" since="0.10.20"/>
-    <keyword type="function" name="gst_message_parse_buffering_stats ()" link="gstreamer-GstMessage.html#gst-message-parse-buffering-stats" since="0.10.20"/>
+    <keyword type="function" name="gst_message_new_buffering ()" link="gstreamer-GstMessage.html#gst-message-new-buffering"/>
+    <keyword type="function" name="gst_message_parse_buffering ()" link="gstreamer-GstMessage.html#gst-message-parse-buffering"/>
+    <keyword type="function" name="gst_message_set_buffering_stats ()" link="gstreamer-GstMessage.html#gst-message-set-buffering-stats"/>
+    <keyword type="function" name="gst_message_parse_buffering_stats ()" link="gstreamer-GstMessage.html#gst-message-parse-buffering-stats"/>
     <keyword type="function" name="gst_message_new_state_changed ()" link="gstreamer-GstMessage.html#gst-message-new-state-changed"/>
     <keyword type="function" name="gst_message_parse_state_changed ()" link="gstreamer-GstMessage.html#gst-message-parse-state-changed"/>
     <keyword type="function" name="gst_message_new_state_dirty ()" link="gstreamer-GstMessage.html#gst-message-new-state-dirty"/>
-    <keyword type="function" name="gst_message_new_step_done ()" link="gstreamer-GstMessage.html#gst-message-new-step-done" since="0.10.24"/>
-    <keyword type="function" name="gst_message_parse_step_done ()" link="gstreamer-GstMessage.html#gst-message-parse-step-done" since="0.10.24"/>
+    <keyword type="function" name="gst_message_new_step_done ()" link="gstreamer-GstMessage.html#gst-message-new-step-done"/>
+    <keyword type="function" name="gst_message_parse_step_done ()" link="gstreamer-GstMessage.html#gst-message-parse-step-done"/>
     <keyword type="function" name="gst_message_new_clock_provide ()" link="gstreamer-GstMessage.html#gst-message-new-clock-provide"/>
     <keyword type="function" name="gst_message_parse_clock_provide ()" link="gstreamer-GstMessage.html#gst-message-parse-clock-provide"/>
     <keyword type="function" name="gst_message_new_clock_lost ()" link="gstreamer-GstMessage.html#gst-message-new-clock-lost"/>
@@ -821,33 +821,35 @@
     <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_latency ()" link="gstreamer-GstMessage.html#gst-message-new-latency" since="0.10.12"/>
+    <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"/>
     <keyword type="function" name="gst_message_parse_async_done ()" link="gstreamer-GstMessage.html#gst-message-parse-async-done"/>
-    <keyword type="function" name="gst_message_new_step_start ()" link="gstreamer-GstMessage.html#gst-message-new-step-start" since="0.10.24"/>
-    <keyword type="function" name="gst_message_parse_step_start ()" link="gstreamer-GstMessage.html#gst-message-parse-step-start" since="0.10.24"/>
-    <keyword type="function" name="gst_message_new_qos ()" link="gstreamer-GstMessage.html#gst-message-new-qos" since="0.10.29"/>
-    <keyword type="function" name="gst_message_set_qos_values ()" link="gstreamer-GstMessage.html#gst-message-set-qos-values" since="0.10.29"/>
-    <keyword type="function" name="gst_message_set_qos_stats ()" link="gstreamer-GstMessage.html#gst-message-set-qos-stats" since="0.10.29"/>
-    <keyword type="function" name="gst_message_parse_qos ()" link="gstreamer-GstMessage.html#gst-message-parse-qos" since="0.10.29"/>
-    <keyword type="function" name="gst_message_parse_qos_values ()" link="gstreamer-GstMessage.html#gst-message-parse-qos-values" since="0.10.29"/>
-    <keyword type="function" name="gst_message_parse_qos_stats ()" link="gstreamer-GstMessage.html#gst-message-parse-qos-stats" since="0.10.29"/>
-    <keyword type="function" name="gst_message_new_toc ()" link="gstreamer-GstMessage.html#gst-message-new-toc" since="0.10.37"/>
-    <keyword type="function" name="gst_message_parse_toc ()" link="gstreamer-GstMessage.html#gst-message-parse-toc" since="0.10.37"/>
-    <keyword type="enum" name="enum GstStructureChangeType" link="gstreamer-GstMessage.html#GstStructureChangeType" since="0.10.22"/>
-    <keyword type="function" name="gst_message_new_structure_change ()" link="gstreamer-GstMessage.html#gst-message-new-structure-change" since="0.10.22."/>
-    <keyword type="function" name="gst_message_parse_structure_change ()" link="gstreamer-GstMessage.html#gst-message-parse-structure-change" since="0.10.22"/>
-    <keyword type="function" name="gst_message_new_request_state ()" link="gstreamer-GstMessage.html#gst-message-new-request-state" since="0.10.23"/>
-    <keyword type="function" name="gst_message_parse_request_state ()" link="gstreamer-GstMessage.html#gst-message-parse-request-state" since="0.10.23"/>
-    <keyword type="enum" name="enum GstStreamStatusType" link="gstreamer-GstMessage.html#GstStreamStatusType" since="0.10.24"/>
-    <keyword type="function" name="gst_message_new_stream_status ()" link="gstreamer-GstMessage.html#gst-message-new-stream-status" since="0.10.24."/>
-    <keyword type="function" name="gst_message_parse_stream_status ()" link="gstreamer-GstMessage.html#gst-message-parse-stream-status" since="0.10.24."/>
-    <keyword type="function" name="gst_message_set_stream_status_object ()" link="gstreamer-GstMessage.html#gst-message-set-stream-status-object" since="0.10.24"/>
-    <keyword type="function" name="gst_message_get_stream_status_object ()" link="gstreamer-GstMessage.html#gst-message-get-stream-status-object" since="0.10.24"/>
-    <keyword type="enum" name="enum GstProgressType" link="gstreamer-GstMessage.html#GstProgressType" since="0.10.33"/>
-    <keyword type="function" name="gst_message_new_progress ()" link="gstreamer-GstMessage.html#gst-message-new-progress" since="0.10.33"/>
-    <keyword type="function" name="gst_message_parse_progress ()" link="gstreamer-GstMessage.html#gst-message-parse-progress" since="0.10.33"/>
+    <keyword type="function" name="gst_message_new_step_start ()" link="gstreamer-GstMessage.html#gst-message-new-step-start"/>
+    <keyword type="function" name="gst_message_parse_step_start ()" link="gstreamer-GstMessage.html#gst-message-parse-step-start"/>
+    <keyword type="function" name="gst_message_new_qos ()" link="gstreamer-GstMessage.html#gst-message-new-qos"/>
+    <keyword type="function" name="gst_message_set_qos_values ()" link="gstreamer-GstMessage.html#gst-message-set-qos-values"/>
+    <keyword type="function" name="gst_message_set_qos_stats ()" link="gstreamer-GstMessage.html#gst-message-set-qos-stats"/>
+    <keyword type="function" name="gst_message_parse_qos ()" link="gstreamer-GstMessage.html#gst-message-parse-qos"/>
+    <keyword type="function" name="gst_message_parse_qos_values ()" link="gstreamer-GstMessage.html#gst-message-parse-qos-values"/>
+    <keyword type="function" name="gst_message_parse_qos_stats ()" link="gstreamer-GstMessage.html#gst-message-parse-qos-stats"/>
+    <keyword type="function" name="gst_message_new_toc ()" link="gstreamer-GstMessage.html#gst-message-new-toc"/>
+    <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="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"/>
+    <keyword type="function" name="gst_message_new_request_state ()" link="gstreamer-GstMessage.html#gst-message-new-request-state"/>
+    <keyword type="function" name="gst_message_parse_request_state ()" link="gstreamer-GstMessage.html#gst-message-parse-request-state"/>
+    <keyword type="enum" name="enum GstStreamStatusType" link="gstreamer-GstMessage.html#GstStreamStatusType"/>
+    <keyword type="function" name="gst_message_new_stream_status ()" link="gstreamer-GstMessage.html#gst-message-new-stream-status"/>
+    <keyword type="function" name="gst_message_parse_stream_status ()" link="gstreamer-GstMessage.html#gst-message-parse-stream-status"/>
+    <keyword type="function" name="gst_message_set_stream_status_object ()" link="gstreamer-GstMessage.html#gst-message-set-stream-status-object"/>
+    <keyword type="function" name="gst_message_get_stream_status_object ()" link="gstreamer-GstMessage.html#gst-message-get-stream-status-object"/>
+    <keyword type="enum" name="enum GstProgressType" link="gstreamer-GstMessage.html#GstProgressType"/>
+    <keyword type="function" name="gst_message_new_progress ()" link="gstreamer-GstMessage.html#gst-message-new-progress"/>
+    <keyword type="function" name="gst_message_parse_progress ()" link="gstreamer-GstMessage.html#gst-message-parse-progress"/>
     <keyword type="struct" name="struct GstMeta" link="gstreamer-GstMeta.html#GstMeta"/>
     <keyword type="enum" name="enum GstMetaFlags" link="gstreamer-GstMeta.html#GstMetaFlags"/>
     <keyword type="macro" name="GST_META_FLAGS()" link="gstreamer-GstMeta.html#GST-META-FLAGS:CAPS"/>
@@ -866,32 +868,39 @@
     <keyword type="function" name="gst_meta_register ()" link="gstreamer-GstMeta.html#gst-meta-register"/>
     <keyword type="function" name="gst_meta_get_info ()" link="gstreamer-GstMeta.html#gst-meta-get-info"/>
     <keyword type="struct" name="struct GstMiniObject" link="gstreamer-GstMiniObject.html#GstMiniObject"/>
-    <keyword type="enum" name="enum GstMiniObjectFlags" link="gstreamer-GstMiniObject.html#GstMiniObjectFlags"/>
     <keyword type="function" name="GstMiniObjectCopyFunction ()" link="gstreamer-GstMiniObject.html#GstMiniObjectCopyFunction"/>
     <keyword type="function" name="GstMiniObjectDisposeFunction ()" link="gstreamer-GstMiniObject.html#GstMiniObjectDisposeFunction"/>
     <keyword type="function" name="GstMiniObjectFreeFunction ()" link="gstreamer-GstMiniObject.html#GstMiniObjectFreeFunction"/>
-    <keyword type="function" name="GstMiniObjectWeakNotify ()" link="gstreamer-GstMiniObject.html#GstMiniObjectWeakNotify" since="0.10.35"/>
+    <keyword type="function" name="GstMiniObjectNotify ()" link="gstreamer-GstMiniObject.html#GstMiniObjectNotify"/>
     <keyword type="macro" name="GST_MINI_OBJECT_TYPE()" link="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-TYPE:CAPS"/>
+    <keyword type="enum" name="enum GstMiniObjectFlags" link="gstreamer-GstMiniObject.html#GstMiniObjectFlags"/>
     <keyword type="macro" name="GST_MINI_OBJECT_FLAGS()" link="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAGS:CAPS"/>
     <keyword type="macro" name="GST_MINI_OBJECT_FLAG_IS_SET()" link="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAG-IS-SET:CAPS"/>
     <keyword type="macro" name="GST_MINI_OBJECT_FLAG_SET()" link="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAG-SET:CAPS"/>
     <keyword type="macro" name="GST_MINI_OBJECT_FLAG_UNSET()" link="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAG-UNSET:CAPS"/>
+    <keyword type="macro" name="GST_MINI_OBJECT_IS_LOCKABLE()" link="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-IS-LOCKABLE:CAPS"/>
+    <keyword type="enum" name="enum GstLockFlags" link="gstreamer-GstMiniObject.html#GstLockFlags"/>
+    <keyword type="macro" name="GST_LOCK_FLAG_READWRITE" link="gstreamer-GstMiniObject.html#GST-LOCK-FLAG-READWRITE:CAPS"/>
     <keyword type="macro" name="GST_MINI_OBJECT_REFCOUNT()" link="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-REFCOUNT:CAPS"/>
     <keyword type="macro" name="GST_MINI_OBJECT_REFCOUNT_VALUE()" link="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-REFCOUNT-VALUE:CAPS"/>
-    <keyword type="macro" name="GST_MINI_OBJECT_SIZE()" link="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-SIZE:CAPS"/>
     <keyword type="macro" name="GST_DEFINE_MINI_OBJECT_TYPE()" link="gstreamer-GstMiniObject.html#GST-DEFINE-MINI-OBJECT-TYPE:CAPS"/>
     <keyword type="function" name="gst_mini_object_init ()" link="gstreamer-GstMiniObject.html#gst-mini-object-init"/>
-    <keyword type="function" name="gst_mini_object_copy ()" link="gstreamer-GstMiniObject.html#gst-mini-object-copy"/>
-    <keyword type="function" name="gst_mini_object_is_writable ()" link="gstreamer-GstMiniObject.html#gst-mini-object-is-writable"/>
-    <keyword type="function" name="gst_mini_object_make_writable ()" link="gstreamer-GstMiniObject.html#gst-mini-object-make-writable"/>
     <keyword type="function" name="gst_mini_object_ref ()" link="gstreamer-GstMiniObject.html#gst-mini-object-ref"/>
     <keyword type="function" name="gst_mini_object_unref ()" link="gstreamer-GstMiniObject.html#gst-mini-object-unref"/>
-    <keyword type="function" name="gst_mini_object_weak_ref ()" link="gstreamer-GstMiniObject.html#gst-mini-object-weak-ref" since="0.10.35"/>
-    <keyword type="function" name="gst_mini_object_weak_unref ()" link="gstreamer-GstMiniObject.html#gst-mini-object-weak-unref" since="0.10.35"/>
+    <keyword type="function" name="gst_mini_object_weak_ref ()" link="gstreamer-GstMiniObject.html#gst-mini-object-weak-ref"/>
+    <keyword type="function" name="gst_mini_object_weak_unref ()" link="gstreamer-GstMiniObject.html#gst-mini-object-weak-unref"/>
+    <keyword type="function" name="gst_mini_object_lock ()" link="gstreamer-GstMiniObject.html#gst-mini-object-lock"/>
+    <keyword type="function" name="gst_mini_object_unlock ()" link="gstreamer-GstMiniObject.html#gst-mini-object-unlock"/>
+    <keyword type="function" name="gst_mini_object_is_writable ()" link="gstreamer-GstMiniObject.html#gst-mini-object-is-writable"/>
+    <keyword type="function" name="gst_mini_object_make_writable ()" link="gstreamer-GstMiniObject.html#gst-mini-object-make-writable"/>
+    <keyword type="function" name="gst_mini_object_copy ()" link="gstreamer-GstMiniObject.html#gst-mini-object-copy"/>
+    <keyword type="function" name="gst_mini_object_set_qdata ()" link="gstreamer-GstMiniObject.html#gst-mini-object-set-qdata"/>
+    <keyword type="function" name="gst_mini_object_get_qdata ()" link="gstreamer-GstMiniObject.html#gst-mini-object-get-qdata"/>
+    <keyword type="function" name="gst_mini_object_steal_qdata ()" link="gstreamer-GstMiniObject.html#gst-mini-object-steal-qdata"/>
     <keyword type="function" name="gst_mini_object_replace ()" link="gstreamer-GstMiniObject.html#gst-mini-object-replace"/>
-    <keyword type="function" name="gst_mini_object_steal ()" link="gstreamer-GstMiniObject.html#gst-mini-object-steal"/>
     <keyword type="function" name="gst_mini_object_take ()" link="gstreamer-GstMiniObject.html#gst-mini-object-take"/>
-    <keyword type="" name="controlled properties" link="GstObject.html#idp27569216"/>
+    <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="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"/>
@@ -943,8 +952,8 @@
     <keyword type="enum" name="enum GstPadLinkReturn" link="GstPad.html#GstPadLinkReturn"/>
     <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" since="0.10.30"/>
-    <keyword type="macro" name="GST_PAD_LINK_CHECK_DEFAULT" link="GstPad.html#GST-PAD-LINK-CHECK-DEFAULT:CAPS" since="0.10.30"/>
+    <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="enum" name="enum GstPadMode" link="GstPad.html#GstPadMode"/>
     <keyword type="macro" name="gst_pad_get_name()" link="GstPad.html#gst-pad-get-name"/>
@@ -953,14 +962,13 @@
     <keyword type="function" name="gst_pad_get_parent_element ()" link="GstPad.html#gst-pad-get-parent-element"/>
     <keyword type="function" name="gst_pad_get_pad_template ()" link="GstPad.html#gst-pad-get-pad-template"/>
     <keyword type="function" name="gst_pad_link ()" link="GstPad.html#gst-pad-link"/>
-    <keyword type="function" name="gst_pad_link_full ()" link="GstPad.html#gst-pad-link-full" since="0.10.30"/>
+    <keyword type="function" name="gst_pad_link_full ()" link="GstPad.html#gst-pad-link-full"/>
     <keyword type="function" name="gst_pad_unlink ()" link="GstPad.html#gst-pad-unlink"/>
     <keyword type="function" name="gst_pad_is_linked ()" link="GstPad.html#gst-pad-is-linked"/>
     <keyword type="function" name="gst_pad_can_link ()" link="GstPad.html#gst-pad-can-link"/>
     <keyword type="function" name="gst_pad_get_allowed_caps ()" link="GstPad.html#gst-pad-get-allowed-caps"/>
     <keyword type="function" name="gst_pad_get_current_caps ()" link="GstPad.html#gst-pad-get-current-caps"/>
     <keyword type="function" name="gst_pad_get_pad_template_caps ()" link="GstPad.html#gst-pad-get-pad-template-caps"/>
-    <keyword type="function" name="gst_pad_set_caps ()" link="GstPad.html#gst-pad-set-caps"/>
     <keyword type="function" name="gst_pad_get_peer ()" link="GstPad.html#gst-pad-get-peer"/>
     <keyword type="function" name="gst_pad_use_fixed_caps ()" link="GstPad.html#gst-pad-use-fixed-caps"/>
     <keyword type="function" name="gst_pad_has_current_caps ()" link="GstPad.html#gst-pad-has-current-caps"/>
@@ -994,7 +1002,7 @@
     <keyword type="function" name="gst_pad_add_probe ()" link="GstPad.html#gst-pad-add-probe"/>
     <keyword type="function" name="gst_pad_remove_probe ()" link="GstPad.html#gst-pad-remove-probe"/>
     <keyword type="function" name="gst_pad_is_blocked ()" link="GstPad.html#gst-pad-is-blocked"/>
-    <keyword type="function" name="gst_pad_is_blocking ()" link="GstPad.html#gst-pad-is-blocking" since="0.10.11"/>
+    <keyword type="function" name="gst_pad_is_blocking ()" link="GstPad.html#gst-pad-is-blocking"/>
     <keyword type="function" name="gst_pad_get_offset ()" link="GstPad.html#gst-pad-get-offset"/>
     <keyword type="function" name="gst_pad_set_offset ()" link="GstPad.html#gst-pad-set-offset"/>
     <keyword type="function" name="gst_pad_new ()" link="GstPad.html#gst-pad-new"/>
@@ -1004,7 +1012,7 @@
     <keyword type="function" name="gst_pad_set_chain_function_full ()" link="GstPad.html#gst-pad-set-chain-function-full"/>
     <keyword type="function" name="GstPadChainFunction ()" link="GstPad.html#GstPadChainFunction"/>
     <keyword type="macro" name="gst_pad_set_chain_list_function()" link="GstPad.html#gst-pad-set-chain-list-function"/>
-    <keyword type="function" name="gst_pad_set_chain_list_function_full ()" link="GstPad.html#gst-pad-set-chain-list-function-full" since="0.10.24"/>
+    <keyword type="function" name="gst_pad_set_chain_list_function_full ()" link="GstPad.html#gst-pad-set-chain-list-function-full"/>
     <keyword type="function" name="GstPadChainListFunction ()" link="GstPad.html#GstPadChainListFunction"/>
     <keyword type="function" name="gst_pad_get_range ()" link="GstPad.html#gst-pad-get-range"/>
     <keyword type="macro" name="gst_pad_set_getrange_function()" link="GstPad.html#gst-pad-set-getrange-function"/>
@@ -1031,13 +1039,13 @@
     <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"/>
     <keyword type="function" name="gst_pad_push_event ()" link="GstPad.html#gst-pad-push-event"/>
-    <keyword type="function" name="gst_pad_push_list ()" link="GstPad.html#gst-pad-push-list" since="0.10.24"/>
+    <keyword type="function" name="gst_pad_push_list ()" link="GstPad.html#gst-pad-push-list"/>
     <keyword type="function" name="gst_pad_pull_range ()" link="GstPad.html#gst-pad-pull-range"/>
     <keyword type="function" name="gst_pad_activate_mode ()" link="GstPad.html#gst-pad-activate-mode"/>
     <keyword type="function" name="gst_pad_send_event ()" link="GstPad.html#gst-pad-send-event"/>
     <keyword type="function" name="gst_pad_event_default ()" link="GstPad.html#gst-pad-event-default"/>
     <keyword type="function" name="gst_pad_query ()" link="GstPad.html#gst-pad-query"/>
-    <keyword type="function" name="gst_pad_peer_query ()" link="GstPad.html#gst-pad-peer-query" since="0.10.15"/>
+    <keyword type="function" name="gst_pad_peer_query ()" link="GstPad.html#gst-pad-peer-query"/>
     <keyword type="function" name="gst_pad_query_default ()" link="GstPad.html#gst-pad-query-default"/>
     <keyword type="function" name="gst_pad_query_position ()" link="GstPad.html#gst-pad-query-position"/>
     <keyword type="function" name="gst_pad_query_duration ()" link="GstPad.html#gst-pad-query-duration"/>
@@ -1053,16 +1061,17 @@
     <keyword type="function" name="gst_pad_set_query_function_full ()" link="GstPad.html#gst-pad-set-query-function-full"/>
     <keyword type="function" name="GstPadQueryFunction ()" link="GstPad.html#GstPadQueryFunction"/>
     <keyword type="macro" name="gst_pad_set_iterate_internal_links_function()" link="GstPad.html#gst-pad-set-iterate-internal-links-function"/>
-    <keyword type="function" name="gst_pad_set_iterate_internal_links_function_full ()" link="GstPad.html#gst-pad-set-iterate-internal-links-function-full" since="0.10.21"/>
+    <keyword type="function" name="gst_pad_set_iterate_internal_links_function_full ()" link="GstPad.html#gst-pad-set-iterate-internal-links-function-full"/>
     <keyword type="function" name="GstPadIterIntLinkFunction ()" link="GstPad.html#GstPadIterIntLinkFunction"/>
-    <keyword type="function" name="gst_pad_iterate_internal_links ()" link="GstPad.html#gst-pad-iterate-internal-links" since="0.10.21"/>
-    <keyword type="function" name="gst_pad_iterate_internal_links_default ()" link="GstPad.html#gst-pad-iterate-internal-links-default" since="0.10.21"/>
+    <keyword type="function" name="gst_pad_iterate_internal_links ()" link="GstPad.html#gst-pad-iterate-internal-links"/>
+    <keyword type="function" name="gst_pad_iterate_internal_links_default ()" link="GstPad.html#gst-pad-iterate-internal-links-default"/>
     <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="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"/>
-    <keyword type="function" name="gst_pad_chain_list ()" link="GstPad.html#gst-pad-chain-list" since="0.10.24"/>
+    <keyword type="function" name="gst_pad_chain_list ()" link="GstPad.html#gst-pad-chain-list"/>
     <keyword type="function" name="gst_pad_start_task ()" link="GstPad.html#gst-pad-start-task"/>
     <keyword type="function" name="gst_pad_pause_task ()" link="GstPad.html#gst-pad-pause-task"/>
     <keyword type="function" name="gst_pad_stop_task ()" link="GstPad.html#gst-pad-stop-task"/>
@@ -1097,25 +1106,25 @@
     <keyword type="signal" name="The &quot;pad-created&quot; signal" link="GstPadTemplate.html#GstPadTemplate-pad-created"/>
     <keyword type="macro" name="GST_PARAM_CONTROLLABLE" link="gstreamer-GstParamSpec.html#GST-PARAM-CONTROLLABLE:CAPS"/>
     <keyword type="macro" name="GST_PARAM_USER_SHIFT" link="gstreamer-GstParamSpec.html#GST-PARAM-USER-SHIFT:CAPS"/>
-    <keyword type="macro" name="GST_PARAM_MUTABLE_PAUSED" link="gstreamer-GstParamSpec.html#GST-PARAM-MUTABLE-PAUSED:CAPS" since="0.10.23"/>
-    <keyword type="macro" name="GST_PARAM_MUTABLE_PLAYING" link="gstreamer-GstParamSpec.html#GST-PARAM-MUTABLE-PLAYING:CAPS" since="0.10.23"/>
-    <keyword type="macro" name="GST_PARAM_MUTABLE_READY" link="gstreamer-GstParamSpec.html#GST-PARAM-MUTABLE-READY:CAPS" since="0.10.23"/>
+    <keyword type="macro" name="GST_PARAM_MUTABLE_PAUSED" link="gstreamer-GstParamSpec.html#GST-PARAM-MUTABLE-PAUSED:CAPS"/>
+    <keyword type="macro" name="GST_PARAM_MUTABLE_PLAYING" link="gstreamer-GstParamSpec.html#GST-PARAM-MUTABLE-PLAYING:CAPS"/>
+    <keyword type="macro" name="GST_PARAM_MUTABLE_READY" link="gstreamer-GstParamSpec.html#GST-PARAM-MUTABLE-READY:CAPS"/>
     <keyword type="struct" name="struct GstParamSpecFraction" link="gstreamer-GstParamSpec.html#GstParamSpecFraction"/>
-    <keyword type="function" name="gst_param_spec_fraction ()" link="gstreamer-GstParamSpec.html#gst-param-spec-fraction" since="0.10.14"/>
+    <keyword type="function" name="gst_param_spec_fraction ()" link="gstreamer-GstParamSpec.html#gst-param-spec-fraction"/>
     <keyword type="function" name="gst_parse_error_quark ()" link="gstreamer-GstParse.html#gst-parse-error-quark"/>
     <keyword type="macro" name="GST_PARSE_ERROR" link="gstreamer-GstParse.html#GST-PARSE-ERROR:CAPS"/>
     <keyword type="enum" name="enum GstParseError" link="gstreamer-GstParse.html#GstParseError"/>
-    <keyword type="struct" name="GstParseContext" link="gstreamer-GstParse.html#GstParseContext" since="0.10.20"/>
-    <keyword type="enum" name="enum GstParseFlags" link="gstreamer-GstParse.html#GstParseFlags" since="0.10.20"/>
+    <keyword type="struct" name="GstParseContext" link="gstreamer-GstParse.html#GstParseContext"/>
+    <keyword type="enum" name="enum GstParseFlags" link="gstreamer-GstParse.html#GstParseFlags"/>
     <keyword type="function" name="gst_parse_launch ()" link="gstreamer-GstParse.html#gst-parse-launch"/>
-    <keyword type="function" name="gst_parse_launch_full ()" link="gstreamer-GstParse.html#gst-parse-launch-full" since="0.10.20"/>
+    <keyword type="function" name="gst_parse_launch_full ()" link="gstreamer-GstParse.html#gst-parse-launch-full"/>
     <keyword type="function" name="gst_parse_launchv ()" link="gstreamer-GstParse.html#gst-parse-launchv"/>
-    <keyword type="function" name="gst_parse_launchv_full ()" link="gstreamer-GstParse.html#gst-parse-launchv-full" since="0.10.20"/>
-    <keyword type="function" name="gst_parse_bin_from_description ()" link="gstreamer-GstParse.html#gst-parse-bin-from-description" since="0.10.3"/>
-    <keyword type="function" name="gst_parse_bin_from_description_full ()" link="gstreamer-GstParse.html#gst-parse-bin-from-description-full" since="0.10.20"/>
-    <keyword type="function" name="gst_parse_context_new ()" link="gstreamer-GstParse.html#gst-parse-context-new" since="0.10.20"/>
-    <keyword type="function" name="gst_parse_context_free ()" link="gstreamer-GstParse.html#gst-parse-context-free" since="0.10.20"/>
-    <keyword type="function" name="gst_parse_context_get_missing_elements ()" link="gstreamer-GstParse.html#gst-parse-context-get-missing-elements" since="0.10.20"/>
+    <keyword type="function" name="gst_parse_launchv_full ()" link="gstreamer-GstParse.html#gst-parse-launchv-full"/>
+    <keyword type="function" name="gst_parse_bin_from_description ()" link="gstreamer-GstParse.html#gst-parse-bin-from-description"/>
+    <keyword type="function" name="gst_parse_bin_from_description_full ()" link="gstreamer-GstParse.html#gst-parse-bin-from-description-full"/>
+    <keyword type="function" name="gst_parse_context_new ()" link="gstreamer-GstParse.html#gst-parse-context-new"/>
+    <keyword type="function" name="gst_parse_context_free ()" link="gstreamer-GstParse.html#gst-parse-context-free"/>
+    <keyword type="function" name="gst_parse_context_get_missing_elements ()" link="gstreamer-GstParse.html#gst-parse-context-get-missing-elements"/>
     <keyword type="struct" name="struct GstPipeline" link="GstPipeline.html#GstPipeline-struct"/>
     <keyword type="enum" name="enum GstPipelineFlags" link="GstPipeline.html#GstPipelineFlags"/>
     <keyword type="function" name="gst_pipeline_new ()" link="GstPipeline.html#gst-pipeline-new"/>
@@ -1124,10 +1133,10 @@
     <keyword type="function" name="gst_pipeline_get_clock ()" link="GstPipeline.html#gst-pipeline-get-clock"/>
     <keyword type="function" name="gst_pipeline_use_clock ()" link="GstPipeline.html#gst-pipeline-use-clock"/>
     <keyword type="function" name="gst_pipeline_auto_clock ()" link="GstPipeline.html#gst-pipeline-auto-clock"/>
-    <keyword type="function" name="gst_pipeline_set_auto_flush_bus ()" link="GstPipeline.html#gst-pipeline-set-auto-flush-bus" since="0.10.4"/>
-    <keyword type="function" name="gst_pipeline_get_auto_flush_bus ()" link="GstPipeline.html#gst-pipeline-get-auto-flush-bus" since="0.10.4"/>
-    <keyword type="function" name="gst_pipeline_set_delay ()" link="GstPipeline.html#gst-pipeline-set-delay" since="0.10.5"/>
-    <keyword type="function" name="gst_pipeline_get_delay ()" link="GstPipeline.html#gst-pipeline-get-delay" since="0.10.5"/>
+    <keyword type="function" name="gst_pipeline_set_auto_flush_bus ()" link="GstPipeline.html#gst-pipeline-set-auto-flush-bus"/>
+    <keyword type="function" name="gst_pipeline_get_auto_flush_bus ()" link="GstPipeline.html#gst-pipeline-get-auto-flush-bus"/>
+    <keyword type="function" name="gst_pipeline_set_delay ()" link="GstPipeline.html#gst-pipeline-set-delay"/>
+    <keyword type="function" name="gst_pipeline_get_delay ()" link="GstPipeline.html#gst-pipeline-get-delay"/>
     <keyword type="property" name="The &quot;auto-flush-bus&quot; property" link="GstPipeline.html#GstPipeline--auto-flush-bus"/>
     <keyword type="property" name="The &quot;delay&quot; property" link="GstPipeline.html#GstPipeline--delay"/>
     <keyword type="function" name="gst_plugin_error_quark ()" link="GstPlugin.html#gst-plugin-error-quark"/>
@@ -1136,7 +1145,7 @@
     <keyword type="struct" name="GstPlugin" link="GstPlugin.html#GstPlugin-struct"/>
     <keyword type="struct" name="struct GstPluginDesc" link="GstPlugin.html#GstPluginDesc"/>
     <keyword type="function" name="GstPluginInitFunc ()" link="GstPlugin.html#GstPluginInitFunc"/>
-    <keyword type="function" name="GstPluginInitFullFunc ()" link="GstPlugin.html#GstPluginInitFullFunc" since="0.10.24"/>
+    <keyword type="function" name="GstPluginInitFullFunc ()" link="GstPlugin.html#GstPluginInitFullFunc"/>
     <keyword type="macro" name="GST_PLUGIN_DEFINE()" link="GstPlugin.html#GST-PLUGIN-DEFINE:CAPS"/>
     <keyword type="macro" name="GST_LICENSE_UNKNOWN" link="GstPlugin.html#GST-LICENSE-UNKNOWN:CAPS"/>
     <keyword type="function" name="GstPluginFilter ()" link="GstPlugin.html#GstPluginFilter"/>
@@ -1150,18 +1159,18 @@
     <keyword type="function" name="gst_plugin_get_version ()" link="GstPlugin.html#gst-plugin-get-version"/>
     <keyword type="function" name="gst_plugin_get_release_date_string ()" link="GstPlugin.html#gst-plugin-get-release-date-string"/>
     <keyword type="function" name="gst_plugin_is_loaded ()" link="GstPlugin.html#gst-plugin-is-loaded"/>
-    <keyword type="function" name="gst_plugin_get_cache_data ()" link="GstPlugin.html#gst-plugin-get-cache-data" since="0.10.24"/>
-    <keyword type="function" name="gst_plugin_set_cache_data ()" link="GstPlugin.html#gst-plugin-set-cache-data" since="0.10.24"/>
+    <keyword type="function" name="gst_plugin_get_cache_data ()" link="GstPlugin.html#gst-plugin-get-cache-data"/>
+    <keyword type="function" name="gst_plugin_set_cache_data ()" link="GstPlugin.html#gst-plugin-set-cache-data"/>
     <keyword type="function" name="gst_plugin_load_file ()" link="GstPlugin.html#gst-plugin-load-file"/>
     <keyword type="function" name="gst_plugin_load ()" link="GstPlugin.html#gst-plugin-load"/>
     <keyword type="function" name="gst_plugin_load_by_name ()" link="GstPlugin.html#gst-plugin-load-by-name"/>
     <keyword type="function" name="gst_plugin_list_free ()" link="GstPlugin.html#gst-plugin-list-free"/>
-    <keyword type="function" name="gst_plugin_register_static ()" link="GstPlugin.html#gst-plugin-register-static" since="0.10.16"/>
-    <keyword type="function" name="gst_plugin_register_static_full ()" link="GstPlugin.html#gst-plugin-register-static-full" since="0.10.24"/>
+    <keyword type="function" name="gst_plugin_register_static ()" link="GstPlugin.html#gst-plugin-register-static"/>
+    <keyword type="function" name="gst_plugin_register_static_full ()" link="GstPlugin.html#gst-plugin-register-static-full"/>
     <keyword type="enum" name="enum GstPluginFlags" link="GstPlugin.html#GstPluginFlags"/>
-    <keyword type="enum" name="enum GstPluginDependencyFlags" link="GstPlugin.html#GstPluginDependencyFlags" since="0.10.22"/>
-    <keyword type="function" name="gst_plugin_add_dependency ()" link="GstPlugin.html#gst-plugin-add-dependency" since="0.10.22"/>
-    <keyword type="function" name="gst_plugin_add_dependency_simple ()" link="GstPlugin.html#gst-plugin-add-dependency-simple" since="0.10.22"/>
+    <keyword type="enum" name="enum GstPluginDependencyFlags" link="GstPlugin.html#GstPluginDependencyFlags"/>
+    <keyword type="function" name="gst_plugin_add_dependency ()" link="GstPlugin.html#gst-plugin-add-dependency"/>
+    <keyword type="function" name="gst_plugin_add_dependency_simple ()" link="GstPlugin.html#gst-plugin-add-dependency-simple"/>
     <keyword type="struct" name="GstPluginFeature" link="GstPluginFeature.html#GstPluginFeature-struct"/>
     <keyword type="function" name="GstPluginFeatureFilter ()" link="GstPluginFeature.html#GstPluginFeatureFilter"/>
     <keyword type="enum" name="enum GstRank" link="GstPluginFeature.html#GstRank"/>
@@ -1171,53 +1180,53 @@
     <keyword type="macro" name="gst_plugin_feature_get_name()" link="GstPluginFeature.html#gst-plugin-feature-get-name"/>
     <keyword type="function" name="gst_plugin_feature_get_plugin ()" link="GstPluginFeature.html#gst-plugin-feature-get-plugin"/>
     <keyword type="function" name="gst_plugin_feature_load ()" link="GstPluginFeature.html#gst-plugin-feature-load"/>
-    <keyword type="function" name="gst_plugin_feature_list_copy ()" link="GstPluginFeature.html#gst-plugin-feature-list-copy" since="0.10.26"/>
+    <keyword type="function" name="gst_plugin_feature_list_copy ()" link="GstPluginFeature.html#gst-plugin-feature-list-copy"/>
     <keyword type="function" name="gst_plugin_feature_list_free ()" link="GstPluginFeature.html#gst-plugin-feature-list-free"/>
-    <keyword type="macro" name="GST_PLUGIN_FEATURE_LIST_DEBUG()" link="GstPluginFeature.html#GST-PLUGIN-FEATURE-LIST-DEBUG:CAPS" since="0.10.31"/>
+    <keyword type="macro" name="GST_PLUGIN_FEATURE_LIST_DEBUG()" link="GstPluginFeature.html#GST-PLUGIN-FEATURE-LIST-DEBUG:CAPS"/>
     <keyword type="function" name="gst_plugin_feature_check_version ()" link="GstPluginFeature.html#gst-plugin-feature-check-version"/>
-    <keyword type="function" name="gst_plugin_feature_rank_compare_func ()" link="GstPluginFeature.html#gst-plugin-feature-rank-compare-func" since="0.10.31"/>
+    <keyword type="function" name="gst_plugin_feature_rank_compare_func ()" link="GstPluginFeature.html#gst-plugin-feature-rank-compare-func"/>
     <keyword type="struct" name="GstPoll" link="gstreamer-GstPoll.html#GstPoll"/>
     <keyword type="struct" name="GstPollFD" link="gstreamer-GstPoll.html#GstPollFD"/>
-    <keyword type="macro" name="GST_POLL_FD_INIT" link="gstreamer-GstPoll.html#GST-POLL-FD-INIT:CAPS" since="0.10.18"/>
-    <keyword type="function" name="gst_poll_add_fd ()" link="gstreamer-GstPoll.html#gst-poll-add-fd" since="0.10.18"/>
-    <keyword type="function" name="gst_poll_fd_can_read ()" link="gstreamer-GstPoll.html#gst-poll-fd-can-read" since="0.10.18"/>
-    <keyword type="function" name="gst_poll_fd_can_write ()" link="gstreamer-GstPoll.html#gst-poll-fd-can-write" since="0.10.18"/>
-    <keyword type="function" name="gst_poll_fd_ctl_read ()" link="gstreamer-GstPoll.html#gst-poll-fd-ctl-read" since="0.10.18"/>
-    <keyword type="function" name="gst_poll_fd_ctl_write ()" link="gstreamer-GstPoll.html#gst-poll-fd-ctl-write" since="0.10.18"/>
-    <keyword type="function" name="gst_poll_fd_has_closed ()" link="gstreamer-GstPoll.html#gst-poll-fd-has-closed" since="0.10.18"/>
-    <keyword type="function" name="gst_poll_fd_has_error ()" link="gstreamer-GstPoll.html#gst-poll-fd-has-error" since="0.10.18"/>
-    <keyword type="function" name="gst_poll_fd_ignored ()" link="gstreamer-GstPoll.html#gst-poll-fd-ignored" since="0.10.18"/>
-    <keyword type="function" name="gst_poll_fd_init ()" link="gstreamer-GstPoll.html#gst-poll-fd-init" since="0.10.18"/>
-    <keyword type="function" name="gst_poll_free ()" link="gstreamer-GstPoll.html#gst-poll-free" since="0.10.18"/>
-    <keyword type="function" name="gst_poll_new ()" link="gstreamer-GstPoll.html#gst-poll-new" since="0.10.18"/>
-    <keyword type="function" name="gst_poll_new_timer ()" link="gstreamer-GstPoll.html#gst-poll-new-timer" since="0.10.23"/>
-    <keyword type="function" name="gst_poll_get_read_gpollfd ()" link="gstreamer-GstPoll.html#gst-poll-get-read-gpollfd" since="0.10.32"/>
-    <keyword type="function" name="gst_poll_remove_fd ()" link="gstreamer-GstPoll.html#gst-poll-remove-fd" since="0.10.18"/>
-    <keyword type="function" name="gst_poll_restart ()" link="gstreamer-GstPoll.html#gst-poll-restart" since="0.10.18"/>
-    <keyword type="function" name="gst_poll_set_controllable ()" link="gstreamer-GstPoll.html#gst-poll-set-controllable" since="0.10.18"/>
-    <keyword type="function" name="gst_poll_set_flushing ()" link="gstreamer-GstPoll.html#gst-poll-set-flushing" since="0.10.18"/>
-    <keyword type="function" name="gst_poll_wait ()" link="gstreamer-GstPoll.html#gst-poll-wait" since="0.10.18"/>
-    <keyword type="function" name="gst_poll_read_control ()" link="gstreamer-GstPoll.html#gst-poll-read-control" since="0.10.23"/>
-    <keyword type="function" name="gst_poll_write_control ()" link="gstreamer-GstPoll.html#gst-poll-write-control" since="0.10.23"/>
+    <keyword type="macro" name="GST_POLL_FD_INIT" link="gstreamer-GstPoll.html#GST-POLL-FD-INIT:CAPS"/>
+    <keyword type="function" name="gst_poll_add_fd ()" link="gstreamer-GstPoll.html#gst-poll-add-fd"/>
+    <keyword type="function" name="gst_poll_fd_can_read ()" link="gstreamer-GstPoll.html#gst-poll-fd-can-read"/>
+    <keyword type="function" name="gst_poll_fd_can_write ()" link="gstreamer-GstPoll.html#gst-poll-fd-can-write"/>
+    <keyword type="function" name="gst_poll_fd_ctl_read ()" link="gstreamer-GstPoll.html#gst-poll-fd-ctl-read"/>
+    <keyword type="function" name="gst_poll_fd_ctl_write ()" link="gstreamer-GstPoll.html#gst-poll-fd-ctl-write"/>
+    <keyword type="function" name="gst_poll_fd_has_closed ()" link="gstreamer-GstPoll.html#gst-poll-fd-has-closed"/>
+    <keyword type="function" name="gst_poll_fd_has_error ()" link="gstreamer-GstPoll.html#gst-poll-fd-has-error"/>
+    <keyword type="function" name="gst_poll_fd_ignored ()" link="gstreamer-GstPoll.html#gst-poll-fd-ignored"/>
+    <keyword type="function" name="gst_poll_fd_init ()" link="gstreamer-GstPoll.html#gst-poll-fd-init"/>
+    <keyword type="function" name="gst_poll_free ()" link="gstreamer-GstPoll.html#gst-poll-free"/>
+    <keyword type="function" name="gst_poll_new ()" link="gstreamer-GstPoll.html#gst-poll-new"/>
+    <keyword type="function" name="gst_poll_new_timer ()" link="gstreamer-GstPoll.html#gst-poll-new-timer"/>
+    <keyword type="function" name="gst_poll_get_read_gpollfd ()" link="gstreamer-GstPoll.html#gst-poll-get-read-gpollfd"/>
+    <keyword type="function" name="gst_poll_remove_fd ()" link="gstreamer-GstPoll.html#gst-poll-remove-fd"/>
+    <keyword type="function" name="gst_poll_restart ()" link="gstreamer-GstPoll.html#gst-poll-restart"/>
+    <keyword type="function" name="gst_poll_set_controllable ()" link="gstreamer-GstPoll.html#gst-poll-set-controllable"/>
+    <keyword type="function" name="gst_poll_set_flushing ()" link="gstreamer-GstPoll.html#gst-poll-set-flushing"/>
+    <keyword type="function" name="gst_poll_wait ()" link="gstreamer-GstPoll.html#gst-poll-wait"/>
+    <keyword type="function" name="gst_poll_read_control ()" link="gstreamer-GstPoll.html#gst-poll-read-control"/>
+    <keyword type="function" name="gst_poll_write_control ()" link="gstreamer-GstPoll.html#gst-poll-write-control"/>
     <keyword type="struct" name="GstPreset" link="GstPreset.html#GstPreset-struct"/>
     <keyword type="struct" name="struct GstPresetInterface" link="GstPreset.html#GstPresetInterface"/>
-    <keyword type="function" name="gst_preset_get_preset_names ()" link="GstPreset.html#gst-preset-get-preset-names" since="0.10.20"/>
-    <keyword type="function" name="gst_preset_get_property_names ()" link="GstPreset.html#gst-preset-get-property-names" since="0.10.20"/>
-    <keyword type="function" name="gst_preset_load_preset ()" link="GstPreset.html#gst-preset-load-preset" since="0.10.20"/>
-    <keyword type="function" name="gst_preset_save_preset ()" link="GstPreset.html#gst-preset-save-preset" since="0.10.20"/>
-    <keyword type="function" name="gst_preset_rename_preset ()" link="GstPreset.html#gst-preset-rename-preset" since="0.10.20"/>
-    <keyword type="function" name="gst_preset_delete_preset ()" link="GstPreset.html#gst-preset-delete-preset" since="0.10.20"/>
-    <keyword type="function" name="gst_preset_set_meta ()" link="GstPreset.html#gst-preset-set-meta" since="0.10.20"/>
-    <keyword type="function" name="gst_preset_get_meta ()" link="GstPreset.html#gst-preset-get-meta" since="0.10.20"/>
-    <keyword type="function" name="gst_preset_set_app_dir ()" link="GstPreset.html#gst-preset-set-app-dir" since="0.10.36"/>
-    <keyword type="function" name="gst_preset_get_app_dir ()" link="GstPreset.html#gst-preset-get-app-dir" since="0.10.36"/>
+    <keyword type="function" name="gst_preset_get_preset_names ()" link="GstPreset.html#gst-preset-get-preset-names"/>
+    <keyword type="function" name="gst_preset_get_property_names ()" link="GstPreset.html#gst-preset-get-property-names"/>
+    <keyword type="function" name="gst_preset_load_preset ()" link="GstPreset.html#gst-preset-load-preset"/>
+    <keyword type="function" name="gst_preset_save_preset ()" link="GstPreset.html#gst-preset-save-preset"/>
+    <keyword type="function" name="gst_preset_rename_preset ()" link="GstPreset.html#gst-preset-rename-preset"/>
+    <keyword type="function" name="gst_preset_delete_preset ()" link="GstPreset.html#gst-preset-delete-preset"/>
+    <keyword type="function" name="gst_preset_set_meta ()" link="GstPreset.html#gst-preset-set-meta"/>
+    <keyword type="function" name="gst_preset_get_meta ()" link="GstPreset.html#gst-preset-get-meta"/>
+    <keyword type="function" name="gst_preset_set_app_dir ()" link="GstPreset.html#gst-preset-set-app-dir"/>
+    <keyword type="function" name="gst_preset_get_app_dir ()" link="GstPreset.html#gst-preset-get-app-dir"/>
     <keyword type="struct" name="struct GstQuery" link="gstreamer-GstQuery.html#GstQuery"/>
     <keyword type="enum" name="enum GstQueryTypeFlags" link="gstreamer-GstQuery.html#GstQueryTypeFlags"/>
     <keyword type="macro" name="GST_QUERY_TYPE_BOTH" link="gstreamer-GstQuery.html#GST-QUERY-TYPE-BOTH:CAPS"/>
     <keyword type="macro" name="GST_QUERY_MAKE_TYPE()" link="gstreamer-GstQuery.html#GST-QUERY-MAKE-TYPE:CAPS"/>
     <keyword type="enum" name="enum GstQueryType" link="gstreamer-GstQuery.html#GstQueryType"/>
     <keyword type="macro" name="GST_QUERY_TYPE()" link="gstreamer-GstQuery.html#GST-QUERY-TYPE:CAPS"/>
-    <keyword type="macro" name="GST_QUERY_TYPE_NAME()" link="gstreamer-GstQuery.html#GST-QUERY-TYPE-NAME:CAPS" since="0.10.4"/>
+    <keyword type="macro" name="GST_QUERY_TYPE_NAME()" link="gstreamer-GstQuery.html#GST-QUERY-TYPE-NAME:CAPS"/>
     <keyword type="macro" name="GST_QUERY_IS_UPSTREAM()" link="gstreamer-GstQuery.html#GST-QUERY-IS-UPSTREAM:CAPS"/>
     <keyword type="macro" name="GST_QUERY_IS_DOWNSTREAM()" link="gstreamer-GstQuery.html#GST-QUERY-IS-DOWNSTREAM:CAPS"/>
     <keyword type="macro" name="GST_QUERY_IS_SERIALIZED()" link="gstreamer-GstQuery.html#GST-QUERY-IS-SERIALIZED:CAPS"/>
@@ -1242,16 +1251,16 @@
     <keyword type="function" name="gst_query_new_duration ()" link="gstreamer-GstQuery.html#gst-query-new-duration"/>
     <keyword type="function" name="gst_query_set_duration ()" link="gstreamer-GstQuery.html#gst-query-set-duration"/>
     <keyword type="function" name="gst_query_parse_duration ()" link="gstreamer-GstQuery.html#gst-query-parse-duration"/>
-    <keyword type="function" name="gst_query_new_latency ()" link="gstreamer-GstQuery.html#gst-query-new-latency" since="0.10.12"/>
-    <keyword type="function" name="gst_query_parse_latency ()" link="gstreamer-GstQuery.html#gst-query-parse-latency" since="0.10.12"/>
-    <keyword type="function" name="gst_query_set_latency ()" link="gstreamer-GstQuery.html#gst-query-set-latency" since="0.10.12"/>
+    <keyword type="function" name="gst_query_new_latency ()" link="gstreamer-GstQuery.html#gst-query-new-latency"/>
+    <keyword type="function" name="gst_query_parse_latency ()" link="gstreamer-GstQuery.html#gst-query-parse-latency"/>
+    <keyword type="function" name="gst_query_set_latency ()" link="gstreamer-GstQuery.html#gst-query-set-latency"/>
     <keyword type="function" name="gst_query_new_seeking ()" link="gstreamer-GstQuery.html#gst-query-new-seeking"/>
     <keyword type="function" name="gst_query_set_seeking ()" link="gstreamer-GstQuery.html#gst-query-set-seeking"/>
     <keyword type="function" name="gst_query_parse_seeking ()" link="gstreamer-GstQuery.html#gst-query-parse-seeking"/>
-    <keyword type="function" name="gst_query_new_formats ()" link="gstreamer-GstQuery.html#gst-query-new-formats" since="0.10.4"/>
+    <keyword type="function" name="gst_query_new_formats ()" link="gstreamer-GstQuery.html#gst-query-new-formats"/>
     <keyword type="function" name="gst_query_set_formats ()" link="gstreamer-GstQuery.html#gst-query-set-formats"/>
-    <keyword type="function" name="gst_query_set_formatsv ()" link="gstreamer-GstQuery.html#gst-query-set-formatsv" since="0.10.4"/>
-    <keyword type="function" name="gst_query_parse_n_formats ()" link="gstreamer-GstQuery.html#gst-query-parse-n-formats" since="0.10.4"/>
+    <keyword type="function" name="gst_query_set_formatsv ()" link="gstreamer-GstQuery.html#gst-query-set-formatsv"/>
+    <keyword type="function" name="gst_query_parse_n_formats ()" link="gstreamer-GstQuery.html#gst-query-parse-n-formats"/>
     <keyword type="function" name="gst_query_parse_nth_format ()" link="gstreamer-GstQuery.html#gst-query-parse-nth-format"/>
     <keyword type="function" name="gst_query_new_segment ()" link="gstreamer-GstQuery.html#gst-query-new-segment"/>
     <keyword type="function" name="gst_query_set_segment ()" link="gstreamer-GstQuery.html#gst-query-set-segment"/>
@@ -1260,25 +1269,24 @@
     <keyword type="function" name="gst_query_parse_caps ()" link="gstreamer-GstQuery.html#gst-query-parse-caps"/>
     <keyword type="function" name="gst_query_set_caps_result ()" link="gstreamer-GstQuery.html#gst-query-set-caps-result"/>
     <keyword type="function" name="gst_query_parse_caps_result ()" link="gstreamer-GstQuery.html#gst-query-parse-caps-result"/>
-    <keyword type="function" name="gst_query_intersect_caps_result ()" link="gstreamer-GstQuery.html#gst-query-intersect-caps-result"/>
     <keyword type="function" name="gst_query_new_accept_caps ()" link="gstreamer-GstQuery.html#gst-query-new-accept-caps"/>
     <keyword type="function" name="gst_query_parse_accept_caps ()" link="gstreamer-GstQuery.html#gst-query-parse-accept-caps"/>
     <keyword type="function" name="gst_query_set_accept_caps_result ()" link="gstreamer-GstQuery.html#gst-query-set-accept-caps-result"/>
     <keyword type="function" name="gst_query_parse_accept_caps_result ()" link="gstreamer-GstQuery.html#gst-query-parse-accept-caps-result"/>
     <keyword type="enum" name="enum GstBufferingMode" link="gstreamer-GstQuery.html#GstBufferingMode"/>
-    <keyword type="function" name="gst_query_new_buffering ()" link="gstreamer-GstQuery.html#gst-query-new-buffering" since="0.10.20"/>
-    <keyword type="function" name="gst_query_set_buffering_percent ()" link="gstreamer-GstQuery.html#gst-query-set-buffering-percent" since="0.10.20"/>
-    <keyword type="function" name="gst_query_parse_buffering_percent ()" link="gstreamer-GstQuery.html#gst-query-parse-buffering-percent" since="0.10.20"/>
-    <keyword type="function" name="gst_query_set_buffering_stats ()" link="gstreamer-GstQuery.html#gst-query-set-buffering-stats" since="0.10.20"/>
-    <keyword type="function" name="gst_query_parse_buffering_stats ()" link="gstreamer-GstQuery.html#gst-query-parse-buffering-stats" since="0.10.20"/>
-    <keyword type="function" name="gst_query_set_buffering_range ()" link="gstreamer-GstQuery.html#gst-query-set-buffering-range" since="0.10.20"/>
-    <keyword type="function" name="gst_query_parse_buffering_range ()" link="gstreamer-GstQuery.html#gst-query-parse-buffering-range" since="0.10.20"/>
-    <keyword type="function" name="gst_query_add_buffering_range ()" link="gstreamer-GstQuery.html#gst-query-add-buffering-range" since="0.10.31"/>
-    <keyword type="function" name="gst_query_get_n_buffering_ranges ()" link="gstreamer-GstQuery.html#gst-query-get-n-buffering-ranges" since="0.10.31"/>
-    <keyword type="function" name="gst_query_parse_nth_buffering_range ()" link="gstreamer-GstQuery.html#gst-query-parse-nth-buffering-range" since="0.10.31"/>
-    <keyword type="function" name="gst_query_new_uri ()" link="gstreamer-GstQuery.html#gst-query-new-uri" since="0.10.22"/>
-    <keyword type="function" name="gst_query_parse_uri ()" link="gstreamer-GstQuery.html#gst-query-parse-uri" since="0.10.22"/>
-    <keyword type="function" name="gst_query_set_uri ()" link="gstreamer-GstQuery.html#gst-query-set-uri" since="0.10.22"/>
+    <keyword type="function" name="gst_query_new_buffering ()" link="gstreamer-GstQuery.html#gst-query-new-buffering"/>
+    <keyword type="function" name="gst_query_set_buffering_percent ()" link="gstreamer-GstQuery.html#gst-query-set-buffering-percent"/>
+    <keyword type="function" name="gst_query_parse_buffering_percent ()" link="gstreamer-GstQuery.html#gst-query-parse-buffering-percent"/>
+    <keyword type="function" name="gst_query_set_buffering_stats ()" link="gstreamer-GstQuery.html#gst-query-set-buffering-stats"/>
+    <keyword type="function" name="gst_query_parse_buffering_stats ()" link="gstreamer-GstQuery.html#gst-query-parse-buffering-stats"/>
+    <keyword type="function" name="gst_query_set_buffering_range ()" link="gstreamer-GstQuery.html#gst-query-set-buffering-range"/>
+    <keyword type="function" name="gst_query_parse_buffering_range ()" link="gstreamer-GstQuery.html#gst-query-parse-buffering-range"/>
+    <keyword type="function" name="gst_query_add_buffering_range ()" link="gstreamer-GstQuery.html#gst-query-add-buffering-range"/>
+    <keyword type="function" name="gst_query_get_n_buffering_ranges ()" link="gstreamer-GstQuery.html#gst-query-get-n-buffering-ranges"/>
+    <keyword type="function" name="gst_query_parse_nth_buffering_range ()" link="gstreamer-GstQuery.html#gst-query-parse-nth-buffering-range"/>
+    <keyword type="function" name="gst_query_new_uri ()" link="gstreamer-GstQuery.html#gst-query-new-uri"/>
+    <keyword type="function" name="gst_query_parse_uri ()" link="gstreamer-GstQuery.html#gst-query-parse-uri"/>
+    <keyword type="function" name="gst_query_set_uri ()" link="gstreamer-GstQuery.html#gst-query-set-uri"/>
     <keyword type="function" name="gst_query_new_allocation ()" link="gstreamer-GstQuery.html#gst-query-new-allocation"/>
     <keyword type="function" name="gst_query_parse_allocation ()" link="gstreamer-GstQuery.html#gst-query-parse-allocation"/>
     <keyword type="function" name="gst_query_add_allocation_pool ()" link="gstreamer-GstQuery.html#gst-query-add-allocation-pool"/>
@@ -1293,7 +1301,7 @@
     <keyword type="function" name="gst_query_get_n_allocation_metas ()" link="gstreamer-GstQuery.html#gst-query-get-n-allocation-metas"/>
     <keyword type="function" name="gst_query_parse_nth_allocation_meta ()" link="gstreamer-GstQuery.html#gst-query-parse-nth-allocation-meta"/>
     <keyword type="function" name="gst_query_remove_nth_allocation_meta ()" link="gstreamer-GstQuery.html#gst-query-remove-nth-allocation-meta"/>
-    <keyword type="function" name="gst_query_has_allocation_meta ()" link="gstreamer-GstQuery.html#gst-query-has-allocation-meta"/>
+    <keyword type="function" name="gst_query_find_allocation_meta ()" link="gstreamer-GstQuery.html#gst-query-find-allocation-meta"/>
     <keyword type="enum" name="enum GstSchedulingFlags" link="gstreamer-GstQuery.html#GstSchedulingFlags"/>
     <keyword type="function" name="gst_query_new_scheduling ()" link="gstreamer-GstQuery.html#gst-query-new-scheduling"/>
     <keyword type="function" name="gst_query_parse_scheduling ()" link="gstreamer-GstQuery.html#gst-query-parse-scheduling"/>
@@ -1303,13 +1311,10 @@
     <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_new_drain ()" link="gstreamer-GstQuery.html#gst-query-new-drain"/>
-    <keyword type="function" name="gst_query_new_toc ()" link="gstreamer-GstQuery.html#gst-query-new-toc"/>
-    <keyword type="function" name="gst_query_parse_toc ()" link="gstreamer-GstQuery.html#gst-query-parse-toc"/>
-    <keyword type="function" name="gst_query_set_toc ()" link="gstreamer-GstQuery.html#gst-query-set-toc"/>
     <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" since="0.10.26"/>
+    <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"/>
@@ -1333,13 +1338,13 @@
     <keyword type="function" name="gst_segment_clip ()" link="gstreamer-GstSegment.html#gst-segment-clip"/>
     <keyword type="function" name="gst_segment_init ()" link="gstreamer-GstSegment.html#gst-segment-init"/>
     <keyword type="function" name="gst_segment_new ()" link="gstreamer-GstSegment.html#gst-segment-new"/>
-    <keyword type="function" name="gst_segment_copy ()" link="gstreamer-GstSegment.html#gst-segment-copy" since="0.10.20"/>
+    <keyword type="function" name="gst_segment_copy ()" link="gstreamer-GstSegment.html#gst-segment-copy"/>
     <keyword type="function" name="gst_segment_free ()" link="gstreamer-GstSegment.html#gst-segment-free"/>
     <keyword type="function" name="gst_segment_do_seek ()" link="gstreamer-GstSegment.html#gst-segment-do-seek"/>
     <keyword type="function" name="gst_segment_to_running_time ()" link="gstreamer-GstSegment.html#gst-segment-to-running-time"/>
     <keyword type="function" name="gst_segment_to_stream_time ()" link="gstreamer-GstSegment.html#gst-segment-to-stream-time"/>
-    <keyword type="function" name="gst_segment_to_position ()" link="gstreamer-GstSegment.html#gst-segment-to-position" since="0.10.24"/>
-    <keyword type="function" name="gst_segment_set_running_time ()" link="gstreamer-GstSegment.html#gst-segment-set-running-time" since="0.10.24"/>
+    <keyword type="function" name="gst_segment_to_position ()" link="gstreamer-GstSegment.html#gst-segment-to-position"/>
+    <keyword type="function" name="gst_segment_set_running_time ()" link="gstreamer-GstSegment.html#gst-segment-set-running-time"/>
     <keyword type="function" name="gst_segment_copy_into ()" link="gstreamer-GstSegment.html#gst-segment-copy-into"/>
     <keyword type="struct" name="struct GstStructure" link="gstreamer-GstStructure.html#GstStructure"/>
     <keyword type="function" name="GstStructureForeachFunc ()" link="gstreamer-GstStructure.html#GstStructureForeachFunc"/>
@@ -1348,27 +1353,27 @@
     <keyword type="function" name="gst_structure_new_id_empty ()" link="gstreamer-GstStructure.html#gst-structure-new-id-empty"/>
     <keyword type="function" name="gst_structure_new ()" link="gstreamer-GstStructure.html#gst-structure-new"/>
     <keyword type="function" name="gst_structure_new_valist ()" link="gstreamer-GstStructure.html#gst-structure-new-valist"/>
-    <keyword type="function" name="gst_structure_new_id ()" link="gstreamer-GstStructure.html#gst-structure-new-id" since="0.10.24"/>
+    <keyword type="function" name="gst_structure_new_id ()" link="gstreamer-GstStructure.html#gst-structure-new-id"/>
     <keyword type="function" name="gst_structure_copy ()" link="gstreamer-GstStructure.html#gst-structure-copy"/>
     <keyword type="function" name="gst_structure_free ()" link="gstreamer-GstStructure.html#gst-structure-free"/>
     <keyword type="function" name="gst_structure_get_name ()" link="gstreamer-GstStructure.html#gst-structure-get-name"/>
     <keyword type="function" name="gst_structure_has_name ()" link="gstreamer-GstStructure.html#gst-structure-has-name"/>
     <keyword type="function" name="gst_structure_set_name ()" link="gstreamer-GstStructure.html#gst-structure-set-name"/>
     <keyword type="function" name="gst_structure_get_name_id ()" link="gstreamer-GstStructure.html#gst-structure-get-name-id"/>
-    <keyword type="function" name="gst_structure_id_get ()" link="gstreamer-GstStructure.html#gst-structure-id-get" since="0.10.24"/>
-    <keyword type="function" name="gst_structure_id_get_valist ()" link="gstreamer-GstStructure.html#gst-structure-id-get-valist" since="0.10.24"/>
+    <keyword type="function" name="gst_structure_id_get ()" link="gstreamer-GstStructure.html#gst-structure-id-get"/>
+    <keyword type="function" name="gst_structure_id_get_valist ()" link="gstreamer-GstStructure.html#gst-structure-id-get-valist"/>
     <keyword type="function" name="gst_structure_id_get_value ()" link="gstreamer-GstStructure.html#gst-structure-id-get-value"/>
     <keyword type="function" name="gst_structure_id_set_value ()" link="gstreamer-GstStructure.html#gst-structure-id-set-value"/>
-    <keyword type="function" name="gst_structure_id_take_value ()" link="gstreamer-GstStructure.html#gst-structure-id-take-value" since="0.10.31"/>
-    <keyword type="function" name="gst_structure_get ()" link="gstreamer-GstStructure.html#gst-structure-get" since="0.10.24"/>
-    <keyword type="function" name="gst_structure_get_valist ()" link="gstreamer-GstStructure.html#gst-structure-get-valist" since="0.10.24"/>
+    <keyword type="function" name="gst_structure_id_take_value ()" link="gstreamer-GstStructure.html#gst-structure-id-take-value"/>
+    <keyword type="function" name="gst_structure_get ()" link="gstreamer-GstStructure.html#gst-structure-get"/>
+    <keyword type="function" name="gst_structure_get_valist ()" link="gstreamer-GstStructure.html#gst-structure-get-valist"/>
     <keyword type="function" name="gst_structure_get_value ()" link="gstreamer-GstStructure.html#gst-structure-get-value"/>
     <keyword type="function" name="gst_structure_set_value ()" link="gstreamer-GstStructure.html#gst-structure-set-value"/>
-    <keyword type="function" name="gst_structure_take_value ()" link="gstreamer-GstStructure.html#gst-structure-take-value" since="0.10.31"/>
+    <keyword type="function" name="gst_structure_take_value ()" link="gstreamer-GstStructure.html#gst-structure-take-value"/>
     <keyword type="function" name="gst_structure_set ()" link="gstreamer-GstStructure.html#gst-structure-set"/>
     <keyword type="function" name="gst_structure_set_valist ()" link="gstreamer-GstStructure.html#gst-structure-set-valist"/>
-    <keyword type="function" name="gst_structure_id_set ()" link="gstreamer-GstStructure.html#gst-structure-id-set" since="0.10.10"/>
-    <keyword type="function" name="gst_structure_id_set_valist ()" link="gstreamer-GstStructure.html#gst-structure-id-set-valist" since="0.10.10"/>
+    <keyword type="function" name="gst_structure_id_set ()" link="gstreamer-GstStructure.html#gst-structure-id-set"/>
+    <keyword type="function" name="gst_structure_id_set_valist ()" link="gstreamer-GstStructure.html#gst-structure-id-set-valist"/>
     <keyword type="function" name="gst_structure_remove_field ()" link="gstreamer-GstStructure.html#gst-structure-remove-field"/>
     <keyword type="function" name="gst_structure_remove_fields ()" link="gstreamer-GstStructure.html#gst-structure-remove-fields"/>
     <keyword type="function" name="gst_structure_remove_fields_valist ()" link="gstreamer-GstStructure.html#gst-structure-remove-fields-valist"/>
@@ -1378,19 +1383,19 @@
     <keyword type="function" name="gst_structure_n_fields ()" link="gstreamer-GstStructure.html#gst-structure-n-fields"/>
     <keyword type="function" name="gst_structure_has_field ()" link="gstreamer-GstStructure.html#gst-structure-has-field"/>
     <keyword type="function" name="gst_structure_has_field_typed ()" link="gstreamer-GstStructure.html#gst-structure-has-field-typed"/>
-    <keyword type="function" name="gst_structure_is_equal ()" link="gstreamer-GstStructure.html#gst-structure-is-equal" since="0.10.36"/>
-    <keyword type="function" name="gst_structure_is_subset ()" link="gstreamer-GstStructure.html#gst-structure-is-subset" since="0.10.36"/>
-    <keyword type="function" name="gst_structure_can_intersect ()" link="gstreamer-GstStructure.html#gst-structure-can-intersect" since="0.10.36"/>
-    <keyword type="function" name="gst_structure_intersect ()" link="gstreamer-GstStructure.html#gst-structure-intersect" since="0.10.36"/>
-    <keyword type="function" name="gst_structure_id_has_field ()" link="gstreamer-GstStructure.html#gst-structure-id-has-field" since="0.10.26"/>
-    <keyword type="function" name="gst_structure_id_has_field_typed ()" link="gstreamer-GstStructure.html#gst-structure-id-has-field-typed" since="0.10.26"/>
+    <keyword type="function" name="gst_structure_is_equal ()" link="gstreamer-GstStructure.html#gst-structure-is-equal"/>
+    <keyword type="function" name="gst_structure_is_subset ()" link="gstreamer-GstStructure.html#gst-structure-is-subset"/>
+    <keyword type="function" name="gst_structure_can_intersect ()" link="gstreamer-GstStructure.html#gst-structure-can-intersect"/>
+    <keyword type="function" name="gst_structure_intersect ()" link="gstreamer-GstStructure.html#gst-structure-intersect"/>
+    <keyword type="function" name="gst_structure_id_has_field ()" link="gstreamer-GstStructure.html#gst-structure-id-has-field"/>
+    <keyword type="function" name="gst_structure_id_has_field_typed ()" link="gstreamer-GstStructure.html#gst-structure-id-has-field-typed"/>
     <keyword type="function" name="gst_structure_get_boolean ()" link="gstreamer-GstStructure.html#gst-structure-get-boolean"/>
     <keyword type="function" name="gst_structure_get_int ()" link="gstreamer-GstStructure.html#gst-structure-get-int"/>
-    <keyword type="function" name="gst_structure_get_uint ()" link="gstreamer-GstStructure.html#gst-structure-get-uint" since="0.10.15"/>
+    <keyword type="function" name="gst_structure_get_uint ()" link="gstreamer-GstStructure.html#gst-structure-get-uint"/>
     <keyword type="function" name="gst_structure_get_double ()" link="gstreamer-GstStructure.html#gst-structure-get-double"/>
     <keyword type="function" name="gst_structure_get_string ()" link="gstreamer-GstStructure.html#gst-structure-get-string"/>
     <keyword type="function" name="gst_structure_get_date ()" link="gstreamer-GstStructure.html#gst-structure-get-date"/>
-    <keyword type="function" name="gst_structure_get_date_time ()" link="gstreamer-GstStructure.html#gst-structure-get-date-time" since="0.10.31"/>
+    <keyword type="function" name="gst_structure_get_date_time ()" link="gstreamer-GstStructure.html#gst-structure-get-date-time"/>
     <keyword type="function" name="gst_structure_get_clock_time ()" link="gstreamer-GstStructure.html#gst-structure-get-clock-time"/>
     <keyword type="function" name="gst_structure_get_enum ()" link="gstreamer-GstStructure.html#gst-structure-get-enum"/>
     <keyword type="function" name="gst_structure_get_fraction ()" link="gstreamer-GstStructure.html#gst-structure-get-fraction"/>
@@ -1405,7 +1410,7 @@
     <keyword type="function" name="gst_structure_fixate_field_nearest_double ()" link="gstreamer-GstStructure.html#gst-structure-fixate-field-nearest-double"/>
     <keyword type="function" name="gst_structure_fixate_field_nearest_fraction ()" link="gstreamer-GstStructure.html#gst-structure-fixate-field-nearest-fraction"/>
     <keyword type="function" name="gst_structure_fixate_field_boolean ()" link="gstreamer-GstStructure.html#gst-structure-fixate-field-boolean"/>
-    <keyword type="function" name="gst_structure_fixate_field_string ()" link="gstreamer-GstStructure.html#gst-structure-fixate-field-string" since="0.10.30"/>
+    <keyword type="function" name="gst_structure_fixate_field_string ()" link="gstreamer-GstStructure.html#gst-structure-fixate-field-string"/>
     <keyword type="enum" name="enum GstClockType" link="GstSystemClock.html#GstClockType"/>
     <keyword type="struct" name="struct GstSystemClock" link="GstSystemClock.html#GstSystemClock-struct"/>
     <keyword type="function" name="gst_system_clock_obtain ()" link="GstSystemClock.html#gst-system-clock-obtain"/>
@@ -1416,42 +1421,42 @@
     <keyword type="function" name="GstTagForeachFunc ()" link="gstreamer-GstTagList.html#GstTagForeachFunc"/>
     <keyword type="function" name="GstTagMergeFunc ()" link="gstreamer-GstTagList.html#GstTagMergeFunc"/>
     <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" since="0.10.15"/>
+    <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"/>
-    <keyword type="macro" name="GST_TAG_ARTIST_SORTNAME" link="gstreamer-GstTagList.html#GST-TAG-ARTIST-SORTNAME:CAPS" since="0.10.15"/>
+    <keyword type="macro" name="GST_TAG_ARTIST_SORTNAME" link="gstreamer-GstTagList.html#GST-TAG-ARTIST-SORTNAME:CAPS"/>
     <keyword type="macro" name="GST_TAG_ALBUM" link="gstreamer-GstTagList.html#GST-TAG-ALBUM:CAPS"/>
-    <keyword type="macro" name="GST_TAG_ALBUM_SORTNAME" link="gstreamer-GstTagList.html#GST-TAG-ALBUM-SORTNAME:CAPS" since="0.10.15"/>
-    <keyword type="macro" name="GST_TAG_ALBUM_ARTIST" link="gstreamer-GstTagList.html#GST-TAG-ALBUM-ARTIST:CAPS" since="0.10.25"/>
-    <keyword type="macro" name="GST_TAG_ALBUM_ARTIST_SORTNAME" link="gstreamer-GstTagList.html#GST-TAG-ALBUM-ARTIST-SORTNAME:CAPS" since="0.10.25"/>
+    <keyword type="macro" name="GST_TAG_ALBUM_SORTNAME" link="gstreamer-GstTagList.html#GST-TAG-ALBUM-SORTNAME:CAPS"/>
+    <keyword type="macro" name="GST_TAG_ALBUM_ARTIST" link="gstreamer-GstTagList.html#GST-TAG-ALBUM-ARTIST:CAPS"/>
+    <keyword type="macro" name="GST_TAG_ALBUM_ARTIST_SORTNAME" link="gstreamer-GstTagList.html#GST-TAG-ALBUM-ARTIST-SORTNAME:CAPS"/>
     <keyword type="macro" name="GST_TAG_DATE" link="gstreamer-GstTagList.html#GST-TAG-DATE:CAPS"/>
-    <keyword type="macro" name="GST_TAG_DATE_TIME" link="gstreamer-GstTagList.html#GST-TAG-DATE-TIME:CAPS" since="0.10.31"/>
+    <keyword type="macro" name="GST_TAG_DATE_TIME" link="gstreamer-GstTagList.html#GST-TAG-DATE-TIME:CAPS"/>
     <keyword type="macro" name="GST_TAG_GENRE" link="gstreamer-GstTagList.html#GST-TAG-GENRE:CAPS"/>
     <keyword type="macro" name="GST_TAG_COMMENT" link="gstreamer-GstTagList.html#GST-TAG-COMMENT:CAPS"/>
-    <keyword type="macro" name="GST_TAG_EXTENDED_COMMENT" link="gstreamer-GstTagList.html#GST-TAG-EXTENDED-COMMENT:CAPS" since="0.10.10"/>
+    <keyword type="macro" name="GST_TAG_EXTENDED_COMMENT" link="gstreamer-GstTagList.html#GST-TAG-EXTENDED-COMMENT:CAPS"/>
     <keyword type="macro" name="GST_TAG_TRACK_NUMBER" link="gstreamer-GstTagList.html#GST-TAG-TRACK-NUMBER:CAPS"/>
     <keyword type="macro" name="GST_TAG_TRACK_COUNT" link="gstreamer-GstTagList.html#GST-TAG-TRACK-COUNT:CAPS"/>
     <keyword type="macro" name="GST_TAG_ALBUM_VOLUME_NUMBER" link="gstreamer-GstTagList.html#GST-TAG-ALBUM-VOLUME-NUMBER:CAPS"/>
     <keyword type="macro" name="GST_TAG_ALBUM_VOLUME_COUNT" link="gstreamer-GstTagList.html#GST-TAG-ALBUM-VOLUME-COUNT:CAPS"/>
     <keyword type="macro" name="GST_TAG_LOCATION" link="gstreamer-GstTagList.html#GST-TAG-LOCATION:CAPS"/>
-    <keyword type="macro" name="GST_TAG_HOMEPAGE" link="gstreamer-GstTagList.html#GST-TAG-HOMEPAGE:CAPS" since="0.10.23"/>
+    <keyword type="macro" name="GST_TAG_HOMEPAGE" link="gstreamer-GstTagList.html#GST-TAG-HOMEPAGE:CAPS"/>
     <keyword type="macro" name="GST_TAG_DESCRIPTION" link="gstreamer-GstTagList.html#GST-TAG-DESCRIPTION:CAPS"/>
     <keyword type="macro" name="GST_TAG_VERSION" link="gstreamer-GstTagList.html#GST-TAG-VERSION:CAPS"/>
     <keyword type="macro" name="GST_TAG_ISRC" link="gstreamer-GstTagList.html#GST-TAG-ISRC:CAPS"/>
     <keyword type="macro" name="GST_TAG_ORGANIZATION" link="gstreamer-GstTagList.html#GST-TAG-ORGANIZATION:CAPS"/>
     <keyword type="macro" name="GST_TAG_COPYRIGHT" link="gstreamer-GstTagList.html#GST-TAG-COPYRIGHT:CAPS"/>
-    <keyword type="macro" name="GST_TAG_COPYRIGHT_URI" link="gstreamer-GstTagList.html#GST-TAG-COPYRIGHT-URI:CAPS" since="0.10.14"/>
-    <keyword type="macro" name="GST_TAG_ENCODED_BY" link="gstreamer-GstTagList.html#GST-TAG-ENCODED-BY:CAPS" since="0.10.33"/>
-    <keyword type="macro" name="GST_TAG_COMPOSER" link="gstreamer-GstTagList.html#GST-TAG-COMPOSER:CAPS" since="0.10.15"/>
+    <keyword type="macro" name="GST_TAG_COPYRIGHT_URI" link="gstreamer-GstTagList.html#GST-TAG-COPYRIGHT-URI:CAPS"/>
+    <keyword type="macro" name="GST_TAG_ENCODED_BY" link="gstreamer-GstTagList.html#GST-TAG-ENCODED-BY:CAPS"/>
+    <keyword type="macro" name="GST_TAG_COMPOSER" link="gstreamer-GstTagList.html#GST-TAG-COMPOSER:CAPS"/>
     <keyword type="macro" name="GST_TAG_CONTACT" link="gstreamer-GstTagList.html#GST-TAG-CONTACT:CAPS"/>
     <keyword type="macro" name="GST_TAG_LICENSE" link="gstreamer-GstTagList.html#GST-TAG-LICENSE:CAPS"/>
-    <keyword type="macro" name="GST_TAG_LICENSE_URI" link="gstreamer-GstTagList.html#GST-TAG-LICENSE-URI:CAPS" since="0.10.14"/>
+    <keyword type="macro" name="GST_TAG_LICENSE_URI" link="gstreamer-GstTagList.html#GST-TAG-LICENSE-URI:CAPS"/>
     <keyword type="macro" name="GST_TAG_PERFORMER" link="gstreamer-GstTagList.html#GST-TAG-PERFORMER:CAPS"/>
     <keyword type="macro" name="GST_TAG_DURATION" link="gstreamer-GstTagList.html#GST-TAG-DURATION:CAPS"/>
     <keyword type="macro" name="GST_TAG_CODEC" link="gstreamer-GstTagList.html#GST-TAG-CODEC:CAPS"/>
     <keyword type="macro" name="GST_TAG_VIDEO_CODEC" link="gstreamer-GstTagList.html#GST-TAG-VIDEO-CODEC:CAPS"/>
     <keyword type="macro" name="GST_TAG_AUDIO_CODEC" link="gstreamer-GstTagList.html#GST-TAG-AUDIO-CODEC:CAPS"/>
-    <keyword type="macro" name="GST_TAG_SUBTITLE_CODEC" link="gstreamer-GstTagList.html#GST-TAG-SUBTITLE-CODEC:CAPS" since="0.10.23"/>
-    <keyword type="macro" name="GST_TAG_CONTAINER_FORMAT" link="gstreamer-GstTagList.html#GST-TAG-CONTAINER-FORMAT:CAPS" since="0.10.24"/>
+    <keyword type="macro" name="GST_TAG_SUBTITLE_CODEC" link="gstreamer-GstTagList.html#GST-TAG-SUBTITLE-CODEC:CAPS"/>
+    <keyword type="macro" name="GST_TAG_CONTAINER_FORMAT" link="gstreamer-GstTagList.html#GST-TAG-CONTAINER-FORMAT:CAPS"/>
     <keyword type="macro" name="GST_TAG_BITRATE" link="gstreamer-GstTagList.html#GST-TAG-BITRATE:CAPS"/>
     <keyword type="macro" name="GST_TAG_NOMINAL_BITRATE" link="gstreamer-GstTagList.html#GST-TAG-NOMINAL-BITRATE:CAPS"/>
     <keyword type="macro" name="GST_TAG_MINIMUM_BITRATE" link="gstreamer-GstTagList.html#GST-TAG-MINIMUM-BITRATE:CAPS"/>
@@ -1463,38 +1468,38 @@
     <keyword type="macro" name="GST_TAG_TRACK_PEAK" link="gstreamer-GstTagList.html#GST-TAG-TRACK-PEAK:CAPS"/>
     <keyword type="macro" name="GST_TAG_ALBUM_GAIN" link="gstreamer-GstTagList.html#GST-TAG-ALBUM-GAIN:CAPS"/>
     <keyword type="macro" name="GST_TAG_ALBUM_PEAK" link="gstreamer-GstTagList.html#GST-TAG-ALBUM-PEAK:CAPS"/>
-    <keyword type="macro" name="GST_TAG_REFERENCE_LEVEL" link="gstreamer-GstTagList.html#GST-TAG-REFERENCE-LEVEL:CAPS" since="0.10.12"/>
+    <keyword type="macro" name="GST_TAG_REFERENCE_LEVEL" link="gstreamer-GstTagList.html#GST-TAG-REFERENCE-LEVEL:CAPS"/>
     <keyword type="macro" name="GST_TAG_LANGUAGE_CODE" link="gstreamer-GstTagList.html#GST-TAG-LANGUAGE-CODE:CAPS"/>
-    <keyword type="macro" name="GST_TAG_LANGUAGE_NAME" link="gstreamer-GstTagList.html#GST-TAG-LANGUAGE-NAME:CAPS" since="0.10.37"/>
-    <keyword type="macro" name="GST_TAG_IMAGE" link="gstreamer-GstTagList.html#GST-TAG-IMAGE:CAPS" since="0.10.6"/>
-    <keyword type="macro" name="GST_TAG_PREVIEW_IMAGE" link="gstreamer-GstTagList.html#GST-TAG-PREVIEW-IMAGE:CAPS" since="0.10.7"/>
-    <keyword type="macro" name="GST_TAG_ATTACHMENT" link="gstreamer-GstTagList.html#GST-TAG-ATTACHMENT:CAPS" since="0.10.21"/>
-    <keyword type="macro" name="GST_TAG_BEATS_PER_MINUTE" link="gstreamer-GstTagList.html#GST-TAG-BEATS-PER-MINUTE:CAPS" since="0.10.12"/>
-    <keyword type="macro" name="GST_TAG_KEYWORDS" link="gstreamer-GstTagList.html#GST-TAG-KEYWORDS:CAPS" since="0.10.21"/>
-    <keyword type="macro" name="GST_TAG_GEO_LOCATION_NAME" link="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-NAME:CAPS" since="0.10.21"/>
-    <keyword type="macro" name="GST_TAG_GEO_LOCATION_LATITUDE" link="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-LATITUDE:CAPS" since="0.10.21"/>
-    <keyword type="macro" name="GST_TAG_GEO_LOCATION_LONGITUDE" link="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-LONGITUDE:CAPS" since="0.10.21"/>
-    <keyword type="macro" name="GST_TAG_GEO_LOCATION_ELEVATION" link="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-ELEVATION:CAPS" since="0.10.21"/>
-    <keyword type="macro" name="GST_TAG_GEO_LOCATION_CITY" link="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-CITY:CAPS" since="0.10.29"/>
-    <keyword type="macro" name="GST_TAG_GEO_LOCATION_COUNTRY" link="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-COUNTRY:CAPS" since="0.10.29"/>
-    <keyword type="macro" name="GST_TAG_GEO_LOCATION_SUBLOCATION" link="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-SUBLOCATION:CAPS" since="0.10.29"/>
-    <keyword type="macro" name="GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR" link="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-HORIZONTAL-ERROR:CAPS" since="0.10.31"/>
-    <keyword type="macro" name="GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION" link="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-MOVEMENT-DIRECTION:CAPS" since="0.10.30"/>
+    <keyword type="macro" name="GST_TAG_LANGUAGE_NAME" link="gstreamer-GstTagList.html#GST-TAG-LANGUAGE-NAME:CAPS"/>
+    <keyword type="macro" name="GST_TAG_IMAGE" link="gstreamer-GstTagList.html#GST-TAG-IMAGE:CAPS"/>
+    <keyword type="macro" name="GST_TAG_PREVIEW_IMAGE" link="gstreamer-GstTagList.html#GST-TAG-PREVIEW-IMAGE:CAPS"/>
+    <keyword type="macro" name="GST_TAG_ATTACHMENT" link="gstreamer-GstTagList.html#GST-TAG-ATTACHMENT:CAPS"/>
+    <keyword type="macro" name="GST_TAG_BEATS_PER_MINUTE" link="gstreamer-GstTagList.html#GST-TAG-BEATS-PER-MINUTE:CAPS"/>
+    <keyword type="macro" name="GST_TAG_KEYWORDS" link="gstreamer-GstTagList.html#GST-TAG-KEYWORDS:CAPS"/>
+    <keyword type="macro" name="GST_TAG_GEO_LOCATION_NAME" link="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-NAME:CAPS"/>
+    <keyword type="macro" name="GST_TAG_GEO_LOCATION_LATITUDE" link="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-LATITUDE:CAPS"/>
+    <keyword type="macro" name="GST_TAG_GEO_LOCATION_LONGITUDE" link="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-LONGITUDE:CAPS"/>
+    <keyword type="macro" name="GST_TAG_GEO_LOCATION_ELEVATION" link="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-ELEVATION:CAPS"/>
+    <keyword type="macro" name="GST_TAG_GEO_LOCATION_CITY" link="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-CITY:CAPS"/>
+    <keyword type="macro" name="GST_TAG_GEO_LOCATION_COUNTRY" link="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-COUNTRY:CAPS"/>
+    <keyword type="macro" name="GST_TAG_GEO_LOCATION_SUBLOCATION" link="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-SUBLOCATION:CAPS"/>
+    <keyword type="macro" name="GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR" link="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-HORIZONTAL-ERROR:CAPS"/>
+    <keyword type="macro" name="GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION" link="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-MOVEMENT-DIRECTION:CAPS"/>
     <keyword type="macro" name="GST_TAG_GEO_LOCATION_MOVEMENT_SPEED" link="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-MOVEMENT-SPEED:CAPS"/>
-    <keyword type="macro" name="GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION" link="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-CAPTURE-DIRECTION:CAPS" since="0.10.30"/>
-    <keyword type="macro" name="GST_TAG_SHOW_NAME" link="gstreamer-GstTagList.html#GST-TAG-SHOW-NAME:CAPS" since="0.10.26"/>
-    <keyword type="macro" name="GST_TAG_SHOW_SORTNAME" link="gstreamer-GstTagList.html#GST-TAG-SHOW-SORTNAME:CAPS" since="0.10.26"/>
-    <keyword type="macro" name="GST_TAG_SHOW_EPISODE_NUMBER" link="gstreamer-GstTagList.html#GST-TAG-SHOW-EPISODE-NUMBER:CAPS" since="0.10.26"/>
-    <keyword type="macro" name="GST_TAG_SHOW_SEASON_NUMBER" link="gstreamer-GstTagList.html#GST-TAG-SHOW-SEASON-NUMBER:CAPS" since="0.10.26"/>
-    <keyword type="macro" name="GST_TAG_LYRICS" link="gstreamer-GstTagList.html#GST-TAG-LYRICS:CAPS" since="0.10.26"/>
-    <keyword type="macro" name="GST_TAG_COMPOSER_SORTNAME" link="gstreamer-GstTagList.html#GST-TAG-COMPOSER-SORTNAME:CAPS" since="0.10.26"/>
-    <keyword type="macro" name="GST_TAG_GROUPING" link="gstreamer-GstTagList.html#GST-TAG-GROUPING:CAPS" since="0.10.26"/>
-    <keyword type="macro" name="GST_TAG_USER_RATING" link="gstreamer-GstTagList.html#GST-TAG-USER-RATING:CAPS" since="0.10.29"/>
-    <keyword type="macro" name="GST_TAG_DEVICE_MANUFACTURER" link="gstreamer-GstTagList.html#GST-TAG-DEVICE-MANUFACTURER:CAPS" since="0.10.30"/>
-    <keyword type="macro" name="GST_TAG_DEVICE_MODEL" link="gstreamer-GstTagList.html#GST-TAG-DEVICE-MODEL:CAPS" since="0.10.30"/>
-    <keyword type="macro" name="GST_TAG_APPLICATION_NAME" link="gstreamer-GstTagList.html#GST-TAG-APPLICATION-NAME:CAPS" since="0.10.31"/>
-    <keyword type="macro" name="GST_TAG_APPLICATION_DATA" link="gstreamer-GstTagList.html#GST-TAG-APPLICATION-DATA:CAPS" since="0.10.31"/>
-    <keyword type="macro" name="GST_TAG_IMAGE_ORIENTATION" link="gstreamer-GstTagList.html#GST-TAG-IMAGE-ORIENTATION:CAPS" since="0.10.30"/>
+    <keyword type="macro" name="GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION" link="gstreamer-GstTagList.html#GST-TAG-GEO-LOCATION-CAPTURE-DIRECTION:CAPS"/>
+    <keyword type="macro" name="GST_TAG_SHOW_NAME" link="gstreamer-GstTagList.html#GST-TAG-SHOW-NAME:CAPS"/>
+    <keyword type="macro" name="GST_TAG_SHOW_SORTNAME" link="gstreamer-GstTagList.html#GST-TAG-SHOW-SORTNAME:CAPS"/>
+    <keyword type="macro" name="GST_TAG_SHOW_EPISODE_NUMBER" link="gstreamer-GstTagList.html#GST-TAG-SHOW-EPISODE-NUMBER:CAPS"/>
+    <keyword type="macro" name="GST_TAG_SHOW_SEASON_NUMBER" link="gstreamer-GstTagList.html#GST-TAG-SHOW-SEASON-NUMBER:CAPS"/>
+    <keyword type="macro" name="GST_TAG_LYRICS" link="gstreamer-GstTagList.html#GST-TAG-LYRICS:CAPS"/>
+    <keyword type="macro" name="GST_TAG_COMPOSER_SORTNAME" link="gstreamer-GstTagList.html#GST-TAG-COMPOSER-SORTNAME:CAPS"/>
+    <keyword type="macro" name="GST_TAG_GROUPING" link="gstreamer-GstTagList.html#GST-TAG-GROUPING:CAPS"/>
+    <keyword type="macro" name="GST_TAG_USER_RATING" link="gstreamer-GstTagList.html#GST-TAG-USER-RATING:CAPS"/>
+    <keyword type="macro" name="GST_TAG_DEVICE_MANUFACTURER" link="gstreamer-GstTagList.html#GST-TAG-DEVICE-MANUFACTURER:CAPS"/>
+    <keyword type="macro" name="GST_TAG_DEVICE_MODEL" link="gstreamer-GstTagList.html#GST-TAG-DEVICE-MODEL:CAPS"/>
+    <keyword type="macro" name="GST_TAG_APPLICATION_NAME" link="gstreamer-GstTagList.html#GST-TAG-APPLICATION-NAME:CAPS"/>
+    <keyword type="macro" name="GST_TAG_APPLICATION_DATA" link="gstreamer-GstTagList.html#GST-TAG-APPLICATION-DATA:CAPS"/>
+    <keyword type="macro" name="GST_TAG_IMAGE_ORIENTATION" link="gstreamer-GstTagList.html#GST-TAG-IMAGE-ORIENTATION:CAPS"/>
     <keyword type="function" name="gst_tag_register ()" link="gstreamer-GstTagList.html#gst-tag-register"/>
     <keyword type="function" name="gst_tag_register_static ()" link="gstreamer-GstTagList.html#gst-tag-register-static"/>
     <keyword type="function" name="gst_tag_merge_use_first ()" link="gstreamer-GstTagList.html#gst-tag-merge-use-first"/>
@@ -1505,13 +1510,14 @@
     <keyword type="function" name="gst_tag_get_description ()" link="gstreamer-GstTagList.html#gst-tag-get-description"/>
     <keyword type="function" name="gst_tag_get_flag ()" link="gstreamer-GstTagList.html#gst-tag-get-flag"/>
     <keyword type="function" name="gst_tag_is_fixed ()" link="gstreamer-GstTagList.html#gst-tag-is-fixed"/>
-    <keyword type="function" name="gst_tag_list_new ()" link="gstreamer-GstTagList.html#gst-tag-list-new" since="0.10.24"/>
+    <keyword type="function" name="gst_tag_list_new ()" link="gstreamer-GstTagList.html#gst-tag-list-new"/>
     <keyword type="function" name="gst_tag_list_new_empty ()" link="gstreamer-GstTagList.html#gst-tag-list-new-empty"/>
-    <keyword type="function" name="gst_tag_list_new_valist ()" link="gstreamer-GstTagList.html#gst-tag-list-new-valist" since="0.10.24"/>
-    <keyword type="function" name="gst_tag_list_new_from_string ()" link="gstreamer-GstTagList.html#gst-tag-list-new-from-string" since="0.10.36"/>
-    <keyword type="function" name="gst_tag_list_to_string ()" link="gstreamer-GstTagList.html#gst-tag-list-to-string" since="0.10.36"/>
-    <keyword type="function" name="gst_tag_list_is_empty ()" link="gstreamer-GstTagList.html#gst-tag-list-is-empty" since="0.10.11"/>
-    <keyword type="function" name="gst_tag_list_is_equal ()" link="gstreamer-GstTagList.html#gst-tag-list-is-equal" since="0.10.36"/>
+    <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_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"/>
     <keyword type="function" name="gst_tag_list_copy ()" link="gstreamer-GstTagList.html#gst-tag-list-copy"/>
     <keyword type="function" name="gst_tag_list_ref ()" link="gstreamer-GstTagList.html#gst-tag-list-ref"/>
     <keyword type="function" name="gst_tag_list_unref ()" link="gstreamer-GstTagList.html#gst-tag-list-unref"/>
@@ -1523,7 +1529,7 @@
     <keyword type="function" name="gst_tag_list_n_tags ()" link="gstreamer-GstTagList.html#gst-tag-list-n-tags"/>
     <keyword type="function" name="gst_tag_list_nth_tag_name ()" link="gstreamer-GstTagList.html#gst-tag-list-nth-tag-name"/>
     <keyword type="function" name="gst_tag_list_add ()" link="gstreamer-GstTagList.html#gst-tag-list-add"/>
-    <keyword type="function" name="gst_tag_list_add_value ()" link="gstreamer-GstTagList.html#gst-tag-list-add-value" since="0.10.24"/>
+    <keyword type="function" name="gst_tag_list_add_value ()" link="gstreamer-GstTagList.html#gst-tag-list-add-value"/>
     <keyword type="function" name="gst_tag_list_add_values ()" link="gstreamer-GstTagList.html#gst-tag-list-add-values"/>
     <keyword type="function" name="gst_tag_list_add_valist ()" link="gstreamer-GstTagList.html#gst-tag-list-add-valist"/>
     <keyword type="function" name="gst_tag_list_add_valist_values ()" link="gstreamer-GstTagList.html#gst-tag-list-add-valist-values"/>
@@ -1552,16 +1558,16 @@
     <keyword type="function" name="gst_tag_list_get_pointer_index ()" link="gstreamer-GstTagList.html#gst-tag-list-get-pointer-index"/>
     <keyword type="function" name="gst_tag_list_get_date ()" link="gstreamer-GstTagList.html#gst-tag-list-get-date"/>
     <keyword type="function" name="gst_tag_list_get_date_index ()" link="gstreamer-GstTagList.html#gst-tag-list-get-date-index"/>
-    <keyword type="function" name="gst_tag_list_get_date_time ()" link="gstreamer-GstTagList.html#gst-tag-list-get-date-time" since="0.10.31"/>
-    <keyword type="function" name="gst_tag_list_get_date_time_index ()" link="gstreamer-GstTagList.html#gst-tag-list-get-date-time-index" since="0.10.31"/>
-    <keyword type="function" name="gst_tag_list_get_buffer ()" link="gstreamer-GstTagList.html#gst-tag-list-get-buffer" since="0.10.23"/>
-    <keyword type="function" name="gst_tag_list_get_buffer_index ()" link="gstreamer-GstTagList.html#gst-tag-list-get-buffer-index" since="0.10.23"/>
+    <keyword type="function" name="gst_tag_list_get_date_time ()" link="gstreamer-GstTagList.html#gst-tag-list-get-date-time"/>
+    <keyword type="function" name="gst_tag_list_get_date_time_index ()" link="gstreamer-GstTagList.html#gst-tag-list-get-date-time-index"/>
+    <keyword type="function" name="gst_tag_list_get_sample ()" link="gstreamer-GstTagList.html#gst-tag-list-get-sample"/>
+    <keyword type="function" name="gst_tag_list_get_sample_index ()" link="gstreamer-GstTagList.html#gst-tag-list-get-sample-index"/>
     <keyword type="struct" name="GstTagSetter" link="GstTagSetter.html#GstTagSetter-struct"/>
     <keyword type="struct" name="struct GstTagSetterInterface" link="GstTagSetter.html#GstTagSetterInterface"/>
-    <keyword type="function" name="gst_tag_setter_reset_tags ()" link="GstTagSetter.html#gst-tag-setter-reset-tags" since="0.10.22"/>
+    <keyword type="function" name="gst_tag_setter_reset_tags ()" link="GstTagSetter.html#gst-tag-setter-reset-tags"/>
     <keyword type="function" name="gst_tag_setter_merge_tags ()" link="GstTagSetter.html#gst-tag-setter-merge-tags"/>
     <keyword type="function" name="gst_tag_setter_add_tags ()" link="GstTagSetter.html#gst-tag-setter-add-tags"/>
-    <keyword type="function" name="gst_tag_setter_add_tag_value ()" link="GstTagSetter.html#gst-tag-setter-add-tag-value" since="0.10.24"/>
+    <keyword type="function" name="gst_tag_setter_add_tag_value ()" link="GstTagSetter.html#gst-tag-setter-add-tag-value"/>
     <keyword type="function" name="gst_tag_setter_add_tag_values ()" link="GstTagSetter.html#gst-tag-setter-add-tag-values"/>
     <keyword type="function" name="gst_tag_setter_add_tag_valist ()" link="GstTagSetter.html#gst-tag-setter-add-tag-valist"/>
     <keyword type="function" name="gst_tag_setter_add_tag_valist_values ()" link="GstTagSetter.html#gst-tag-setter-add-tag-valist-values"/>
@@ -1579,12 +1585,13 @@
     <keyword type="macro" name="GST_TASK_WAIT()" link="GstTask.html#GST-TASK-WAIT:CAPS"/>
     <keyword type="function" name="gst_task_new ()" link="GstTask.html#gst-task-new"/>
     <keyword type="function" name="gst_task_set_lock ()" link="GstTask.html#gst-task-set-lock"/>
-    <keyword type="function" name="gst_task_set_pool ()" link="GstTask.html#gst-task-set-pool" since="0.10.24"/>
-    <keyword type="function" name="gst_task_get_pool ()" link="GstTask.html#gst-task-get-pool" since="0.10.24"/>
-    <keyword type="struct" name="GstTaskThreadCallbacks" link="GstTask.html#GstTaskThreadCallbacks" since="0.10.24"/>
-    <keyword type="function" name="gst_task_set_thread_callbacks ()" link="GstTask.html#gst-task-set-thread-callbacks" since="0.10.24"/>
+    <keyword type="function" name="gst_task_set_pool ()" link="GstTask.html#gst-task-set-pool"/>
+    <keyword type="function" name="gst_task_get_pool ()" link="GstTask.html#gst-task-get-pool"/>
+    <keyword type="function" name="GstTaskThreadFunc ()" link="GstTask.html#GstTaskThreadFunc"/>
+    <keyword type="function" name="gst_task_set_enter_callback ()" link="GstTask.html#gst-task-set-enter-callback"/>
+    <keyword type="function" name="gst_task_set_leave_callback ()" link="GstTask.html#gst-task-set-leave-callback"/>
     <keyword type="function" name="gst_task_get_state ()" link="GstTask.html#gst-task-get-state"/>
-    <keyword type="function" name="gst_task_set_state ()" link="GstTask.html#gst-task-set-state" since="0.10.24"/>
+    <keyword type="function" name="gst_task_set_state ()" link="GstTask.html#gst-task-set-state"/>
     <keyword type="function" name="gst_task_pause ()" link="GstTask.html#gst-task-pause"/>
     <keyword type="function" name="gst_task_start ()" link="GstTask.html#gst-task-start"/>
     <keyword type="function" name="gst_task_stop ()" link="GstTask.html#gst-task-stop"/>
@@ -1592,47 +1599,68 @@
     <keyword type="function" name="gst_task_cleanup_all ()" link="GstTask.html#gst-task-cleanup-all"/>
     <keyword type="struct" name="struct GstTaskPool" link="GstTaskPool.html#GstTaskPool-struct"/>
     <keyword type="struct" name="struct GstTaskPoolClass" link="GstTaskPool.html#GstTaskPoolClass"/>
-    <keyword type="function" name="GstTaskPoolFunction ()" link="GstTaskPool.html#GstTaskPoolFunction" since="0.10.24"/>
-    <keyword type="function" name="gst_task_pool_new ()" link="GstTaskPool.html#gst-task-pool-new" since="0.10.24"/>
-    <keyword type="function" name="gst_task_pool_prepare ()" link="GstTaskPool.html#gst-task-pool-prepare" since="0.10.24"/>
-    <keyword type="function" name="gst_task_pool_push ()" link="GstTaskPool.html#gst-task-pool-push" since="0.10.24"/>
-    <keyword type="function" name="gst_task_pool_join ()" link="GstTaskPool.html#gst-task-pool-join" since="0.10.24"/>
-    <keyword type="function" name="gst_task_pool_cleanup ()" link="GstTaskPool.html#gst-task-pool-cleanup" since="0.10.24"/>
-    <keyword type="struct" name="struct GstToc" link="gstreamer-GstToc.html#GstToc"/>
-    <keyword type="struct" name="struct GstTocEntry" link="gstreamer-GstToc.html#GstTocEntry"/>
+    <keyword type="function" name="GstTaskPoolFunction ()" link="GstTaskPool.html#GstTaskPoolFunction"/>
+    <keyword type="function" name="gst_task_pool_new ()" link="GstTaskPool.html#gst-task-pool-new"/>
+    <keyword type="function" name="gst_task_pool_prepare ()" link="GstTaskPool.html#gst-task-pool-prepare"/>
+    <keyword type="function" name="gst_task_pool_push ()" link="GstTaskPool.html#gst-task-pool-push"/>
+    <keyword type="function" name="gst_task_pool_join ()" link="GstTaskPool.html#gst-task-pool-join"/>
+    <keyword type="function" name="gst_task_pool_cleanup ()" link="GstTaskPool.html#gst-task-pool-cleanup"/>
+    <keyword type="struct" name="GstToc" link="gstreamer-GstToc.html#GstToc"/>
+    <keyword type="enum" name="enum GstTocScope" link="gstreamer-GstToc.html#GstTocScope"/>
+    <keyword type="struct" name="GstTocEntry" link="gstreamer-GstToc.html#GstTocEntry"/>
     <keyword type="enum" name="enum GstTocEntryType" link="gstreamer-GstToc.html#GstTocEntryType"/>
-    <keyword type="function" name="gst_toc_entry_new ()" link="gstreamer-GstToc.html#gst-toc-entry-new" since="0.10.37"/>
-    <keyword type="function" name="gst_toc_entry_new_with_pad ()" link="gstreamer-GstToc.html#gst-toc-entry-new-with-pad" since="0.10.37"/>
-    <keyword type="function" name="gst_toc_entry_free ()" link="gstreamer-GstToc.html#gst-toc-entry-free" since="0.10.37"/>
-    <keyword type="function" name="gst_toc_new ()" link="gstreamer-GstToc.html#gst-toc-new" since="0.10.37"/>
-    <keyword type="function" name="gst_toc_free ()" link="gstreamer-GstToc.html#gst-toc-free" since="0.10.37"/>
-    <keyword type="function" name="gst_toc_entry_copy ()" link="gstreamer-GstToc.html#gst-toc-entry-copy" since="0.10.37"/>
-    <keyword type="function" name="gst_toc_copy ()" link="gstreamer-GstToc.html#gst-toc-copy" since="0.10.37"/>
-    <keyword type="function" name="gst_toc_find_entry ()" link="gstreamer-GstToc.html#gst-toc-find-entry" since="0.10.37"/>
-    <keyword type="function" name="gst_toc_entry_get_start_stop ()" link="gstreamer-GstToc.html#gst-toc-entry-get-start-stop" since="0.10.37"/>
-    <keyword type="function" name="gst_toc_entry_set_start_stop ()" link="gstreamer-GstToc.html#gst-toc-entry-set-start-stop" since="0.10.37"/>
-    <keyword type="function" name="gst_toc_entry_type_get_nick ()" link="gstreamer-GstToc.html#gst-toc-entry-type-get-nick" since="0.11.92"/>
+    <keyword type="function" name="gst_toc_new ()" link="gstreamer-GstToc.html#gst-toc-new"/>
+    <keyword type="macro" name="gst_toc_ref()" link="gstreamer-GstToc.html#gst-toc-ref"/>
+    <keyword type="macro" name="gst_toc_unref()" link="gstreamer-GstToc.html#gst-toc-unref"/>
+    <keyword type="macro" name="gst_toc_copy()" link="gstreamer-GstToc.html#gst-toc-copy"/>
+    <keyword type="macro" name="gst_toc_make_writable()" link="gstreamer-GstToc.html#gst-toc-make-writable"/>
+    <keyword type="function" name="gst_toc_get_scope ()" link="gstreamer-GstToc.html#gst-toc-get-scope"/>
+    <keyword type="function" name="gst_toc_get_entries ()" link="gstreamer-GstToc.html#gst-toc-get-entries"/>
+    <keyword type="function" name="gst_toc_append_entry ()" link="gstreamer-GstToc.html#gst-toc-append-entry"/>
+    <keyword type="function" name="gst_toc_get_tags ()" link="gstreamer-GstToc.html#gst-toc-get-tags"/>
+    <keyword type="function" name="gst_toc_merge_tags ()" link="gstreamer-GstToc.html#gst-toc-merge-tags"/>
+    <keyword type="function" name="gst_toc_set_tags ()" link="gstreamer-GstToc.html#gst-toc-set-tags"/>
+    <keyword type="function" name="gst_toc_dump ()" link="gstreamer-GstToc.html#gst-toc-dump"/>
+    <keyword type="function" name="gst_toc_entry_new ()" link="gstreamer-GstToc.html#gst-toc-entry-new"/>
+    <keyword type="macro" name="gst_toc_entry_ref()" link="gstreamer-GstToc.html#gst-toc-entry-ref"/>
+    <keyword type="macro" name="gst_toc_entry_unref()" link="gstreamer-GstToc.html#gst-toc-entry-unref"/>
+    <keyword type="macro" name="gst_toc_entry_copy()" link="gstreamer-GstToc.html#gst-toc-entry-copy"/>
+    <keyword type="macro" name="gst_toc_entry_make_writable()" link="gstreamer-GstToc.html#gst-toc-entry-make-writable"/>
+    <keyword type="function" name="gst_toc_find_entry ()" link="gstreamer-GstToc.html#gst-toc-find-entry"/>
+    <keyword type="function" name="gst_toc_entry_get_toc ()" link="gstreamer-GstToc.html#gst-toc-entry-get-toc"/>
+    <keyword type="function" name="gst_toc_entry_get_uid ()" link="gstreamer-GstToc.html#gst-toc-entry-get-uid"/>
+    <keyword type="function" name="gst_toc_entry_get_parent ()" link="gstreamer-GstToc.html#gst-toc-entry-get-parent"/>
+    <keyword type="function" name="gst_toc_entry_get_sub_entries ()" link="gstreamer-GstToc.html#gst-toc-entry-get-sub-entries"/>
+    <keyword type="function" name="gst_toc_entry_append_sub_entry ()" link="gstreamer-GstToc.html#gst-toc-entry-append-sub-entry"/>
+    <keyword type="function" name="gst_toc_entry_get_start_stop_times ()" link="gstreamer-GstToc.html#gst-toc-entry-get-start-stop-times"/>
+    <keyword type="function" name="gst_toc_entry_set_start_stop_times ()" link="gstreamer-GstToc.html#gst-toc-entry-set-start-stop-times"/>
+    <keyword type="function" name="gst_toc_entry_get_tags ()" link="gstreamer-GstToc.html#gst-toc-entry-get-tags"/>
+    <keyword type="function" name="gst_toc_entry_merge_tags ()" link="gstreamer-GstToc.html#gst-toc-entry-merge-tags"/>
+    <keyword type="function" name="gst_toc_entry_set_tags ()" link="gstreamer-GstToc.html#gst-toc-entry-set-tags"/>
+    <keyword type="function" name="gst_toc_entry_type_get_nick ()" link="gstreamer-GstToc.html#gst-toc-entry-type-get-nick"/>
+    <keyword type="function" name="gst_toc_entry_get_entry_type ()" link="gstreamer-GstToc.html#gst-toc-entry-get-entry-type"/>
+    <keyword type="function" name="gst_toc_entry_is_alternative ()" link="gstreamer-GstToc.html#gst-toc-entry-is-alternative"/>
+    <keyword type="function" name="gst_toc_entry_is_sequence ()" link="gstreamer-GstToc.html#gst-toc-entry-is-sequence"/>
+    <keyword type="macro" name="GST_TOC_ENTRY_TYPE_IS_ALTERNATIVE()" link="gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-IS-ALTERNATIVE:CAPS"/>
+    <keyword type="macro" name="GST_TOC_ENTRY_TYPE_IS_SEQUENCE()" link="gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-IS-SEQUENCE:CAPS"/>
     <keyword type="struct" name="GstTocSetter" link="gstreamer-GstTocSetter.html#GstTocSetter"/>
-    <keyword type="struct" name="struct GstTocSetterIFace" link="gstreamer-GstTocSetter.html#GstTocSetterIFace"/>
-    <keyword type="function" name="gst_toc_setter_get_toc ()" link="gstreamer-GstTocSetter.html#gst-toc-setter-get-toc" since="0.10.37"/>
-    <keyword type="function" name="gst_toc_setter_get_toc_copy ()" link="gstreamer-GstTocSetter.html#gst-toc-setter-get-toc-copy" since="0.10.37"/>
-    <keyword type="function" name="gst_toc_setter_reset_toc ()" link="gstreamer-GstTocSetter.html#gst-toc-setter-reset-toc" since="0.10.37"/>
-    <keyword type="function" name="gst_toc_setter_set_toc ()" link="gstreamer-GstTocSetter.html#gst-toc-setter-set-toc" since="0.10.37"/>
-    <keyword type="function" name="gst_toc_setter_get_toc_entry ()" link="gstreamer-GstTocSetter.html#gst-toc-setter-get-toc-entry" since="0.10.37"/>
-    <keyword type="function" name="gst_toc_setter_get_toc_entry_copy ()" link="gstreamer-GstTocSetter.html#gst-toc-setter-get-toc-entry-copy" since="0.10.37"/>
-    <keyword type="function" name="gst_toc_setter_add_toc_entry ()" link="gstreamer-GstTocSetter.html#gst-toc-setter-add-toc-entry" since="0.10.37"/>
+    <keyword type="struct" name="struct GstTocSetterInterface" link="gstreamer-GstTocSetter.html#GstTocSetterInterface"/>
+    <keyword type="function" name="gst_toc_setter_set_toc ()" link="gstreamer-GstTocSetter.html#gst-toc-setter-set-toc"/>
+    <keyword type="function" name="gst_toc_setter_get_toc ()" link="gstreamer-GstTocSetter.html#gst-toc-setter-get-toc"/>
+    <keyword type="function" name="gst_toc_setter_reset ()" link="gstreamer-GstTocSetter.html#gst-toc-setter-reset"/>
     <keyword type="struct" name="struct GstTypeFind" link="gstreamer-GstTypeFind.html#GstTypeFind"/>
     <keyword type="function" name="GstTypeFindFunction ()" link="gstreamer-GstTypeFind.html#GstTypeFindFunction"/>
     <keyword type="enum" name="enum GstTypeFindProbability" link="gstreamer-GstTypeFind.html#GstTypeFindProbability"/>
     <keyword type="function" name="gst_type_find_peek ()" link="gstreamer-GstTypeFind.html#gst-type-find-peek"/>
     <keyword type="function" name="gst_type_find_suggest ()" link="gstreamer-GstTypeFind.html#gst-type-find-suggest"/>
-    <keyword type="function" name="gst_type_find_suggest_simple ()" link="gstreamer-GstTypeFind.html#gst-type-find-suggest-simple" since="0.10.20"/>
+    <keyword type="function" name="gst_type_find_suggest_simple ()" link="gstreamer-GstTypeFind.html#gst-type-find-suggest-simple"/>
     <keyword type="function" name="gst_type_find_get_length ()" link="gstreamer-GstTypeFind.html#gst-type-find-get-length"/>
     <keyword type="function" name="gst_type_find_register ()" link="gstreamer-GstTypeFind.html#gst-type-find-register"/>
     <keyword type="struct" name="GstTypeFindFactory" link="GstTypeFindFactory.html#GstTypeFindFactory-struct"/>
     <keyword type="function" name="gst_type_find_factory_get_list ()" link="GstTypeFindFactory.html#gst-type-find-factory-get-list"/>
     <keyword type="function" name="gst_type_find_factory_get_extensions ()" link="GstTypeFindFactory.html#gst-type-find-factory-get-extensions"/>
     <keyword type="function" name="gst_type_find_factory_get_caps ()" link="GstTypeFindFactory.html#gst-type-find-factory-get-caps"/>
+    <keyword type="function" name="gst_type_find_factory_has_function ()" link="GstTypeFindFactory.html#gst-type-find-factory-has-function"/>
     <keyword type="function" name="gst_type_find_factory_call_function ()" link="GstTypeFindFactory.html#gst-type-find-factory-call-function"/>
     <keyword type="struct" name="GstURIHandler" link="gstreamer-GstUriHandler.html#GstURIHandler-struct"/>
     <keyword type="struct" name="struct GstURIHandlerInterface" link="gstreamer-GstUriHandler.html#GstURIHandlerInterface"/>
@@ -1641,13 +1669,13 @@
     <keyword type="function" name="gst_uri_error_quark ()" link="gstreamer-GstUriHandler.html#gst-uri-error-quark"/>
     <keyword type="macro" name="GST_URI_TYPE_IS_VALID()" link="gstreamer-GstUriHandler.html#GST-URI-TYPE-IS-VALID:CAPS"/>
     <keyword type="function" name="gst_uri_protocol_is_valid ()" link="gstreamer-GstUriHandler.html#gst-uri-protocol-is-valid"/>
-    <keyword type="function" name="gst_uri_protocol_is_supported ()" link="gstreamer-GstUriHandler.html#gst-uri-protocol-is-supported" since="0.10.13"/>
+    <keyword type="function" name="gst_uri_protocol_is_supported ()" link="gstreamer-GstUriHandler.html#gst-uri-protocol-is-supported"/>
     <keyword type="function" name="gst_uri_is_valid ()" link="gstreamer-GstUriHandler.html#gst-uri-is-valid"/>
-    <keyword type="function" name="gst_uri_has_protocol ()" link="gstreamer-GstUriHandler.html#gst-uri-has-protocol" since="0.10.4"/>
+    <keyword type="function" name="gst_uri_has_protocol ()" link="gstreamer-GstUriHandler.html#gst-uri-has-protocol"/>
     <keyword type="function" name="gst_uri_get_protocol ()" link="gstreamer-GstUriHandler.html#gst-uri-get-protocol"/>
     <keyword type="function" name="gst_uri_get_location ()" link="gstreamer-GstUriHandler.html#gst-uri-get-location"/>
     <keyword type="function" name="gst_uri_construct ()" link="gstreamer-GstUriHandler.html#gst-uri-construct"/>
-    <keyword type="function" name="gst_filename_to_uri ()" link="gstreamer-GstUriHandler.html#gst-filename-to-uri" since="0.10.33"/>
+    <keyword type="function" name="gst_filename_to_uri ()" link="gstreamer-GstUriHandler.html#gst-filename-to-uri"/>
     <keyword type="function" name="gst_element_make_from_uri ()" link="gstreamer-GstUriHandler.html#gst-element-make-from-uri"/>
     <keyword type="function" name="gst_uri_handler_get_uri_type ()" link="gstreamer-GstUriHandler.html#gst-uri-handler-get-uri-type"/>
     <keyword type="function" name="gst_uri_handler_get_protocols ()" link="gstreamer-GstUriHandler.html#gst-uri-handler-get-protocols"/>
@@ -1658,55 +1686,53 @@
     <keyword type="macro" name="GST_READ_UINT8()" link="gstreamer-GstUtils.html#GST-READ-UINT8:CAPS"/>
     <keyword type="macro" name="GST_READ_UINT16_LE()" link="gstreamer-GstUtils.html#GST-READ-UINT16-LE:CAPS"/>
     <keyword type="macro" name="GST_READ_UINT16_BE()" link="gstreamer-GstUtils.html#GST-READ-UINT16-BE:CAPS"/>
-    <keyword type="macro" name="GST_READ_UINT24_LE()" link="gstreamer-GstUtils.html#GST-READ-UINT24-LE:CAPS" since="0.10.22"/>
-    <keyword type="macro" name="GST_READ_UINT24_BE()" link="gstreamer-GstUtils.html#GST-READ-UINT24-BE:CAPS" since="0.10.22"/>
+    <keyword type="macro" name="GST_READ_UINT24_LE()" link="gstreamer-GstUtils.html#GST-READ-UINT24-LE:CAPS"/>
+    <keyword type="macro" name="GST_READ_UINT24_BE()" link="gstreamer-GstUtils.html#GST-READ-UINT24-BE:CAPS"/>
     <keyword type="macro" name="GST_READ_UINT32_LE()" link="gstreamer-GstUtils.html#GST-READ-UINT32-LE:CAPS"/>
     <keyword type="macro" name="GST_READ_UINT32_BE()" link="gstreamer-GstUtils.html#GST-READ-UINT32-BE:CAPS"/>
     <keyword type="macro" name="GST_READ_UINT64_LE()" link="gstreamer-GstUtils.html#GST-READ-UINT64-LE:CAPS"/>
     <keyword type="macro" name="GST_READ_UINT64_BE()" link="gstreamer-GstUtils.html#GST-READ-UINT64-BE:CAPS"/>
-    <keyword type="function" name="GST_READ_FLOAT_LE ()" link="gstreamer-GstUtils.html#GST-READ-FLOAT-LE:CAPS" since="0.10.22"/>
-    <keyword type="function" name="GST_READ_FLOAT_BE ()" link="gstreamer-GstUtils.html#GST-READ-FLOAT-BE:CAPS" since="0.10.22"/>
-    <keyword type="function" name="GST_READ_DOUBLE_LE ()" link="gstreamer-GstUtils.html#GST-READ-DOUBLE-LE:CAPS" since="0.10.22"/>
-    <keyword type="function" name="GST_READ_DOUBLE_BE ()" link="gstreamer-GstUtils.html#GST-READ-DOUBLE-BE:CAPS" since="0.10.22"/>
+    <keyword type="function" name="GST_READ_FLOAT_LE ()" link="gstreamer-GstUtils.html#GST-READ-FLOAT-LE:CAPS"/>
+    <keyword type="function" name="GST_READ_FLOAT_BE ()" link="gstreamer-GstUtils.html#GST-READ-FLOAT-BE:CAPS"/>
+    <keyword type="function" name="GST_READ_DOUBLE_LE ()" link="gstreamer-GstUtils.html#GST-READ-DOUBLE-LE:CAPS"/>
+    <keyword type="function" name="GST_READ_DOUBLE_BE ()" link="gstreamer-GstUtils.html#GST-READ-DOUBLE-BE:CAPS"/>
     <keyword type="macro" name="GST_WRITE_UINT8()" link="gstreamer-GstUtils.html#GST-WRITE-UINT8:CAPS"/>
     <keyword type="macro" name="GST_WRITE_UINT16_LE()" link="gstreamer-GstUtils.html#GST-WRITE-UINT16-LE:CAPS"/>
     <keyword type="macro" name="GST_WRITE_UINT16_BE()" link="gstreamer-GstUtils.html#GST-WRITE-UINT16-BE:CAPS"/>
-    <keyword type="macro" name="GST_WRITE_UINT24_LE()" link="gstreamer-GstUtils.html#GST-WRITE-UINT24-LE:CAPS" since="0.10.22"/>
-    <keyword type="macro" name="GST_WRITE_UINT24_BE()" link="gstreamer-GstUtils.html#GST-WRITE-UINT24-BE:CAPS" since="0.10.22"/>
+    <keyword type="macro" name="GST_WRITE_UINT24_LE()" link="gstreamer-GstUtils.html#GST-WRITE-UINT24-LE:CAPS"/>
+    <keyword type="macro" name="GST_WRITE_UINT24_BE()" link="gstreamer-GstUtils.html#GST-WRITE-UINT24-BE:CAPS"/>
     <keyword type="macro" name="GST_WRITE_UINT32_LE()" link="gstreamer-GstUtils.html#GST-WRITE-UINT32-LE:CAPS"/>
     <keyword type="macro" name="GST_WRITE_UINT32_BE()" link="gstreamer-GstUtils.html#GST-WRITE-UINT32-BE:CAPS"/>
     <keyword type="macro" name="GST_WRITE_UINT64_LE()" link="gstreamer-GstUtils.html#GST-WRITE-UINT64-LE:CAPS"/>
     <keyword type="macro" name="GST_WRITE_UINT64_BE()" link="gstreamer-GstUtils.html#GST-WRITE-UINT64-BE:CAPS"/>
-    <keyword type="function" name="GST_WRITE_FLOAT_LE ()" link="gstreamer-GstUtils.html#GST-WRITE-FLOAT-LE:CAPS" since="0.10.22"/>
-    <keyword type="function" name="GST_WRITE_FLOAT_BE ()" link="gstreamer-GstUtils.html#GST-WRITE-FLOAT-BE:CAPS" since="0.10.22"/>
-    <keyword type="function" name="GST_WRITE_DOUBLE_LE ()" link="gstreamer-GstUtils.html#GST-WRITE-DOUBLE-LE:CAPS" since="0.10.22"/>
-    <keyword type="function" name="GST_WRITE_DOUBLE_BE ()" link="gstreamer-GstUtils.html#GST-WRITE-DOUBLE-BE:CAPS" since="0.10.22"/>
+    <keyword type="function" name="GST_WRITE_FLOAT_LE ()" link="gstreamer-GstUtils.html#GST-WRITE-FLOAT-LE:CAPS"/>
+    <keyword type="function" name="GST_WRITE_FLOAT_BE ()" link="gstreamer-GstUtils.html#GST-WRITE-FLOAT-BE:CAPS"/>
+    <keyword type="function" name="GST_WRITE_DOUBLE_LE ()" link="gstreamer-GstUtils.html#GST-WRITE-DOUBLE-LE:CAPS"/>
+    <keyword type="function" name="GST_WRITE_DOUBLE_BE ()" link="gstreamer-GstUtils.html#GST-WRITE-DOUBLE-BE:CAPS"/>
     <keyword type="macro" name="GST_ROUND_UP_2()" link="gstreamer-GstUtils.html#GST-ROUND-UP-2:CAPS"/>
     <keyword type="macro" name="GST_ROUND_UP_4()" link="gstreamer-GstUtils.html#GST-ROUND-UP-4:CAPS"/>
     <keyword type="macro" name="GST_ROUND_UP_8()" link="gstreamer-GstUtils.html#GST-ROUND-UP-8:CAPS"/>
     <keyword type="macro" name="GST_ROUND_UP_16()" link="gstreamer-GstUtils.html#GST-ROUND-UP-16:CAPS"/>
     <keyword type="macro" name="GST_ROUND_UP_32()" link="gstreamer-GstUtils.html#GST-ROUND-UP-32:CAPS"/>
     <keyword type="macro" name="GST_ROUND_UP_64()" link="gstreamer-GstUtils.html#GST-ROUND-UP-64:CAPS"/>
-    <keyword type="macro" name="GST_ROUND_DOWN_2()" link="gstreamer-GstUtils.html#GST-ROUND-DOWN-2:CAPS" since="0.10.12"/>
-    <keyword type="macro" name="GST_ROUND_DOWN_4()" link="gstreamer-GstUtils.html#GST-ROUND-DOWN-4:CAPS" since="0.10.12"/>
-    <keyword type="macro" name="GST_ROUND_DOWN_8()" link="gstreamer-GstUtils.html#GST-ROUND-DOWN-8:CAPS" since="0.10.12"/>
-    <keyword type="macro" name="GST_ROUND_DOWN_16()" link="gstreamer-GstUtils.html#GST-ROUND-DOWN-16:CAPS" since="0.10.12"/>
-    <keyword type="macro" name="GST_ROUND_DOWN_32()" link="gstreamer-GstUtils.html#GST-ROUND-DOWN-32:CAPS" since="0.10.12"/>
-    <keyword type="macro" name="GST_ROUND_DOWN_64()" link="gstreamer-GstUtils.html#GST-ROUND-DOWN-64:CAPS" since="0.10.12"/>
-    <keyword type="macro" name="GDOUBLE_FROM_BE()" link="gstreamer-GstUtils.html#GDOUBLE-FROM-BE:CAPS" since="0.10.22"/>
-    <keyword type="macro" name="GDOUBLE_FROM_LE()" link="gstreamer-GstUtils.html#GDOUBLE-FROM-LE:CAPS" since="0.10.22"/>
-    <keyword type="function" name="GDOUBLE_SWAP_LE_BE ()" link="gstreamer-GstUtils.html#GDOUBLE-SWAP-LE-BE:CAPS" since="0.10.22"/>
-    <keyword type="macro" name="GDOUBLE_TO_BE()" link="gstreamer-GstUtils.html#GDOUBLE-TO-BE:CAPS" since="0.10.22"/>
-    <keyword type="macro" name="GDOUBLE_TO_LE()" link="gstreamer-GstUtils.html#GDOUBLE-TO-LE:CAPS" since="0.10.22"/>
-    <keyword type="macro" name="GFLOAT_FROM_BE()" link="gstreamer-GstUtils.html#GFLOAT-FROM-BE:CAPS" since="0.10.22"/>
-    <keyword type="macro" name="GFLOAT_FROM_LE()" link="gstreamer-GstUtils.html#GFLOAT-FROM-LE:CAPS" since="0.10.22"/>
-    <keyword type="function" name="GFLOAT_SWAP_LE_BE ()" link="gstreamer-GstUtils.html#GFLOAT-SWAP-LE-BE:CAPS" since="0.10.22"/>
-    <keyword type="macro" name="GFLOAT_TO_BE()" link="gstreamer-GstUtils.html#GFLOAT-TO-BE:CAPS" since="0.10.22"/>
-    <keyword type="macro" name="GFLOAT_TO_LE()" link="gstreamer-GstUtils.html#GFLOAT-TO-LE:CAPS" since="0.10.22"/>
+    <keyword type="macro" name="GST_ROUND_DOWN_2()" link="gstreamer-GstUtils.html#GST-ROUND-DOWN-2:CAPS"/>
+    <keyword type="macro" name="GST_ROUND_DOWN_4()" link="gstreamer-GstUtils.html#GST-ROUND-DOWN-4:CAPS"/>
+    <keyword type="macro" name="GST_ROUND_DOWN_8()" link="gstreamer-GstUtils.html#GST-ROUND-DOWN-8:CAPS"/>
+    <keyword type="macro" name="GST_ROUND_DOWN_16()" link="gstreamer-GstUtils.html#GST-ROUND-DOWN-16:CAPS"/>
+    <keyword type="macro" name="GST_ROUND_DOWN_32()" link="gstreamer-GstUtils.html#GST-ROUND-DOWN-32:CAPS"/>
+    <keyword type="macro" name="GST_ROUND_DOWN_64()" link="gstreamer-GstUtils.html#GST-ROUND-DOWN-64:CAPS"/>
+    <keyword type="macro" name="GDOUBLE_FROM_BE()" link="gstreamer-GstUtils.html#GDOUBLE-FROM-BE:CAPS"/>
+    <keyword type="macro" name="GDOUBLE_FROM_LE()" link="gstreamer-GstUtils.html#GDOUBLE-FROM-LE:CAPS"/>
+    <keyword type="function" name="GDOUBLE_SWAP_LE_BE ()" link="gstreamer-GstUtils.html#GDOUBLE-SWAP-LE-BE:CAPS"/>
+    <keyword type="macro" name="GDOUBLE_TO_BE()" link="gstreamer-GstUtils.html#GDOUBLE-TO-BE:CAPS"/>
+    <keyword type="macro" name="GDOUBLE_TO_LE()" link="gstreamer-GstUtils.html#GDOUBLE-TO-LE:CAPS"/>
+    <keyword type="macro" name="GFLOAT_FROM_BE()" link="gstreamer-GstUtils.html#GFLOAT-FROM-BE:CAPS"/>
+    <keyword type="macro" name="GFLOAT_FROM_LE()" link="gstreamer-GstUtils.html#GFLOAT-FROM-LE:CAPS"/>
+    <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="function" name="gst_print_element_args ()" link="gstreamer-GstUtils.html#gst-print-element-args"/>
-    <keyword type="function" name="gst_print_pad_caps ()" link="gstreamer-GstUtils.html#gst-print-pad-caps"/>
     <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"/>
@@ -1716,20 +1742,20 @@
     <keyword type="function" name="gst_util_uint64_scale_int ()" link="gstreamer-GstUtils.html#gst-util-uint64-scale-int"/>
     <keyword type="function" name="gst_util_uint64_scale_int_round ()" link="gstreamer-GstUtils.html#gst-util-uint64-scale-int-round"/>
     <keyword type="function" name="gst_util_uint64_scale_int_ceil ()" link="gstreamer-GstUtils.html#gst-util-uint64-scale-int-ceil"/>
-    <keyword type="function" name="gst_util_greatest_common_divisor ()" link="gstreamer-GstUtils.html#gst-util-greatest-common-divisor" since="0.10.26"/>
-    <keyword type="function" name="gst_util_greatest_common_divisor_int64 ()" link="gstreamer-GstUtils.html#gst-util-greatest-common-divisor-int64" since="0.11.0"/>
-    <keyword type="function" name="gst_util_fraction_to_double ()" link="gstreamer-GstUtils.html#gst-util-fraction-to-double" since="0.10.26"/>
-    <keyword type="function" name="gst_util_double_to_fraction ()" link="gstreamer-GstUtils.html#gst-util-double-to-fraction" since="0.10.26"/>
-    <keyword type="function" name="gst_util_fraction_multiply ()" link="gstreamer-GstUtils.html#gst-util-fraction-multiply" since="0.10.26"/>
-    <keyword type="function" name="gst_util_fraction_add ()" link="gstreamer-GstUtils.html#gst-util-fraction-add" since="0.10.26"/>
-    <keyword type="function" name="gst_util_fraction_compare ()" link="gstreamer-GstUtils.html#gst-util-fraction-compare" since="0.10.31"/>
-    <keyword type="function" name="gst_util_seqnum_next ()" link="gstreamer-GstUtils.html#gst-util-seqnum-next" since="0.10.22"/>
-    <keyword type="function" name="gst_util_seqnum_compare ()" link="gstreamer-GstUtils.html#gst-util-seqnum-compare" since="0.10.22"/>
+    <keyword type="function" name="gst_util_greatest_common_divisor ()" link="gstreamer-GstUtils.html#gst-util-greatest-common-divisor"/>
+    <keyword type="function" name="gst_util_greatest_common_divisor_int64 ()" link="gstreamer-GstUtils.html#gst-util-greatest-common-divisor-int64"/>
+    <keyword type="function" name="gst_util_fraction_to_double ()" link="gstreamer-GstUtils.html#gst-util-fraction-to-double"/>
+    <keyword type="function" name="gst_util_double_to_fraction ()" link="gstreamer-GstUtils.html#gst-util-double-to-fraction"/>
+    <keyword type="function" name="gst_util_fraction_multiply ()" link="gstreamer-GstUtils.html#gst-util-fraction-multiply"/>
+    <keyword type="function" name="gst_util_fraction_add ()" link="gstreamer-GstUtils.html#gst-util-fraction-add"/>
+    <keyword type="function" name="gst_util_fraction_compare ()" link="gstreamer-GstUtils.html#gst-util-fraction-compare"/>
+    <keyword type="function" name="gst_util_seqnum_next ()" link="gstreamer-GstUtils.html#gst-util-seqnum-next"/>
+    <keyword type="function" name="gst_util_seqnum_compare ()" link="gstreamer-GstUtils.html#gst-util-seqnum-compare"/>
     <keyword type="function" name="gst_util_set_object_arg ()" link="gstreamer-GstUtils.html#gst-util-set-object-arg"/>
     <keyword type="function" name="gst_util_set_value_from_string ()" link="gstreamer-GstUtils.html#gst-util-set-value-from-string"/>
-    <keyword type="function" name="gst_util_get_timestamp ()" link="gstreamer-GstUtils.html#gst-util-get-timestamp" since="0.10.16"/>
-    <keyword type="enum" name="enum GstSearchMode" link="gstreamer-GstUtils.html#GstSearchMode" since="0.10.23"/>
-    <keyword type="function" name="gst_util_array_binary_search ()" link="gstreamer-GstUtils.html#gst-util-array-binary-search" since="0.10.23"/>
+    <keyword type="function" name="gst_util_get_timestamp ()" link="gstreamer-GstUtils.html#gst-util-get-timestamp"/>
+    <keyword type="enum" name="enum GstSearchMode" link="gstreamer-GstUtils.html#GstSearchMode"/>
+    <keyword type="function" name="gst_util_array_binary_search ()" link="gstreamer-GstUtils.html#gst-util-array-binary-search"/>
     <keyword type="macro" name="GST_MAKE_FOURCC()" link="gstreamer-GstValue.html#GST-MAKE-FOURCC:CAPS"/>
     <keyword type="macro" name="GST_STR_FOURCC()" link="gstreamer-GstValue.html#GST-STR-FOURCC:CAPS"/>
     <keyword type="macro" name="GST_FOURCC_FORMAT" link="gstreamer-GstValue.html#GST-FOURCC-FORMAT:CAPS"/>
@@ -1745,13 +1771,13 @@
     <keyword type="macro" name="GST_TYPE_BITMASK" link="gstreamer-GstValue.html#GST-TYPE-BITMASK:CAPS"/>
     <keyword type="function" name="gst_value_set_bitmask ()" link="gstreamer-GstValue.html#gst-value-set-bitmask"/>
     <keyword type="function" name="gst_value_get_bitmask ()" link="gstreamer-GstValue.html#gst-value-get-bitmask"/>
-    <keyword type="macro" name="GST_VALUE_HOLDS_INT64_RANGE()" link="gstreamer-GstValue.html#GST-VALUE-HOLDS-INT64-RANGE:CAPS" since="0.10.31"/>
-    <keyword type="macro" name="GST_TYPE_INT64_RANGE" link="gstreamer-GstValue.html#GST-TYPE-INT64-RANGE:CAPS" since="0.10.31"/>
-    <keyword type="function" name="gst_value_set_int64_range ()" link="gstreamer-GstValue.html#gst-value-set-int64-range" since="0.10.31"/>
-    <keyword type="function" name="gst_value_get_int64_range_min ()" link="gstreamer-GstValue.html#gst-value-get-int64-range-min" since="0.10.31"/>
-    <keyword type="function" name="gst_value_get_int64_range_max ()" link="gstreamer-GstValue.html#gst-value-get-int64-range-max" since="0.10.31"/>
-    <keyword type="function" name="gst_value_set_int64_range_step ()" link="gstreamer-GstValue.html#gst-value-set-int64-range-step" since="0.11.0"/>
-    <keyword type="function" name="gst_value_get_int64_range_step ()" link="gstreamer-GstValue.html#gst-value-get-int64-range-step" since="0.11.0"/>
+    <keyword type="macro" name="GST_VALUE_HOLDS_INT64_RANGE()" link="gstreamer-GstValue.html#GST-VALUE-HOLDS-INT64-RANGE:CAPS"/>
+    <keyword type="macro" name="GST_TYPE_INT64_RANGE" link="gstreamer-GstValue.html#GST-TYPE-INT64-RANGE:CAPS"/>
+    <keyword type="function" name="gst_value_set_int64_range ()" link="gstreamer-GstValue.html#gst-value-set-int64-range"/>
+    <keyword type="function" name="gst_value_get_int64_range_min ()" link="gstreamer-GstValue.html#gst-value-get-int64-range-min"/>
+    <keyword type="function" name="gst_value_get_int64_range_max ()" link="gstreamer-GstValue.html#gst-value-get-int64-range-max"/>
+    <keyword type="function" name="gst_value_set_int64_range_step ()" link="gstreamer-GstValue.html#gst-value-set-int64-range-step"/>
+    <keyword type="function" name="gst_value_get_int64_range_step ()" link="gstreamer-GstValue.html#gst-value-get-int64-range-step"/>
     <keyword type="macro" name="GST_VALUE_HOLDS_DOUBLE_RANGE()" link="gstreamer-GstValue.html#GST-VALUE-HOLDS-DOUBLE-RANGE:CAPS"/>
     <keyword type="macro" name="GST_TYPE_DOUBLE_RANGE" link="gstreamer-GstValue.html#GST-TYPE-DOUBLE-RANGE:CAPS"/>
     <keyword type="function" name="gst_value_set_double_range ()" link="gstreamer-GstValue.html#gst-value-set-double-range"/>
@@ -1764,7 +1790,7 @@
     <keyword type="function" name="gst_value_list_append_value ()" link="gstreamer-GstValue.html#gst-value-list-append-value"/>
     <keyword type="function" name="gst_value_list_prepend_value ()" link="gstreamer-GstValue.html#gst-value-list-prepend-value"/>
     <keyword type="function" name="gst_value_list_concat ()" link="gstreamer-GstValue.html#gst-value-list-concat"/>
-    <keyword type="function" name="gst_value_list_merge ()" link="gstreamer-GstValue.html#gst-value-list-merge" since="0.10.32"/>
+    <keyword type="function" name="gst_value_list_merge ()" link="gstreamer-GstValue.html#gst-value-list-merge"/>
     <keyword type="function" name="gst_value_list_get_size ()" link="gstreamer-GstValue.html#gst-value-list-get-size"/>
     <keyword type="function" name="gst_value_list_get_value ()" link="gstreamer-GstValue.html#gst-value-list-get-value"/>
     <keyword type="macro" name="GST_VALUE_HOLDS_FRACTION()" link="gstreamer-GstValue.html#GST-VALUE-HOLDS-FRACTION:CAPS"/>
@@ -1780,13 +1806,13 @@
     <keyword type="function" name="gst_value_get_fraction_range_min ()" link="gstreamer-GstValue.html#gst-value-get-fraction-range-min"/>
     <keyword type="function" name="gst_value_get_fraction_range_max ()" link="gstreamer-GstValue.html#gst-value-get-fraction-range-max"/>
     <keyword type="function" name="gst_value_set_fraction_range_full ()" link="gstreamer-GstValue.html#gst-value-set-fraction-range-full"/>
-    <keyword type="macro" name="GST_VALUE_HOLDS_DATE_TIME()" link="gstreamer-GstValue.html#GST-VALUE-HOLDS-DATE-TIME:CAPS" since="0.10.31"/>
+    <keyword type="macro" name="GST_VALUE_HOLDS_DATE_TIME()" link="gstreamer-GstValue.html#GST-VALUE-HOLDS-DATE-TIME:CAPS"/>
     <keyword type="macro" name="GST_VALUE_HOLDS_CAPS()" link="gstreamer-GstValue.html#GST-VALUE-HOLDS-CAPS"/>
     <keyword type="function" name="gst_value_set_caps ()" link="gstreamer-GstValue.html#gst-value-set-caps"/>
     <keyword type="function" name="gst_value_get_caps ()" link="gstreamer-GstValue.html#gst-value-get-caps"/>
-    <keyword type="macro" name="GST_VALUE_HOLDS_STRUCTURE()" link="gstreamer-GstValue.html#GST-VALUE-HOLDS-STRUCTURE:CAPS" since="0.10.15"/>
-    <keyword type="function" name="gst_value_set_structure ()" link="gstreamer-GstValue.html#gst-value-set-structure" since="0.10.15"/>
-    <keyword type="function" name="gst_value_get_structure ()" link="gstreamer-GstValue.html#gst-value-get-structure" since="0.10.15"/>
+    <keyword type="macro" name="GST_VALUE_HOLDS_STRUCTURE()" link="gstreamer-GstValue.html#GST-VALUE-HOLDS-STRUCTURE:CAPS"/>
+    <keyword type="function" name="gst_value_set_structure ()" link="gstreamer-GstValue.html#gst-value-set-structure"/>
+    <keyword type="function" name="gst_value_get_structure ()" link="gstreamer-GstValue.html#gst-value-get-structure"/>
     <keyword type="macro" name="GST_VALUE_HOLDS_BUFFER()" link="gstreamer-GstValue.html#GST-VALUE-HOLDS-BUFFER:CAPS"/>
     <keyword type="macro" name="gst_value_get_buffer()" link="gstreamer-GstValue.html#gst-value-get-buffer"/>
     <keyword type="macro" name="gst_value_set_buffer()" link="gstreamer-GstValue.html#gst-value-set-buffer"/>
@@ -1826,12 +1852,12 @@
     <keyword type="macro" name="GST_VERSION_MINOR" link="gstreamer-GstVersion.html#GST-VERSION-MINOR:CAPS"/>
     <keyword type="macro" name="GST_VERSION_MICRO" link="gstreamer-GstVersion.html#GST-VERSION-MICRO:CAPS"/>
     <keyword type="macro" name="GST_VERSION_NANO" link="gstreamer-GstVersion.html#GST-VERSION-NANO:CAPS"/>
-    <keyword type="macro" name="GST_CHECK_VERSION()" link="gstreamer-GstVersion.html#GST-CHECK-VERSION:CAPS" since="0.10.18"/>
+    <keyword type="macro" name="GST_CHECK_VERSION()" link="gstreamer-GstVersion.html#GST-CHECK-VERSION:CAPS"/>
     <keyword type="enum" name="enum GstDebugLevel" link="gstreamer-GstInfo.html#GstDebugLevel"/>
     <keyword type="macro" name="GST_LEVEL_DEFAULT" link="gstreamer-GstInfo.html#GST-LEVEL-DEFAULT:CAPS"/>
     <keyword type="enum" name="enum GstDebugColorFlags" link="gstreamer-GstInfo.html#GstDebugColorFlags"/>
     <keyword type="struct" name="struct GstDebugCategory" link="gstreamer-GstInfo.html#GstDebugCategory"/>
-    <keyword type="enum" name="enum GstDebugGraphDetails" link="gstreamer-GstInfo.html#GstDebugGraphDetails" since="0.10.15"/>
+    <keyword type="enum" name="enum GstDebugGraphDetails" link="gstreamer-GstInfo.html#GstDebugGraphDetails"/>
     <keyword type="macro" name="GST_STR_NULL()" link="gstreamer-GstInfo.html#GST-STR-NULL:CAPS"/>
     <keyword type="macro" name="GST_DEBUG_PAD_NAME()" link="gstreamer-GstInfo.html#GST-DEBUG-PAD-NAME:CAPS"/>
     <keyword type="macro" name="GST_FUNCTION" link="gstreamer-GstInfo.html#GST-FUNCTION:CAPS"/>
@@ -1856,7 +1882,7 @@
     <keyword type="macro" name="GST_DEBUG_CATEGORY_EXTERN()" link="gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-EXTERN:CAPS"/>
     <keyword type="macro" name="GST_DEBUG_CATEGORY_STATIC()" link="gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-STATIC:CAPS"/>
     <keyword type="macro" name="GST_DEBUG_CATEGORY_INIT()" link="gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-INIT:CAPS"/>
-    <keyword type="macro" name="GST_DEBUG_CATEGORY_GET()" link="gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-GET:CAPS" since="0.10.24"/>
+    <keyword type="macro" name="GST_DEBUG_CATEGORY_GET()" link="gstreamer-GstInfo.html#GST-DEBUG-CATEGORY-GET:CAPS"/>
     <keyword type="function" name="gst_debug_category_free ()" link="gstreamer-GstInfo.html#gst-debug-category-free"/>
     <keyword type="function" name="gst_debug_category_set_threshold ()" link="gstreamer-GstInfo.html#gst-debug-category-set-threshold"/>
     <keyword type="function" name="gst_debug_category_reset_threshold ()" link="gstreamer-GstInfo.html#gst-debug-category-reset-threshold"/>
@@ -1866,45 +1892,45 @@
     <keyword type="function" name="gst_debug_category_get_description ()" link="gstreamer-GstInfo.html#gst-debug-category-get-description"/>
     <keyword type="function" name="gst_debug_get_all_categories ()" link="gstreamer-GstInfo.html#gst-debug-get-all-categories"/>
     <keyword type="function" name="gst_debug_construct_term_color ()" link="gstreamer-GstInfo.html#gst-debug-construct-term-color"/>
-    <keyword type="function" name="gst_debug_construct_win_color ()" link="gstreamer-GstInfo.html#gst-debug-construct-win-color" since="0.10.23"/>
+    <keyword type="function" name="gst_debug_construct_win_color ()" link="gstreamer-GstInfo.html#gst-debug-construct-win-color"/>
     <keyword type="macro" name="GST_CAT_LEVEL_LOG()" link="gstreamer-GstInfo.html#GST-CAT-LEVEL-LOG:CAPS"/>
     <keyword type="macro" name="GST_CAT_ERROR_OBJECT()" link="gstreamer-GstInfo.html#GST-CAT-ERROR-OBJECT:CAPS"/>
     <keyword type="macro" name="GST_CAT_WARNING_OBJECT()" link="gstreamer-GstInfo.html#GST-CAT-WARNING-OBJECT:CAPS"/>
     <keyword type="macro" name="GST_CAT_INFO_OBJECT()" link="gstreamer-GstInfo.html#GST-CAT-INFO-OBJECT:CAPS"/>
     <keyword type="macro" name="GST_CAT_DEBUG_OBJECT()" link="gstreamer-GstInfo.html#GST-CAT-DEBUG-OBJECT:CAPS"/>
     <keyword type="macro" name="GST_CAT_LOG_OBJECT()" link="gstreamer-GstInfo.html#GST-CAT-LOG-OBJECT:CAPS"/>
-    <keyword type="macro" name="GST_CAT_FIXME_OBJECT()" link="gstreamer-GstInfo.html#GST-CAT-FIXME-OBJECT:CAPS" since="0.10.23"/>
-    <keyword type="macro" name="GST_CAT_TRACE_OBJECT()" link="gstreamer-GstInfo.html#GST-CAT-TRACE-OBJECT:CAPS" since="0.10.30"/>
-    <keyword type="macro" name="GST_CAT_MEMDUMP_OBJECT()" link="gstreamer-GstInfo.html#GST-CAT-MEMDUMP-OBJECT:CAPS" since="0.10.23"/>
+    <keyword type="macro" name="GST_CAT_FIXME_OBJECT()" link="gstreamer-GstInfo.html#GST-CAT-FIXME-OBJECT:CAPS"/>
+    <keyword type="macro" name="GST_CAT_TRACE_OBJECT()" link="gstreamer-GstInfo.html#GST-CAT-TRACE-OBJECT:CAPS"/>
+    <keyword type="macro" name="GST_CAT_MEMDUMP_OBJECT()" link="gstreamer-GstInfo.html#GST-CAT-MEMDUMP-OBJECT:CAPS"/>
     <keyword type="macro" name="GST_CAT_ERROR()" link="gstreamer-GstInfo.html#GST-CAT-ERROR:CAPS"/>
     <keyword type="macro" name="GST_CAT_WARNING()" link="gstreamer-GstInfo.html#GST-CAT-WARNING:CAPS"/>
     <keyword type="macro" name="GST_CAT_INFO()" link="gstreamer-GstInfo.html#GST-CAT-INFO:CAPS"/>
     <keyword type="macro" name="GST_CAT_DEBUG()" link="gstreamer-GstInfo.html#GST-CAT-DEBUG:CAPS"/>
     <keyword type="macro" name="GST_CAT_LOG()" link="gstreamer-GstInfo.html#GST-CAT-LOG:CAPS"/>
-    <keyword type="macro" name="GST_CAT_FIXME()" link="gstreamer-GstInfo.html#GST-CAT-FIXME:CAPS" since="0.10.23"/>
-    <keyword type="macro" name="GST_CAT_TRACE()" link="gstreamer-GstInfo.html#GST-CAT-TRACE:CAPS" since="0.10.30"/>
-    <keyword type="macro" name="GST_CAT_MEMDUMP()" link="gstreamer-GstInfo.html#GST-CAT-MEMDUMP:CAPS" since="0.10.23"/>
+    <keyword type="macro" name="GST_CAT_FIXME()" link="gstreamer-GstInfo.html#GST-CAT-FIXME:CAPS"/>
+    <keyword type="macro" name="GST_CAT_TRACE()" link="gstreamer-GstInfo.html#GST-CAT-TRACE:CAPS"/>
+    <keyword type="macro" name="GST_CAT_MEMDUMP()" link="gstreamer-GstInfo.html#GST-CAT-MEMDUMP:CAPS"/>
     <keyword type="macro" name="GST_ERROR_OBJECT()" link="gstreamer-GstInfo.html#GST-ERROR-OBJECT:CAPS"/>
     <keyword type="macro" name="GST_WARNING_OBJECT()" link="gstreamer-GstInfo.html#GST-WARNING-OBJECT:CAPS"/>
     <keyword type="macro" name="GST_INFO_OBJECT()" link="gstreamer-GstInfo.html#GST-INFO-OBJECT:CAPS"/>
     <keyword type="macro" name="GST_DEBUG_OBJECT()" link="gstreamer-GstInfo.html#GST-DEBUG-OBJECT:CAPS"/>
     <keyword type="macro" name="GST_LOG_OBJECT()" link="gstreamer-GstInfo.html#GST-LOG-OBJECT:CAPS"/>
-    <keyword type="macro" name="GST_FIXME_OBJECT()" link="gstreamer-GstInfo.html#GST-FIXME-OBJECT:CAPS" since="0.10.23"/>
-    <keyword type="macro" name="GST_TRACE_OBJECT()" link="gstreamer-GstInfo.html#GST-TRACE-OBJECT:CAPS" since="0.10.30"/>
-    <keyword type="macro" name="GST_MEMDUMP_OBJECT()" link="gstreamer-GstInfo.html#GST-MEMDUMP-OBJECT:CAPS" since="0.10.23"/>
+    <keyword type="macro" name="GST_FIXME_OBJECT()" link="gstreamer-GstInfo.html#GST-FIXME-OBJECT:CAPS"/>
+    <keyword type="macro" name="GST_TRACE_OBJECT()" link="gstreamer-GstInfo.html#GST-TRACE-OBJECT:CAPS"/>
+    <keyword type="macro" name="GST_MEMDUMP_OBJECT()" link="gstreamer-GstInfo.html#GST-MEMDUMP-OBJECT:CAPS"/>
     <keyword type="macro" name="GST_ERROR()" link="gstreamer-GstInfo.html#GST-ERROR:CAPS"/>
     <keyword type="macro" name="GST_WARNING()" link="gstreamer-GstInfo.html#GST-WARNING:CAPS"/>
     <keyword type="macro" name="GST_INFO()" link="gstreamer-GstInfo.html#GST-INFO:CAPS"/>
     <keyword type="macro" name="GST_DEBUG()" link="gstreamer-GstInfo.html#GST-DEBUG:CAPS"/>
     <keyword type="macro" name="GST_LOG()" link="gstreamer-GstInfo.html#GST-LOG:CAPS"/>
-    <keyword type="macro" name="GST_FIXME()" link="gstreamer-GstInfo.html#GST-FIXME:CAPS" since="0.10.23"/>
-    <keyword type="macro" name="GST_TRACE()" link="gstreamer-GstInfo.html#GST-TRACE:CAPS" since="0.10.30"/>
-    <keyword type="macro" name="GST_MEMDUMP()" link="gstreamer-GstInfo.html#GST-MEMDUMP:CAPS" since="0.10.23"/>
-    <keyword type="macro" name="GST_DEBUG_REGISTER_FUNCPTR()" link="gstreamer-GstInfo.html#GST-DEBUG-REGISTER-FUNCPTR:CAPS" since="0.10.26"/>
+    <keyword type="macro" name="GST_FIXME()" link="gstreamer-GstInfo.html#GST-FIXME:CAPS"/>
+    <keyword type="macro" name="GST_TRACE()" link="gstreamer-GstInfo.html#GST-TRACE:CAPS"/>
+    <keyword type="macro" name="GST_MEMDUMP()" link="gstreamer-GstInfo.html#GST-MEMDUMP:CAPS"/>
+    <keyword type="macro" name="GST_DEBUG_REGISTER_FUNCPTR()" link="gstreamer-GstInfo.html#GST-DEBUG-REGISTER-FUNCPTR:CAPS"/>
     <keyword type="macro" name="GST_DEBUG_FUNCPTR()" link="gstreamer-GstInfo.html#GST-DEBUG-FUNCPTR:CAPS"/>
     <keyword type="macro" name="GST_DEBUG_FUNCPTR_NAME()" link="gstreamer-GstInfo.html#GST-DEBUG-FUNCPTR-NAME:CAPS"/>
-    <keyword type="macro" name="GST_DEBUG_BIN_TO_DOT_FILE()" link="gstreamer-GstInfo.html#GST-DEBUG-BIN-TO-DOT-FILE:CAPS" since="0.10.15"/>
-    <keyword type="macro" name="GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS()" link="gstreamer-GstInfo.html#GST-DEBUG-BIN-TO-DOT-FILE-WITH-TS:CAPS" since="0.10.15"/>
+    <keyword type="macro" name="GST_DEBUG_BIN_TO_DOT_FILE()" link="gstreamer-GstInfo.html#GST-DEBUG-BIN-TO-DOT-FILE:CAPS"/>
+    <keyword type="macro" name="GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS()" link="gstreamer-GstInfo.html#GST-DEBUG-BIN-TO-DOT-FILE-WITH-TS:CAPS"/>
     <keyword type="function" name="gst_debug_print_stack_trace ()" link="gstreamer-GstInfo.html#gst-debug-print-stack-trace"/>
     <keyword type="macro" name="GST_TIME_FORMAT" link="gstreamer-GstInfo.html#GST-TIME-FORMAT:CAPS"/>
     <keyword type="macro" name="GST_TIME_ARGS()" link="gstreamer-GstInfo.html#GST-TIME-ARGS:CAPS"/>
@@ -1958,7 +1984,6 @@
     <keyword type="constant" name="GST_CLOCK_FLAG_CAN_SET_RESOLUTION" link="GstClock.html#GST-CLOCK-FLAG-CAN-SET-RESOLUTION:CAPS"/>
     <keyword type="constant" name="GST_CLOCK_FLAG_CAN_SET_MASTER" link="GstClock.html#GST-CLOCK-FLAG-CAN-SET-MASTER:CAPS"/>
     <keyword type="constant" name="GST_CLOCK_FLAG_LAST" link="GstClock.html#GST-CLOCK-FLAG-LAST:CAPS"/>
-    <keyword type="constant" name="GST_ELEMENT_FLAG_UNPARENTING" link="GstElement.html#GST-ELEMENT-FLAG-UNPARENTING:CAPS"/>
     <keyword type="constant" name="GST_ELEMENT_FLAG_LOCKED_STATE" link="GstElement.html#GST-ELEMENT-FLAG-LOCKED-STATE:CAPS"/>
     <keyword type="constant" name="GST_ELEMENT_FLAG_SINK" link="GstElement.html#GST-ELEMENT-FLAG-SINK:CAPS"/>
     <keyword type="constant" name="GST_ELEMENT_FLAG_SOURCE" link="GstElement.html#GST-ELEMENT-FLAG-SOURCE:CAPS"/>
@@ -2129,6 +2154,8 @@
     <keyword type="constant" name="GST_MESSAGE_QOS" link="gstreamer-GstMessage.html#GST-MESSAGE-QOS:CAPS"/>
     <keyword type="constant" name="GST_MESSAGE_PROGRESS" link="gstreamer-GstMessage.html#GST-MESSAGE-PROGRESS:CAPS"/>
     <keyword type="constant" name="GST_MESSAGE_TOC" link="gstreamer-GstMessage.html#GST-MESSAGE-TOC:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_RESET_TIME" link="gstreamer-GstMessage.html#GST-MESSAGE-RESET-TIME:CAPS"/>
+    <keyword type="constant" name="GST_MESSAGE_STREAM_START" link="gstreamer-GstMessage.html#GST-MESSAGE-STREAM-START:CAPS"/>
     <keyword type="constant" name="GST_MESSAGE_ANY" link="gstreamer-GstMessage.html#GST-MESSAGE-ANY:CAPS"/>
     <keyword type="constant" name="GST_STRUCTURE_CHANGE_TYPE_PAD_LINK" link="gstreamer-GstMessage.html#GST-STRUCTURE-CHANGE-TYPE-PAD-LINK:CAPS"/>
     <keyword type="constant" name="GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK" link="gstreamer-GstMessage.html#GST-STRUCTURE-CHANGE-TYPE-PAD-UNLINK:CAPS"/>
@@ -2149,7 +2176,13 @@
     <keyword type="constant" name="GST_META_FLAG_POOLED" link="gstreamer-GstMeta.html#GST-META-FLAG-POOLED:CAPS"/>
     <keyword type="constant" name="GST_META_FLAG_LOCKED" link="gstreamer-GstMeta.html#GST-META-FLAG-LOCKED:CAPS"/>
     <keyword type="constant" name="GST_META_FLAG_LAST" link="gstreamer-GstMeta.html#GST-META-FLAG-LAST:CAPS"/>
+    <keyword type="constant" name="GST_MINI_OBJECT_FLAG_LOCKABLE" link="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAG-LOCKABLE:CAPS"/>
+    <keyword type="constant" name="GST_MINI_OBJECT_FLAG_LOCK_READONLY" link="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAG-LOCK-READONLY:CAPS"/>
     <keyword type="constant" name="GST_MINI_OBJECT_FLAG_LAST" link="gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAG-LAST:CAPS"/>
+    <keyword type="constant" name="GST_LOCK_FLAG_READ" link="gstreamer-GstMiniObject.html#GST-LOCK-FLAG-READ:CAPS"/>
+    <keyword type="constant" name="GST_LOCK_FLAG_WRITE" link="gstreamer-GstMiniObject.html#GST-LOCK-FLAG-WRITE:CAPS"/>
+    <keyword type="constant" name="GST_LOCK_FLAG_EXCLUSIVE" link="gstreamer-GstMiniObject.html#GST-LOCK-FLAG-EXCLUSIVE:CAPS"/>
+    <keyword type="constant" name="GST_LOCK_FLAG_LAST" link="gstreamer-GstMiniObject.html#GST-LOCK-FLAG-LAST:CAPS"/>
     <keyword type="constant" name="GST_OBJECT_FLAG_LAST" link="GstObject.html#GST-OBJECT-FLAG-LAST:CAPS"/>
     <keyword type="constant" name="GST_PAD_UNKNOWN" link="GstPad.html#GST-PAD-UNKNOWN:CAPS"/>
     <keyword type="constant" name="GST_PAD_SRC" link="GstPad.html#GST-PAD-SRC:CAPS"/>
@@ -2164,6 +2197,7 @@
     <keyword type="constant" name="GST_PAD_FLAG_FIXED_CAPS" link="GstPad.html#GST-PAD-FLAG-FIXED-CAPS"/>
     <keyword type="constant" name="GST_PAD_FLAG_PROXY_CAPS" link="GstPad.html#GST-PAD-FLAG-PROXY-CAPS"/>
     <keyword type="constant" name="GST_PAD_FLAG_PROXY_ALLOCATION" link="GstPad.html#GST-PAD-FLAG-PROXY-ALLOCATION:CAPS"/>
+    <keyword type="constant" name="GST_PAD_FLAG_PROXY_SCHEDULING" link="GstPad.html#GST-PAD-FLAG-PROXY-SCHEDULING:CAPS"/>
     <keyword type="constant" name="GST_PAD_FLAG_LAST" link="GstPad.html#GST-PAD-FLAG-LAST:CAPS"/>
     <keyword type="constant" name="GST_PAD_LINK_OK" link="GstPad.html#GST-PAD-LINK-OK:CAPS"/>
     <keyword type="constant" name="GST_PAD_LINK_WRONG_HIERARCHY" link="GstPad.html#GST-PAD-LINK-WRONG-HIERARCHY:CAPS"/>
@@ -2257,7 +2291,6 @@
     <keyword type="constant" name="GST_QUERY_ACCEPT_CAPS" link="gstreamer-GstQuery.html#GST-QUERY-ACCEPT-CAPS"/>
     <keyword type="constant" name="GST_QUERY_CAPS" link="gstreamer-GstQuery.html#GST-QUERY-CAPS"/>
     <keyword type="constant" name="GST_QUERY_DRAIN" link="gstreamer-GstQuery.html#GST-QUERY-DRAIN:CAPS"/>
-    <keyword type="constant" name="GST_QUERY_TOC" link="gstreamer-GstQuery.html#GST-QUERY-TOC:CAPS"/>
     <keyword type="constant" name="GST_BUFFERING_STREAM" link="gstreamer-GstQuery.html#GST-BUFFERING-STREAM:CAPS"/>
     <keyword type="constant" name="GST_BUFFERING_DOWNLOAD" link="gstreamer-GstQuery.html#GST-BUFFERING-DOWNLOAD:CAPS"/>
     <keyword type="constant" name="GST_BUFFERING_TIMESHIFT" link="gstreamer-GstQuery.html#GST-BUFFERING-TIMESHIFT:CAPS"/>
@@ -2267,6 +2300,7 @@
     <keyword type="constant" name="GST_SEGMENT_FLAG_NONE" link="gstreamer-GstSegment.html#GST-SEGMENT-FLAG-NONE:CAPS"/>
     <keyword type="constant" name="GST_SEGMENT_FLAG_RESET" link="gstreamer-GstSegment.html#GST-SEGMENT-FLAG-RESET:CAPS"/>
     <keyword type="constant" name="GST_SEGMENT_FLAG_SKIP" link="gstreamer-GstSegment.html#GST-SEGMENT-FLAG-SKIP:CAPS"/>
+    <keyword type="constant" name="GST_SEGMENT_FLAG_SEGMENT" link="gstreamer-GstSegment.html#GST-SEGMENT-FLAG-SEGMENT:CAPS"/>
     <keyword type="constant" name="GST_CLOCK_TYPE_REALTIME" link="GstSystemClock.html#GST-CLOCK-TYPE-REALTIME:CAPS"/>
     <keyword type="constant" name="GST_CLOCK_TYPE_MONOTONIC" link="GstSystemClock.html#GST-CLOCK-TYPE-MONOTONIC:CAPS"/>
     <keyword type="constant" name="GST_TAG_MERGE_UNDEFINED" link="gstreamer-GstTagList.html#GST-TAG-MERGE-UNDEFINED:CAPS"/>
@@ -2285,8 +2319,15 @@
     <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"/>
-    <keyword type="constant" name="GST_TOC_ENTRY_TYPE_CHAPTER" link="gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-CHAPTER:CAPS"/>
+    <keyword type="constant" name="GST_TOC_SCOPE_GLOBAL" link="gstreamer-GstToc.html#GST-TOC-SCOPE-GLOBAL:CAPS"/>
+    <keyword type="constant" name="GST_TOC_SCOPE_CURRENT" link="gstreamer-GstToc.html#GST-TOC-SCOPE-CURRENT:CAPS"/>
+    <keyword type="constant" name="GST_TOC_ENTRY_TYPE_ANGLE" link="gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-ANGLE:CAPS"/>
+    <keyword type="constant" name="GST_TOC_ENTRY_TYPE_VERSION" link="gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-VERSION:CAPS"/>
     <keyword type="constant" name="GST_TOC_ENTRY_TYPE_EDITION" link="gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-EDITION:CAPS"/>
+    <keyword type="constant" name="GST_TOC_ENTRY_TYPE_INVALID" link="gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-INVALID:CAPS"/>
+    <keyword type="constant" name="GST_TOC_ENTRY_TYPE_TITLE" link="gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-TITLE:CAPS"/>
+    <keyword type="constant" name="GST_TOC_ENTRY_TYPE_TRACK" link="gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-TRACK:CAPS"/>
+    <keyword type="constant" name="GST_TOC_ENTRY_TYPE_CHAPTER" link="gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-CHAPTER:CAPS"/>
     <keyword type="constant" name="GST_TYPE_FIND_NONE" link="gstreamer-GstTypeFind.html#GST-TYPE-FIND-NONE:CAPS"/>
     <keyword type="constant" name="GST_TYPE_FIND_MINIMUM" link="gstreamer-GstTypeFind.html#GST-TYPE-FIND-MINIMUM:CAPS"/>
     <keyword type="constant" name="GST_TYPE_FIND_POSSIBLE" link="gstreamer-GstTypeFind.html#GST-TYPE-FIND-POSSIBLE:CAPS"/>
@@ -2296,7 +2337,7 @@
     <keyword type="constant" name="GST_URI_UNKNOWN" link="gstreamer-GstUriHandler.html#GST-URI-UNKNOWN:CAPS"/>
     <keyword type="constant" name="GST_URI_SINK" link="gstreamer-GstUriHandler.html#GST-URI-SINK:CAPS"/>
     <keyword type="constant" name="GST_URI_SRC" link="gstreamer-GstUriHandler.html#GST-URI-SRC:CAPS"/>
-    <keyword type="constant" name="GST_URI_ERROR_BAD_PROTOCOL" link="gstreamer-GstUriHandler.html#GST-URI-ERROR-BAD-PROTOCOL:CAPS"/>
+    <keyword type="constant" name="GST_URI_ERROR_UNSUPPORTED_PROTOCOL" link="gstreamer-GstUriHandler.html#GST-URI-ERROR-UNSUPPORTED-PROTOCOL:CAPS"/>
     <keyword type="constant" name="GST_URI_ERROR_BAD_URI" link="gstreamer-GstUriHandler.html#GST-URI-ERROR-BAD-URI:CAPS"/>
     <keyword type="constant" name="GST_URI_ERROR_BAD_STATE" link="gstreamer-GstUriHandler.html#GST-URI-ERROR-BAD-STATE:CAPS"/>
     <keyword type="constant" name="GST_URI_ERROR_BAD_REFERENCE" link="gstreamer-GstUriHandler.html#GST-URI-ERROR-BAD-REFERENCE:CAPS"/>
diff --git a/docs/gst/html/index.html b/docs/gst/html/index.html
index 9b735b9..01ec023 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.91.1)
+      for GStreamer Core 1.0 (0.11.93)
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/</a>.
     </p></div>
diff --git a/docs/gst/html/index.sgml b/docs/gst/html/index.sgml
index cabc165..4e494f2 100644
--- a/docs/gst/html/index.sgml
+++ b/docs/gst/html/index.sgml
@@ -108,8 +108,11 @@
 <ANCHOR id="gst-buffer-unref" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-unref">
 <ANCHOR id="gst-buffer-get-sizes" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-get-sizes">
 <ANCHOR id="gst-buffer-get-size" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-get-size">
+<ANCHOR id="gst-buffer-get-sizes-range" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-get-sizes-range">
+<ANCHOR id="gst-buffer-resize-range" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-resize-range">
 <ANCHOR id="gst-buffer-resize" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-resize">
 <ANCHOR id="gst-buffer-set-size" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-set-size">
+<ANCHOR id="gst-buffer-peek-memory" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-peek-memory">
 <ANCHOR id="gst-buffer-n-memory" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-n-memory">
 <ANCHOR id="gst-buffer-insert-memory" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-insert-memory">
 <ANCHOR id="gst-buffer-replace-memory-range" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-replace-memory-range">
@@ -125,6 +128,7 @@
 <ANCHOR id="gst-buffer-remove-memory" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-remove-memory">
 <ANCHOR id="gst-buffer-remove-all-memory" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-remove-all-memory">
 <ANCHOR id="gst-buffer-map" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-map">
+<ANCHOR id="gst-buffer-map-range" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-map-range">
 <ANCHOR id="gst-buffer-unmap" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-unmap">
 <ANCHOR id="gst-buffer-memcmp" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-memcmp">
 <ANCHOR id="gst-buffer-extract" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-extract">
@@ -146,6 +150,7 @@
 <ANCHOR id="gst-buffer-make-writable" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-make-writable">
 <ANCHOR id="gst-buffer-replace" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-replace">
 <ANCHOR id="gst-buffer-append" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-append">
+<ANCHOR id="gst-buffer-append-region" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-append-region">
 <ANCHOR id="gst-buffer-get-meta" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-get-meta">
 <ANCHOR id="gst-buffer-add-meta" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-add-meta">
 <ANCHOR id="gst-buffer-remove-meta" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-remove-meta">
@@ -433,7 +438,6 @@
 <ANCHOR id="gst-clock-id-get-time" href="gstreamer-1.0/GstClock.html#gst-clock-id-get-time">
 <ANCHOR id="gst-clock-id-wait" href="gstreamer-1.0/GstClock.html#gst-clock-id-wait">
 <ANCHOR id="gst-clock-id-wait-async" href="gstreamer-1.0/GstClock.html#gst-clock-id-wait-async">
-<ANCHOR id="gst-clock-id-wait-async-full" href="gstreamer-1.0/GstClock.html#gst-clock-id-wait-async-full">
 <ANCHOR id="gst-clock-id-unschedule" href="gstreamer-1.0/GstClock.html#gst-clock-id-unschedule">
 <ANCHOR id="gst-clock-id-compare-func" href="gstreamer-1.0/GstClock.html#gst-clock-id-compare-func">
 <ANCHOR id="gst-clock-id-ref" href="gstreamer-1.0/GstClock.html#gst-clock-id-ref">
@@ -501,11 +505,23 @@
 <ANCHOR id="gst-date-time-new" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-new">
 <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">
 <ANCHOR id="gst-date-time-ref" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-ref">
 <ANCHOR id="gst-date-time-unref" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-unref">
+<ANCHOR id="gst-date-time-has-day" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-has-day">
+<ANCHOR id="gst-date-time-has-month" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-has-month">
+<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">
+<ANCHOR id="gst-date-time-to-g-date-time" href="gstreamer-1.0/gstreamer-GstDateTime.html#gst-date-time-to-g-date-time">
 <ANCHOR id="GstElement" href="gstreamer-1.0/GstElement.html">
 <ANCHOR id="GstElement.synopsis" href="gstreamer-1.0/GstElement.html#GstElement.synopsis">
 <ANCHOR id="GstElement.object-hierarchy" href="gstreamer-1.0/GstElement.html#GstElement.object-hierarchy">
@@ -516,7 +532,6 @@
 <ANCHOR id="GstElement-struct" href="gstreamer-1.0/GstElement.html#GstElement-struct">
 <ANCHOR id="GstElementClass" href="gstreamer-1.0/GstElement.html#GstElementClass">
 <ANCHOR id="GstElementFlags" href="gstreamer-1.0/GstElement.html#GstElementFlags">
-<ANCHOR id="GST-ELEMENT-FLAG-UNPARENTING:CAPS" href="gstreamer-1.0/GstElement.html#GST-ELEMENT-FLAG-UNPARENTING:CAPS">
 <ANCHOR id="GST-ELEMENT-FLAG-LOCKED-STATE:CAPS" href="gstreamer-1.0/GstElement.html#GST-ELEMENT-FLAG-LOCKED-STATE:CAPS">
 <ANCHOR id="GST-ELEMENT-FLAG-SINK:CAPS" href="gstreamer-1.0/GstElement.html#GST-ELEMENT-FLAG-SINK:CAPS">
 <ANCHOR id="GST-ELEMENT-FLAG-SOURCE:CAPS" href="gstreamer-1.0/GstElement.html#GST-ELEMENT-FLAG-SOURCE:CAPS">
@@ -826,6 +841,7 @@
 <ANCHOR id="gst-event-new-gap" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-new-gap">
 <ANCHOR id="gst-event-parse-gap" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-parse-gap">
 <ANCHOR id="gst-event-new-stream-start" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-new-stream-start">
+<ANCHOR id="gst-event-parse-stream-start" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-parse-stream-start">
 <ANCHOR id="gst-event-new-segment" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-new-segment">
 <ANCHOR id="gst-event-parse-segment" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-parse-segment">
 <ANCHOR id="gst-event-copy-segment" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-copy-segment">
@@ -878,6 +894,8 @@
 <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">
 <ANCHOR id="gst-event-parse-toc-select" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-parse-toc-select">
+<ANCHOR id="gst-event-new-segment-done" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-new-segment-done">
+<ANCHOR id="gst-event-parse-segment-done" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-parse-segment-done">
 <ANCHOR id="gstreamer-GstEvent.see-also" href="gstreamer-1.0/gstreamer-GstEvent.html#gstreamer-GstEvent.see-also">
 <ANCHOR id="gstreamer-GstFormat" href="gstreamer-1.0/gstreamer-GstFormat.html">
 <ANCHOR id="gstreamer-GstFormat.synopsis" href="gstreamer-1.0/gstreamer-GstFormat.html#gstreamer-GstFormat.synopsis">
@@ -916,18 +934,13 @@
 <ANCHOR id="gst-ghost-pad-set-target" href="gstreamer-1.0/GstGhostPad.html#gst-ghost-pad-set-target">
 <ANCHOR id="gst-ghost-pad-get-target" href="gstreamer-1.0/GstGhostPad.html#gst-ghost-pad-get-target">
 <ANCHOR id="gst-ghost-pad-construct" href="gstreamer-1.0/GstGhostPad.html#gst-ghost-pad-construct">
-<ANCHOR id="gst-ghost-pad-unlink-default" href="gstreamer-1.0/GstGhostPad.html#gst-ghost-pad-unlink-default">
-<ANCHOR id="gst-ghost-pad-link-default" href="gstreamer-1.0/GstGhostPad.html#gst-ghost-pad-link-default">
 <ANCHOR id="gst-ghost-pad-activate-mode-default" href="gstreamer-1.0/GstGhostPad.html#gst-ghost-pad-activate-mode-default">
 <ANCHOR id="gst-ghost-pad-internal-activate-mode-default" href="gstreamer-1.0/GstGhostPad.html#gst-ghost-pad-internal-activate-mode-default">
 <ANCHOR id="gst-proxy-pad-get-internal" href="gstreamer-1.0/GstGhostPad.html#gst-proxy-pad-get-internal">
-<ANCHOR id="gst-proxy-pad-event-default" href="gstreamer-1.0/GstGhostPad.html#gst-proxy-pad-event-default">
-<ANCHOR id="gst-proxy-pad-query-default" href="gstreamer-1.0/GstGhostPad.html#gst-proxy-pad-query-default">
 <ANCHOR id="gst-proxy-pad-iterate-internal-links-default" href="gstreamer-1.0/GstGhostPad.html#gst-proxy-pad-iterate-internal-links-default">
 <ANCHOR id="gst-proxy-pad-chain-default" href="gstreamer-1.0/GstGhostPad.html#gst-proxy-pad-chain-default">
 <ANCHOR id="gst-proxy-pad-chain-list-default" href="gstreamer-1.0/GstGhostPad.html#gst-proxy-pad-chain-list-default">
 <ANCHOR id="gst-proxy-pad-getrange-default" href="gstreamer-1.0/GstGhostPad.html#gst-proxy-pad-getrange-default">
-<ANCHOR id="gst-proxy-pad-unlink-default" href="gstreamer-1.0/GstGhostPad.html#gst-proxy-pad-unlink-default">
 <ANCHOR id="GstGhostPad.see-also" href="gstreamer-1.0/GstGhostPad.html#GstGhostPad.see-also">
 <ANCHOR id="gstreamer-GstIterator" href="gstreamer-1.0/gstreamer-GstIterator.html">
 <ANCHOR id="gstreamer-GstIterator.synopsis" href="gstreamer-1.0/gstreamer-GstIterator.html#gstreamer-GstIterator.synopsis">
@@ -981,6 +994,7 @@
 <ANCHOR id="GST-MEMORY-FLAG-IS-SET:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MEMORY-FLAG-IS-SET:CAPS">
 <ANCHOR id="GST-MEMORY-FLAG-UNSET:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MEMORY-FLAG-UNSET:CAPS">
 <ANCHOR id="GST-MEMORY-IS-READONLY:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MEMORY-IS-READONLY:CAPS">
+<ANCHOR id="GST-MEMORY-IS-NO-SHARE:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MEMORY-IS-NO-SHARE:CAPS">
 <ANCHOR id="GST-MEMORY-IS-ZERO-PADDED:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MEMORY-IS-ZERO-PADDED:CAPS">
 <ANCHOR id="GST-MEMORY-IS-ZERO-PREFIXED:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MEMORY-IS-ZERO-PREFIXED:CAPS">
 <ANCHOR id="GstMemory" href="gstreamer-1.0/gstreamer-GstMemory.html#GstMemory">
@@ -988,37 +1002,22 @@
 <ANCHOR id="GST-MAP-READ:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MAP-READ:CAPS">
 <ANCHOR id="GST-MAP-WRITE:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MAP-WRITE:CAPS">
 <ANCHOR id="GST-MAP-FLAG-LAST:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MAP-FLAG-LAST:CAPS">
+<ANCHOR id="GST-MAP-READWRITE:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MAP-READWRITE:CAPS">
 <ANCHOR id="GstMapInfo" href="gstreamer-1.0/gstreamer-GstMemory.html#GstMapInfo">
 <ANCHOR id="GST-MAP-INFO-INIT:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MAP-INFO-INIT:CAPS">
-<ANCHOR id="GST-MAP-READWRITE:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MAP-READWRITE:CAPS">
-<ANCHOR id="GstAllocationParams" href="gstreamer-1.0/gstreamer-GstMemory.html#GstAllocationParams">
-<ANCHOR id="GstAllocatorAllocFunction" href="gstreamer-1.0/gstreamer-GstMemory.html#GstAllocatorAllocFunction">
 <ANCHOR id="GstMemoryMapFunction" href="gstreamer-1.0/gstreamer-GstMemory.html#GstMemoryMapFunction">
 <ANCHOR id="GstMemoryUnmapFunction" href="gstreamer-1.0/gstreamer-GstMemory.html#GstMemoryUnmapFunction">
-<ANCHOR id="GstMemoryFreeFunction" href="gstreamer-1.0/gstreamer-GstMemory.html#GstMemoryFreeFunction">
 <ANCHOR id="GstMemoryCopyFunction" href="gstreamer-1.0/gstreamer-GstMemory.html#GstMemoryCopyFunction">
 <ANCHOR id="GstMemoryShareFunction" href="gstreamer-1.0/gstreamer-GstMemory.html#GstMemoryShareFunction">
 <ANCHOR id="GstMemoryIsSpanFunction" href="gstreamer-1.0/gstreamer-GstMemory.html#GstMemoryIsSpanFunction">
-<ANCHOR id="GstMemoryInfo" href="gstreamer-1.0/gstreamer-GstMemory.html#GstMemoryInfo">
-<ANCHOR id="GstAllocator" href="gstreamer-1.0/gstreamer-GstMemory.html#GstAllocator">
-<ANCHOR id="gst-allocator-new" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-allocator-new">
-<ANCHOR id="gst-allocator-get-memory-type" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-allocator-get-memory-type">
-<ANCHOR id="gst-allocator-ref" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-allocator-ref">
-<ANCHOR id="gst-allocator-unref" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-allocator-unref">
-<ANCHOR id="GST-ALLOCATOR-SYSMEM:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-ALLOCATOR-SYSMEM:CAPS">
-<ANCHOR id="gst-allocator-find" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-allocator-find">
-<ANCHOR id="gst-allocator-register" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-allocator-register">
-<ANCHOR id="gst-allocator-set-default" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-allocator-set-default">
-<ANCHOR id="gst-allocation-params-init" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-allocation-params-init">
-<ANCHOR id="gst-allocation-params-copy" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-allocation-params-copy">
-<ANCHOR id="gst-allocation-params-free" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-allocation-params-free">
-<ANCHOR id="gst-allocator-alloc" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-allocator-alloc">
-<ANCHOR id="gst-memory-new-wrapped" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-new-wrapped">
+<ANCHOR id="gst-memory-init" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-init">
 <ANCHOR id="gst-memory-ref" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-ref">
 <ANCHOR id="gst-memory-unref" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-unref">
-<ANCHOR id="gst-memory-is-exclusive" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-is-exclusive">
 <ANCHOR id="gst-memory-get-sizes" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-get-sizes">
 <ANCHOR id="gst-memory-resize" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-resize">
+<ANCHOR id="gst-memory-lock" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-lock">
+<ANCHOR id="gst-memory-unlock" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-unlock">
+<ANCHOR id="gst-memory-is-writable" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-is-writable">
 <ANCHOR id="gst-memory-make-mapped" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-make-mapped">
 <ANCHOR id="gst-memory-map" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-map">
 <ANCHOR id="gst-memory-unmap" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-unmap">
@@ -1060,6 +1059,8 @@
 <ANCHOR id="GST-MESSAGE-QOS:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-QOS:CAPS">
 <ANCHOR id="GST-MESSAGE-PROGRESS:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-PROGRESS:CAPS">
 <ANCHOR id="GST-MESSAGE-TOC:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-TOC:CAPS">
+<ANCHOR id="GST-MESSAGE-RESET-TIME:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-RESET-TIME:CAPS">
+<ANCHOR id="GST-MESSAGE-STREAM-START:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-STREAM-START:CAPS">
 <ANCHOR id="GST-MESSAGE-ANY:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-ANY:CAPS">
 <ANCHOR id="GST-MESSAGE-SRC:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-SRC:CAPS">
 <ANCHOR id="GST-MESSAGE-SRC-NAME:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-SRC-NAME:CAPS">
@@ -1126,6 +1127,8 @@
 <ANCHOR id="gst-message-parse-qos-stats" href="gstreamer-1.0/gstreamer-GstMessage.html#gst-message-parse-qos-stats">
 <ANCHOR id="gst-message-new-toc" href="gstreamer-1.0/gstreamer-GstMessage.html#gst-message-new-toc">
 <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="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">
@@ -1185,32 +1188,45 @@
 <ANCHOR id="gstreamer-GstMiniObject.description" href="gstreamer-1.0/gstreamer-GstMiniObject.html#gstreamer-GstMiniObject.description">
 <ANCHOR id="gstreamer-GstMiniObject.details" href="gstreamer-1.0/gstreamer-GstMiniObject.html#gstreamer-GstMiniObject.details">
 <ANCHOR id="GstMiniObject" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GstMiniObject">
-<ANCHOR id="GstMiniObjectFlags" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GstMiniObjectFlags">
-<ANCHOR id="GST-MINI-OBJECT-FLAG-LAST:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAG-LAST:CAPS">
 <ANCHOR id="GstMiniObjectCopyFunction" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GstMiniObjectCopyFunction">
 <ANCHOR id="GstMiniObjectDisposeFunction" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GstMiniObjectDisposeFunction">
 <ANCHOR id="GstMiniObjectFreeFunction" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GstMiniObjectFreeFunction">
-<ANCHOR id="GstMiniObjectWeakNotify" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GstMiniObjectWeakNotify">
+<ANCHOR id="GstMiniObjectNotify" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GstMiniObjectNotify">
 <ANCHOR id="GST-MINI-OBJECT-TYPE:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-MINI-OBJECT-TYPE:CAPS">
+<ANCHOR id="GstMiniObjectFlags" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GstMiniObjectFlags">
+<ANCHOR id="GST-MINI-OBJECT-FLAG-LOCKABLE:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAG-LOCKABLE:CAPS">
+<ANCHOR id="GST-MINI-OBJECT-FLAG-LOCK-READONLY:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAG-LOCK-READONLY:CAPS">
+<ANCHOR id="GST-MINI-OBJECT-FLAG-LAST:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAG-LAST:CAPS">
 <ANCHOR id="GST-MINI-OBJECT-FLAGS:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAGS:CAPS">
 <ANCHOR id="GST-MINI-OBJECT-FLAG-IS-SET:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAG-IS-SET:CAPS">
 <ANCHOR id="GST-MINI-OBJECT-FLAG-SET:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAG-SET:CAPS">
 <ANCHOR id="GST-MINI-OBJECT-FLAG-UNSET:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-MINI-OBJECT-FLAG-UNSET:CAPS">
+<ANCHOR id="GST-MINI-OBJECT-IS-LOCKABLE:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-MINI-OBJECT-IS-LOCKABLE:CAPS">
+<ANCHOR id="GstLockFlags" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GstLockFlags">
+<ANCHOR id="GST-LOCK-FLAG-READ:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-LOCK-FLAG-READ:CAPS">
+<ANCHOR id="GST-LOCK-FLAG-WRITE:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-LOCK-FLAG-WRITE:CAPS">
+<ANCHOR id="GST-LOCK-FLAG-EXCLUSIVE:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-LOCK-FLAG-EXCLUSIVE:CAPS">
+<ANCHOR id="GST-LOCK-FLAG-LAST:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-LOCK-FLAG-LAST:CAPS">
+<ANCHOR id="GST-LOCK-FLAG-READWRITE:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-LOCK-FLAG-READWRITE:CAPS">
 <ANCHOR id="GST-MINI-OBJECT-REFCOUNT:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-MINI-OBJECT-REFCOUNT:CAPS">
 <ANCHOR id="GST-MINI-OBJECT-REFCOUNT-VALUE:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-MINI-OBJECT-REFCOUNT-VALUE:CAPS">
-<ANCHOR id="GST-MINI-OBJECT-SIZE:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-MINI-OBJECT-SIZE:CAPS">
 <ANCHOR id="GST-DEFINE-MINI-OBJECT-TYPE:CAPS" href="gstreamer-1.0/gstreamer-GstMiniObject.html#GST-DEFINE-MINI-OBJECT-TYPE:CAPS">
 <ANCHOR id="gst-mini-object-init" href="gstreamer-1.0/gstreamer-GstMiniObject.html#gst-mini-object-init">
-<ANCHOR id="gst-mini-object-copy" href="gstreamer-1.0/gstreamer-GstMiniObject.html#gst-mini-object-copy">
-<ANCHOR id="gst-mini-object-is-writable" href="gstreamer-1.0/gstreamer-GstMiniObject.html#gst-mini-object-is-writable">
-<ANCHOR id="gst-mini-object-make-writable" href="gstreamer-1.0/gstreamer-GstMiniObject.html#gst-mini-object-make-writable">
 <ANCHOR id="gst-mini-object-ref" href="gstreamer-1.0/gstreamer-GstMiniObject.html#gst-mini-object-ref">
 <ANCHOR id="gst-mini-object-unref" href="gstreamer-1.0/gstreamer-GstMiniObject.html#gst-mini-object-unref">
 <ANCHOR id="gst-mini-object-weak-ref" href="gstreamer-1.0/gstreamer-GstMiniObject.html#gst-mini-object-weak-ref">
 <ANCHOR id="gst-mini-object-weak-unref" href="gstreamer-1.0/gstreamer-GstMiniObject.html#gst-mini-object-weak-unref">
+<ANCHOR id="gst-mini-object-lock" href="gstreamer-1.0/gstreamer-GstMiniObject.html#gst-mini-object-lock">
+<ANCHOR id="gst-mini-object-unlock" href="gstreamer-1.0/gstreamer-GstMiniObject.html#gst-mini-object-unlock">
+<ANCHOR id="gst-mini-object-is-writable" href="gstreamer-1.0/gstreamer-GstMiniObject.html#gst-mini-object-is-writable">
+<ANCHOR id="gst-mini-object-make-writable" href="gstreamer-1.0/gstreamer-GstMiniObject.html#gst-mini-object-make-writable">
+<ANCHOR id="gst-mini-object-copy" href="gstreamer-1.0/gstreamer-GstMiniObject.html#gst-mini-object-copy">
+<ANCHOR id="gst-mini-object-set-qdata" href="gstreamer-1.0/gstreamer-GstMiniObject.html#gst-mini-object-set-qdata">
+<ANCHOR id="gst-mini-object-get-qdata" href="gstreamer-1.0/gstreamer-GstMiniObject.html#gst-mini-object-get-qdata">
+<ANCHOR id="gst-mini-object-steal-qdata" href="gstreamer-1.0/gstreamer-GstMiniObject.html#gst-mini-object-steal-qdata">
 <ANCHOR id="gst-mini-object-replace" href="gstreamer-1.0/gstreamer-GstMiniObject.html#gst-mini-object-replace">
-<ANCHOR id="gst-mini-object-steal" href="gstreamer-1.0/gstreamer-GstMiniObject.html#gst-mini-object-steal">
 <ANCHOR id="gst-mini-object-take" href="gstreamer-1.0/gstreamer-GstMiniObject.html#gst-mini-object-take">
+<ANCHOR id="gst-mini-object-steal" href="gstreamer-1.0/gstreamer-GstMiniObject.html#gst-mini-object-steal">
 <ANCHOR id="GstObject" href="gstreamer-1.0/GstObject.html">
 <ANCHOR id="GstObject.synopsis" href="gstreamer-1.0/GstObject.html#GstObject.synopsis">
 <ANCHOR id="GstObject.object-hierarchy" href="gstreamer-1.0/GstObject.html#GstObject.object-hierarchy">
@@ -1289,6 +1305,7 @@
 <ANCHOR id="GST-PAD-FLAG-FIXED-CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-FLAG-FIXED-CAPS">
 <ANCHOR id="GST-PAD-FLAG-PROXY-CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-FLAG-PROXY-CAPS">
 <ANCHOR id="GST-PAD-FLAG-PROXY-ALLOCATION:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-FLAG-PROXY-ALLOCATION:CAPS">
+<ANCHOR id="GST-PAD-FLAG-PROXY-SCHEDULING:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-FLAG-PROXY-SCHEDULING:CAPS">
 <ANCHOR id="GST-PAD-FLAG-LAST:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-FLAG-LAST:CAPS">
 <ANCHOR id="GstPadLinkReturn" href="gstreamer-1.0/GstPad.html#GstPadLinkReturn">
 <ANCHOR id="GST-PAD-LINK-OK:CAPS" href="gstreamer-1.0/GstPad.html#GST-PAD-LINK-OK:CAPS">
@@ -1337,7 +1354,6 @@
 <ANCHOR id="gst-pad-get-allowed-caps" href="gstreamer-1.0/GstPad.html#gst-pad-get-allowed-caps">
 <ANCHOR id="gst-pad-get-current-caps" href="gstreamer-1.0/GstPad.html#gst-pad-get-current-caps">
 <ANCHOR id="gst-pad-get-pad-template-caps" href="gstreamer-1.0/GstPad.html#gst-pad-get-pad-template-caps">
-<ANCHOR id="gst-pad-set-caps" href="gstreamer-1.0/GstPad.html#gst-pad-set-caps">
 <ANCHOR id="gst-pad-get-peer" href="gstreamer-1.0/GstPad.html#gst-pad-get-peer">
 <ANCHOR id="gst-pad-use-fixed-caps" href="gstreamer-1.0/GstPad.html#gst-pad-use-fixed-caps">
 <ANCHOR id="gst-pad-has-current-caps" href="gstreamer-1.0/GstPad.html#gst-pad-has-current-caps">
@@ -1452,6 +1468,7 @@
 <ANCHOR id="gst-pad-iterate-internal-links-default" href="gstreamer-1.0/GstPad.html#gst-pad-iterate-internal-links-default">
 <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="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">
@@ -1713,7 +1730,6 @@
 <ANCHOR id="GST-QUERY-ACCEPT-CAPS" href="gstreamer-1.0/gstreamer-GstQuery.html#GST-QUERY-ACCEPT-CAPS">
 <ANCHOR id="GST-QUERY-CAPS" href="gstreamer-1.0/gstreamer-GstQuery.html#GST-QUERY-CAPS">
 <ANCHOR id="GST-QUERY-DRAIN:CAPS" href="gstreamer-1.0/gstreamer-GstQuery.html#GST-QUERY-DRAIN:CAPS">
-<ANCHOR id="GST-QUERY-TOC:CAPS" href="gstreamer-1.0/gstreamer-GstQuery.html#GST-QUERY-TOC:CAPS">
 <ANCHOR id="GST-QUERY-TYPE:CAPS" href="gstreamer-1.0/gstreamer-GstQuery.html#GST-QUERY-TYPE:CAPS">
 <ANCHOR id="GST-QUERY-TYPE-NAME:CAPS" href="gstreamer-1.0/gstreamer-GstQuery.html#GST-QUERY-TYPE-NAME:CAPS">
 <ANCHOR id="GST-QUERY-IS-UPSTREAM:CAPS" href="gstreamer-1.0/gstreamer-GstQuery.html#GST-QUERY-IS-UPSTREAM:CAPS">
@@ -1758,7 +1774,6 @@
 <ANCHOR id="gst-query-parse-caps" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-parse-caps">
 <ANCHOR id="gst-query-set-caps-result" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-set-caps-result">
 <ANCHOR id="gst-query-parse-caps-result" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-parse-caps-result">
-<ANCHOR id="gst-query-intersect-caps-result" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-intersect-caps-result">
 <ANCHOR id="gst-query-new-accept-caps" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-new-accept-caps">
 <ANCHOR id="gst-query-parse-accept-caps" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-parse-accept-caps">
 <ANCHOR id="gst-query-set-accept-caps-result" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-set-accept-caps-result">
@@ -1795,7 +1810,7 @@
 <ANCHOR id="gst-query-get-n-allocation-metas" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-get-n-allocation-metas">
 <ANCHOR id="gst-query-parse-nth-allocation-meta" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-parse-nth-allocation-meta">
 <ANCHOR id="gst-query-remove-nth-allocation-meta" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-remove-nth-allocation-meta">
-<ANCHOR id="gst-query-has-allocation-meta" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-has-allocation-meta">
+<ANCHOR id="gst-query-find-allocation-meta" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-find-allocation-meta">
 <ANCHOR id="GstSchedulingFlags" href="gstreamer-1.0/gstreamer-GstQuery.html#GstSchedulingFlags">
 <ANCHOR id="GST-SCHEDULING-FLAG-SEEKABLE:CAPS" href="gstreamer-1.0/gstreamer-GstQuery.html#GST-SCHEDULING-FLAG-SEEKABLE:CAPS">
 <ANCHOR id="GST-SCHEDULING-FLAG-SEQUENTIAL:CAPS" href="gstreamer-1.0/gstreamer-GstQuery.html#GST-SCHEDULING-FLAG-SEQUENTIAL:CAPS">
@@ -1807,9 +1822,6 @@
 <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-new-drain" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-new-drain">
-<ANCHOR id="gst-query-new-toc" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-new-toc">
-<ANCHOR id="gst-query-parse-toc" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-parse-toc">
-<ANCHOR id="gst-query-set-toc" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-set-toc">
 <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">
 <ANCHOR id="GstRegistry.synopsis" href="gstreamer-1.0/GstRegistry.html#GstRegistry.synopsis">
@@ -1850,6 +1862,7 @@
 <ANCHOR id="GST-SEGMENT-FLAG-NONE:CAPS" href="gstreamer-1.0/gstreamer-GstSegment.html#GST-SEGMENT-FLAG-NONE:CAPS">
 <ANCHOR id="GST-SEGMENT-FLAG-RESET:CAPS" href="gstreamer-1.0/gstreamer-GstSegment.html#GST-SEGMENT-FLAG-RESET:CAPS">
 <ANCHOR id="GST-SEGMENT-FLAG-SKIP:CAPS" href="gstreamer-1.0/gstreamer-GstSegment.html#GST-SEGMENT-FLAG-SKIP:CAPS">
+<ANCHOR id="GST-SEGMENT-FLAG-SEGMENT:CAPS" href="gstreamer-1.0/gstreamer-GstSegment.html#GST-SEGMENT-FLAG-SEGMENT:CAPS">
 <ANCHOR id="gst-segment-clip" href="gstreamer-1.0/gstreamer-GstSegment.html#gst-segment-clip">
 <ANCHOR id="gst-segment-init" href="gstreamer-1.0/gstreamer-GstSegment.html#gst-segment-init">
 <ANCHOR id="gst-segment-new" href="gstreamer-1.0/gstreamer-GstSegment.html#gst-segment-new">
@@ -2062,6 +2075,7 @@
 <ANCHOR id="gst-tag-list-new-empty" href="gstreamer-1.0/gstreamer-GstTagList.html#gst-tag-list-new-empty">
 <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-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">
@@ -2107,8 +2121,8 @@
 <ANCHOR id="gst-tag-list-get-date-index" href="gstreamer-1.0/gstreamer-GstTagList.html#gst-tag-list-get-date-index">
 <ANCHOR id="gst-tag-list-get-date-time" href="gstreamer-1.0/gstreamer-GstTagList.html#gst-tag-list-get-date-time">
 <ANCHOR id="gst-tag-list-get-date-time-index" href="gstreamer-1.0/gstreamer-GstTagList.html#gst-tag-list-get-date-time-index">
-<ANCHOR id="gst-tag-list-get-buffer" href="gstreamer-1.0/gstreamer-GstTagList.html#gst-tag-list-get-buffer">
-<ANCHOR id="gst-tag-list-get-buffer-index" href="gstreamer-1.0/gstreamer-GstTagList.html#gst-tag-list-get-buffer-index">
+<ANCHOR id="gst-tag-list-get-sample" href="gstreamer-1.0/gstreamer-GstTagList.html#gst-tag-list-get-sample">
+<ANCHOR id="gst-tag-list-get-sample-index" href="gstreamer-1.0/gstreamer-GstTagList.html#gst-tag-list-get-sample-index">
 <ANCHOR id="GstTagSetter" href="gstreamer-1.0/GstTagSetter.html">
 <ANCHOR id="GstTagSetter.synopsis" href="gstreamer-1.0/GstTagSetter.html#GstTagSetter.synopsis">
 <ANCHOR id="GstTagSetter.object-hierarchy" href="gstreamer-1.0/GstTagSetter.html#GstTagSetter.object-hierarchy">
@@ -2148,8 +2162,9 @@
 <ANCHOR id="gst-task-set-lock" href="gstreamer-1.0/GstTask.html#gst-task-set-lock">
 <ANCHOR id="gst-task-set-pool" href="gstreamer-1.0/GstTask.html#gst-task-set-pool">
 <ANCHOR id="gst-task-get-pool" href="gstreamer-1.0/GstTask.html#gst-task-get-pool">
-<ANCHOR id="GstTaskThreadCallbacks" href="gstreamer-1.0/GstTask.html#GstTaskThreadCallbacks">
-<ANCHOR id="gst-task-set-thread-callbacks" href="gstreamer-1.0/GstTask.html#gst-task-set-thread-callbacks">
+<ANCHOR id="GstTaskThreadFunc" href="gstreamer-1.0/GstTask.html#GstTaskThreadFunc">
+<ANCHOR id="gst-task-set-enter-callback" href="gstreamer-1.0/GstTask.html#gst-task-set-enter-callback">
+<ANCHOR id="gst-task-set-leave-callback" href="gstreamer-1.0/GstTask.html#gst-task-set-leave-callback">
 <ANCHOR id="gst-task-get-state" href="gstreamer-1.0/GstTask.html#gst-task-get-state">
 <ANCHOR id="gst-task-set-state" href="gstreamer-1.0/GstTask.html#gst-task-set-state">
 <ANCHOR id="gst-task-pause" href="gstreamer-1.0/GstTask.html#gst-task-pause">
@@ -2177,35 +2192,62 @@
 <ANCHOR id="gstreamer-GstToc.description" href="gstreamer-1.0/gstreamer-GstToc.html#gstreamer-GstToc.description">
 <ANCHOR id="gstreamer-GstToc.details" href="gstreamer-1.0/gstreamer-GstToc.html#gstreamer-GstToc.details">
 <ANCHOR id="GstToc" href="gstreamer-1.0/gstreamer-GstToc.html#GstToc">
+<ANCHOR id="GstTocScope" href="gstreamer-1.0/gstreamer-GstToc.html#GstTocScope">
+<ANCHOR id="GST-TOC-SCOPE-GLOBAL:CAPS" href="gstreamer-1.0/gstreamer-GstToc.html#GST-TOC-SCOPE-GLOBAL:CAPS">
+<ANCHOR id="GST-TOC-SCOPE-CURRENT:CAPS" href="gstreamer-1.0/gstreamer-GstToc.html#GST-TOC-SCOPE-CURRENT:CAPS">
 <ANCHOR id="GstTocEntry" href="gstreamer-1.0/gstreamer-GstToc.html#GstTocEntry">
 <ANCHOR id="GstTocEntryType" href="gstreamer-1.0/gstreamer-GstToc.html#GstTocEntryType">
-<ANCHOR id="GST-TOC-ENTRY-TYPE-CHAPTER:CAPS" href="gstreamer-1.0/gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-CHAPTER:CAPS">
+<ANCHOR id="GST-TOC-ENTRY-TYPE-ANGLE:CAPS" href="gstreamer-1.0/gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-ANGLE:CAPS">
+<ANCHOR id="GST-TOC-ENTRY-TYPE-VERSION:CAPS" href="gstreamer-1.0/gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-VERSION:CAPS">
 <ANCHOR id="GST-TOC-ENTRY-TYPE-EDITION:CAPS" href="gstreamer-1.0/gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-EDITION:CAPS">
-<ANCHOR id="gst-toc-entry-new" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-new">
-<ANCHOR id="gst-toc-entry-new-with-pad" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-new-with-pad">
-<ANCHOR id="gst-toc-entry-free" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-free">
+<ANCHOR id="GST-TOC-ENTRY-TYPE-INVALID:CAPS" href="gstreamer-1.0/gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-INVALID:CAPS">
+<ANCHOR id="GST-TOC-ENTRY-TYPE-TITLE:CAPS" href="gstreamer-1.0/gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-TITLE:CAPS">
+<ANCHOR id="GST-TOC-ENTRY-TYPE-TRACK:CAPS" href="gstreamer-1.0/gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-TRACK:CAPS">
+<ANCHOR id="GST-TOC-ENTRY-TYPE-CHAPTER:CAPS" href="gstreamer-1.0/gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-CHAPTER:CAPS">
 <ANCHOR id="gst-toc-new" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-new">
-<ANCHOR id="gst-toc-free" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-free">
-<ANCHOR id="gst-toc-entry-copy" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-copy">
+<ANCHOR id="gst-toc-ref" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-ref">
+<ANCHOR id="gst-toc-unref" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-unref">
 <ANCHOR id="gst-toc-copy" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-copy">
+<ANCHOR id="gst-toc-make-writable" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-make-writable">
+<ANCHOR id="gst-toc-get-scope" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-get-scope">
+<ANCHOR id="gst-toc-get-entries" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-get-entries">
+<ANCHOR id="gst-toc-append-entry" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-append-entry">
+<ANCHOR id="gst-toc-get-tags" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-get-tags">
+<ANCHOR id="gst-toc-merge-tags" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-merge-tags">
+<ANCHOR id="gst-toc-set-tags" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-set-tags">
+<ANCHOR id="gst-toc-dump" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-dump">
+<ANCHOR id="gst-toc-entry-new" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-new">
+<ANCHOR id="gst-toc-entry-ref" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-ref">
+<ANCHOR id="gst-toc-entry-unref" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-unref">
+<ANCHOR id="gst-toc-entry-copy" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-copy">
+<ANCHOR id="gst-toc-entry-make-writable" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-make-writable">
 <ANCHOR id="gst-toc-find-entry" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-find-entry">
-<ANCHOR id="gst-toc-entry-get-start-stop" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-get-start-stop">
-<ANCHOR id="gst-toc-entry-set-start-stop" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-set-start-stop">
+<ANCHOR id="gst-toc-entry-get-toc" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-get-toc">
+<ANCHOR id="gst-toc-entry-get-uid" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-get-uid">
+<ANCHOR id="gst-toc-entry-get-parent" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-get-parent">
+<ANCHOR id="gst-toc-entry-get-sub-entries" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-get-sub-entries">
+<ANCHOR id="gst-toc-entry-append-sub-entry" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-append-sub-entry">
+<ANCHOR id="gst-toc-entry-get-start-stop-times" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-get-start-stop-times">
+<ANCHOR id="gst-toc-entry-set-start-stop-times" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-set-start-stop-times">
+<ANCHOR id="gst-toc-entry-get-tags" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-get-tags">
+<ANCHOR id="gst-toc-entry-merge-tags" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-merge-tags">
+<ANCHOR id="gst-toc-entry-set-tags" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-set-tags">
 <ANCHOR id="gst-toc-entry-type-get-nick" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-type-get-nick">
+<ANCHOR id="gst-toc-entry-get-entry-type" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-get-entry-type">
+<ANCHOR id="gst-toc-entry-is-alternative" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-is-alternative">
+<ANCHOR id="gst-toc-entry-is-sequence" href="gstreamer-1.0/gstreamer-GstToc.html#gst-toc-entry-is-sequence">
+<ANCHOR id="GST-TOC-ENTRY-TYPE-IS-ALTERNATIVE:CAPS" href="gstreamer-1.0/gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-IS-ALTERNATIVE:CAPS">
+<ANCHOR id="GST-TOC-ENTRY-TYPE-IS-SEQUENCE:CAPS" href="gstreamer-1.0/gstreamer-GstToc.html#GST-TOC-ENTRY-TYPE-IS-SEQUENCE:CAPS">
 <ANCHOR id="gstreamer-GstToc.see-also" href="gstreamer-1.0/gstreamer-GstToc.html#gstreamer-GstToc.see-also">
 <ANCHOR id="gstreamer-GstTocSetter" href="gstreamer-1.0/gstreamer-GstTocSetter.html">
 <ANCHOR id="gstreamer-GstTocSetter.synopsis" href="gstreamer-1.0/gstreamer-GstTocSetter.html#gstreamer-GstTocSetter.synopsis">
 <ANCHOR id="gstreamer-GstTocSetter.description" href="gstreamer-1.0/gstreamer-GstTocSetter.html#gstreamer-GstTocSetter.description">
 <ANCHOR id="gstreamer-GstTocSetter.details" href="gstreamer-1.0/gstreamer-GstTocSetter.html#gstreamer-GstTocSetter.details">
 <ANCHOR id="GstTocSetter" href="gstreamer-1.0/gstreamer-GstTocSetter.html#GstTocSetter">
-<ANCHOR id="GstTocSetterIFace" href="gstreamer-1.0/gstreamer-GstTocSetter.html#GstTocSetterIFace">
-<ANCHOR id="gst-toc-setter-get-toc" href="gstreamer-1.0/gstreamer-GstTocSetter.html#gst-toc-setter-get-toc">
-<ANCHOR id="gst-toc-setter-get-toc-copy" href="gstreamer-1.0/gstreamer-GstTocSetter.html#gst-toc-setter-get-toc-copy">
-<ANCHOR id="gst-toc-setter-reset-toc" href="gstreamer-1.0/gstreamer-GstTocSetter.html#gst-toc-setter-reset-toc">
+<ANCHOR id="GstTocSetterInterface" href="gstreamer-1.0/gstreamer-GstTocSetter.html#GstTocSetterInterface">
 <ANCHOR id="gst-toc-setter-set-toc" href="gstreamer-1.0/gstreamer-GstTocSetter.html#gst-toc-setter-set-toc">
-<ANCHOR id="gst-toc-setter-get-toc-entry" href="gstreamer-1.0/gstreamer-GstTocSetter.html#gst-toc-setter-get-toc-entry">
-<ANCHOR id="gst-toc-setter-get-toc-entry-copy" href="gstreamer-1.0/gstreamer-GstTocSetter.html#gst-toc-setter-get-toc-entry-copy">
-<ANCHOR id="gst-toc-setter-add-toc-entry" href="gstreamer-1.0/gstreamer-GstTocSetter.html#gst-toc-setter-add-toc-entry">
+<ANCHOR id="gst-toc-setter-get-toc" href="gstreamer-1.0/gstreamer-GstTocSetter.html#gst-toc-setter-get-toc">
+<ANCHOR id="gst-toc-setter-reset" href="gstreamer-1.0/gstreamer-GstTocSetter.html#gst-toc-setter-reset">
 <ANCHOR id="gstreamer-GstTypeFind" href="gstreamer-1.0/gstreamer-GstTypeFind.html">
 <ANCHOR id="gstreamer-GstTypeFind.synopsis" href="gstreamer-1.0/gstreamer-GstTypeFind.html#gstreamer-GstTypeFind.synopsis">
 <ANCHOR id="gstreamer-GstTypeFind.description" href="gstreamer-1.0/gstreamer-GstTypeFind.html#gstreamer-GstTypeFind.description">
@@ -2233,6 +2275,7 @@
 <ANCHOR id="gst-type-find-factory-get-list" href="gstreamer-1.0/GstTypeFindFactory.html#gst-type-find-factory-get-list">
 <ANCHOR id="gst-type-find-factory-get-extensions" href="gstreamer-1.0/GstTypeFindFactory.html#gst-type-find-factory-get-extensions">
 <ANCHOR id="gst-type-find-factory-get-caps" href="gstreamer-1.0/GstTypeFindFactory.html#gst-type-find-factory-get-caps">
+<ANCHOR id="gst-type-find-factory-has-function" href="gstreamer-1.0/GstTypeFindFactory.html#gst-type-find-factory-has-function">
 <ANCHOR id="gst-type-find-factory-call-function" href="gstreamer-1.0/GstTypeFindFactory.html#gst-type-find-factory-call-function">
 <ANCHOR id="gstreamer-GstUriHandler" href="gstreamer-1.0/gstreamer-GstUriHandler.html">
 <ANCHOR id="gstreamer-GstUriHandler.synopsis" href="gstreamer-1.0/gstreamer-GstUriHandler.html#gstreamer-GstUriHandler.synopsis">
@@ -2247,7 +2290,7 @@
 <ANCHOR id="GST-URI-SINK:CAPS" href="gstreamer-1.0/gstreamer-GstUriHandler.html#GST-URI-SINK:CAPS">
 <ANCHOR id="GST-URI-SRC:CAPS" href="gstreamer-1.0/gstreamer-GstUriHandler.html#GST-URI-SRC:CAPS">
 <ANCHOR id="GstURIError" href="gstreamer-1.0/gstreamer-GstUriHandler.html#GstURIError">
-<ANCHOR id="GST-URI-ERROR-BAD-PROTOCOL:CAPS" href="gstreamer-1.0/gstreamer-GstUriHandler.html#GST-URI-ERROR-BAD-PROTOCOL:CAPS">
+<ANCHOR id="GST-URI-ERROR-UNSUPPORTED-PROTOCOL:CAPS" href="gstreamer-1.0/gstreamer-GstUriHandler.html#GST-URI-ERROR-UNSUPPORTED-PROTOCOL:CAPS">
 <ANCHOR id="GST-URI-ERROR-BAD-URI:CAPS" href="gstreamer-1.0/gstreamer-GstUriHandler.html#GST-URI-ERROR-BAD-URI:CAPS">
 <ANCHOR id="GST-URI-ERROR-BAD-STATE:CAPS" href="gstreamer-1.0/gstreamer-GstUriHandler.html#GST-URI-ERROR-BAD-STATE:CAPS">
 <ANCHOR id="GST-URI-ERROR-BAD-REFERENCE:CAPS" href="gstreamer-1.0/gstreamer-GstUriHandler.html#GST-URI-ERROR-BAD-REFERENCE:CAPS">
@@ -2322,8 +2365,6 @@
 <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-print-element-args" href="gstreamer-1.0/gstreamer-GstUtils.html#gst-print-element-args">
-<ANCHOR id="gst-print-pad-caps" href="gstreamer-1.0/gstreamer-GstUtils.html#gst-print-pad-caps">
 <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">
@@ -2577,6 +2618,7 @@
 <ANCHOR id="gst-debug-bin-to-dot-file-with-ts" href="gstreamer-1.0/gstreamer-GstInfo.html#gst-debug-bin-to-dot-file-with-ts">
 <ANCHOR id="gstreamer-GstInfo.see-also" href="gstreamer-1.0/gstreamer-GstInfo.html#gstreamer-GstInfo.see-also">
 <ANCHOR id="annotation-glossterm-out" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-out">
+<ANCHOR id="annotation-glossterm-scope async" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-scope async">
 <ANCHOR id="annotation-glossterm-allow-none" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-allow-none">
 <ANCHOR id="annotation-glossterm-inout" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-inout">
 <ANCHOR id="annotation-glossterm-closure" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-closure">
diff --git a/docs/gst/running.xml b/docs/gst/running.xml
index ce64a24..b6bf59a 100644
--- a/docs/gst/running.xml
+++ b/docs/gst/running.xml
@@ -201,7 +201,12 @@
   <para>
 To get all possible debug output, set
 <envar>GST_DEBUG</envar>
-to <option>*:9</option>
+to <option>*:9</option>. For debugging purposes a <option>*:6</option> debug
+log is usually the most useful, as it contains all important information, but
+hides a lot of noise such as refs/unrefs. For bug reporting purposes, a
+<option>*:6</option> log is also what will be requested usually. It's often
+also worth running with <option>*:3</option> to see if there are any
+non-fatal errors or warnings that might be related to the problem at hand.
   </para>
 
 </formalpara>
@@ -298,7 +303,8 @@
   Keep track of the unfreed memory pointers and dump an overview of all unfreed
   memory at program exit. Together with a level 9 debug log this can be used to
   follow the lifecycle of leaked objects in order to track down where they are
-  leaked.
+  leaked. This can be useful for debugging memory leaks in situations where
+  tools such as valgrind are not available, or not an option.
 </para>
         </listitem>
       </varlistentry>
diff --git a/docs/libs/Makefile.in b/docs/libs/Makefile.in
index 7b7f275..4d65adb 100644
--- a/docs/libs/Makefile.in
+++ b/docs/libs/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -190,7 +190,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/docs/libs/gstreamer-libs-sections.txt b/docs/libs/gstreamer-libs-sections.txt
index a5dbbda..73b1408 100644
--- a/docs/libs/gstreamer-libs-sections.txt
+++ b/docs/libs/gstreamer-libs-sections.txt
@@ -648,10 +648,6 @@
 gst_collect_pads_stop
 
 gst_collect_pads_available
-gst_collect_pads_is_active
-
-gst_collect_pads_collect
-gst_collect_pads_collect_range
 
 gst_collect_pads_flush
 gst_collect_pads_peek
diff --git a/docs/libs/html/GstAdapter.html b/docs/libs/html/GstAdapter.html
index dcbe437..5573c8a 100644
--- a/docs/libs/html/GstAdapter.html
+++ b/docs/libs/html/GstAdapter.html
@@ -46,7 +46,7 @@
 <a class="link" href="GstAdapter.html" title="GstAdapter"><span class="returnvalue">GstAdapter</span></a> *        <a class="link" href="GstAdapter.html#gst-adapter-new" title="gst_adapter_new ()">gst_adapter_new</a>                     (<em class="parameter"><code><span class="type">void</span></code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstAdapter.html#gst-adapter-clear" title="gst_adapter_clear ()">gst_adapter_clear</a>                   (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstAdapter.html#gst-adapter-push" title="gst_adapter_push ()">gst_adapter_push</a>                    (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>);
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="returnvalue">gconstpointer</span></a>       <a class="link" href="GstAdapter.html#gst-adapter-map" title="gst_adapter_map ()">gst_adapter_map</a>                     (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> size</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstAdapter.html#gst-adapter-unmap" title="gst_adapter_unmap ()">gst_adapter_unmap</a>                   (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>);
@@ -60,13 +60,13 @@
 <span class="returnvalue">gsize</span>               <a class="link" href="GstAdapter.html#gst-adapter-available-fast" title="gst_adapter_available_fast ()">gst_adapter_available_fast</a>          (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="GstAdapter.html#gst-adapter-take" title="gst_adapter_take ()">gst_adapter_take</a>                    (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> nbytes</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="GstAdapter.html#gst-adapter-take-buffer" title="gst_adapter_take_buffer ()">gst_adapter_take_buffer</a>             (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
+<a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="GstAdapter.html#gst-adapter-take-buffer" title="gst_adapter_take_buffer ()">gst_adapter_take_buffer</a>             (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> nbytes</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *             <a class="link" href="GstAdapter.html#gst-adapter-take-list" title="gst_adapter_take_list ()">gst_adapter_take_list</a>               (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> nbytes</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        <a class="link" href="GstAdapter.html#gst-adapter-prev-pts" title="gst_adapter_prev_pts ()">gst_adapter_prev_pts</a>                (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
+<a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        <a class="link" href="GstAdapter.html#gst-adapter-prev-pts" title="gst_adapter_prev_pts ()">gst_adapter_prev_pts</a>                (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> *distance</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        <a class="link" href="GstAdapter.html#gst-adapter-prev-dts" title="gst_adapter_prev_dts ()">gst_adapter_prev_dts</a>                (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
+<a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        <a class="link" href="GstAdapter.html#gst-adapter-prev-dts" title="gst_adapter_prev_dts ()">gst_adapter_prev_dts</a>                (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> *distance</code></em>);
 <span class="returnvalue">gsize</span>               <a class="link" href="GstAdapter.html#gst-adapter-masked-scan-uint32" title="gst_adapter_masked_scan_uint32 ()">gst_adapter_masked_scan_uint32</a>      (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
                                                          <em class="parameter"><code><span class="type">guint32</span> mask</code></em>,
@@ -154,21 +154,21 @@
   GstFlowReturn ret <span class="gtkdoc opt">=</span> GST_FLOW_OK<span class="gtkdoc opt">;</span>
 
   <span class="gtkdoc slc">// will give the element an extra ref; remember to drop it</span>
-  <span class="keyword">this</span> <span class="gtkdoc opt">=</span> <span class="function">MY_ELEMENT</span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-get-parent">gst_pad_get_parent</a></span> <span class="gtkdoc opt">(</span>pad<span class="gtkdoc opt">));</span>
+  <span class="keyword">this</span> <span class="gtkdoc opt">=</span> <span class="function">MY_ELEMENT</span> <span class="gtkdoc opt">(</span><span class="function"><a href="../gstreamer-1.0/GstPad.html#gst-pad-get-parent">gst_pad_get_parent</a></span> <span class="gtkdoc opt">(</span>pad<span class="gtkdoc opt">));</span>
   adapter <span class="gtkdoc opt">=</span> <span class="keyword">this</span><span class="gtkdoc opt">-&gt;</span>adapter<span class="gtkdoc opt">;</span>
 
   <span class="gtkdoc slc">// put buffer into adapter</span>
-  <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstAdapter.html#gst-adapter-push">gst_adapter_push</a></span> <span class="gtkdoc opt">(</span>adapter<span class="gtkdoc opt">,</span> buffer<span class="gtkdoc opt">);</span>
+  <span class="function"><a href="../gstreamer-libs-1.0/GstAdapter.html#gst-adapter-push">gst_adapter_push</a></span> <span class="gtkdoc opt">(</span>adapter<span class="gtkdoc opt">,</span> buffer<span class="gtkdoc opt">);</span>
   <span class="gtkdoc slc">// while we can read out 512 bytes, process them</span>
-  <span class="keyword">while</span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstAdapter.html#gst-adapter-available">gst_adapter_available</a></span> <span class="gtkdoc opt">(</span>adapter<span class="gtkdoc opt">) &gt;=</span> <span class="number">512</span> <span class="gtkdoc opt">&amp;&amp;</span> ret <span class="gtkdoc opt">==</span> GST_FLOW_OK<span class="gtkdoc opt">) {</span>
-    <span class="gtkdoc kwb">const</span> guint8 <span class="gtkdoc opt">*</span>data <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstAdapter.html#gst-adapter-map">gst_adapter_map</a></span> <span class="gtkdoc opt">(</span>adapter<span class="gtkdoc opt">,</span> <span class="number">512</span><span class="gtkdoc opt">);</span>
+  <span class="keyword">while</span> <span class="gtkdoc opt">(</span><span class="function"><a href="../gstreamer-libs-1.0/GstAdapter.html#gst-adapter-available">gst_adapter_available</a></span> <span class="gtkdoc opt">(</span>adapter<span class="gtkdoc opt">) &gt;=</span> <span class="number">512</span> <span class="gtkdoc opt">&amp;&amp;</span> ret <span class="gtkdoc opt">==</span> GST_FLOW_OK<span class="gtkdoc opt">) {</span>
+    <span class="gtkdoc kwb">const</span> guint8 <span class="gtkdoc opt">*</span>data <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-libs-1.0/GstAdapter.html#gst-adapter-map">gst_adapter_map</a></span> <span class="gtkdoc opt">(</span>adapter<span class="gtkdoc opt">,</span> <span class="number">512</span><span class="gtkdoc opt">);</span>
     <span class="gtkdoc slc">// use flowreturn as an error value</span>
     ret <span class="gtkdoc opt">=</span> <span class="function">my_library_foo</span> <span class="gtkdoc opt">(</span>data<span class="gtkdoc opt">);</span>
-    <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstAdapter.html#gst-adapter-unmap">gst_adapter_unmap</a></span> <span class="gtkdoc opt">(</span>adapter<span class="gtkdoc opt">);</span>
-    <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstAdapter.html#gst-adapter-flush">gst_adapter_flush</a></span> <span class="gtkdoc opt">(</span>adapter<span class="gtkdoc opt">,</span> <span class="number">512</span><span class="gtkdoc opt">);</span>
+    <span class="function"><a href="../gstreamer-libs-1.0/GstAdapter.html#gst-adapter-unmap">gst_adapter_unmap</a></span> <span class="gtkdoc opt">(</span>adapter<span class="gtkdoc opt">);</span>
+    <span class="function"><a href="../gstreamer-libs-1.0/GstAdapter.html#gst-adapter-flush">gst_adapter_flush</a></span> <span class="gtkdoc opt">(</span>adapter<span class="gtkdoc opt">,</span> <span class="number">512</span><span class="gtkdoc opt">);</span>
   <span class="gtkdoc opt">}</span>
 
-  <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html#gst-object-unref">gst_object_unref</a></span> <span class="gtkdoc opt">(</span><span class="keyword">this</span><span class="gtkdoc opt">);</span>
+  <span class="function"><a href="../gstreamer-1.0/GstObject.html#gst-object-unref">gst_object_unref</a></span> <span class="gtkdoc opt">(</span><span class="keyword">this</span><span class="gtkdoc opt">);</span>
   <span class="keyword">return</span> ret<span class="gtkdoc opt">;</span>
 <span class="gtkdoc opt">}</span></pre></td>
       </tr>
@@ -186,14 +186,14 @@
 An element using GstAdapter in its sink pad chain function should ensure that
 when the FLUSH_STOP event is received, that any queued data is cleared using
 <a class="link" href="GstAdapter.html#gst-adapter-clear" title="gst_adapter_clear ()"><code class="function">gst_adapter_clear()</code></a>. Data should also be cleared or processed on EOS and
-when changing state from <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-PAUSED:CAPS"><span class="type">GST_STATE_PAUSED</span></a> to <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-READY:CAPS"><span class="type">GST_STATE_READY</span></a>.
+when changing state from <a href="../gstreamer-1.0/GstElement.html#GST-STATE-PAUSED:CAPS"><span class="type">GST_STATE_PAUSED</span></a> to <a href="../gstreamer-1.0/GstElement.html#GST-STATE-READY:CAPS"><span class="type">GST_STATE_READY</span></a>.
 </p>
 <p>
 Also check the GST_BUFFER_FLAG_DISCONT flag on the buffer. Some elements might
 need to clear the adapter after a discontinuity.
 </p>
 <p>
-Since 0.10.24, the adapter will keep track of the timestamps of the buffers
+The adapter will keep track of the timestamps of the buffers
 that were pushed. The last seen timestamp before the current position
 can be queried with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstAdapter.html#gst-adapter-prev-timestamp"><code class="function">gst_adapter_prev_timestamp()</code></a>. This function can
 optionally return the amount of bytes between the start of the buffer that
@@ -219,7 +219,7 @@
 </p>
 <p>
 Note that <a class="link" href="GstAdapter.html#gst-adapter-push" title="gst_adapter_push ()"><code class="function">gst_adapter_push()</code></a> takes ownership of the buffer passed. Use
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#gst-buffer-ref"><code class="function">gst_buffer_ref()</code></a> before pushing it into the adapter if you still want to
+<a href="../gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-ref"><code class="function">gst_buffer_ref()</code></a> before pushing it into the adapter if you still want to
 access the buffer later. The adapter will never modify the data in the
 buffer pushed in it.
 </p>
@@ -272,7 +272,7 @@
 <div class="refsect2">
 <a name="gst-adapter-push"></a><h3>gst_adapter_push ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_adapter_push                    (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>);</pre>
 <p>
 Adds the data from <em class="parameter"><code>buf</code></em> to the data stored inside <em class="parameter"><code>adapter</code></em> and takes
 ownership of the buffer.
@@ -287,7 +287,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
-<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> to add to queue in the adapter. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+<td>a <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> to add to queue in the adapter. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
 </tbody>
@@ -303,13 +303,13 @@
 valid until the next function is called on the adapter.
 </p>
 <p>
-Note that setting the returned pointer as the data of a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> is
+Note that setting the returned pointer as the data of a <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> is
 incorrect for general-purpose plugins. The reason is that if a downstream
 element stores the buffer so that it has access to it outside of the bounds
 of its chain function, the buffer will have an invalid data pointer after
 your element flushes the bytes. In that case you should use
 <a class="link" href="GstAdapter.html#gst-adapter-take" title="gst_adapter_take ()"><code class="function">gst_adapter_take()</code></a>, which returns a freshly-allocated buffer that you can set
-as <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> malloc_data or the potentially more performant
+as <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> malloc_data or the potentially more performant
 <a class="link" href="GstAdapter.html#gst-adapter-take-buffer" title="gst_adapter_take_buffer ()"><code class="function">gst_adapter_take_buffer()</code></a>.
 </p>
 <p>
@@ -329,8 +329,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a pointer to the first
-<em class="parameter"><code>size</code></em> bytes of data, or NULL. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size]</span>
+<td>a pointer to the first <em class="parameter"><code>size</code></em> bytes of data, or NULL. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span>
 </td>
 </tr>
 </tbody>
@@ -378,7 +377,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
-<td>the memory to copy into. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym> caller-allocates][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size]</span>
+<td>the memory to copy into. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym> caller-allocates][<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>
@@ -391,7 +390,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.12</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -499,8 +497,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>oven-fresh hot data, or
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if <em class="parameter"><code>nbytes</code></em> bytes are not available. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=nbytes]</span>
+<td>oven-fresh hot data, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if <em class="parameter"><code>nbytes</code></em> bytes are not available. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=nbytes][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span>
 </td>
 </tr>
 </tbody>
@@ -509,17 +506,17 @@
 <hr>
 <div class="refsect2">
 <a name="gst-adapter-take-buffer"></a><h3>gst_adapter_take_buffer ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_adapter_take_buffer             (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
+<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_adapter_take_buffer             (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> nbytes</code></em>);</pre>
 <p>
-Returns a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> containing the first <em class="parameter"><code>nbytes</code></em> bytes of the
+Returns a <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> containing the first <em class="parameter"><code>nbytes</code></em> bytes of the
 <em class="parameter"><code>adapter</code></em>. The returned bytes will be flushed from the adapter.
 This function is potentially more performant than <a class="link" href="GstAdapter.html#gst-adapter-take" title="gst_adapter_take ()"><code class="function">gst_adapter_take()</code></a>
 since it can reuse the memory in pushed buffers by subbuffering
 or merging.
 </p>
 <p>
-Caller owns returned value. <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#gst-buffer-unref"><code class="function">gst_buffer_unref()</code></a> after usage.
+Caller owns returned value. <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-unref"><code class="function">gst_buffer_unref()</code></a> after usage.
 </p>
 <p>
 Free-function: gst_buffer_unref
@@ -538,13 +535,12 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> containing the first <em class="parameter"><code>nbytes</code></em> of
+<td>a <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> containing the first <em class="parameter"><code>nbytes</code></em> of
 the adapter, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if <em class="parameter"><code>nbytes</code></em> bytes are not available. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -558,7 +554,7 @@
 performant because no memory should be copied.
 </p>
 <p>
-Caller owns returned list and contained buffers. <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#gst-buffer-unref"><code class="function">gst_buffer_unref()</code></a> each
+Caller owns returned list and contained buffers. <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-unref"><code class="function">gst_buffer_unref()</code></a> each
 buffer in the list before freeing the list after usage.
 </p>
 <div class="variablelist"><table border="0">
@@ -582,12 +578,11 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-adapter-prev-pts"></a><h3>gst_adapter_prev_pts ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        gst_adapter_prev_pts                (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
+<pre class="programlisting"><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        gst_adapter_prev_pts                (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> *distance</code></em>);</pre>
 <p>
 Get the pts that was before the current byte in the adapter. When
@@ -623,7 +618,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-adapter-prev-dts"></a><h3>gst_adapter_prev_dts ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        gst_adapter_prev_dts                (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
+<pre class="programlisting"><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        gst_adapter_prev_dts                (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> *distance</code></em>);</pre>
 <p>
 Get the dts that was before the current byte in the adapter. When
@@ -732,7 +727,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -793,7 +787,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.30</p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/GstBaseSink.html b/docs/libs/html/GstBaseSink.html
index ccdf82e..4f49306 100644
--- a/docs/libs/html/GstBaseSink.html
+++ b/docs/libs/html/GstBaseSink.html
@@ -35,7 +35,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="GstBaseSink.top_of_page"></a>GstBaseSink</span></h2>
-<p>GstBaseSink — Base class for sink elements</p>
+<p>GstBaseSink</p>
 </td>
 <td valign="top" align="right"></td>
 </tr></table></div>
@@ -49,18 +49,15 @@
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstBaseSink.html#gst-base-sink-query-latency" title="gst_base_sink_query_latency ()">gst_base_sink_query_latency</a>         (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *live</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *upstream_live</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *min_latency</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *max_latency</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        <a class="link" href="GstBaseSink.html#gst-base-sink-get-latency" title="gst_base_sink_get_latency ()">gst_base_sink_get_latency</a>           (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       <a class="link" href="GstBaseSink.html#gst-base-sink-do-preroll" title="gst_base_sink_do_preroll ()">gst_base_sink_do_preroll</a>            (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMiniObject.html#GstMiniObject"><span class="type">GstMiniObject</span></a> *obj</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       <a class="link" href="GstBaseSink.html#gst-base-sink-wait-preroll" title="gst_base_sink_wait_preroll ()">gst_base_sink_wait_preroll</a>          (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockReturn"><span class="returnvalue">GstClockReturn</span></a>      <a class="link" href="GstBaseSink.html#gst-base-sink-wait-clock" title="gst_base_sink_wait_clock ()">gst_base_sink_wait_clock</a>            (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> time</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> *jitter</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       <a class="link" href="GstBaseSink.html#gst-base-sink-wait-eos" title="gst_base_sink_wait_eos ()">gst_base_sink_wait_eos</a>              (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> time</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> *jitter</code></em>);
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *min_latency</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *max_latency</code></em>);
+<a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        <a class="link" href="GstBaseSink.html#gst-base-sink-get-latency" title="gst_base_sink_get_latency ()">gst_base_sink_get_latency</a>           (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
+<a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       <a class="link" href="GstBaseSink.html#gst-base-sink-do-preroll" title="gst_base_sink_do_preroll ()">gst_base_sink_do_preroll</a>            (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstMiniObject.html#GstMiniObject"><span class="type">GstMiniObject</span></a> *obj</code></em>);
+<a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       <a class="link" href="GstBaseSink.html#gst-base-sink-wait-preroll" title="gst_base_sink_wait_preroll ()">gst_base_sink_wait_preroll</a>          (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
+<a href="../gstreamer-1.0/GstClock.html#GstClockReturn"><span class="returnvalue">GstClockReturn</span></a>      <a class="link" href="GstBaseSink.html#gst-base-sink-wait-clock" title="gst_base_sink_wait_clock ()">gst_base_sink_wait_clock</a>            (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> time</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> *jitter</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstBaseSink.html#gst-base-sink-set-sync" title="gst_base_sink_set_sync ()">gst_base_sink_set_sync</a>              (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> sync</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstBaseSink.html#gst-base-sink-get-sync" title="gst_base_sink_get_sync ()">gst_base_sink_get_sync</a>              (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
@@ -74,12 +71,12 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstBaseSink.html#gst-base-sink-is-async-enabled" title="gst_base_sink_is_async_enabled ()">gst_base_sink_is_async_enabled</a>      (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstBaseSink.html#gst-base-sink-set-ts-offset" title="gst_base_sink_set_ts_offset ()">gst_base_sink_set_ts_offset</a>         (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> offset</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTimeDiff"><span class="returnvalue">GstClockTimeDiff</span></a>    <a class="link" href="GstBaseSink.html#gst-base-sink-get-ts-offset" title="gst_base_sink_get_ts_offset ()">gst_base_sink_get_ts_offset</a>         (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> offset</code></em>);
+<a href="../gstreamer-1.0/GstClock.html#GstClockTimeDiff"><span class="returnvalue">GstClockTimeDiff</span></a>    <a class="link" href="GstBaseSink.html#gst-base-sink-get-ts-offset" title="gst_base_sink_get_ts_offset ()">gst_base_sink_get_ts_offset</a>         (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstBaseSink.html#gst-base-sink-set-render-delay" title="gst_base_sink_set_render_delay ()">gst_base_sink_set_render_delay</a>      (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> delay</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        <a class="link" href="GstBaseSink.html#gst-base-sink-get-render-delay" title="gst_base_sink_get_render_delay ()">gst_base_sink_get_render_delay</a>      (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="returnvalue">GstSample</span></a> *         <a class="link" href="GstBaseSink.html#gst-base-sink-get-last-sample" title="gst_base_sink_get_last_sample ()">gst_base_sink_get_last_sample</a>       (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> delay</code></em>);
+<a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        <a class="link" href="GstBaseSink.html#gst-base-sink-get-render-delay" title="gst_base_sink_get_render_delay ()">gst_base_sink_get_render_delay</a>      (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
+<a href="../gstreamer-1.0/gstreamer-GstSample.html#GstSample"><span class="returnvalue">GstSample</span></a> *         <a class="link" href="GstBaseSink.html#gst-base-sink-get-last-sample" title="gst_base_sink_get_last_sample ()">gst_base_sink_get_last_sample</a>       (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstBaseSink.html#gst-base-sink-set-blocksize" title="gst_base_sink_set_blocksize ()">gst_base_sink_set_blocksize</a>         (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> blocksize</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="GstBaseSink.html#gst-base-sink-get-blocksize" title="gst_base_sink_get_blocksize ()">gst_base_sink_get_blocksize</a>         (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);
@@ -102,8 +99,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
                      +----GstBaseSink
 </pre>
 </div>
@@ -113,7 +110,7 @@
   "<a class="link" href="GstBaseSink.html#GstBaseSink--async" title='The "async" property'>async</a>"                    <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
   "<a class="link" href="GstBaseSink.html#GstBaseSink--blocksize" title='The "blocksize" property'>blocksize</a>"                <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write
   "<a class="link" href="GstBaseSink.html#GstBaseSink--enable-last-sample" title='The "enable-last-sample" property'>enable-last-sample</a>"       <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
-  "<a class="link" href="GstBaseSink.html#GstBaseSink--last-sample" title='The "last-sample" property'>last-sample</a>"              <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a>*            : Read
+  "<a class="link" href="GstBaseSink.html#GstBaseSink--last-sample" title='The "last-sample" property'>last-sample</a>"              <a href="../gstreamer-1.0/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a>*            : Read
   "<a class="link" href="GstBaseSink.html#GstBaseSink--max-lateness" title='The "max-lateness" property'>max-lateness</a>"             <span class="type">gint64</span>                : Read / Write
   "<a class="link" href="GstBaseSink.html#GstBaseSink--qos" title='The "qos" property'>qos</a>"                      <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
   "<a class="link" href="GstBaseSink.html#GstBaseSink--render-delay" title='The "render-delay" property'>render-delay</a>"             <span class="type">guint64</span>               : Read / Write
@@ -124,158 +121,6 @@
 </div>
 <div class="refsect1">
 <a name="GstBaseSink.description"></a><h2>Description</h2>
-<p>
-<a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> is the base class for sink elements in GStreamer, such as
-xvimagesink or filesink. It is a layer on top of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> that provides a
-simplified interface to plugin writers. <a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> handles many details
-for you, for example: preroll, clock synchronization, state changes,
-activation in push or pull mode, and queries.
-</p>
-<p>
-In most cases, when writing sink elements, there is no need to implement
-class methods from <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> or to set functions on pads, because the
-<a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> infrastructure should be sufficient.
-</p>
-<p>
-<a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> provides support for exactly one sink pad, which should be
-named "sink". A sink implementation (subclass of <a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a>) should
-install a pad template in its class_init function, like so:
-</p>
-<div class="informalexample">
-  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
-    <tbody>
-      <tr>
-        <td class="listing_lines" align="right"><pre>1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static void</span>
-<span class="function">my_element_class_init</span> <span class="gtkdoc opt">(</span>GstMyElementClass <span class="gtkdoc opt">*</span>klass<span class="gtkdoc opt">)</span>
-<span class="gtkdoc opt">{</span>
-  GstElementClass <span class="gtkdoc opt">*</span>gstelement_class <span class="gtkdoc opt">=</span> <span class="function">GST_ELEMENT_CLASS</span> <span class="gtkdoc opt">(</span>klass<span class="gtkdoc opt">);</span>
-
-  <span class="gtkdoc slc">// sinktemplate should be a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate">GstStaticPadTemplate</a> with direction</span>
-  <span class="gtkdoc slc">// <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-PAD-SINK:CAPS">GST_PAD_SINK</a> and name &quot;sink&quot;</span>
-  <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-class-add-pad-template">gst_element_class_add_pad_template</a></span> <span class="gtkdoc opt">(</span>gstelement_class<span class="gtkdoc opt">,</span>
-      <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#gst-static-pad-template-get">gst_static_pad_template_get</a></span> <span class="gtkdoc opt">(&amp;</span>sinktemplate<span class="gtkdoc opt">));</span>
-  <span class="gtkdoc slc">// see <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElementFactory.html#GstElementDetails">GstElementDetails</a></span>
-  <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-class-set-details">gst_element_class_set_details</a></span> <span class="gtkdoc opt">(</span>gstelement_class<span class="gtkdoc opt">, &amp;</span>details<span class="gtkdoc opt">);</span>
-<span class="gtkdoc opt">}</span></pre></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-<p>
-</p>
-<p>
-<a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> will handle the prerolling correctly. This means that it will
-return <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-CHANGE-ASYNC:CAPS"><span class="type">GST_STATE_CHANGE_ASYNC</span></a> from a state change to PAUSED until the first
-buffer arrives in this element. The base class will call the
-<a class="link" href="GstBaseSink.html#GstBaseSinkClass.preroll"><code class="function">GstBaseSinkClass.preroll()</code></a> vmethod with this preroll buffer and will then
-commit the state change to the next asynchronously pending state.
-</p>
-<p>
-When the element is set to PLAYING, <a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> will synchronise on the
-clock using the times returned from <a class="link" href="GstBaseSink.html#GstBaseSinkClass.get-times"><code class="function">GstBaseSinkClass.get_times()</code></a>. If this
-function returns <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GST-CLOCK-TIME-NONE:CAPS"><span class="type">GST_CLOCK_TIME_NONE</span></a> for the start time, no synchronisation
-will be done. Synchronisation can be disabled entirely by setting the object
-<a class="link" href="GstBaseSink.html#GstBaseSink--sync" title='The "sync" property'><span class="type">"sync"</span></a> property to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.
-</p>
-<p>
-After synchronisation the virtual method <a class="link" href="GstBaseSink.html#GstBaseSinkClass.render"><code class="function">GstBaseSinkClass.render()</code></a> will be
-called. Subclasses should minimally implement this method.
-</p>
-<p>
-Since 0.10.3 subclasses that synchronise on the clock in the
-<a class="link" href="GstBaseSink.html#GstBaseSinkClass.render"><code class="function">GstBaseSinkClass.render()</code></a> method are supported as well. These classes
-typically receive a buffer in the render method and can then potentially
-block on the clock while rendering. A typical example is an audiosink.
-Since 0.10.11 these subclasses can use <a class="link" href="GstBaseSink.html#gst-base-sink-wait-preroll" title="gst_base_sink_wait_preroll ()"><code class="function">gst_base_sink_wait_preroll()</code></a> to
-perform the blocking wait.
-</p>
-<p>
-Upon receiving the EOS event in the PLAYING state, <a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> will wait
-for the clock to reach the time indicated by the stop time of the last
-<a class="link" href="GstBaseSink.html#GstBaseSinkClass.get-times"><code class="function">GstBaseSinkClass.get_times()</code></a> call before posting an EOS message. When the
-element receives EOS in PAUSED, preroll completes, the event is queued and an
-EOS message is posted when going to PLAYING.
-</p>
-<p>
-<a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> will internally use the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GST-EVENT-NEWSEGMENT:CAPS"><span class="type">GST_EVENT_NEWSEGMENT</span></a> events to schedule
-synchronisation and clipping of buffers. Buffers that fall completely outside
-of the current segment are dropped. Buffers that fall partially in the
-segment are rendered (and prerolled). Subclasses should do any subbuffer
-clipping themselves when needed.
-</p>
-<p>
-<a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> will by default report the current playback position in
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-TIME:CAPS"><span class="type">GST_FORMAT_TIME</span></a> based on the current clock time and segment information.
-If no clock has been set on the element, the query will be forwarded
-upstream.
-</p>
-<p>
-The <a class="link" href="GstBaseSink.html#GstBaseSinkClass.set-caps"><code class="function">GstBaseSinkClass.set_caps()</code></a> function will be called when the subclass
-should configure itself to process a specific media type.
-</p>
-<p>
-The <a class="link" href="GstBaseSink.html#GstBaseSinkClass.start"><code class="function">GstBaseSinkClass.start()</code></a> and <a class="link" href="GstBaseSink.html#GstBaseSinkClass.stop"><code class="function">GstBaseSinkClass.stop()</code></a> virtual methods
-will be called when resources should be allocated. Any 
-<a class="link" href="GstBaseSink.html#GstBaseSinkClass.preroll"><code class="function">GstBaseSinkClass.preroll()</code></a>, <a class="link" href="GstBaseSink.html#GstBaseSinkClass.render"><code class="function">GstBaseSinkClass.render()</code></a> and
-<a class="link" href="GstBaseSink.html#GstBaseSinkClass.set-caps"><code class="function">GstBaseSinkClass.set_caps()</code></a> function will be called between the
-<a class="link" href="GstBaseSink.html#GstBaseSinkClass.start"><code class="function">GstBaseSinkClass.start()</code></a> and <a class="link" href="GstBaseSink.html#GstBaseSinkClass.stop"><code class="function">GstBaseSinkClass.stop()</code></a> calls.
-</p>
-<p>
-The <a class="link" href="GstBaseSink.html#GstBaseSinkClass.event"><code class="function">GstBaseSinkClass.event()</code></a> virtual method will be called when an event is
-received by <a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a>. Normally this method should only be overriden by
-very specific elements (such as file sinks) which need to handle the
-newsegment event specially.
-</p>
-<p>
-The <a class="link" href="GstBaseSink.html#GstBaseSinkClass.unlock"><code class="function">GstBaseSinkClass.unlock()</code></a> method is called when the elements should
-unblock any blocking operations they perform in the
-<a class="link" href="GstBaseSink.html#GstBaseSinkClass.render"><code class="function">GstBaseSinkClass.render()</code></a> method. This is mostly useful when the
-<a class="link" href="GstBaseSink.html#GstBaseSinkClass.render"><code class="function">GstBaseSinkClass.render()</code></a> method performs a blocking write on a file
-descriptor, for example.
-</p>
-<p>
-The <a class="link" href="GstBaseSink.html#GstBaseSink--max-lateness" title='The "max-lateness" property'><span class="type">"max-lateness"</span></a> property affects how the sink deals with
-buffers that arrive too late in the sink. A buffer arrives too late in the
-sink when the presentation time (as a combination of the last segment, buffer
-timestamp and element base_time) plus the duration is before the current
-time of the clock.
-If the frame is later than max-lateness, the sink will drop the buffer
-without calling the render method.
-This feature is disabled if sync is disabled, the
-<a class="link" href="GstBaseSink.html#GstBaseSinkClass.get-times"><code class="function">GstBaseSinkClass.get_times()</code></a> method does not return a valid start time or
-max-lateness is set to -1 (the default).
-Subclasses can use <a class="link" href="GstBaseSink.html#gst-base-sink-set-max-lateness" title="gst_base_sink_set_max_lateness ()"><code class="function">gst_base_sink_set_max_lateness()</code></a> to configure the
-max-lateness value.
-</p>
-<p>
-The <a class="link" href="GstBaseSink.html#GstBaseSink--qos" title='The "qos" property'><span class="type">"qos"</span></a> property will enable the quality-of-service features of
-the basesink which gather statistics about the real-time performance of the
-clock synchronisation. For each buffer received in the sink, statistics are
-gathered and a QOS event is sent upstream with these numbers. This
-information can then be used by upstream elements to reduce their processing
-rate, for example.
-</p>
-<p>
-Since 0.10.15 the <a class="link" href="GstBaseSink.html#GstBaseSink--async" title='The "async" property'><span class="type">"async"</span></a> property can be used to instruct the
-sink to never perform an ASYNC state change. This feature is mostly usable
-when dealing with non-synchronized streams or sparse streams.
-</p>
-<p>
-Last reviewed on 2007-08-29 (0.10.15)
-</p>
 </div>
 <div class="refsect1">
 <a name="GstBaseSink.details"></a><h2>Details</h2>
@@ -349,7 +194,7 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstBaseSinkClass.parent-class"></a>parent_class</code></em>;</span></p></td>
+<td><p><span class="term"><a href="../gstreamer-1.0/GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstBaseSinkClass.parent-class"></a>parent_class</code></em>;</span></p></td>
 <td>Element parent class</td>
 </tr>
 <tr>
@@ -402,7 +247,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="structfield"><code><a name="GstBaseSinkClass.query"></a>query</code></em> ()</span></p></td>
-<td>perform a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstQuery.html#GstQuery"><span class="type">GstQuery</span></a> on the element. Since: 0.10.36</td>
+<td>perform a <a href="../gstreamer-1.0/gstreamer-GstQuery.html#GstQuery"><span class="type">GstQuery</span></a> on the element.</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="structfield"><code><a name="GstBaseSinkClass.event"></a>event</code></em> ()</span></p></td>
@@ -435,7 +280,7 @@
 <tr>
 <td><p><span class="term"><em class="structfield"><code><a name="GstBaseSinkClass.render-list"></a>render_list</code></em> ()</span></p></td>
 <td>Same as <em class="parameter"><code>render</code></em> but used whith buffer lists instead of
-buffers. Since: 0.10.24</td>
+buffers.</td>
 </tr>
 </tbody>
 </table></div>
@@ -446,8 +291,8 @@
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_base_sink_query_latency         (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *live</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *upstream_live</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *min_latency</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *max_latency</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *min_latency</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *max_latency</code></em>);</pre>
 <p>
 Query the sink for the latency parameters. The latency will be queried from
 the upstream elements. <em class="parameter"><code>live</code></em> will be TRUE if <em class="parameter"><code>sink</code></em> is configured to
@@ -495,12 +340,11 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.12</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-base-sink-get-latency"></a><h3>gst_base_sink_get_latency ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        gst_base_sink_get_latency           (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);</pre>
+<pre class="programlisting"><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        gst_base_sink_get_latency           (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);</pre>
 <p>
 Get the currently configured latency.
 </p>
@@ -517,13 +361,12 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.12</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-base-sink-do-preroll"></a><h3>gst_base_sink_do_preroll ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       gst_base_sink_do_preroll            (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMiniObject.html#GstMiniObject"><span class="type">GstMiniObject</span></a> *obj</code></em>);</pre>
+<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       gst_base_sink_do_preroll            (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstMiniObject.html#GstMiniObject"><span class="type">GstMiniObject</span></a> *obj</code></em>);</pre>
 <p>
 If the <em class="parameter"><code>sink</code></em> spawns its own thread for pulling buffers from upstream it
 should call this method after it has pulled a buffer. If the element needed
@@ -548,17 +391,16 @@
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> if the preroll completed and processing can
+<a href="../gstreamer-1.0/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> if the preroll completed and processing can
 continue. Any other return value should be returned from the render vmethod.</td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-base-sink-wait-preroll"></a><h3>gst_base_sink_wait_preroll ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       gst_base_sink_wait_preroll          (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);</pre>
+<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       gst_base_sink_wait_preroll          (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);</pre>
 <p>
 If the <a class="link" href="GstBaseSink.html#GstBaseSinkClass.render"><code class="function">GstBaseSinkClass.render()</code></a> method performs its own synchronisation
 against the clock it must unblock when going from PLAYING to the PAUSED state
@@ -566,9 +408,9 @@
 </p>
 <p>
 This function will block until a state change to PLAYING happens (in which
-case this function returns <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a>) or the processing must be stopped due
+case this function returns <a href="../gstreamer-1.0/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a>) or the processing must be stopped due
 to a state change to READY or a FLUSH event (in which case this function
-returns <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-FLUSHING:CAPS"><span class="type">GST_FLOW_FLUSHING</span></a>).
+returns <a href="../gstreamer-1.0/GstPad.html#GST-FLOW-FLUSHING:CAPS"><span class="type">GST_FLOW_FLUSHING</span></a>).
 </p>
 <p>
 This function should only be called with the PREROLL_LOCK held, like in the
@@ -584,27 +426,26 @@
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> if the preroll completed and processing can
+<a href="../gstreamer-1.0/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> if the preroll completed and processing can
 continue. Any other return value should be returned from the render vmethod.</td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.11</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-base-sink-wait-clock"></a><h3>gst_base_sink_wait_clock ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockReturn"><span class="returnvalue">GstClockReturn</span></a>      gst_base_sink_wait_clock            (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> time</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> *jitter</code></em>);</pre>
+<pre class="programlisting"><a href="../gstreamer-1.0/GstClock.html#GstClockReturn"><span class="returnvalue">GstClockReturn</span></a>      gst_base_sink_wait_clock            (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> time</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> *jitter</code></em>);</pre>
 <p>
 This function will block until <em class="parameter"><code>time</code></em> is reached. It is usually called by
 subclasses that use their own internal synchronisation.
 </p>
 <p>
-If <em class="parameter"><code>time</code></em> is not valid, no sycnhronisation is done and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GST-CLOCK-BADTIME:CAPS"><span class="type">GST_CLOCK_BADTIME</span></a> is
+If <em class="parameter"><code>time</code></em> is not valid, no sycnhronisation is done and <a href="../gstreamer-1.0/GstClock.html#GST-CLOCK-BADTIME:CAPS"><span class="type">GST_CLOCK_BADTIME</span></a> is
 returned. Likewise, if synchronisation is disabled in the element or there
-is no clock, no synchronisation is done and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GST-CLOCK-BADTIME:CAPS"><span class="type">GST_CLOCK_BADTIME</span></a> is returned.
+is no clock, no synchronisation is done and <a href="../gstreamer-1.0/GstClock.html#GST-CLOCK-BADTIME:CAPS"><span class="type">GST_CLOCK_BADTIME</span></a> is returned.
 </p>
 <p>
 This function should only be called with the PREROLL_LOCK held, like when
@@ -635,54 +476,10 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockReturn"><span class="type">GstClockReturn</span></a></td>
+<td><a href="../gstreamer-1.0/GstClock.html#GstClockReturn"><span class="type">GstClockReturn</span></a></td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.20</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-base-sink-wait-eos"></a><h3>gst_base_sink_wait_eos ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       gst_base_sink_wait_eos              (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> time</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> *jitter</code></em>);</pre>
-<p>
-This function will block until <em class="parameter"><code>time</code></em> is reached. It is usually called by
-subclasses that use their own internal synchronisation but want to let the
-EOS be handled by the base class.
-</p>
-<p>
-This function should only be called with the PREROLL_LOCK held, like when
-receiving an EOS event in the ::event vmethod.
-</p>
-<p>
-The <em class="parameter"><code>time</code></em> argument should be the running_time of when the EOS should happen
-and will be adjusted with any latency and offset configured in the sink.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>sink</code></em> :</span></p></td>
-<td>the sink</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>time</code></em> :</span></p></td>
-<td>the running_time to be reached</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>jitter</code></em> :</span></p></td>
-<td>the jitter to be filled with time diff, or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a></td>
-</tr>
-</tbody>
-</table></div>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -709,7 +506,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -732,7 +528,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -758,7 +553,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -783,7 +577,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -806,7 +599,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.5</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -829,7 +621,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.5</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -855,7 +646,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -879,13 +669,12 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-base-sink-set-ts-offset"></a><h3>gst_base_sink_set_ts_offset ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_base_sink_set_ts_offset         (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> offset</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> offset</code></em>);</pre>
 <p>
 Adjust the synchronisation of <em class="parameter"><code>sink</code></em> with <em class="parameter"><code>offset</code></em>. A negative value will
 render buffers earlier than their timestamp. A positive value will delay
@@ -905,12 +694,11 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-base-sink-get-ts-offset"></a><h3>gst_base_sink_get_ts_offset ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTimeDiff"><span class="returnvalue">GstClockTimeDiff</span></a>    gst_base_sink_get_ts_offset         (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);</pre>
+<pre class="programlisting"><a href="../gstreamer-1.0/GstClock.html#GstClockTimeDiff"><span class="returnvalue">GstClockTimeDiff</span></a>    gst_base_sink_get_ts_offset         (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);</pre>
 <p>
 Get the synchronisation offset of <em class="parameter"><code>sink</code></em>.
 </p>
@@ -927,13 +715,12 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-base-sink-set-render-delay"></a><h3>gst_base_sink_set_render_delay ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_base_sink_set_render_delay      (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> delay</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> delay</code></em>);</pre>
 <p>
 Set the render delay in <em class="parameter"><code>sink</code></em> to <em class="parameter"><code>delay</code></em>. The render delay is the time
 between actual rendering of a buffer and its synchronisation time. Some
@@ -961,12 +748,11 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.21</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-base-sink-get-render-delay"></a><h3>gst_base_sink_get_render_delay ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        gst_base_sink_get_render_delay      (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);</pre>
+<pre class="programlisting"><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>        gst_base_sink_get_render_delay      (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);</pre>
 <p>
 Get the render delay of <em class="parameter"><code>sink</code></em>. see <a class="link" href="GstBaseSink.html#gst-base-sink-set-render-delay" title="gst_base_sink_set_render_delay ()"><code class="function">gst_base_sink_set_render_delay()</code></a> for more
 information about the render delay.
@@ -985,18 +771,17 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.21</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-base-sink-get-last-sample"></a><h3>gst_base_sink_get_last_sample ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="returnvalue">GstSample</span></a> *         gst_base_sink_get_last_sample       (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);</pre>
+<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstSample.html#GstSample"><span class="returnvalue">GstSample</span></a> *         gst_base_sink_get_last_sample       (<em class="parameter"><code><a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a> *sink</code></em>);</pre>
 <p>
 Get the last sample that arrived in the sink and was used for preroll or for
 rendering. This property can be used to generate thumbnails.
 </p>
 <p>
-The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> on the sample can be used to determine the type of the buffer.
+The <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> on the sample can be used to determine the type of the buffer.
 </p>
 <p>
 Free-function: gst_sample_unref
@@ -1010,14 +795,13 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a>. <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#gst-sample-unref"><code class="function">gst_sample_unref()</code></a> after usage.
+<td>a <a href="../gstreamer-1.0/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a>. <a href="../gstreamer-1.0/gstreamer-GstSample.html#gst-sample-unref"><code class="function">gst_sample_unref()</code></a> after usage.
 This function returns NULL when no buffer has arrived in the sink yet
 or when the sink is not in PAUSED or PLAYING. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1042,7 +826,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1066,7 +849,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1090,7 +872,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1116,7 +897,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1124,7 +904,7 @@
 <pre class="programlisting">#define GST_BASE_SINK_PAD(obj)          (GST_BASE_SINK_CAST (obj)-&gt;sinkpad)
 </pre>
 <p>
-Gives the pointer to the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.
+Gives the pointer to the <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> object of the element.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -1194,7 +974,6 @@
 not required.
 </p>
 <p>Default value: TRUE</p>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1204,7 +983,6 @@
 The amount of bytes to pull when operating in pull mode.
 </p>
 <p>Default value: 4096</p>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1217,18 +995,16 @@
 as possible, eg. if you're using a buffer pool.
 </p>
 <p>Default value: TRUE</p>
-<p class="since">Since 0.10.30</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstBaseSink--last-sample"></a><h3>The <code class="literal">"last-sample"</code> property</h3>
-<pre class="programlisting">  "last-sample"              <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a>*            : Read</pre>
+<pre class="programlisting">  "last-sample"              <a href="../gstreamer-1.0/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a>*            : Read</pre>
 <p>
 The last buffer that arrived in the sink and was used for preroll or for
 rendering. This property can be used to generate thumbnails. This property
 can be NULL when the sink has not yet received a bufer.
 </p>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1255,7 +1031,6 @@
 make other sinks compensate for the delay.
 </p>
 <p>Default value: 0</p>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1274,7 +1049,6 @@
 to a value bigger than 0 will make the sink create THROTTLE QoS events.
 </p>
 <p>Default value: 0</p>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1286,13 +1060,8 @@
 used to fix synchronisation in bad files.
 </p>
 <p>Default value: 0</p>
-<p class="since">Since 0.10.15</p>
 </div>
 </div>
-<div class="refsect1">
-<a name="GstBaseSink.see-also"></a><h2>See Also</h2>
-<a class="link" href="GstBaseTransform.html" title="GstBaseTransform"><span class="type">GstBaseTransform</span></a>, <a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a>
-</div>
 </div>
 <div class="footer">
 <hr>
diff --git a/docs/libs/html/GstBaseSrc.html b/docs/libs/html/GstBaseSrc.html
index 067e0a7..518525a 100644
--- a/docs/libs/html/GstBaseSrc.html
+++ b/docs/libs/html/GstBaseSrc.html
@@ -47,16 +47,16 @@
 struct              <a class="link" href="GstBaseSrc.html#GstBaseSrc-struct" title="struct GstBaseSrc">GstBaseSrc</a>;
 struct              <a class="link" href="GstBaseSrc.html#GstBaseSrcClass" title="struct GstBaseSrcClass">GstBaseSrcClass</a>;
 enum                <a class="link" href="GstBaseSrc.html#GstBaseSrcFlags" title="enum GstBaseSrcFlags">GstBaseSrcFlags</a>;
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       <a class="link" href="GstBaseSrc.html#gst-base-src-wait-playing" title="gst_base_src_wait_playing ()">gst_base_src_wait_playing</a>           (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>);
+<a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       <a class="link" href="GstBaseSrc.html#gst-base-src-wait-playing" title="gst_base_src_wait_playing ()">gst_base_src_wait_playing</a>           (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstBaseSrc.html#gst-base-src-is-live" title="gst_base_src_is_live ()">gst_base_src_is_live</a>                (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstBaseSrc.html#gst-base-src-set-live" title="gst_base_src_set_live ()">gst_base_src_set_live</a>               (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> live</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstBaseSrc.html#gst-base-src-set-format" title="gst_base_src_set_format ()">gst_base_src_set_format</a>             (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> format</code></em>);
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> format</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstBaseSrc.html#gst-base-src-query-latency" title="gst_base_src_query_latency ()">gst_base_src_query_latency</a>          (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *live</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *min_latency</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *max_latency</code></em>);
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *min_latency</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *max_latency</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="GstBaseSrc.html#gst-base-src-get-blocksize" title="gst_base_src_get_blocksize ()">gst_base_src_get_blocksize</a>          (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstBaseSrc.html#gst-base-src-set-blocksize" title="gst_base_src_set_blocksize ()">gst_base_src_set_blocksize</a>          (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> blocksize</code></em>);
@@ -70,7 +70,7 @@
                                                          <em class="parameter"><code><span class="type">gint64</span> stop</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> position</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstBaseSrc.html#gst-base-src-set-caps" title="gst_base_src_set_caps ()">gst_base_src_set_caps</a>               (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>);
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</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>
@@ -79,8 +79,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
                      +----GstBaseSrc
                            +----<a class="link" href="GstPushSrc.html" title="GstPushSrc">GstPushSrc</a>
 </pre>
@@ -108,17 +108,17 @@
 <p>
 </p>
 <p>
-The source can be configured to operate in any <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> with the
+The source can be configured to operate in any <a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> with the
 <a class="link" href="GstBaseSrc.html#gst-base-src-set-format" title="gst_base_src_set_format ()"><code class="function">gst_base_src_set_format()</code></a> method. The currently set format determines
-the format of the internal <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSegment.html#GstSegment"><span class="type">GstSegment</span></a> and any <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GST-EVENT-NEWSEGMENT:CAPS"><span class="type">GST_EVENT_NEWSEGMENT</span></a>
-events. The default format for <a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> is <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-BYTES:CAPS"><span class="type">GST_FORMAT_BYTES</span></a>.
+the format of the internal <a href="../gstreamer-1.0/gstreamer-GstSegment.html#GstSegment"><span class="type">GstSegment</span></a> and any <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GST-EVENT-NEWSEGMENT:CAPS"><span class="type">GST_EVENT_NEWSEGMENT</span></a>
+events. The default format for <a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> is <a href="../gstreamer-1.0/gstreamer-GstFormat.html#GST-FORMAT-BYTES:CAPS"><span class="type">GST_FORMAT_BYTES</span></a>.
 </p>
 <p>
 <a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> always supports push mode scheduling. If the following
 conditions are met, it also supports pull mode scheduling:
 </p>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem"><p>The format is set to <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-BYTES:CAPS"><span class="type">GST_FORMAT_BYTES</span></a> (default).</p></li>
+<li class="listitem"><p>The format is set to <a href="../gstreamer-1.0/gstreamer-GstFormat.html#GST-FORMAT-BYTES:CAPS"><span class="type">GST_FORMAT_BYTES</span></a> (default).</p></li>
 <li class="listitem"><p><a class="link" href="GstBaseSrc.html#GstBaseSrcClass.is-seekable"><code class="function">GstBaseSrcClass.is_seekable()</code></a> returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p></li>
 </ul></div>
 <p>
@@ -127,7 +127,7 @@
 If all the conditions are met for operating in pull mode, <a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> is
 automatically seekable in push mode as well. The following conditions must
 be met to make the element seekable in push mode when the format is not
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-BYTES:CAPS"><span class="type">GST_FORMAT_BYTES</span></a>:
+<a href="../gstreamer-1.0/gstreamer-GstFormat.html#GST-FORMAT-BYTES:CAPS"><span class="type">GST_FORMAT_BYTES</span></a>:
 </p>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem"><p>
@@ -164,7 +164,7 @@
 <a class="link" href="GstBaseSrc.html#GstBaseSrcClass.create"><code class="function">GstBaseSrcClass.create()</code></a> method will not be called in PAUSED but only in
 PLAYING. To signal the pipeline that the element will not produce data, the
 return value from the READY to PAUSED state will be
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-CHANGE-NO-PREROLL:CAPS"><span class="type">GST_STATE_CHANGE_NO_PREROLL</span></a>.
+<a href="../gstreamer-1.0/GstElement.html#GST-STATE-CHANGE-NO-PREROLL:CAPS"><span class="type">GST_STATE_CHANGE_NO_PREROLL</span></a>.
 </p>
 <p>
 A typical live source will timestamp the buffers it creates with the
@@ -174,7 +174,7 @@
 </p>
 <p>
 Live sources that synchronize and block on the clock (an audio source, for
-example) can since 0.10.12 use <a class="link" href="GstBaseSrc.html#gst-base-src-wait-playing" title="gst_base_src_wait_playing ()"><code class="function">gst_base_src_wait_playing()</code></a> when the
+example) can use <a class="link" href="GstBaseSrc.html#gst-base-src-wait-playing" title="gst_base_src_wait_playing ()"><code class="function">gst_base_src_wait_playing()</code></a> when the
 <a class="link" href="GstBaseSrc.html#GstBaseSrcClass.create"><code class="function">GstBaseSrcClass.create()</code></a> function was interrupted by a state change to
 PAUSED.
 </p>
@@ -219,10 +219,10 @@
 <span class="function">my_element_class_init</span> <span class="gtkdoc opt">(</span>GstMyElementClass <span class="gtkdoc opt">*</span>klass<span class="gtkdoc opt">)</span>
 <span class="gtkdoc opt">{</span>
   GstElementClass <span class="gtkdoc opt">*</span>gstelement_class <span class="gtkdoc opt">=</span> <span class="function">GST_ELEMENT_CLASS</span> <span class="gtkdoc opt">(</span>klass<span class="gtkdoc opt">);</span>
-  <span class="gtkdoc slc">// srctemplate should be a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate">GstStaticPadTemplate</a> with direction</span>
-  <span class="gtkdoc slc">// <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-PAD-SRC:CAPS">GST_PAD_SRC</a> and name &quot;src&quot;</span>
-  <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-class-add-pad-template">gst_element_class_add_pad_template</a></span> <span class="gtkdoc opt">(</span>gstelement_class<span class="gtkdoc opt">,</span>
-      <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#gst-static-pad-template-get">gst_static_pad_template_get</a></span> <span class="gtkdoc opt">(&amp;</span>srctemplate<span class="gtkdoc opt">));</span>
+  <span class="gtkdoc slc">// srctemplate should be a <a href="../gstreamer-1.0/GstPadTemplate.html#GstStaticPadTemplate">GstStaticPadTemplate</a> with direction</span>
+  <span class="gtkdoc slc">// <a href="../gstreamer-1.0/GstPad.html#GST-PAD-SRC:CAPS">GST_PAD_SRC</a> and name &quot;src&quot;</span>
+  <span class="function"><a href="../gstreamer-1.0/GstElement.html#gst-element-class-add-pad-template">gst_element_class_add_pad_template</a></span> <span class="gtkdoc opt">(</span>gstelement_class<span class="gtkdoc opt">,</span>
+      <span class="function"><a href="../gstreamer-1.0/GstPadTemplate.html#gst-static-pad-template-get">gst_static_pad_template_get</a></span> <span class="gtkdoc opt">(&amp;</span>srctemplate<span class="gtkdoc opt">));</span>
   <span class="gtkdoc slc">// see <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElementFactory.html#GstElementDetails">GstElementDetails</a></span>
   <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-class-set-details">gst_element_class_set_details</a></span> <span class="gtkdoc opt">(</span>gstelement_class<span class="gtkdoc opt">, &amp;</span>details<span class="gtkdoc opt">);</span>
 <span class="gtkdoc opt">}</span></pre></td>
@@ -236,7 +236,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp7055728"></a><h3>Controlled shutdown of live sources in applications</h3>
+<a name="idp6539136"></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
@@ -248,10 +248,10 @@
 been processed and the pipeline can safely be stopped.
 </p>
 <p>
-Since GStreamer 0.10.16 an application may send an EOS event to a source
-element to make it perform the EOS logic (send EOS event downstream or post a
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GST-MESSAGE-SEGMENT-DONE:CAPS"><span class="type">GST_MESSAGE_SEGMENT_DONE</span></a> on the bus). This can typically be done
-with the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-send-event"><code class="function">gst_element_send_event()</code></a> function on the element or its parent bin.
+An application may send an EOS event to a source element to make it
+perform the EOS logic (send EOS event downstream or post a
+<a href="../gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-SEGMENT-DONE:CAPS"><span class="type">GST_MESSAGE_SEGMENT_DONE</span></a> on the bus). This can typically be done
+with the <a href="../gstreamer-1.0/GstElement.html#gst-element-send-event"><code class="function">gst_element_send_event()</code></a> function on the element or its parent bin.
 </p>
 <p>
 After the EOS has been sent to the element, the application should wait for
@@ -350,7 +350,7 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstBaseSrcClass.parent-class"></a>parent_class</code></em>;</span></p></td>
+<td><p><span class="term"><a href="../gstreamer-1.0/GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstBaseSrcClass.parent-class"></a>parent_class</code></em>;</span></p></td>
 <td>Element parent class</td>
 </tr>
 <tr>
@@ -405,8 +405,7 @@
 do_seek vmethod for executing a seek request. Sub-classes should override
 this if they support seeking in formats other than the configured native
 format. By default, it tries to convert the seek arguments to the
-configured native format and prepare a segment in that format.
-Since: 0.10.13</td>
+configured native format and prepare a segment in that format.</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="structfield"><code><a name="GstBaseSrcClass.do-seek"></a>do_seek</code></em> ()</span></p></td>
@@ -467,7 +466,7 @@
 } GstBaseSrcFlags;
 </pre>
 <p>
-The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> flags that a basesrc element may have.
+The <a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> flags that a basesrc element may have.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -493,7 +492,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-base-src-wait-playing"></a><h3>gst_base_src_wait_playing ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       gst_base_src_wait_playing           (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>);</pre>
+<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       gst_base_src_wait_playing           (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>);</pre>
 <p>
 If the <a class="link" href="GstBaseSrc.html#GstBaseSrcClass.create"><code class="function">GstBaseSrcClass.create()</code></a> method performs its own synchronisation
 against the clock it must unblock when going from PLAYING to the PAUSED state
@@ -501,9 +500,9 @@
 </p>
 <p>
 This function will block until a state change to PLAYING happens (in which
-case this function returns <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a>) or the processing must be stopped due
+case this function returns <a href="../gstreamer-1.0/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a>) or the processing must be stopped due
 to a state change to READY or a FLUSH event (in which case this function
-returns <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-FLUSHING:CAPS"><span class="type">GST_FLOW_FLUSHING</span></a>).
+returns <a href="../gstreamer-1.0/GstPad.html#GST-FLOW-FLUSHING:CAPS"><span class="type">GST_FLOW_FLUSHING</span></a>).
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -515,12 +514,11 @@
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> if <em class="parameter"><code>src</code></em> is PLAYING and processing can
+<a href="../gstreamer-1.0/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> if <em class="parameter"><code>src</code></em> is PLAYING and processing can
 continue. Any other return value should be returned from the create vmethod.</td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.12</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -578,7 +576,7 @@
 <div class="refsect2">
 <a name="gst-base-src-set-format"></a><h3>gst_base_src_set_format ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_base_src_set_format             (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> format</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> format</code></em>);</pre>
 <p>
 Sets the default format of the source. This will be the format used
 for sending NEW_SEGMENT events and for performing seeks.
@@ -588,7 +586,7 @@
 operate in pull mode if the <a class="link" href="GstBaseSrc.html#GstBaseSrcClass.is-seekable"><code class="function">GstBaseSrcClass.is_seekable()</code></a> returns TRUE.
 </p>
 <p>
-This function must only be called in states &lt; <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-PAUSED:CAPS"><code class="literal">GST_STATE_PAUSED</code></a>.
+This function must only be called in states &lt; <a href="../gstreamer-1.0/GstElement.html#GST-STATE-PAUSED:CAPS"><code class="literal">GST_STATE_PAUSED</code></a>.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -603,15 +601,14 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.1</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-base-src-query-latency"></a><h3>gst_base_src_query_latency ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_base_src_query_latency          (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *live</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *min_latency</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *max_latency</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *min_latency</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *max_latency</code></em>);</pre>
 <p>
 Query the source for the latency parameters. <em class="parameter"><code>live</code></em> will be TRUE when <em class="parameter"><code>src</code></em> is
 configured as a live source. <em class="parameter"><code>min_latency</code></em> will be set to the difference
@@ -649,7 +646,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.13</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -671,7 +667,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -695,7 +690,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -718,7 +712,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -743,7 +736,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.15</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -768,7 +760,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -812,13 +803,12 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-base-src-set-caps"></a><h3>gst_base_src_set_caps ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_base_src_set_caps               (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>);</pre>
 <p>
 Set new caps on the basesrc source pad.
 </p>
@@ -832,7 +822,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
-<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>
+<td>a <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>
 </td>
 </tr>
 <tr>
@@ -849,7 +839,7 @@
 <pre class="programlisting">#define GST_BASE_SRC_PAD(obj)                 (GST_BASE_SRC_CAST (obj)-&gt;srcpad)
 </pre>
 <p>
-Gives the pointer to the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.
+Gives the pointer to the <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> object of the element.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
diff --git a/docs/libs/html/GstBaseTransform.html b/docs/libs/html/GstBaseTransform.html
index 2c89ce9..d91487a 100644
--- a/docs/libs/html/GstBaseTransform.html
+++ b/docs/libs/html/GstBaseTransform.html
@@ -57,8 +57,8 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstBaseTransform.html#gst-base-transform-update-qos" title="gst_base_transform_update_qos ()">gst_base_transform_update_qos</a>       (<em class="parameter"><code><a class="link" href="GstBaseTransform.html" title="GstBaseTransform"><span class="type">GstBaseTransform</span></a> *trans</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> proportion</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> diff</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>);
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> diff</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>);
 <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>);
 #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>
@@ -73,8 +73,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
                      +----GstBaseTransform
 </pre>
 </div>
@@ -111,7 +111,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp6939712"></a><h3>Use Cases</h3>
+<a name="idp8304832"></a><h3>Use Cases</h3>
 <p>
 </p>
 <div class="orderedlist"><ol class="orderedlist" type="1">
@@ -251,7 +251,7 @@
 </p>
 <hr>
 <div class="refsect2">
-<a name="idp7842576"></a><h3>Sub-class settable flags on GstBaseTransform</h3>
+<a name="idp6194080"></a><h3>Sub-class settable flags on GstBaseTransform</h3>
 <p>
 </p>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -337,7 +337,8 @@
 
   /* decide allocation query for output buffers */
   gboolean      (*decide_allocation)  (GstBaseTransform *trans, GstQuery *query);
-  gboolean      (*filter_meta)        (GstBaseTransform *trans, GstQuery *query, GType api);
+  gboolean      (*filter_meta)        (GstBaseTransform *trans, GstQuery *query,
+                                       GType api, const GstStructure *params);
 
   /* propose allocation query parameters for input buffers */
   gboolean      (*propose_allocation) (GstBaseTransform *trans, GstQuery *decide_query,
@@ -387,7 +388,7 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstBaseTransformClass.parent-class"></a>parent_class</code></em>;</span></p></td>
+<td><p><span class="term"><a href="../gstreamer-1.0/GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstBaseTransformClass.parent-class"></a>parent_class</code></em>;</span></p></td>
 <td>Element parent class</td>
 </tr>
 <tr>
@@ -419,7 +420,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="structfield"><code><a name="GstBaseTransformClass.accept-caps"></a>accept_caps</code></em> ()</span></p></td>
-<td>Optional. Since 0.10.30
+<td>Optional.
 Subclasses can override this method to check if <em class="parameter"><code>caps</code></em> can be
 handled by the element. The default implementation might not be
 the most optimal way to check this in all cases.</td>
@@ -430,7 +431,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="structfield"><code><a name="GstBaseTransformClass.query"></a>query</code></em> ()</span></p></td>
-<td>Optional Since 0.10.36
+<td>Optional.
 Handle a requested query. Subclasses that implement this
 should must chain up to the parent if they didn't handle the
 query</td>
@@ -528,7 +529,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="structfield"><code><a name="GstBaseTransformClass.before-transform"></a>before_transform</code></em> ()</span></p></td>
-<td>Optional. Since 0.10.22
+<td>Optional.
 This method is called right before the base class will
 start processing. Dynamic properties or other delayed
 configuration could be performed in this method.</td>
@@ -677,7 +678,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.5</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -704,15 +704,14 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.5</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-base-transform-update-qos"></a><h3>gst_base_transform_update_qos ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_base_transform_update_qos       (<em class="parameter"><code><a class="link" href="GstBaseTransform.html" title="GstBaseTransform"><span class="type">GstBaseTransform</span></a> *trans</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> proportion</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> diff</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> diff</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>);</pre>
 <p>
 Set the QoS parameters in the transform. This function is called internally
 when a QOS event is received but subclasses can provide custom information
@@ -744,7 +743,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.5</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -753,7 +751,7 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> gap_aware</code></em>);</pre>
 <p>
 If <em class="parameter"><code>gap_aware</code></em> is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> (the default), output buffers will have the
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GST-BUFFER-FLAG-GAP:CAPS"><code class="literal">GST_BUFFER_FLAG_GAP</code></a> flag unset.
+<a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GST-BUFFER-FLAG-GAP:CAPS"><code class="literal">GST_BUFFER_FLAG_GAP</code></a> flag unset.
 </p>
 <p>
 If set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, the element must handle output buffers with this flag set
@@ -777,7 +775,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.16</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -803,7 +800,7 @@
 <pre class="programlisting">#define GST_BASE_TRANSFORM_SINK_PAD(obj) (GST_BASE_TRANSFORM_CAST (obj)-&gt;sinkpad)
 </pre>
 <p>
-Gives the pointer to the sink <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.
+Gives the pointer to the sink <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> object of the element.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -812,7 +809,6 @@
 <td>base transform instance</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -820,7 +816,7 @@
 <pre class="programlisting">#define GST_BASE_TRANSFORM_SRC_PAD(obj)		(GST_BASE_TRANSFORM_CAST (obj)-&gt;srcpad)
 </pre>
 <p>
-Gives the pointer to the source <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.
+Gives the pointer to the source <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> object of the element.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -829,7 +825,6 @@
 <td>base transform instance</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -837,10 +832,9 @@
 <pre class="programlisting">#define GST_BASE_TRANSFORM_FLOW_DROPPED   GST_FLOW_CUSTOM_SUCCESS
 </pre>
 <p>
-A <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> that can be returned from transform and transform_ip to
+A <a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> that can be returned from transform and transform_ip to
 indicate that no output buffer was generated.
 </p>
-<p class="since">Since 0.10.13</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libs/html/GstCollectPads.html b/docs/libs/html/GstCollectPads.html
index 19c5e4f..6c52e82 100644
--- a/docs/libs/html/GstCollectPads.html
+++ b/docs/libs/html/GstCollectPads.html
@@ -45,26 +45,26 @@
 struct              <a class="link" href="GstCollectPads.html#GstCollectPads-struct" title="struct GstCollectPads">GstCollectPads</a>;
 struct              <a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData">GstCollectData</a>;
 <span class="returnvalue">void</span>                (<a class="link" href="GstCollectPads.html#GstCollectDataDestroyNotify" title="GstCollectDataDestroyNotify ()">*GstCollectDataDestroyNotify</a>)      (<em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (<a class="link" href="GstCollectPads.html#GstCollectPadsBufferFunction" title="GstCollectPadsBufferFunction ()">*GstCollectPadsBufferFunction</a>)     (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (<a class="link" href="GstCollectPads.html#GstCollectPadsBufferFunction" title="GstCollectPadsBufferFunction ()">*GstCollectPadsBufferFunction</a>)     (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                (<a class="link" href="GstCollectPads.html#GstCollectPadsCompareFunction" title="GstCollectPadsCompareFunction ()">*GstCollectPadsCompareFunction</a>)    (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data1</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp1</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp1</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data2</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp2</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp2</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            (<a class="link" href="GstCollectPads.html#GstCollectPadsEventFunction" title="GstCollectPadsEventFunction ()">*GstCollectPadsEventFunction</a>)      (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *pad</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstEvent.html#GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (<a class="link" href="GstCollectPads.html#GstCollectPadsClipFunction" title="GstCollectPadsClipFunction ()">*GstCollectPadsClipFunction</a>)       (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (<a class="link" href="GstCollectPads.html#GstCollectPadsClipFunction" title="GstCollectPadsClipFunction ()">*GstCollectPadsClipFunction</a>)       (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *inbuffer</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> **outbuffer</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *inbuffer</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> **outbuffer</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (<a class="link" href="GstCollectPads.html#GstCollectPadsFunction" title="GstCollectPadsFunction ()">*GstCollectPadsFunction</a>)           (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (<a class="link" href="GstCollectPads.html#GstCollectPadsFunction" title="GstCollectPadsFunction ()">*GstCollectPadsFunction</a>)           (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
 enum                <a class="link" href="GstCollectPads.html#GstCollectPadsStateFlags" title="enum GstCollectPadsStateFlags">GstCollectPadsStateFlags</a>;
 #define             <a class="link" href="GstCollectPads.html#GST-COLLECT-PADS-STATE:CAPS" title="GST_COLLECT_PADS_STATE()">GST_COLLECT_PADS_STATE</a>              (data)
@@ -79,35 +79,29 @@
 #define             <a class="link" href="GstCollectPads.html#GST-COLLECT-PADS-STREAM-UNLOCK:CAPS" title="GST_COLLECT_PADS_STREAM_UNLOCK()">GST_COLLECT_PADS_STREAM_UNLOCK</a>      (pads)
 <a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="returnvalue">GstCollectPads</span></a> *    <a class="link" href="GstCollectPads.html#gst-collect-pads-new" title="gst_collect_pads_new ()">gst_collect_pads_new</a>                (<em class="parameter"><code><span class="type">void</span></code></em>);
 <a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="returnvalue">GstCollectData</span></a> *    <a class="link" href="GstCollectPads.html#gst-collect-pads-add-pad" title="gst_collect_pads_add_pad ()">gst_collect_pads_add_pad</a>            (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>,
+                                                         <em class="parameter"><code><a href="../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="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>,
+                                                         <em class="parameter"><code><a href="../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>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstCollectPads.html#gst-collect-pads-remove-pad" title="gst_collect_pads_remove_pad ()">gst_collect_pads_remove_pad</a>         (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstCollectPads.html#gst-collect-pads-start" title="gst_collect_pads_start ()">gst_collect_pads_start</a>              (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstCollectPads.html#gst-collect-pads-stop" title="gst_collect_pads_stop ()">gst_collect_pads_stop</a>               (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="GstCollectPads.html#gst-collect-pads-available" title="gst_collect_pads_available ()">gst_collect_pads_available</a>          (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstCollectPads.html#gst-collect-pads-is-active" title="gst_collect_pads_is_active ()">gst_collect_pads_is_active</a>          (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       <a class="link" href="GstCollectPads.html#gst-collect-pads-collect" title="gst_collect_pads_collect ()">gst_collect_pads_collect</a>            (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       <a class="link" href="GstCollectPads.html#gst-collect-pads-collect-range" title="gst_collect_pads_collect_range ()">gst_collect_pads_collect_range</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><span class="type">guint64</span> offset</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> length</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="GstCollectPads.html#gst-collect-pads-flush" title="gst_collect_pads_flush ()">gst_collect_pads_flush</a>              (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="GstCollectPads.html#gst-collect-pads-peek" title="gst_collect_pads_peek ()">gst_collect_pads_peek</a>               (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="GstCollectPads.html#gst-collect-pads-peek" title="gst_collect_pads_peek ()">gst_collect_pads_peek</a>               (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="GstCollectPads.html#gst-collect-pads-pop" title="gst_collect_pads_pop ()">gst_collect_pads_pop</a>                (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="GstCollectPads.html#gst-collect-pads-pop" title="gst_collect_pads_pop ()">gst_collect_pads_pop</a>                (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="GstCollectPads.html#gst-collect-pads-read-buffer" title="gst_collect_pads_read_buffer ()">gst_collect_pads_read_buffer</a>        (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="GstCollectPads.html#gst-collect-pads-read-buffer" title="gst_collect_pads_read_buffer ()">gst_collect_pads_read_buffer</a>        (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="GstCollectPads.html#gst-collect-pads-take-buffer" title="gst_collect_pads_take_buffer ()">gst_collect_pads_take_buffer</a>        (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="GstCollectPads.html#gst-collect-pads-take-buffer" title="gst_collect_pads_take_buffer ()">gst_collect_pads_take_buffer</a>        (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="GstCollectPads.html#gst-collect-pads-set-buffer-function" title="gst_collect_pads_set_buffer_function ()">gst_collect_pads_set_buffer_function</a>
@@ -139,7 +133,7 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
                +----GstCollectPads
 </pre>
 </div>
@@ -187,8 +181,8 @@
     no pad is blocked and the element can finish streaming.
   </p></li>
 <li class="listitem"><p>
-    <a class="link" href="GstCollectPads.html#gst-collect-pads-collect" title="gst_collect_pads_collect ()"><code class="function">gst_collect_pads_collect()</code></a> and <a class="link" href="GstCollectPads.html#gst-collect-pads-collect-range" title="gst_collect_pads_collect_range ()"><code class="function">gst_collect_pads_collect_range()</code></a> can be used by
-    elements that start a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTask.html"><span class="type">GstTask</span></a> to drive the collect_pads. This feature is however
+    <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstCollectPads.html#gst-collect-pads-collect"><code class="function">gst_collect_pads_collect()</code></a> and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstCollectPads.html#gst-collect-pads-collect-range"><code class="function">gst_collect_pads_collect_range()</code></a> can be used by
+    elements that start a <a href="../gstreamer-1.0/GstTask.html"><span class="type">GstTask</span></a> to drive the collect_pads. This feature is however
     not yet implemented.
   </p></li>
 <li class="listitem"><p>
@@ -223,7 +217,6 @@
 <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="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> managed by this <a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a>.</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -249,12 +242,12 @@
 </td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *<em class="structfield"><code><a name="GstCollectData.pad"></a>pad</code></em>;</span></p></td>
+<td><p><span class="term"><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *<em class="structfield"><code><a name="GstCollectData.pad"></a>pad</code></em>;</span></p></td>
 <td>
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> managed by this data</td>
+<a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> managed by this data</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *<em class="structfield"><code><a name="GstCollectData.buffer"></a>buffer</code></em>;</span></p></td>
+<td><p><span class="term"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *<em class="structfield"><code><a name="GstCollectData.buffer"></a>buffer</code></em>;</span></p></td>
 <td>currently queued buffer.</td>
 </tr>
 <tr>
@@ -262,12 +255,11 @@
 <td>position in the buffer</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSegment.html#GstSegment"><span class="type">GstSegment</span></a> <em class="structfield"><code><a name="GstCollectData.segment"></a>segment</code></em>;</span></p></td>
+<td><p><span class="term"><a href="../gstreamer-1.0/gstreamer-GstSegment.html#GstSegment"><span class="type">GstSegment</span></a> <em class="structfield"><code><a name="GstCollectData.segment"></a>segment</code></em>;</span></p></td>
 <td>last segment received.</td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -285,14 +277,13 @@
 <td>the <a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> that will be freed</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstCollectPadsBufferFunction"></a><h3>GstCollectPadsBufferFunction ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (*GstCollectPadsBufferFunction)     (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (*GstCollectPadsBufferFunction)     (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>
 A function that will be called when a (considered oldest) buffer can be muxed.
@@ -312,7 +303,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
-<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>
+<td>the <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>
 </td>
 </tr>
 <tr>
@@ -323,20 +314,19 @@
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> for success</td>
+<a href="../gstreamer-1.0/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> for success</td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstCollectPadsCompareFunction"></a><h3>GstCollectPadsCompareFunction ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                (*GstCollectPadsCompareFunction)    (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data1</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp1</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp1</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data2</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp2</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp2</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>
 A function for comparing two timestamps of buffers or newsegments collected on one pad.
@@ -379,14 +369,13 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstCollectPadsEventFunction"></a><h3>GstCollectPadsEventFunction ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            (*GstCollectPadsEventFunction)      (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *pad</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstEvent.html#GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>
 A function that will be called while processing an event. It takes
@@ -403,11 +392,11 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
-<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> that received an event</td>
+<td>the <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> that received an event</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
-<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><span class="type">GstEvent</span></a> received</td>
+<td>the <a href="../gstreamer-1.0/gstreamer-GstEvent.html#GstEvent"><span class="type">GstEvent</span></a> received</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
@@ -421,15 +410,14 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstCollectPadsClipFunction"></a><h3>GstCollectPadsClipFunction ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (*GstCollectPadsClipFunction)       (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (*GstCollectPadsClipFunction)       (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *inbuffer</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> **outbuffer</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *inbuffer</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> **outbuffer</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>
 A function that will be called when <em class="parameter"><code>inbuffer</code></em> is received on the pad managed
@@ -458,12 +446,12 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>inbuffer</code></em> :</span></p></td>
-<td>the input <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>
+<td>the input <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>
 </td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>outbuffer</code></em> :</span></p></td>
-<td>the output <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>
+<td>the output <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>
 </td>
 </tr>
 <tr>
@@ -472,16 +460,15 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> that corresponds to the result of clipping.</td>
+<td>a <a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> that corresponds to the result of clipping.</td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstCollectPadsFunction"></a><h3>GstCollectPadsFunction ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (*GstCollectPadsFunction)           (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (*GstCollectPadsFunction)           (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>
 A function that will be called when all pads have received data.
@@ -501,11 +488,10 @@
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> for success</td>
+<a href="../gstreamer-1.0/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> for success</td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -552,7 +538,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -570,7 +555,6 @@
 <td>a <a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a>.</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -593,7 +577,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -616,7 +599,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -639,7 +621,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -659,7 +640,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -677,7 +657,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -695,7 +674,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -715,13 +693,12 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-collect-pads-add-pad"></a><h3>gst_collect_pads_add_pad ()</h3>
 <pre class="programlisting"><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="returnvalue">GstCollectData</span></a> *    gst_collect_pads_add_pad            (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>,
+                                                         <em class="parameter"><code><a href="../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
@@ -767,13 +744,12 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </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="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>,
+                                                         <em class="parameter"><code><a href="../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>
@@ -841,13 +817,12 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-collect-pads-remove-pad"></a><h3>gst_collect_pads_remove_pad ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_collect_pads_remove_pad         (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
 <p>
 Remove a pad from the collection of collect pads. This function will also
 free the <a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> and all the resources that were allocated with
@@ -878,7 +853,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -897,7 +871,6 @@
 <td>the collectspads to use</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -917,7 +890,6 @@
 <td>the collectspads to use</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -949,111 +921,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-collect-pads-is-active"></a><h3>gst_collect_pads_is_active ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_collect_pads_is_active          (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
-<p>
-Check if a pad is active.
-</p>
-<p>
-This function is currently not implemented.
-</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 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> if the pad is active.</td>
-</tr>
-</tbody>
-</table></div>
-<p class="since">Since 0.10.36</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-collect-pads-collect"></a><h3>gst_collect_pads_collect ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       gst_collect_pads_collect            (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>);</pre>
-<p>
-Collect data on all pads. This function is usually called
-from a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTask.html"><span class="type">GstTask</span></a> function in an element. 
-</p>
-<p>
-This function is currently not implemented.
-</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"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> of the operation.</td>
-</tr>
-</tbody>
-</table></div>
-<p class="since">Since 0.10.36</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-collect-pads-collect-range"></a><h3>gst_collect_pads_collect_range ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       gst_collect_pads_collect_range      (<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><span class="type">guint64</span> offset</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> length</code></em>);</pre>
-<p>
-Collect data with <em class="parameter"><code>offset</code></em> and <em class="parameter"><code>length</code></em> on all pads. This function
-is typically called in the getrange function of an element. 
-</p>
-<p>
-This function is currently not implemented.
-</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>offset</code></em> :</span></p></td>
-<td>the offset to collect</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
-<td>the length to collect</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> of the operation.</td>
-</tr>
-</tbody>
-</table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1093,12 +960,11 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-collect-pads-peek"></a><h3>gst_collect_pads_peek ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_collect_pads_peek               (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_collect_pads_peek               (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>);</pre>
 <p>
 Peek at the buffer currently queued in <em class="parameter"><code>data</code></em>. This function
@@ -1126,12 +992,11 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-collect-pads-pop"></a><h3>gst_collect_pads_pop ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_collect_pads_pop                (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_collect_pads_pop                (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>);</pre>
 <p>
 Pop the buffer currently queued in <em class="parameter"><code>data</code></em>. This function
@@ -1160,12 +1025,11 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-collect-pads-read-buffer"></a><h3>gst_collect_pads_read_buffer ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_collect_pads_read_buffer        (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_collect_pads_read_buffer        (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>);</pre>
 <p>
@@ -1202,12 +1066,11 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-collect-pads-take-buffer"></a><h3>gst_collect_pads_take_buffer ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_collect_pads_take_buffer        (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
+<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_collect_pads_take_buffer        (<em class="parameter"><code><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *pads</code></em>,
                                                          <em class="parameter"><code><a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> *data</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>);</pre>
 <p>
@@ -1244,7 +1107,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1278,7 +1140,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1311,7 +1172,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1347,7 +1207,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1377,7 +1236,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1407,7 +1265,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1446,7 +1303,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1484,7 +1340,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/GstInterpolationControlSource.html b/docs/libs/html/GstInterpolationControlSource.html
index 2b865b6..b8244c9 100644
--- a/docs/libs/html/GstInterpolationControlSource.html
+++ b/docs/libs/html/GstInterpolationControlSource.html
@@ -46,7 +46,7 @@
 
 struct              <a class="link" href="GstInterpolationControlSource.html#GstInterpolationControlSource-struct" title="struct GstInterpolationControlSource">GstInterpolationControlSource</a>;
 enum                <a class="link" href="GstInterpolationControlSource.html#GstInterpolationMode" title="enum GstInterpolationMode">GstInterpolationMode</a>;
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  <a class="link" href="GstInterpolationControlSource.html#gst-interpolation-control-source-new" title="gst_interpolation_control_source_new ()">gst_interpolation_control_source_new</a>
+<a href="../gstreamer-1.0/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  <a class="link" href="GstInterpolationControlSource.html#gst-interpolation-control-source-new" title="gst_interpolation_control_source_new ()">gst_interpolation_control_source_new</a>
                                                         (<em class="parameter"><code><span class="type">void</span></code></em>);
 </pre>
 </div>
@@ -55,8 +55,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html">GstControlSource</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstControlSource.html">GstControlSource</a>
                      +----<a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource">GstTimedValueControlSource</a>
                            +----GstInterpolationControlSource
 </pre>
@@ -70,7 +70,7 @@
 <div class="refsect1">
 <a name="GstInterpolationControlSource.description"></a><h2>Description</h2>
 <p>
-<a class="link" href="GstInterpolationControlSource.html" title="GstInterpolationControlSource"><span class="type">GstInterpolationControlSource</span></a> is a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="type">GstControlSource</span></a>, that interpolates values between user-given
+<a class="link" href="GstInterpolationControlSource.html" title="GstInterpolationControlSource"><span class="type">GstInterpolationControlSource</span></a> is a <a href="../gstreamer-1.0/GstControlSource.html"><span class="type">GstControlSource</span></a>, that interpolates values between user-given
 control points. It supports several interpolation modes and property types.
 </p>
 <p>
@@ -88,7 +88,7 @@
 <a name="GstInterpolationControlSource-struct"></a><h3>struct GstInterpolationControlSource</h3>
 <pre class="programlisting">struct GstInterpolationControlSource;</pre>
 <p>
-The instance structure of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="type">GstControlSource</span></a>.
+The instance structure of <a href="../gstreamer-1.0/GstControlSource.html"><span class="type">GstControlSource</span></a>.
 </p>
 </div>
 <hr>
@@ -127,7 +127,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-interpolation-control-source-new"></a><h3>gst_interpolation_control_source_new ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  gst_interpolation_control_source_new
+<pre class="programlisting"><a href="../gstreamer-1.0/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  gst_interpolation_control_source_new
                                                         (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
 <p>
 This returns a new, unbound <a class="link" href="GstInterpolationControlSource.html" title="GstInterpolationControlSource"><span class="type">GstInterpolationControlSource</span></a>.
diff --git a/docs/libs/html/GstLFOControlSource.html b/docs/libs/html/GstLFOControlSource.html
index 143e430..bf44a2d 100644
--- a/docs/libs/html/GstLFOControlSource.html
+++ b/docs/libs/html/GstLFOControlSource.html
@@ -46,7 +46,7 @@
 
 struct              <a class="link" href="GstLFOControlSource.html#GstLFOControlSource-struct" title="struct GstLFOControlSource">GstLFOControlSource</a>;
 enum                <a class="link" href="GstLFOControlSource.html#GstLFOWaveform" title="enum GstLFOWaveform">GstLFOWaveform</a>;
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  <a class="link" href="GstLFOControlSource.html#gst-lfo-control-source-new" title="gst_lfo_control_source_new ()">gst_lfo_control_source_new</a>          (<em class="parameter"><code><span class="type">void</span></code></em>);
+<a href="../gstreamer-1.0/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  <a class="link" href="GstLFOControlSource.html#gst-lfo-control-source-new" title="gst_lfo_control_source_new ()">gst_lfo_control_source_new</a>          (<em class="parameter"><code><span class="type">void</span></code></em>);
 </pre>
 </div>
 <div class="refsect1">
@@ -54,8 +54,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html">GstControlSource</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstControlSource.html">GstControlSource</a>
                      +----GstLFOControlSource
 </pre>
 </div>
@@ -72,7 +72,7 @@
 <div class="refsect1">
 <a name="GstLFOControlSource.description"></a><h2>Description</h2>
 <p>
-<a class="link" href="GstLFOControlSource.html" title="GstLFOControlSource"><span class="type">GstLFOControlSource</span></a> is a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="type">GstControlSource</span></a>, that provides several periodic waveforms
+<a class="link" href="GstLFOControlSource.html" title="GstLFOControlSource"><span class="type">GstLFOControlSource</span></a> is a <a href="../gstreamer-1.0/GstControlSource.html"><span class="type">GstControlSource</span></a>, that provides several periodic waveforms
 as control values. It supports all fundamental, numeric GValue types as property.
 </p>
 <p>
@@ -90,7 +90,7 @@
 <a name="GstLFOControlSource-struct"></a><h3>struct GstLFOControlSource</h3>
 <pre class="programlisting">struct GstLFOControlSource;</pre>
 <p>
-The instance structure of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="type">GstControlSource</span></a>.
+The instance structure of <a href="../gstreamer-1.0/GstControlSource.html"><span class="type">GstControlSource</span></a>.
 </p>
 </div>
 <hr>
@@ -141,7 +141,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-lfo-control-source-new"></a><h3>gst_lfo_control_source_new ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  gst_lfo_control_source_new          (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<pre class="programlisting"><a href="../gstreamer-1.0/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  gst_lfo_control_source_new          (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
 <p>
 This returns a new, unbound <a class="link" href="GstLFOControlSource.html" title="GstLFOControlSource"><span class="type">GstLFOControlSource</span></a>.
 </p>
diff --git a/docs/libs/html/GstNetClientClock.html b/docs/libs/html/GstNetClientClock.html
index e4f308f..0055651 100644
--- a/docs/libs/html/GstNetClientClock.html
+++ b/docs/libs/html/GstNetClientClock.html
@@ -46,10 +46,10 @@
 #include &lt;gst/net/gstnet.h&gt;
 
 struct              <a class="link" href="GstNetClientClock.html#GstNetClientClock-struct" title="struct GstNetClientClock">GstNetClientClock</a>;
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="returnvalue">GstClock</span></a> *          <a class="link" href="GstNetClientClock.html#gst-net-client-clock-new" title="gst_net_client_clock_new ()">gst_net_client_clock_new</a>            (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+<a href="../gstreamer-1.0/GstClock.html"><span class="returnvalue">GstClock</span></a> *          <a class="link" href="GstNetClientClock.html#gst-net-client-clock-new" title="gst_net_client_clock_new ()">gst_net_client_clock_new</a>            (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *remote_address</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> remote_port</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> base_time</code></em>);
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> base_time</code></em>);
 </pre>
 </div>
 <div class="refsect1">
@@ -57,9 +57,9 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html">GstClock</a>
-                     +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSystemClock.html">GstSystemClock</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstClock.html">GstClock</a>
+                     +----<a href="../gstreamer-1.0/GstSystemClock.html">GstSystemClock</a>
                            +----GstNetClientClock
 </pre>
 </div>
@@ -73,7 +73,7 @@
 <div class="refsect1">
 <a name="GstNetClientClock.description"></a><h2>Description</h2>
 <p>
-This object implements a custom <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a> that synchronizes its time
+This object implements a custom <a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a> that synchronizes its time
 to a remote time provider such as <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="type">GstNetTimeProvider</span></a>.
 </p>
 <p>
@@ -86,12 +86,12 @@
 parameters based on the local and remote observations.
 </p>
 <p>
-Various parameters of the clock can be configured with the parent <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a>
+Various parameters of the clock can be configured with the parent <a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a>
 "timeout", "window-size" and "window-threshold" object properties.
 </p>
 <p>
-A <a class="link" href="GstNetClientClock.html" title="GstNetClientClock"><span class="type">GstNetClientClock</span></a> is typically set on a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPipeline.html"><span class="type">GstPipeline</span></a> with 
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPipeline.html#gst-pipeline-use-clock"><code class="function">gst_pipeline_use_clock()</code></a>.
+A <a class="link" href="GstNetClientClock.html" title="GstNetClientClock"><span class="type">GstNetClientClock</span></a> is typically set on a <a href="../gstreamer-1.0/GstPipeline.html"><span class="type">GstPipeline</span></a> with 
+<a href="../gstreamer-1.0/GstPipeline.html#gst-pipeline-use-clock"><code class="function">gst_pipeline_use_clock()</code></a>.
 </p>
 <p>
 Last reviewed on 2005-11-23 (0.9.5)
@@ -109,10 +109,10 @@
 <hr>
 <div class="refsect2">
 <a name="gst-net-client-clock-new"></a><h3>gst_net_client_clock_new ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="returnvalue">GstClock</span></a> *          gst_net_client_clock_new            (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+<pre class="programlisting"><a href="../gstreamer-1.0/GstClock.html"><span class="returnvalue">GstClock</span></a> *          gst_net_client_clock_new            (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *remote_address</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> remote_port</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> base_time</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> base_time</code></em>);</pre>
 <p>
 Create a new <a class="link" href="GstNetClientClock.html" title="GstNetClientClock"><span class="type">GstNetClientClock</span></a> that will report the time
 provided by the <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="type">GstNetTimeProvider</span></a> on <em class="parameter"><code>remote_address</code></em> and 
@@ -139,7 +139,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a> that receives a time from the remote
+<td>a new <a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a> that receives a time from the remote
 clock.</td>
 </tr>
 </tbody>
@@ -165,7 +165,7 @@
 </div>
 <div class="refsect1">
 <a name="GstNetClientClock.see-also"></a><h2>See Also</h2>
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a>, <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="type">GstNetTimeProvider</span></a>, <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPipeline.html"><span class="type">GstPipeline</span></a>
+<a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a>, <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="type">GstNetTimeProvider</span></a>, <a href="../gstreamer-1.0/GstPipeline.html"><span class="type">GstPipeline</span></a>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/libs/html/GstNetTimeProvider.html b/docs/libs/html/GstNetTimeProvider.html
index 33f4f99..9c11fbc 100644
--- a/docs/libs/html/GstNetTimeProvider.html
+++ b/docs/libs/html/GstNetTimeProvider.html
@@ -46,7 +46,7 @@
 #include &lt;gst/net/gstnet.h&gt;
 
 struct              <a class="link" href="GstNetTimeProvider.html#GstNetTimeProvider-struct" title="struct GstNetTimeProvider">GstNetTimeProvider</a>;
-<a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="returnvalue">GstNetTimeProvider</span></a> * <a class="link" href="GstNetTimeProvider.html#gst-net-time-provider-new" title="gst_net_time_provider_new ()">gst_net_time_provider_new</a>          (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a> *clock</code></em>,
+<a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="returnvalue">GstNetTimeProvider</span></a> * <a class="link" href="GstNetTimeProvider.html#gst-net-time-provider-new" title="gst_net_time_provider_new ()">gst_net_time_provider_new</a>          (<em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a> *clock</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *address</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> port</code></em>);
 </pre>
@@ -56,7 +56,7 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
                +----GstNetTimeProvider
 </pre>
 </div>
@@ -65,25 +65,25 @@
 <pre class="synopsis">
   "<a class="link" href="GstNetTimeProvider.html#GstNetTimeProvider--active" title='The "active" property'>active</a>"                   <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
   "<a class="link" href="GstNetTimeProvider.html#GstNetTimeProvider--address" title='The "address" property'>address</a>"                  <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write
-  "<a class="link" href="GstNetTimeProvider.html#GstNetTimeProvider--clock" title='The "clock" property'>clock</a>"                    <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a>*             : Read / Write
+  "<a class="link" href="GstNetTimeProvider.html#GstNetTimeProvider--clock" title='The "clock" property'>clock</a>"                    <a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a>*             : Read / Write
   "<a class="link" href="GstNetTimeProvider.html#GstNetTimeProvider--port" title='The "port" property'>port</a>"                     <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write
 </pre>
 </div>
 <div class="refsect1">
 <a name="GstNetTimeProvider.description"></a><h2>Description</h2>
 <p>
-This object exposes the time of a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a> on the network.
+This object exposes the time of a <a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a> on the network.
 </p>
 <p>
 A <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="type">GstNetTimeProvider</span></a> is created with <a class="link" href="GstNetTimeProvider.html#gst-net-time-provider-new" title="gst_net_time_provider_new ()"><code class="function">gst_net_time_provider_new()</code></a> which
-takes a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a>, an address and a port number as arguments.
+takes a <a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a>, an address and a port number as arguments.
 </p>
 <p>
 After creating the object, a client clock such as <a class="link" href="GstNetClientClock.html" title="GstNetClientClock"><span class="type">GstNetClientClock</span></a> can
 query the exposed clock over the network for its values.
 </p>
 <p>
-The <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="type">GstNetTimeProvider</span></a> typically wraps the clock used by a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPipeline.html"><span class="type">GstPipeline</span></a>.
+The <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="type">GstNetTimeProvider</span></a> typically wraps the clock used by a <a href="../gstreamer-1.0/GstPipeline.html"><span class="type">GstPipeline</span></a>.
 </p>
 <p>
 Last reviewed on 2005-11-23 (0.9.5)
@@ -101,7 +101,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-net-time-provider-new"></a><h3>gst_net_time_provider_new ()</h3>
-<pre class="programlisting"><a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="returnvalue">GstNetTimeProvider</span></a> * gst_net_time_provider_new          (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a> *clock</code></em>,
+<pre class="programlisting"><a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="returnvalue">GstNetTimeProvider</span></a> * gst_net_time_provider_new          (<em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a> *clock</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *address</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> port</code></em>);</pre>
 <p>
@@ -112,7 +112,7 @@
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
-<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a> to export over the network</td>
+<td>a <a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a> to export over the network</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>address</code></em> :</span></p></td>
@@ -149,7 +149,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstNetTimeProvider--clock"></a><h3>The <code class="literal">"clock"</code> property</h3>
-<pre class="programlisting">  "clock"                    <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a>*             : Read / Write</pre>
+<pre class="programlisting">  "clock"                    <a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a>*             : Read / Write</pre>
 <p>The clock to export over the network.</p>
 </div>
 <hr>
@@ -163,7 +163,7 @@
 </div>
 <div class="refsect1">
 <a name="GstNetTimeProvider.see-also"></a><h2>See Also</h2>
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a>, <a class="link" href="GstNetClientClock.html" title="GstNetClientClock"><span class="type">GstNetClientClock</span></a>, <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPipeline.html"><span class="type">GstPipeline</span></a>
+<a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a>, <a class="link" href="GstNetClientClock.html" title="GstNetClientClock"><span class="type">GstNetClientClock</span></a>, <a href="../gstreamer-1.0/GstPipeline.html"><span class="type">GstPipeline</span></a>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/libs/html/GstPushSrc.html b/docs/libs/html/GstPushSrc.html
index d6b1e3d..05c2c43 100644
--- a/docs/libs/html/GstPushSrc.html
+++ b/docs/libs/html/GstPushSrc.html
@@ -50,8 +50,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
                      +----<a class="link" href="GstBaseSrc.html" title="GstBaseSrc">GstBaseSrc</a>
                            +----GstPushSrc
 </pre>
diff --git a/docs/libs/html/GstTimedValueControlSource.html b/docs/libs/html/GstTimedValueControlSource.html
index 832f03f..b81d608 100644
--- a/docs/libs/html/GstTimedValueControlSource.html
+++ b/docs/libs/html/GstTimedValueControlSource.html
@@ -45,9 +45,9 @@
 struct              <a class="link" href="GstTimedValueControlSource.html#GstTimedValueControlSource-struct" title="struct GstTimedValueControlSource">GstTimedValueControlSource</a>;
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Sequences.html#GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     <a class="link" href="GstTimedValueControlSource.html#gst-timed-value-control-source-find-control-point-iter" title="gst_timed_value_control_source_find_control_point_iter ()">gst_timed_value_control_source_find_control_point_iter</a>
                                                         (<em class="parameter"><code><a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource"><span class="type">GstTimedValueControlSource</span></a> *self</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>);
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstTimedValueControlSource.html#gst-timed-value-control-source-set" title="gst_timed_value_control_source_set ()">gst_timed_value_control_source_set</a>  (<em class="parameter"><code><a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource"><span class="type">GstTimedValueControlSource</span></a> *self</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> value</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstTimedValueControlSource.html#gst-timed-value-control-source-set-from-list" title="gst_timed_value_control_source_set_from_list ()">gst_timed_value_control_source_set_from_list</a>
                                                         (<em class="parameter"><code><a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource"><span class="type">GstTimedValueControlSource</span></a> *self</code></em>,
@@ -56,7 +56,7 @@
                                                         (<em class="parameter"><code><a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource"><span class="type">GstTimedValueControlSource</span></a> *self</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GstTimedValueControlSource.html#gst-timed-value-control-source-unset" title="gst_timed_value_control_source_unset ()">gst_timed_value_control_source_unset</a>
                                                         (<em class="parameter"><code><a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource"><span class="type">GstTimedValueControlSource</span></a> *self</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>);
+                                                         <em class="parameter"><code><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="GstTimedValueControlSource.html#gst-timed-value-control-source-unset-all" title="gst_timed_value_control_source_unset_all ()">gst_timed_value_control_source_unset_all</a>
                                                         (<em class="parameter"><code><a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource"><span class="type">GstTimedValueControlSource</span></a> *self</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                <a class="link" href="GstTimedValueControlSource.html#gst-timed-value-control-source-get-count" title="gst_timed_value_control_source_get_count ()">gst_timed_value_control_source_get_count</a>
@@ -70,8 +70,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html">GstControlSource</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstControlSource.html">GstControlSource</a>
                      +----GstTimedValueControlSource
                            +----<a class="link" href="GstInterpolationControlSource.html" title="GstInterpolationControlSource">GstInterpolationControlSource</a>
                            +----<a class="link" href="GstTriggerControlSource.html" title="GstTriggerControlSource">GstTriggerControlSource</a>
@@ -96,7 +96,7 @@
 <a name="GstTimedValueControlSource-struct"></a><h3>struct GstTimedValueControlSource</h3>
 <pre class="programlisting">struct GstTimedValueControlSource;</pre>
 <p>
-The instance structure of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="type">GstControlSource</span></a>.
+The instance structure of <a href="../gstreamer-1.0/GstControlSource.html"><span class="type">GstControlSource</span></a>.
 </p>
 </div>
 <hr>
@@ -104,7 +104,7 @@
 <a name="gst-timed-value-control-source-find-control-point-iter"></a><h3>gst_timed_value_control_source_find_control_point_iter ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Sequences.html#GSequenceIter"><span class="returnvalue">GSequenceIter</span></a> *     gst_timed_value_control_source_find_control_point_iter
                                                         (<em class="parameter"><code><a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource"><span class="type">GstTimedValueControlSource</span></a> *self</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>);</pre>
 <p>
 Find last value before given timestamp in control point list.
 If all values in the control point list come after the given
@@ -136,7 +136,7 @@
 <div class="refsect2">
 <a name="gst-timed-value-control-source-set"></a><h3>gst_timed_value_control_source_set ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_timed_value_control_source_set  (<em class="parameter"><code><a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource"><span class="type">GstTimedValueControlSource</span></a> *self</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> value</code></em>);</pre>
 <p>
 Set the value of given controller-handled property at a certain time.
@@ -182,7 +182,7 @@
 <tr>
 <td><p><span class="term"><em class="parameter"><code>timedvalues</code></em> :</span></p></td>
 <td>a list
-with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html#GstTimedValue"><span class="type">GstTimedValue</span></a> items. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstController.TimedValue]</span>
+with <a href="../gstreamer-1.0/GstControlSource.html#GstTimedValue"><span class="type">GstTimedValue</span></a> items. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstController.TimedValue]</span>
 </td>
 </tr>
 <tr>
@@ -198,7 +198,7 @@
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *             gst_timed_value_control_source_get_all
                                                         (<em class="parameter"><code><a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource"><span class="type">GstTimedValueControlSource</span></a> *self</code></em>);</pre>
 <p>
-Returns a read-only copy of the list of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html#GstTimedValue"><span class="type">GstTimedValue</span></a> for the given property.
+Returns a read-only copy of the list of <a href="../gstreamer-1.0/GstControlSource.html#GstTimedValue"><span class="type">GstTimedValue</span></a> for the given property.
 Free the list after done with it.
 </p>
 <div class="variablelist"><table border="0">
@@ -222,7 +222,7 @@
 <a name="gst-timed-value-control-source-unset"></a><h3>gst_timed_value_control_source_unset ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_timed_value_control_source_unset
                                                         (<em class="parameter"><code><a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource"><span class="type">GstTimedValueControlSource</span></a> *self</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>);</pre>
 <p>
 Used to remove the value of given controller-handled property at a certain
 time.
diff --git a/docs/libs/html/GstTriggerControlSource.html b/docs/libs/html/GstTriggerControlSource.html
index 86e4975..b4a91d0 100644
--- a/docs/libs/html/GstTriggerControlSource.html
+++ b/docs/libs/html/GstTriggerControlSource.html
@@ -45,7 +45,7 @@
 #include &lt;libs/controller/gsttriggercontrolsource.h&gt;
 
 struct              <a class="link" href="GstTriggerControlSource.html#GstTriggerControlSource-struct" title="struct GstTriggerControlSource">GstTriggerControlSource</a>;
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  <a class="link" href="GstTriggerControlSource.html#gst-trigger-control-source-new" title="gst_trigger_control_source_new ()">gst_trigger_control_source_new</a>      (<em class="parameter"><code><span class="type">void</span></code></em>);
+<a href="../gstreamer-1.0/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  <a class="link" href="GstTriggerControlSource.html#gst-trigger-control-source-new" title="gst_trigger_control_source_new ()">gst_trigger_control_source_new</a>      (<em class="parameter"><code><span class="type">void</span></code></em>);
 </pre>
 </div>
 <div class="refsect1">
@@ -53,8 +53,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html">GstControlSource</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstControlSource.html">GstControlSource</a>
                      +----<a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource">GstTimedValueControlSource</a>
                            +----GstTriggerControlSource
 </pre>
@@ -68,7 +68,7 @@
 <div class="refsect1">
 <a name="GstTriggerControlSource.description"></a><h2>Description</h2>
 <p>
-<a class="link" href="GstTriggerControlSource.html" title="GstTriggerControlSource"><span class="type">GstTriggerControlSource</span></a> is a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="type">GstControlSource</span></a>, that returns values from user-given
+<a class="link" href="GstTriggerControlSource.html" title="GstTriggerControlSource"><span class="type">GstTriggerControlSource</span></a> is a <a href="../gstreamer-1.0/GstControlSource.html"><span class="type">GstControlSource</span></a>, that returns values from user-given
 control points. It allows for a tolerance on the time-stamps.
 </p>
 <p>
@@ -86,13 +86,13 @@
 <a name="GstTriggerControlSource-struct"></a><h3>struct GstTriggerControlSource</h3>
 <pre class="programlisting">struct GstTriggerControlSource;</pre>
 <p>
-The instance structure of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="type">GstControlSource</span></a>.
+The instance structure of <a href="../gstreamer-1.0/GstControlSource.html"><span class="type">GstControlSource</span></a>.
 </p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-trigger-control-source-new"></a><h3>gst_trigger_control_source_new ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  gst_trigger_control_source_new      (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<pre class="programlisting"><a href="../gstreamer-1.0/GstControlSource.html"><span class="returnvalue">GstControlSource</span></a> *  gst_trigger_control_source_new      (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
 <p>
 This returns a new, unbound <a class="link" href="GstTriggerControlSource.html" title="GstTriggerControlSource"><span class="type">GstTriggerControlSource</span></a>.
 </p>
diff --git a/docs/libs/html/api-index-full.html b/docs/libs/html/api-index-full.html
index 32dc764..a215b0a 100644
--- a/docs/libs/html/api-index-full.html
+++ b/docs/libs/html/api-index-full.html
@@ -482,10 +482,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstBaseSink.html#gst-base-sink-wait-eos" title="gst_base_sink_wait_eos ()">gst_base_sink_wait_eos</a>, function in <a class="link" href="GstBaseSink.html" title="GstBaseSink">GstBaseSink</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="GstBaseSink.html#gst-base-sink-wait-preroll" title="gst_base_sink_wait_preroll ()">gst_base_sink_wait_preroll</a>, function in <a class="link" href="GstBaseSink.html" title="GstBaseSink">GstBaseSink</a>
 </dt>
 <dd></dd>
@@ -1591,14 +1587,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstCollectPads.html#gst-collect-pads-collect" title="gst_collect_pads_collect ()">gst_collect_pads_collect</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-collect-range" title="gst_collect_pads_collect_range ()">gst_collect_pads_collect_range</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-flush" title="gst_collect_pads_flush ()">gst_collect_pads_flush</a>, function in <a class="link" href="GstCollectPads.html" title="GstCollectPads">GstCollectPads</a>
 </dt>
 <dd></dd>
@@ -1607,10 +1595,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstCollectPads.html#gst-collect-pads-is-active" title="gst_collect_pads_is_active ()">gst_collect_pads_is_active</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-new" title="gst_collect_pads_new ()">gst_collect_pads_new</a>, function in <a class="link" href="GstCollectPads.html" title="GstCollectPads">GstCollectPads</a>
 </dt>
 <dd></dd>
diff --git a/docs/libs/html/gstreamer-base.html b/docs/libs/html/gstreamer-base.html
index 0738a4c..39700ca 100644
--- a/docs/libs/html/gstreamer-base.html
+++ b/docs/libs/html/gstreamer-base.html
@@ -30,7 +30,7 @@
 <span class="refentrytitle"><a href="GstBaseSrc.html">GstBaseSrc</a></span><span class="refpurpose"> — Base class for getrange based source elements</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstBaseSink.html">GstBaseSink</a></span><span class="refpurpose"> — Base class for sink elements</span>
+<span class="refentrytitle"><a href="GstBaseSink.html">GstBaseSink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="GstBaseTransform.html">GstBaseTransform</a></span><span class="refpurpose"> — Base class for simple transform filters</span>
diff --git a/docs/libs/html/gstreamer-hierarchy.html b/docs/libs/html/gstreamer-hierarchy.html
index 144cbbe..41f305a 100644
--- a/docs/libs/html/gstreamer-hierarchy.html
+++ b/docs/libs/html/gstreamer-hierarchy.html
@@ -25,16 +25,16 @@
 <pre class="screen">
     <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
         <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-            <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-                <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+            <a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+                <a href="../gstreamer-1.0/GstElement.html">GstElement</a>
                     <a class="link" href="GstBaseSrc.html" title="GstBaseSrc">GstBaseSrc</a>
                         <a class="link" href="GstPushSrc.html" title="GstPushSrc">GstPushSrc</a>
                     <a class="link" href="GstBaseSink.html" title="GstBaseSink">GstBaseSink</a>
                     <a class="link" href="GstBaseTransform.html" title="GstBaseTransform">GstBaseTransform</a>
-                <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html">GstClock</a>
-                    <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSystemClock.html">GstSystemClock</a>
+                <a href="../gstreamer-1.0/GstClock.html">GstClock</a>
+                    <a href="../gstreamer-1.0/GstSystemClock.html">GstSystemClock</a>
                         <a class="link" href="GstNetClientClock.html" title="GstNetClientClock">GstNetClientClock</a>
-                <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html">GstControlSource</a>
+                <a href="../gstreamer-1.0/GstControlSource.html">GstControlSource</a>
                     <a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource">GstTimedValueControlSource</a>
                         <a class="link" href="GstInterpolationControlSource.html" title="GstInterpolationControlSource">GstInterpolationControlSource</a>
                         <a class="link" href="GstTriggerControlSource.html" title="GstTriggerControlSource">GstTriggerControlSource</a>
diff --git a/docs/libs/html/gstreamer-libs-GstBaseParse.html b/docs/libs/html/gstreamer-libs-GstBaseParse.html
index c7c3d93..64b8c06 100644
--- a/docs/libs/html/gstreamer-libs-GstBaseParse.html
+++ b/docs/libs/html/gstreamer-libs-GstBaseParse.html
@@ -43,7 +43,7 @@
 struct              <a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse">GstBaseParse</a>;
 struct              <a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseClass" title="struct GstBaseParseClass">GstBaseParseClass</a>;
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-set-duration" title="gst_base_parse_set_duration ()">gst_base_parse_set_duration</a>         (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> fmt</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> fmt</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> duration</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> interval</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-set-average-bitrate" title="gst_base_parse_set_average_bitrate ()">gst_base_parse_set_average_bitrate</a>  (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
@@ -62,26 +62,26 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> lead_in</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> lead_out</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-set-latency" title="gst_base_parse_set_latency ()">gst_base_parse_set_latency</a>          (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> min_latency</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> max_latency</code></em>);
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> min_latency</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> max_latency</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-convert-default" title="gst_base_parse_convert_default ()">gst_base_parse_convert_default</a>      (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> src_format</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> src_format</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> src_value</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> dest_format</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> dest_format</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> *dest_value</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-add-index-entry" title="gst_base_parse_add_index_entry ()">gst_base_parse_add_index_entry</a>      (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> offset</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> ts</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> ts</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> key</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> force</code></em>);
                     <a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrame" title="GstBaseParseFrame">GstBaseParseFrame</a>;
 enum                <a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrameFlags" title="enum GstBaseParseFrameFlags">GstBaseParseFrameFlags</a>;
-<a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrame" title="GstBaseParseFrame"><span class="returnvalue">GstBaseParseFrame</span></a> * <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-frame-new" title="gst_base_parse_frame_new ()">gst_base_parse_frame_new</a>            (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+<a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrame" title="GstBaseParseFrame"><span class="returnvalue">GstBaseParseFrame</span></a> * <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-frame-new" title="gst_base_parse_frame_new ()">gst_base_parse_frame_new</a>            (<em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrameFlags" title="enum GstBaseParseFrameFlags"><span class="type">GstBaseParseFrameFlags</span></a> flags</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> overhead</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-frame-init" title="gst_base_parse_frame_init ()">gst_base_parse_frame_init</a>           (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrame" title="GstBaseParseFrame"><span class="type">GstBaseParseFrame</span></a> *frame</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-frame-free" title="gst_base_parse_frame_free ()">gst_base_parse_frame_free</a>           (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrame" title="GstBaseParseFrame"><span class="type">GstBaseParseFrame</span></a> *frame</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-push-frame" title="gst_base_parse_push_frame ()">gst_base_parse_push_frame</a>           (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
+<a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-push-frame" title="gst_base_parse_push_frame ()">gst_base_parse_push_frame</a>           (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrame" title="GstBaseParseFrame"><span class="type">GstBaseParseFrame</span></a> *frame</code></em>);
 #define             <a class="link" href="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-DRAINING:CAPS" title="GST_BASE_PARSE_DRAINING()">GST_BASE_PARSE_DRAINING</a>             (parse)
 #define             <a class="link" href="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-FLAG-DRAINING:CAPS" title="GST_BASE_PARSE_FLAG_DRAINING">GST_BASE_PARSE_FLAG_DRAINING</a>
@@ -221,9 +221,9 @@
 when base class calls subclass' <em class="parameter"><code>set_sink_caps</code></em> function).
 </p>
 <p>
-This base class uses <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-DEFAULT:CAPS"><span class="type">GST_FORMAT_DEFAULT</span></a> as a meaning of frames. So,
+This base class uses <a href="../gstreamer-1.0/gstreamer-GstFormat.html#GST-FORMAT-DEFAULT:CAPS"><span class="type">GST_FORMAT_DEFAULT</span></a> as a meaning of frames. So,
 subclass conversion routine needs to know that conversion from
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-TIME:CAPS"><span class="type">GST_FORMAT_TIME</span></a> to <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-DEFAULT:CAPS"><span class="type">GST_FORMAT_DEFAULT</span></a> must return the
+<a href="../gstreamer-1.0/gstreamer-GstFormat.html#GST-FORMAT-TIME:CAPS"><span class="type">GST_FORMAT_TIME</span></a> to <a href="../gstreamer-1.0/gstreamer-GstFormat.html#GST-FORMAT-DEFAULT:CAPS"><span class="type">GST_FORMAT_DEFAULT</span></a> must return the
 frame number that can be found from the given byte position.
 </p>
 <p>
@@ -292,7 +292,7 @@
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
-<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> <em class="structfield"><code><a name="GstBaseParse.element"></a>element</code></em>;</span></p></td>
+<td><p><span class="term"><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> <em class="structfield"><code><a name="GstBaseParse.element"></a>element</code></em>;</span></p></td>
 <td>the parent element.</td>
 </tr></tbody>
 </table></div>
@@ -347,7 +347,7 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstBaseParseClass.parent-class"></a>parent_class</code></em>;</span></p></td>
+<td><p><span class="term"><a href="../gstreamer-1.0/GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstBaseParseClass.parent-class"></a>parent_class</code></em>;</span></p></td>
 <td>the parent class</td>
 </tr>
 <tr>
@@ -415,7 +415,7 @@
 <td>Optional.
 Called until it doesn't return GST_FLOW_OK anymore for
 the first buffers. Can be used by the subclass to detect
-the stream format. Since: 0.10.36</td>
+the stream format.</td>
 </tr>
 </tbody>
 </table></div>
@@ -424,7 +424,7 @@
 <div class="refsect2">
 <a name="gst-base-parse-set-duration"></a><h3>gst_base_parse_set_duration ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_base_parse_set_duration         (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> fmt</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> fmt</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> duration</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> interval</code></em>);</pre>
 <p>
@@ -445,7 +445,7 @@
 <tr>
 <td><p><span class="term"><em class="parameter"><code>fmt</code></em> :</span></p></td>
 <td>
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a>.</td>
+<a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a>.</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>duration</code></em> :</span></p></td>
@@ -457,7 +457,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -488,7 +487,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -514,7 +512,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -545,7 +542,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -571,7 +567,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -597,7 +592,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -639,14 +633,13 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-base-parse-set-latency"></a><h3>gst_base_parse_set_latency ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_base_parse_set_latency          (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> min_latency</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> max_latency</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> min_latency</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> max_latency</code></em>);</pre>
 <p>
 Sets the minimum and maximum (which may likely be equal) latency introduced
 by the parsing process.  If there is such a latency, which depends on the
@@ -670,15 +663,14 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-base-parse-convert-default"></a><h3>gst_base_parse_convert_default ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_base_parse_convert_default      (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> src_format</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> src_format</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> src_value</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> dest_format</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> dest_format</code></em>,
                                                          <em class="parameter"><code><span class="type">gint64</span> *dest_value</code></em>);</pre>
 <p>
 Default implementation of "convert" vmethod in <a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> class.
@@ -694,7 +686,7 @@
 <tr>
 <td><p><span class="term"><em class="parameter"><code>src_format</code></em> :</span></p></td>
 <td>
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> describing the source format.</td>
+<a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> describing the source format.</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>src_value</code></em> :</span></p></td>
@@ -703,7 +695,7 @@
 <tr>
 <td><p><span class="term"><em class="parameter"><code>dest_format</code></em> :</span></p></td>
 <td>
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> defining the converted format.</td>
+<a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> defining the converted format.</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>dest_value</code></em> :</span></p></td>
@@ -715,14 +707,13 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-base-parse-add-index-entry"></a><h3>gst_base_parse_add_index_entry ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_base_parse_add_index_entry      (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> offset</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> ts</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> ts</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> key</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> force</code></em>);</pre>
 <p>
@@ -762,7 +753,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -788,11 +778,11 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *<em class="structfield"><code><a name="GstBaseParseFrame.buffer"></a>buffer</code></em>;</span></p></td>
+<td><p><span class="term"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *<em class="structfield"><code><a name="GstBaseParseFrame.buffer"></a>buffer</code></em>;</span></p></td>
 <td>input data to be parsed for frames.</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *<em class="structfield"><code><a name="GstBaseParseFrame.out-buffer"></a>out_buffer</code></em>;</span></p></td>
+<td><p><span class="term"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *<em class="structfield"><code><a name="GstBaseParseFrame.out-buffer"></a>out_buffer</code></em>;</span></p></td>
 <td>(optional) (replacement) output data.</td>
 </tr>
 <tr>
@@ -815,7 +805,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -878,12 +867,11 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-base-parse-frame-new"></a><h3>gst_base_parse_frame_new ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrame" title="GstBaseParseFrame"><span class="returnvalue">GstBaseParseFrame</span></a> * gst_base_parse_frame_new            (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+<pre class="programlisting"><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrame" title="GstBaseParseFrame"><span class="returnvalue">GstBaseParseFrame</span></a> * gst_base_parse_frame_new            (<em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrameFlags" title="enum GstBaseParseFrameFlags"><span class="type">GstBaseParseFrameFlags</span></a> flags</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> overhead</code></em>);</pre>
 <p>
@@ -896,7 +884,7 @@
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
-<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+<td>a <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
 </td>
 </tr>
 <tr>
@@ -916,7 +904,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -937,7 +924,6 @@
 <a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrame" title="GstBaseParseFrame"><span class="type">GstBaseParseFrame</span></a>.</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -947,7 +933,7 @@
 <hr>
 <div class="refsect2">
 <a name="gst-base-parse-push-frame"></a><h3>gst_base_parse_push_frame ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       gst_base_parse_push_frame           (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
+<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       gst_base_parse_push_frame           (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> *parse</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrame" title="GstBaseParseFrame"><span class="type">GstBaseParseFrame</span></a> *frame</code></em>);</pre>
 <p>
 Pushes the frame's buffer downstream, sends any pending events and
@@ -972,11 +958,10 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a></td>
+<td><a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a></td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -994,7 +979,6 @@
 <td>base parse instance</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1014,11 +998,10 @@
 <pre class="programlisting">#define GST_BASE_PARSE_FLOW_DROPPED     GST_FLOW_CUSTOM_SUCCESS
 </pre>
 <p>
-A <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> that can be returned from parse_frame to
+A <a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> that can be returned from parse_frame to
 indicate that no output buffer was generated, or from pre_push_frame to
 to forego pushing buffer.
 </p>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1035,7 +1018,6 @@
 <td>base parse instance</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1043,7 +1025,7 @@
 <pre class="programlisting">#define GST_BASE_PARSE_SINK_PAD(obj)    (GST_BASE_PARSE_CAST (obj)-&gt;sinkpad)
 </pre>
 <p>
-Gives the pointer to the sink <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.
+Gives the pointer to the sink <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> object of the element.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -1052,7 +1034,6 @@
 <td>base parse instance</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1060,7 +1041,7 @@
 <pre class="programlisting">#define GST_BASE_PARSE_SRC_PAD(obj)    (GST_BASE_PARSE_CAST (obj)-&gt;srcpad)
 </pre>
 <p>
-Gives the pointer to the source <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.
+Gives the pointer to the source <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> object of the element.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -1069,7 +1050,6 @@
 <td>base parse instance</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.33</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libs/html/gstreamer-libs-GstBitReader.html b/docs/libs/html/gstreamer-libs-GstBitReader.html
index 2f82f7e..d6e7c01 100644
--- a/docs/libs/html/gstreamer-libs-GstBitReader.html
+++ b/docs/libs/html/gstreamer-libs-GstBitReader.html
@@ -139,7 +139,9 @@
 <tbody>
 <tr>
 <td><p><span class="term">const <span class="type">guint8</span> *<em class="structfield"><code><a name="GstBitReader.data"></a>data</code></em>;</span></p></td>
-<td>Data from which the bit reader will read</td>
+<td>Data from which the bit reader will
+read. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size]</span>
+</td>
 </tr>
 <tr>
 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstBitReader.size"></a>size</code></em>;</span></p></td>
@@ -180,7 +182,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -198,7 +199,9 @@
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
-<td>Data from which the <a class="link" href="gstreamer-libs-GstBitReader.html#GstBitReader" title="GstBitReader"><span class="type">GstBitReader</span></a> should read</td>
+<td>Data from which the <a class="link" href="gstreamer-libs-GstBitReader.html#GstBitReader" title="GstBitReader"><span class="type">GstBitReader</span></a>
+should read. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size]</span>
+</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
@@ -211,7 +214,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -229,7 +231,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -259,7 +260,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -281,7 +281,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -303,7 +302,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -332,7 +330,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -354,7 +351,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -382,7 +378,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -405,7 +400,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -439,7 +433,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -473,7 +466,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -507,7 +499,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -541,7 +532,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -575,7 +565,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -609,7 +598,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -643,7 +631,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -677,7 +664,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -701,7 +687,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -719,7 +704,6 @@
 <td>a <a class="link" href="gstreamer-libs-GstBitReader.html#GstBitReader" title="GstBitReader"><span class="type">GstBitReader</span></a> instance</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -748,7 +732,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -777,7 +760,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -806,7 +788,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -835,7 +816,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -864,7 +844,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -893,7 +872,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -929,7 +907,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gstreamer-libs-GstBufferStraw.html b/docs/libs/html/gstreamer-libs-GstBufferStraw.html
index ae88b32..b1a2ff0 100644
--- a/docs/libs/html/gstreamer-libs-GstBufferStraw.html
+++ b/docs/libs/html/gstreamer-libs-GstBufferStraw.html
@@ -40,12 +40,12 @@
 <pre class="synopsis">
 #include &lt;gst/check/gstbufferstraw.h&gt;
 
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-start-pipeline" title="gst_buffer_straw_start_pipeline ()">gst_buffer_straw_start_pipeline</a>     (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-get-buffer" title="gst_buffer_straw_get_buffer ()">gst_buffer_straw_get_buffer</a>         (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-stop-pipeline" title="gst_buffer_straw_stop_pipeline ()">gst_buffer_straw_stop_pipeline</a>      (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-start-pipeline" title="gst_buffer_straw_start_pipeline ()">gst_buffer_straw_start_pipeline</a>     (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);
+<a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-get-buffer" title="gst_buffer_straw_get_buffer ()">gst_buffer_straw_get_buffer</a>         (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-stop-pipeline" title="gst_buffer_straw_stop_pipeline ()">gst_buffer_straw_stop_pipeline</a>      (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);
 </pre>
 </div>
 <div class="refsect1">
@@ -59,8 +59,8 @@
 <a name="gstreamer-libs-GstBufferStraw.details"></a><h2>Details</h2>
 <div class="refsect2">
 <a name="gst-buffer-straw-start-pipeline"></a><h3>gst_buffer_straw_start_pipeline ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_buffer_straw_start_pipeline     (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_buffer_straw_start_pipeline     (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
 <p>
 Sets up a pipeline for buffer sucking. This will allow you to call
 <a class="link" href="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-get-buffer" title="gst_buffer_straw_get_buffer ()"><code class="function">gst_buffer_straw_get_buffer()</code></a> to access buffers as they pass over <em class="parameter"><code>pad</code></em>.
@@ -68,7 +68,7 @@
 <p>
 This function is normally used in unit tests that want to verify that a
 particular element is outputting correct buffers. For example, you would make
-a pipeline via <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstParse.html#gst-parse-launch"><code class="function">gst_parse_launch()</code></a>, pull out the pad you want to monitor, then
+a pipeline via <a href="../gstreamer-1.0/gstreamer-GstParse.html#gst-parse-launch"><code class="function">gst_parse_launch()</code></a>, pull out the pad you want to monitor, then
 call <a class="link" href="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-get-buffer" title="gst_buffer_straw_get_buffer ()"><code class="function">gst_buffer_straw_get_buffer()</code></a> to get the buffers that pass through <em class="parameter"><code>pad</code></em>.
 The pipeline will block until you have sucked off the buffers.
 </p>
@@ -99,8 +99,8 @@
 <hr>
 <div class="refsect2">
 <a name="gst-buffer-straw-get-buffer"></a><h3>gst_buffer_straw_get_buffer ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_buffer_straw_get_buffer         (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
+<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_buffer_straw_get_buffer         (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
 <p>
 Get one buffer from <em class="parameter"><code>pad</code></em>. Implemented via buffer probes. This function will
 block until the pipeline passes a buffer over <em class="parameter"><code>pad</code></em>, so for robust behavior
@@ -126,7 +126,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the captured <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>.</td>
+<td>the captured <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>.</td>
 </tr>
 </tbody>
 </table></div>
@@ -134,10 +134,10 @@
 <hr>
 <div class="refsect2">
 <a name="gst-buffer-straw-stop-pipeline"></a><h3>gst_buffer_straw_stop_pipeline ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_buffer_straw_stop_pipeline      (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_buffer_straw_stop_pipeline      (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *bin</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
 <p>
-Set <em class="parameter"><code>bin</code></em> to <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-NULL:CAPS"><span class="type">GST_STATE_NULL</span></a> and release resource allocated in
+Set <em class="parameter"><code>bin</code></em> to <a href="../gstreamer-1.0/GstElement.html#GST-STATE-NULL:CAPS"><span class="type">GST_STATE_NULL</span></a> and release resource allocated in
 <a class="link" href="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-start-pipeline" title="gst_buffer_straw_start_pipeline ()"><code class="function">gst_buffer_straw_start_pipeline()</code></a>.
 </p>
 <p>
diff --git a/docs/libs/html/gstreamer-libs-GstByteReader.html b/docs/libs/html/gstreamer-libs-GstByteReader.html
index 45bc65d..c04fe48 100644
--- a/docs/libs/html/gstreamer-libs-GstByteReader.html
+++ b/docs/libs/html/gstreamer-libs-GstByteReader.html
@@ -303,7 +303,9 @@
 <tbody>
 <tr>
 <td><p><span class="term">const <span class="type">guint8</span> *<em class="structfield"><code><a name="GstByteReader.data"></a>data</code></em>;</span></p></td>
-<td>Data from which the bit reader will read</td>
+<td>Data from which the bit reader will
+read. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size]</span>
+</td>
 </tr>
 <tr>
 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstByteReader.size"></a>size</code></em>;</span></p></td>
@@ -340,7 +342,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -373,7 +374,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -391,7 +391,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -422,7 +421,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -444,7 +442,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -466,7 +463,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -495,7 +491,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -517,7 +512,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -545,7 +539,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -574,7 +567,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -604,7 +596,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -634,7 +625,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -664,7 +654,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -694,7 +683,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -724,7 +712,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -754,7 +741,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -784,7 +770,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -814,7 +799,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -843,7 +827,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -873,7 +856,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -903,7 +885,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -933,7 +914,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -963,7 +943,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -993,7 +972,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1023,7 +1001,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1053,7 +1030,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1083,7 +1059,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1112,7 +1087,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1142,7 +1116,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1172,7 +1145,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1202,7 +1174,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1232,7 +1203,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1262,7 +1232,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1292,7 +1261,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1322,7 +1290,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1352,7 +1319,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1381,7 +1347,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1411,7 +1376,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1441,7 +1405,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1471,7 +1434,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1501,7 +1463,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1531,7 +1492,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1561,7 +1521,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1591,7 +1550,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1621,7 +1579,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1651,7 +1608,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1681,7 +1637,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1711,7 +1666,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1741,7 +1695,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1771,7 +1724,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1801,7 +1753,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1831,7 +1782,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1861,7 +1811,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1898,7 +1847,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1938,7 +1886,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1975,7 +1922,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2050,7 +1996,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2095,7 +2040,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2131,7 +2075,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2171,7 +2114,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2216,7 +2158,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2264,7 +2205,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2312,7 +2252,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2341,7 +2280,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2370,7 +2308,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2400,7 +2337,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2430,7 +2366,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2454,7 +2389,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2477,7 +2411,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2502,7 +2435,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2527,7 +2459,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2552,7 +2483,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2577,7 +2507,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2602,7 +2531,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2627,7 +2555,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2652,7 +2579,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2677,7 +2603,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2700,7 +2625,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2725,7 +2649,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2750,7 +2673,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2775,7 +2697,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2800,7 +2721,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2825,7 +2745,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2850,7 +2769,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2875,7 +2793,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2900,7 +2817,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2923,7 +2839,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2948,7 +2863,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2973,7 +2887,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2998,7 +2911,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3023,7 +2935,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3048,7 +2959,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3073,7 +2983,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3098,7 +3007,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3123,7 +3031,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3147,7 +3054,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3172,7 +3078,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3197,7 +3102,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3222,7 +3126,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3247,7 +3150,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3272,7 +3174,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3297,7 +3198,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3322,7 +3222,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3347,7 +3246,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3371,7 +3269,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3395,7 +3292,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3419,7 +3315,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3443,7 +3338,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3467,7 +3361,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3491,7 +3384,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3515,7 +3407,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3539,7 +3430,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3573,7 +3463,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3604,7 +3493,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3624,7 +3512,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.25</p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gstreamer-libs-GstByteWriter.html b/docs/libs/html/gstreamer-libs-GstByteWriter.html
index cf2422c..590f224 100644
--- a/docs/libs/html/gstreamer-libs-GstByteWriter.html
+++ b/docs/libs/html/gstreamer-libs-GstByteWriter.html
@@ -57,11 +57,11 @@
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> fixed</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstByteWriter.html#gst-byte-writer-free" title="gst_byte_writer_free ()">gst_byte_writer_free</a>                (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="gstreamer-libs-GstByteWriter.html#gst-byte-writer-free-and-get-buffer" title="gst_byte_writer_free_and_get_buffer ()">gst_byte_writer_free_and_get_buffer</a> (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);
+<a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="gstreamer-libs-GstByteWriter.html#gst-byte-writer-free-and-get-buffer" title="gst_byte_writer_free_and_get_buffer ()">gst_byte_writer_free_and_get_buffer</a> (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);
 <span class="returnvalue">guint8</span> *            <a class="link" href="gstreamer-libs-GstByteWriter.html#gst-byte-writer-free-and-get-data" title="gst_byte_writer_free_and_get_data ()">gst_byte_writer_free_and_get_data</a>   (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstByteWriter.html#gst-byte-writer-reset" title="gst_byte_writer_reset ()">gst_byte_writer_reset</a>               (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);
 <span class="returnvalue">guint8</span> *            <a class="link" href="gstreamer-libs-GstByteWriter.html#gst-byte-writer-reset-and-get-data" title="gst_byte_writer_reset_and_get_data ()">gst_byte_writer_reset_and_get_data</a>  (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="gstreamer-libs-GstByteWriter.html#gst-byte-writer-reset-and-get-buffer" title="gst_byte_writer_reset_and_get_buffer ()">gst_byte_writer_reset_and_get_buffer</a>
+<a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         <a class="link" href="gstreamer-libs-GstByteWriter.html#gst-byte-writer-reset-and-get-buffer" title="gst_byte_writer_reset_and_get_buffer ()">gst_byte_writer_reset_and_get_buffer</a>
                                                         (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="gstreamer-libs-GstByteWriter.html#gst-byte-writer-get-pos" title="gst_byte_writer_get_pos ()">gst_byte_writer_get_pos</a>             (<em class="parameter"><code>const <a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gstreamer-libs-GstByteWriter.html#gst-byte-writer-set-pos" title="gst_byte_writer_set_pos ()">gst_byte_writer_set_pos</a>             (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>,
@@ -268,7 +268,6 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -306,7 +305,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -338,7 +336,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -355,7 +352,6 @@
 <a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> instance</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -379,8 +375,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
-<td>Memory
-area for writing. <span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym> callee-allocated][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+<td>Memory area for writing. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
 </td>
 </tr>
 <tr>
@@ -393,7 +388,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -422,7 +416,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -440,15 +433,14 @@
 </td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-byte-writer-free-and-get-buffer"></a><h3>gst_byte_writer_free_and_get_buffer ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_byte_writer_free_and_get_buffer (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);</pre>
+<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_byte_writer_free_and_get_buffer (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);</pre>
 <p>
 Frees <em class="parameter"><code>writer</code></em> and all memory allocated by it except
-the current data, which is returned as <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>.
+the current data, which is returned as <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>.
 </p>
 <p>
 Free-function: gst_buffer_unref
@@ -464,13 +456,12 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the current data as buffer. <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#gst-buffer-unref"><code class="function">gst_buffer_unref()</code></a>
+<td>the current data as buffer. <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-unref"><code class="function">gst_buffer_unref()</code></a>
 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>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -499,7 +490,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -517,7 +507,6 @@
 <a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> instance</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -539,17 +528,17 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the current data. <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+<td>the current data. <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after
+usage. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-byte-writer-reset-and-get-buffer"></a><h3>gst_byte_writer_reset_and_get_buffer ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_byte_writer_reset_and_get_buffer
+<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a> *         gst_byte_writer_reset_and_get_buffer
                                                         (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);</pre>
 <p>
 Resets <em class="parameter"><code>writer</code></em> and returns the current data as buffer.
@@ -567,13 +556,12 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the current data as buffer. <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#gst-buffer-unref"><code class="function">gst_buffer_unref()</code></a>
+<td>the current data as buffer. <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-unref"><code class="function">gst_buffer_unref()</code></a>
 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>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -593,7 +581,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -623,7 +610,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -647,7 +633,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -667,7 +652,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -697,7 +681,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -726,7 +709,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -755,7 +737,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -784,7 +765,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -813,7 +793,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -842,7 +821,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -871,7 +849,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -900,7 +877,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -929,7 +905,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -958,7 +933,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -987,7 +961,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1016,7 +989,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1045,7 +1017,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1074,7 +1045,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1103,7 +1073,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1132,7 +1101,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1161,7 +1129,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1190,7 +1157,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1219,7 +1185,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1248,7 +1213,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.27</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1277,7 +1241,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.27</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1306,7 +1269,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.27</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1335,7 +1297,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.27</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1366,7 +1327,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1396,7 +1356,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1426,7 +1385,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1457,7 +1415,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1492,7 +1449,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1526,7 +1482,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.27</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1558,7 +1513,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1584,7 +1538,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1610,7 +1563,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1636,7 +1588,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1662,7 +1613,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1688,7 +1638,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1714,7 +1663,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1740,7 +1688,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1765,7 +1712,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1791,7 +1737,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1817,7 +1762,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1843,7 +1787,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1869,7 +1812,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1895,7 +1837,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1921,7 +1862,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1947,7 +1887,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1973,7 +1912,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1999,7 +1937,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2025,7 +1962,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2051,7 +1987,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2077,7 +2012,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2108,7 +2042,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2138,7 +2071,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.31</p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gstreamer-libs-GstCheck.html b/docs/libs/html/gstreamer-libs-GstCheck.html
index 0bd2a72..ed2a42e 100644
--- a/docs/libs/html/gstreamer-libs-GstCheck.html
+++ b/docs/libs/html/gstreamer-libs-GstCheck.html
@@ -91,43 +91,43 @@
                                                          c)
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-init" title="gst_check_init ()">gst_check_init</a>                      (<em class="parameter"><code><span class="type">int</span> *argc</code></em>,
                                                          <em class="parameter"><code><span class="type">char</span> **argv[]</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-message-error" title="gst_check_message_error ()">gst_check_message_error</a>             (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessageType"><span class="type">GstMessageType</span></a> type</code></em>,
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-message-error" title="gst_check_message_error ()">gst_check_message_error</a>             (<em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstMessage.html#GstMessageType"><span class="type">GstMessageType</span></a> type</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> domain</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> code</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="returnvalue">GstElement</span></a> *        <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-element" title="gst_check_setup_element ()">gst_check_setup_element</a>             (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *factory</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a> *            <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-sink-pad" title="gst_check_setup_sink_pad ()">gst_check_setup_sink_pad</a>            (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a> *            <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-src-pad" title="gst_check_setup_src_pad ()">gst_check_setup_src_pad</a>             (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a> *            <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-sink-pad-by-name" title="gst_check_setup_sink_pad_by_name ()">gst_check_setup_sink_pad_by_name</a>    (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>,
+<a href="../gstreamer-1.0/GstElement.html"><span class="returnvalue">GstElement</span></a> *        <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-element" title="gst_check_setup_element ()">gst_check_setup_element</a>             (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *factory</code></em>);
+<a href="../gstreamer-1.0/GstPad.html"><span class="returnvalue">GstPad</span></a> *            <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-sink-pad" title="gst_check_setup_sink_pad ()">gst_check_setup_sink_pad</a>            (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>);
+<a href="../gstreamer-1.0/GstPad.html"><span class="returnvalue">GstPad</span></a> *            <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-src-pad" title="gst_check_setup_src_pad ()">gst_check_setup_src_pad</a>             (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>);
+<a href="../gstreamer-1.0/GstPad.html"><span class="returnvalue">GstPad</span></a> *            <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-sink-pad-by-name" title="gst_check_setup_sink_pad_by_name ()">gst_check_setup_sink_pad_by_name</a>    (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>,
                                                          <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://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a> *            <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-src-pad-by-name" title="gst_check_setup_src_pad_by_name ()">gst_check_setup_src_pad_by_name</a>     (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>,
+<a href="../gstreamer-1.0/GstPad.html"><span class="returnvalue">GstPad</span></a> *            <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-src-pad-by-name" title="gst_check_setup_src_pad_by_name ()">gst_check_setup_src_pad_by_name</a>     (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-teardown-pad-by-name" title="gst_check_teardown_pad_by_name ()">gst_check_teardown_pad_by_name</a>      (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-teardown-pad-by-name" title="gst_check_teardown_pad_by_name ()">gst_check_teardown_pad_by_name</a>      (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-teardown-element" title="gst_check_teardown_element ()">gst_check_teardown_element</a>          (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-teardown-sink-pad" title="gst_check_teardown_sink_pad ()">gst_check_teardown_sink_pad</a>         (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-teardown-src-pad" title="gst_check_teardown_src_pad ()">gst_check_teardown_src_pad</a>          (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-teardown-element" title="gst_check_teardown_element ()">gst_check_teardown_element</a>          (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-teardown-sink-pad" title="gst_check_teardown_sink_pad ()">gst_check_teardown_sink_pad</a>         (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-teardown-src-pad" title="gst_check_teardown_src_pad ()">gst_check_teardown_src_pad</a>          (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-drop-buffers" title="gst_check_drop_buffers ()">gst_check_drop_buffers</a>              (<em class="parameter"><code><span class="type">void</span></code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-buffer-data" title="gst_check_buffer_data ()">gst_check_buffer_data</a>               (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-buffer-data" title="gst_check_buffer_data ()">gst_check_buffer_data</a>               (<em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> data</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> size</code></em>);
-<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-caps-equal" title="gst_check_caps_equal ()">gst_check_caps_equal</a>                (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps1</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps2</code></em>);
+<span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-caps-equal" title="gst_check_caps_equal ()">gst_check_caps_equal</a>                (<em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps1</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps2</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-element-push-buffer-list" title="gst_check_element_push_buffer_list ()">gst_check_element_push_buffer_list</a>  (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *element_name</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *buffer_in</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_in</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_in</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *buffer_out</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_out</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> last_flow_return</code></em>);
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_out</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> last_flow_return</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-element-push-buffer" title="gst_check_element_push_buffer ()">gst_check_element_push_buffer</a>       (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *element_name</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer_in</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_in</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer_out</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_out</code></em>);
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer_in</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_in</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer_out</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_out</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-run-suite" title="gst_check_run_suite ()">gst_check_run_suite</a>                 (<em class="parameter"><code><span class="type">Suite</span> *suite</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *fname</code></em>);
@@ -249,7 +249,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.14</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -372,7 +371,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.14</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -461,62 +459,159 @@
 <hr>
 <div class="refsect2">
 <a name="gst-check-message-error"></a><h3>gst_check_message_error ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_message_error             (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessageType"><span class="type">GstMessageType</span></a> type</code></em>,
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_message_error             (<em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstMessage.html#GstMessageType"><span class="type">GstMessageType</span></a> type</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> domain</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> code</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-check-setup-element"></a><h3>gst_check_setup_element ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="returnvalue">GstElement</span></a> *        gst_check_setup_element             (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *factory</code></em>);</pre>
+<pre class="programlisting"><a href="../gstreamer-1.0/GstElement.html"><span class="returnvalue">GstElement</span></a> *        gst_check_setup_element             (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *factory</code></em>);</pre>
+<p>
+setup an element for a filter test with mysrcpad and mysinkpad
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
+<td>factory</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new element. <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-check-setup-sink-pad"></a><h3>gst_check_setup_sink_pad ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a> *            gst_check_setup_sink_pad            (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>);</pre>
+<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html"><span class="returnvalue">GstPad</span></a> *            gst_check_setup_sink_pad            (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>);</pre>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
+<td>element to setup pad on</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>tmpl</code></em> :</span></p></td>
+<td>pad template</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new pad. <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-check-setup-src-pad"></a><h3>gst_check_setup_src_pad ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a> *            gst_check_setup_src_pad             (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>);</pre>
+<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html"><span class="returnvalue">GstPad</span></a> *            gst_check_setup_src_pad             (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>);</pre>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
+<td>element to setup pad on</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>tmpl</code></em> :</span></p></td>
+<td>pad template</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new pad. <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-check-setup-sink-pad-by-name"></a><h3>gst_check_setup_sink_pad_by_name ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a> *            gst_check_setup_sink_pad_by_name    (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>,
+<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html"><span class="returnvalue">GstPad</span></a> *            gst_check_setup_sink_pad_by_name    (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
+<td>element to setup pad on</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>tmpl</code></em> :</span></p></td>
+<td>pad template</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
+<td>name</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new pad. <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-check-setup-src-pad-by-name"></a><h3>gst_check_setup_src_pad_by_name ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a> *            gst_check_setup_src_pad_by_name     (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>,
+<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html"><span class="returnvalue">GstPad</span></a> *            gst_check_setup_src_pad_by_name     (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
+<td>element to setup pad on</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>tmpl</code></em> :</span></p></td>
+<td>pad template</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
+<td>name</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new pad. <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-check-teardown-pad-by-name"></a><h3>gst_check_teardown_pad_by_name ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_teardown_pad_by_name      (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_teardown_pad_by_name      (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-check-teardown-element"></a><h3>gst_check_teardown_element ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_teardown_element          (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);</pre>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_teardown_element          (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-check-teardown-sink-pad"></a><h3>gst_check_teardown_sink_pad ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_teardown_sink_pad         (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);</pre>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_teardown_sink_pad         (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-check-teardown-src-pad"></a><h3>gst_check_teardown_src_pad ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_teardown_src_pad          (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);</pre>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_teardown_src_pad          (<em class="parameter"><code><a href="../gstreamer-1.0/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
@@ -526,12 +621,11 @@
 Unref and remove all buffers that are in the global <em class="parameter"><code>buffers</code></em> GList,
 emptying the list.
 </p>
-<p class="since">Since 0.10.18</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-check-buffer-data"></a><h3>gst_check_buffer_data ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_buffer_data               (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_buffer_data               (<em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> data</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> size</code></em>);</pre>
 <p>
@@ -558,8 +652,8 @@
 <hr>
 <div class="refsect2">
 <a name="gst-check-caps-equal"></a><h3>gst_check_caps_equal ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_caps_equal                (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps1</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps2</code></em>);</pre>
+<pre class="programlisting"><span class="returnvalue">void</span>                gst_check_caps_equal                (<em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps1</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps2</code></em>);</pre>
 <p>
 Compare two caps with gst_caps_is_equal and fail unless they are
 equal.
@@ -577,17 +671,16 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.18</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-check-element-push-buffer-list"></a><h3>gst_check_element_push_buffer_list ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_check_element_push_buffer_list  (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *element_name</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *buffer_in</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_in</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_in</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *buffer_out</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_out</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> last_flow_return</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_out</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> last_flow_return</code></em>);</pre>
 <p>
 Create an <em class="parameter"><code>element</code></em> with the factory with the name and push the buffers in
 <em class="parameter"><code>buffer_in</code></em> to this element. The element should create the buffers equal to
@@ -623,16 +716,15 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.18</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-check-element-push-buffer"></a><h3>gst_check_element_push_buffer ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                gst_check_element_push_buffer       (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *element_name</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer_in</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_in</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer_out</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_out</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer_in</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_in</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer_out</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps_out</code></em>);</pre>
 <p>
 Create an <em class="parameter"><code>element</code></em> with the factory with the name and push the
 <em class="parameter"><code>buffer_in</code></em> to this element. The element should create one buffer
@@ -656,7 +748,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.18</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/libs/html/gstreamer-libs-GstNetTimePacket.html b/docs/libs/html/gstreamer-libs-GstNetTimePacket.html
index 2635574..3bf804c 100644
--- a/docs/libs/html/gstreamer-libs-GstNetTimePacket.html
+++ b/docs/libs/html/gstreamer-libs-GstNetTimePacket.html
@@ -80,11 +80,11 @@
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> <em class="structfield"><code><a name="GstNetTimePacket.local-time"></a>local_time</code></em>;</span></p></td>
+<td><p><span class="term"><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> <em class="structfield"><code><a name="GstNetTimePacket.local-time"></a>local_time</code></em>;</span></p></td>
 <td>the local time when this packet was sent</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> <em class="structfield"><code><a name="GstNetTimePacket.remote-time"></a>remote_time</code></em>;</span></p></td>
+<td><p><span class="term"><a href="../gstreamer-1.0/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> <em class="structfield"><code><a name="GstNetTimePacket.remote-time"></a>remote_time</code></em>;</span></p></td>
 <td>the remote time observation</td>
 </tr>
 </tbody>
@@ -110,17 +110,18 @@
 </p>
 <p>
 If <em class="parameter"><code>buffer</code></em> is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>, the local and remote times will be set to
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GST-CLOCK-TIME-NONE:CAPS"><span class="type">GST_CLOCK_TIME_NONE</span></a>.
+<a href="../gstreamer-1.0/GstClock.html#GST-CLOCK-TIME-NONE:CAPS"><span class="type">GST_CLOCK_TIME_NONE</span></a>.
 </p>
 <p>
-MT safe. Caller owns return value (g_free to free).
+MT safe. Caller owns return value (gst_net_time_packet_free to free).
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
-<td>a buffer from which to construct the packet, or NULL</td>
+<td>a buffer from which to construct the packet, or NULL. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>]</span>
+</td>
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
@@ -147,18 +148,18 @@
 <td>socket to receive the time packet on</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>src_addr</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>src_address</code></em> :</span></p></td>
 <td>address of variable to return sender address. <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>err</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
 <td>return address for a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or NULL</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-libs-GstNetTimePacket.html#GstNetTimePacket" title="struct GstNetTimePacket"><span class="type">GstNetTimePacket</span></a>, or NULL on error. Free
-with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+with <code class="function">gst_net_time_packet_free()</code> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
 </tbody>
@@ -189,11 +190,11 @@
 <td>socket to send the time packet on</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>dest_addr</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>dest_address</code></em> :</span></p></td>
 <td>address to send the time packet to</td>
 </tr>
 <tr>
-<td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
 <td>return address for a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or NULL</td>
 </tr>
 <tr>
@@ -234,7 +235,7 @@
 </div>
 <div class="refsect1">
 <a name="gstreamer-libs-GstNetTimePacket.see-also"></a><h2>See Also</h2>
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a>, <a class="link" href="GstNetClientClock.html" title="GstNetClientClock"><span class="type">GstNetClientClock</span></a>, <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="type">GstNetTimeProvider</span></a>
+<a href="../gstreamer-1.0/GstClock.html"><span class="type">GstClock</span></a>, <a class="link" href="GstNetClientClock.html" title="GstNetClientClock"><span class="type">GstNetClientClock</span></a>, <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="type">GstNetTimeProvider</span></a>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/libs/html/gstreamer-libs-GstStreamConsistency.html b/docs/libs/html/gstreamer-libs-GstStreamConsistency.html
index cc950b9..314e510 100644
--- a/docs/libs/html/gstreamer-libs-GstStreamConsistency.html
+++ b/docs/libs/html/gstreamer-libs-GstStreamConsistency.html
@@ -41,7 +41,7 @@
 #include &lt;gst/check/gstconsistencychecker.h&gt;
 
                     <a class="link" href="gstreamer-libs-GstStreamConsistency.html#GstStreamConsistency" title="GstStreamConsistency">GstStreamConsistency</a>;
-<a class="link" href="gstreamer-libs-GstStreamConsistency.html#GstStreamConsistency" title="GstStreamConsistency"><span class="returnvalue">GstStreamConsistency</span></a> * <a class="link" href="gstreamer-libs-GstStreamConsistency.html#gst-consistency-checker-new" title="gst_consistency_checker_new ()">gst_consistency_checker_new</a>      (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);
+<a class="link" href="gstreamer-libs-GstStreamConsistency.html#GstStreamConsistency" title="GstStreamConsistency"><span class="returnvalue">GstStreamConsistency</span></a> * <a class="link" href="gstreamer-libs-GstStreamConsistency.html#gst-consistency-checker-new" title="gst_consistency_checker_new ()">gst_consistency_checker_new</a>      (<em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstStreamConsistency.html#gst-consistency-checker-reset" title="gst_consistency_checker_reset ()">gst_consistency_checker_reset</a>       (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstStreamConsistency.html#GstStreamConsistency" title="GstStreamConsistency"><span class="type">GstStreamConsistency</span></a> *consist</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-libs-GstStreamConsistency.html#gst-consistency-checker-free" title="gst_consistency_checker_free ()">gst_consistency_checker_free</a>        (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstStreamConsistency.html#GstStreamConsistency" title="GstStreamConsistency"><span class="type">GstStreamConsistency</span></a> *consist</code></em>);
 </pre>
@@ -61,12 +61,11 @@
 <p>
 Opaque consistency checker handle.
 </p>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-consistency-checker-new"></a><h3>gst_consistency_checker_new ()</h3>
-<pre class="programlisting"><a class="link" href="gstreamer-libs-GstStreamConsistency.html#GstStreamConsistency" title="GstStreamConsistency"><span class="returnvalue">GstStreamConsistency</span></a> * gst_consistency_checker_new      (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="gstreamer-libs-GstStreamConsistency.html#GstStreamConsistency" title="GstStreamConsistency"><span class="returnvalue">GstStreamConsistency</span></a> * gst_consistency_checker_new      (<em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
 <p>
 Sets up a data probe on the given pad which will raise assertions if the
 data flow is inconsistent.
@@ -76,7 +75,7 @@
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
-<td>The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> on which the dataflow will be checked.</td>
+<td>The <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> on which the dataflow will be checked.</td>
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
@@ -84,7 +83,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -100,7 +98,6 @@
 <td>The <a class="link" href="gstreamer-libs-GstStreamConsistency.html#GstStreamConsistency" title="GstStreamConsistency"><span class="type">GstStreamConsistency</span></a> to reset.</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -116,7 +113,6 @@
 <td>The <a class="link" href="gstreamer-libs-GstStreamConsistency.html#GstStreamConsistency" title="GstStreamConsistency"><span class="type">GstStreamConsistency</span></a> to free.</td>
 </tr></tbody>
 </table></div>
-<p class="since">Since 0.10.24</p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gstreamer-libs-GstTypeFindHelper.html b/docs/libs/html/gstreamer-libs-GstTypeFindHelper.html
index 6587c24..d17bf32 100644
--- a/docs/libs/html/gstreamer-libs-GstTypeFindHelper.html
+++ b/docs/libs/html/gstreamer-libs-GstTypeFindHelper.html
@@ -40,29 +40,29 @@
 <pre class="synopsis">
 #include &lt;gst/base/gsttypefindhelper.h&gt;
 
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper" title="gst_type_find_helper ()">gst_type_find_helper</a>                (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *src</code></em>,
+<a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper" title="gst_type_find_helper ()">gst_type_find_helper</a>                (<em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *src</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> size</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-for-buffer" title="gst_type_find_helper_for_buffer ()">gst_type_find_helper_for_buffer</a>     (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-for-extension" title="gst_type_find_helper_for_extension ()">gst_type_find_helper_for_extension</a>  (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
+<a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-for-buffer" title="gst_type_find_helper_for_buffer ()">gst_type_find_helper_for_buffer</a>     (<em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);
+<a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-for-extension" title="gst_type_find_helper_for_extension ()">gst_type_find_helper_for_extension</a>  (<em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *extension</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-for-data" title="gst_type_find_helper_for_data ()">gst_type_find_helper_for_data</a>       (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
+<a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-for-data" title="gst_type_find_helper_for_data ()">gst_type_find_helper_for_data</a>       (<em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
                                                          <em class="parameter"><code>const <span class="type">guint8</span> *data</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> size</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (<a class="link" href="gstreamer-libs-GstTypeFindHelper.html#GstTypeFindHelperGetRangeFunction" title="GstTypeFindHelperGetRangeFunction ()">*GstTypeFindHelperGetRangeFunction</a>)
-                                                        (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *parent</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);
+<a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (<a class="link" href="gstreamer-libs-GstTypeFindHelper.html#GstTypeFindHelperGetRangeFunction" title="GstTypeFindHelperGetRangeFunction ()">*GstTypeFindHelperGetRangeFunction</a>)
+                                                        (<em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *parent</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> offset</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> length</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> **buffer</code></em>);
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-get-range" title="gst_type_find_helper_get_range ()">gst_type_find_helper_get_range</a>      (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *parent</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> **buffer</code></em>);
+<a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-get-range" title="gst_type_find_helper_get_range ()">gst_type_find_helper_get_range</a>      (<em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *parent</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-libs-GstTypeFindHelper.html#GstTypeFindHelperGetRangeFunction" title="GstTypeFindHelperGetRangeFunction ()"><span class="type">GstTypeFindHelperGetRangeFunction</span></a> func</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> size</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *extension</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);
 </pre>
 </div>
 <div class="refsect1">
@@ -78,10 +78,10 @@
 <a name="gstreamer-libs-GstTypeFindHelper.details"></a><h2>Details</h2>
 <div class="refsect2">
 <a name="gst-type-find-helper"></a><h3>gst_type_find_helper ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           gst_type_find_helper                (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *src</code></em>,
+<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           gst_type_find_helper                (<em class="parameter"><code><a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a> *src</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> size</code></em>);</pre>
 <p>
-Tries to find what type of data is flowing from the given source <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>.
+Tries to find what type of data is flowing from the given source <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>.
 </p>
 <p>
 Free-function: gst_caps_unref
@@ -91,7 +91,7 @@
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
-<td>A source <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>
+<td>A source <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>
 </td>
 </tr>
 <tr>
@@ -100,8 +100,8 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> corresponding to the data stream.
-Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if no <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> matches the data stream. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+<td>the <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> corresponding to the data stream.
+Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if no <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> matches the data stream. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
 </tbody>
@@ -110,17 +110,17 @@
 <hr>
 <div class="refsect2">
 <a name="gst-type-find-helper-for-buffer"></a><h3>gst_type_find_helper_for_buffer ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           gst_type_find_helper_for_buffer     (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);</pre>
+<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           gst_type_find_helper_for_buffer     (<em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);</pre>
 <p>
-Tries to find what type of data is contained in the given <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>, the
+Tries to find what type of data is contained in the given <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>, the
 assumption being that the buffer represents the beginning of the stream or
 file.
 </p>
 <p>
 All available typefinders will be called on the data in order of rank. If
-a typefinding function returns a probability of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTypeFind.html#GST-TYPE-FIND-MAXIMUM:CAPS"><span class="type">GST_TYPE_FIND_MAXIMUM</span></a>,
+a typefinding function returns a probability of <a href="../gstreamer-1.0/gstreamer-GstTypeFind.html#GST-TYPE-FIND-MAXIMUM:CAPS"><span class="type">GST_TYPE_FIND_MAXIMUM</span></a>,
 typefinding is stopped immediately and the found caps will be returned
 right away. Otherwise, all available typefind functions will the tried,
 and the caps with the highest probability will be returned, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if
@@ -138,7 +138,7 @@
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
-<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> with data to typefind. <span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+<td>a <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> with data to typefind. <span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
 </td>
 </tr>
 <tr>
@@ -149,9 +149,9 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> corresponding to the data, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>
+<td>the <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> corresponding to the data, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>
 if no type could be found. The caller should free the caps returned
-with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#gst-caps-unref"><code class="function">gst_caps_unref()</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+with <a href="../gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-unref"><code class="function">gst_caps_unref()</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
 </tbody>
@@ -160,10 +160,10 @@
 <hr>
 <div class="refsect2">
 <a name="gst-type-find-helper-for-extension"></a><h3>gst_type_find_helper_for_extension ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           gst_type_find_helper_for_extension  (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
+<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           gst_type_find_helper_for_extension  (<em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *extension</code></em>);</pre>
 <p>
-Tries to find the best <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> associated with <em class="parameter"><code>extension</code></em>.
+Tries to find the best <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> associated with <em class="parameter"><code>extension</code></em>.
 </p>
 <p>
 All available typefinders will be checked against the extension in order
@@ -187,22 +187,21 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> corresponding to <em class="parameter"><code>extension</code></em>, or
+<td>the <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> corresponding to <em class="parameter"><code>extension</code></em>, or
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if no type could be found. The caller should free the caps
-returned with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#gst-caps-unref"><code class="function">gst_caps_unref()</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+returned with <a href="../gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-unref"><code class="function">gst_caps_unref()</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.23</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-type-find-helper-for-data"></a><h3>gst_type_find_helper_for_data ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           gst_type_find_helper_for_data       (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
+<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           gst_type_find_helper_for_data       (<em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
                                                          <em class="parameter"><code>const <span class="type">guint8</span> *data</code></em>,
                                                          <em class="parameter"><code><span class="type">gsize</span> size</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);</pre>
 <p>
 Tries to find what type of data is contained in the given <em class="parameter"><code>data</code></em>, the
 assumption being that the data represents the beginning of the stream or
@@ -210,7 +209,7 @@
 </p>
 <p>
 All available typefinders will be called on the data in order of rank. If
-a typefinding function returns a probability of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTypeFind.html#GST-TYPE-FIND-MAXIMUM:CAPS"><span class="type">GST_TYPE_FIND_MAXIMUM</span></a>,
+a typefinding function returns a probability of <a href="../gstreamer-1.0/gstreamer-GstTypeFind.html#GST-TYPE-FIND-MAXIMUM:CAPS"><span class="type">GST_TYPE_FIND_MAXIMUM</span></a>,
 typefinding is stopped immediately and the found caps will be returned
 right away. Otherwise, all available typefind functions will the tried,
 and the caps with the highest probability will be returned, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if
@@ -244,9 +243,9 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> corresponding to the data, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>
+<td>the <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> corresponding to the data, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>
 if no type could be found. The caller should free the caps returned
-with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#gst-caps-unref"><code class="function">gst_caps_unref()</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+with <a href="../gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-unref"><code class="function">gst_caps_unref()</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
 </tbody>
@@ -255,12 +254,12 @@
 <hr>
 <div class="refsect2">
 <a name="GstTypeFindHelperGetRangeFunction"></a><h3>GstTypeFindHelperGetRangeFunction ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (*GstTypeFindHelperGetRangeFunction)
-                                                        (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *parent</code></em>,
+<pre class="programlisting"><a href="../gstreamer-1.0/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       (*GstTypeFindHelperGetRangeFunction)
+                                                        (<em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *parent</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> offset</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> length</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> **buffer</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> **buffer</code></em>);</pre>
 <p>
 This function will be called by <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-get-range" title="gst_type_find_helper_get_range ()"><code class="function">gst_type_find_helper_get_range()</code></a> when
 typefinding functions request to peek at the data of a stream at certain
@@ -269,14 +268,14 @@
 return value.
 </p>
 <p>
-This function is supposed to behave exactly like a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstPadGetRangeFunction"><span class="type">GstPadGetRangeFunction</span></a>.
+This function is supposed to behave exactly like a <a href="../gstreamer-1.0/GstPad.html#GstPadGetRangeFunction"><span class="type">GstPadGetRangeFunction</span></a>.
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
-<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> that will handle the getrange request</td>
+<td>a <a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> that will handle the getrange request</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>parent</code></em> :</span></p></td>
@@ -304,12 +303,12 @@
 <hr>
 <div class="refsect2">
 <a name="gst-type-find-helper-get-range"></a><h3>gst_type_find_helper_get_range ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           gst_type_find_helper_get_range      (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> *parent</code></em>,
+<pre class="programlisting"><a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           gst_type_find_helper_get_range      (<em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *obj</code></em>,
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> *parent</code></em>,
                                                          <em class="parameter"><code><a class="link" href="gstreamer-libs-GstTypeFindHelper.html#GstTypeFindHelperGetRangeFunction" title="GstTypeFindHelperGetRangeFunction ()"><span class="type">GstTypeFindHelperGetRangeFunction</span></a> func</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> size</code></em>,
                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *extension</code></em>,
-                                                         <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);</pre>
+                                                         <em class="parameter"><code><a href="../gstreamer-1.0/gstreamer-GstTypeFind.html#GstTypeFindProbability"><span class="type">GstTypeFindProbability</span></a> *prob</code></em>);</pre>
 <p>
 Utility function to do pull-based typefinding. Unlike <a class="link" href="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper" title="gst_type_find_helper ()"><code class="function">gst_type_find_helper()</code></a>
 however, this function will use the specified function <em class="parameter"><code>func</code></em> to obtain the
@@ -333,7 +332,7 @@
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
-<td>A <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html"><span class="type">GstObject</span></a> that will be passed as first argument to <em class="parameter"><code>func</code></em>
+<td>A <a href="../gstreamer-1.0/GstObject.html"><span class="type">GstObject</span></a> that will be passed as first argument to <em class="parameter"><code>func</code></em>
 </td>
 </tr>
 <tr>
@@ -362,13 +361,12 @@
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> corresponding to the data stream.
-Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if no <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> matches the data stream. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+<td>the <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> corresponding to the data stream.
+Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if no <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> matches the data stream. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 </td>
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.26</p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gstreamer-libs.devhelp2 b/docs/libs/html/gstreamer-libs.devhelp2
index a6b28f9..cae1b46 100644
--- a/docs/libs/html/gstreamer-libs.devhelp2
+++ b/docs/libs/html/gstreamer-libs.devhelp2
@@ -41,44 +41,44 @@
   <functions>
     <keyword type="struct" name="struct GstBaseParse" link="gstreamer-libs-GstBaseParse.html#GstBaseParse"/>
     <keyword type="struct" name="struct GstBaseParseClass" link="gstreamer-libs-GstBaseParse.html#GstBaseParseClass"/>
-    <keyword type="function" name="gst_base_parse_set_duration ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-set-duration" since="0.10.33"/>
-    <keyword type="function" name="gst_base_parse_set_average_bitrate ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-set-average-bitrate" since="0.10.33"/>
-    <keyword type="function" name="gst_base_parse_set_min_frame_size ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-set-min-frame-size" since="0.10.33"/>
-    <keyword type="function" name="gst_base_parse_set_passthrough ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-set-passthrough" since="0.10.33"/>
-    <keyword type="function" name="gst_base_parse_set_syncable ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-set-syncable" since="0.10.33"/>
-    <keyword type="function" name="gst_base_parse_set_has_timing_info ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-set-has-timing-info" since="0.10.33"/>
-    <keyword type="function" name="gst_base_parse_set_frame_rate ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-set-frame-rate" since="0.10.33"/>
-    <keyword type="function" name="gst_base_parse_set_latency ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-set-latency" since="0.10.36"/>
-    <keyword type="function" name="gst_base_parse_convert_default ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-convert-default" since="0.10.33"/>
-    <keyword type="function" name="gst_base_parse_add_index_entry ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-add-index-entry" since="0.10.33"/>
-    <keyword type="struct" name="GstBaseParseFrame" link="gstreamer-libs-GstBaseParse.html#GstBaseParseFrame" since="0.10.33"/>
-    <keyword type="enum" name="enum GstBaseParseFrameFlags" link="gstreamer-libs-GstBaseParse.html#GstBaseParseFrameFlags" since="0.10.33"/>
-    <keyword type="function" name="gst_base_parse_frame_new ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-frame-new" since="0.10.33"/>
-    <keyword type="function" name="gst_base_parse_frame_init ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-frame-init" since="0.10.33"/>
+    <keyword type="function" name="gst_base_parse_set_duration ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-set-duration"/>
+    <keyword type="function" name="gst_base_parse_set_average_bitrate ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-set-average-bitrate"/>
+    <keyword type="function" name="gst_base_parse_set_min_frame_size ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-set-min-frame-size"/>
+    <keyword type="function" name="gst_base_parse_set_passthrough ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-set-passthrough"/>
+    <keyword type="function" name="gst_base_parse_set_syncable ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-set-syncable"/>
+    <keyword type="function" name="gst_base_parse_set_has_timing_info ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-set-has-timing-info"/>
+    <keyword type="function" name="gst_base_parse_set_frame_rate ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-set-frame-rate"/>
+    <keyword type="function" name="gst_base_parse_set_latency ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-set-latency"/>
+    <keyword type="function" name="gst_base_parse_convert_default ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-convert-default"/>
+    <keyword type="function" name="gst_base_parse_add_index_entry ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-add-index-entry"/>
+    <keyword type="struct" name="GstBaseParseFrame" link="gstreamer-libs-GstBaseParse.html#GstBaseParseFrame"/>
+    <keyword type="enum" name="enum GstBaseParseFrameFlags" link="gstreamer-libs-GstBaseParse.html#GstBaseParseFrameFlags"/>
+    <keyword type="function" name="gst_base_parse_frame_new ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-frame-new"/>
+    <keyword type="function" name="gst_base_parse_frame_init ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-frame-init"/>
     <keyword type="function" name="gst_base_parse_frame_free ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-frame-free"/>
-    <keyword type="function" name="gst_base_parse_push_frame ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-push-frame" since="0.10.33"/>
-    <keyword type="macro" name="GST_BASE_PARSE_DRAINING()" link="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-DRAINING:CAPS" since="0.10.33"/>
+    <keyword type="function" name="gst_base_parse_push_frame ()" link="gstreamer-libs-GstBaseParse.html#gst-base-parse-push-frame"/>
+    <keyword type="macro" name="GST_BASE_PARSE_DRAINING()" link="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-DRAINING:CAPS"/>
     <keyword type="macro" name="GST_BASE_PARSE_FLAG_DRAINING" link="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-FLAG-DRAINING:CAPS"/>
     <keyword type="macro" name="GST_BASE_PARSE_FLAG_LOST_SYNC" link="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-FLAG-LOST-SYNC:CAPS"/>
-    <keyword type="macro" name="GST_BASE_PARSE_FLOW_DROPPED" link="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-FLOW-DROPPED:CAPS" since="0.10.33"/>
-    <keyword type="macro" name="GST_BASE_PARSE_LOST_SYNC()" link="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-LOST-SYNC:CAPS" since="0.10.33"/>
-    <keyword type="macro" name="GST_BASE_PARSE_SINK_PAD()" link="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-SINK-PAD:CAPS" since="0.10.33"/>
-    <keyword type="macro" name="GST_BASE_PARSE_SRC_PAD()" link="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-SRC-PAD:CAPS" since="0.10.33"/>
-    <keyword type="" name="Controlled shutdown of live sources in applications" link="GstBaseSrc.html#idp7055728"/>
+    <keyword type="macro" name="GST_BASE_PARSE_FLOW_DROPPED" link="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-FLOW-DROPPED:CAPS"/>
+    <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="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"/>
-    <keyword type="function" name="gst_base_src_wait_playing ()" link="GstBaseSrc.html#gst-base-src-wait-playing" since="0.10.12"/>
+    <keyword type="function" name="gst_base_src_wait_playing ()" link="GstBaseSrc.html#gst-base-src-wait-playing"/>
     <keyword type="function" name="gst_base_src_is_live ()" link="GstBaseSrc.html#gst-base-src-is-live"/>
     <keyword type="function" name="gst_base_src_set_live ()" link="GstBaseSrc.html#gst-base-src-set-live"/>
-    <keyword type="function" name="gst_base_src_set_format ()" link="GstBaseSrc.html#gst-base-src-set-format" since="0.10.1"/>
-    <keyword type="function" name="gst_base_src_query_latency ()" link="GstBaseSrc.html#gst-base-src-query-latency" since="0.10.13"/>
-    <keyword type="function" name="gst_base_src_get_blocksize ()" link="GstBaseSrc.html#gst-base-src-get-blocksize" since="0.10.22"/>
-    <keyword type="function" name="gst_base_src_set_blocksize ()" link="GstBaseSrc.html#gst-base-src-set-blocksize" since="0.10.22"/>
-    <keyword type="function" name="gst_base_src_get_do_timestamp ()" link="GstBaseSrc.html#gst-base-src-get-do-timestamp" since="0.10.15"/>
-    <keyword type="function" name="gst_base_src_set_do_timestamp ()" link="GstBaseSrc.html#gst-base-src-set-do-timestamp" since="0.10.15"/>
-    <keyword type="function" name="gst_base_src_set_dynamic_size ()" link="GstBaseSrc.html#gst-base-src-set-dynamic-size" since="0.10.36"/>
-    <keyword type="function" name="gst_base_src_new_seamless_segment ()" link="GstBaseSrc.html#gst-base-src-new-seamless-segment" since="0.10.26"/>
+    <keyword type="function" name="gst_base_src_set_format ()" link="GstBaseSrc.html#gst-base-src-set-format"/>
+    <keyword type="function" name="gst_base_src_query_latency ()" link="GstBaseSrc.html#gst-base-src-query-latency"/>
+    <keyword type="function" name="gst_base_src_get_blocksize ()" link="GstBaseSrc.html#gst-base-src-get-blocksize"/>
+    <keyword type="function" name="gst_base_src_set_blocksize ()" link="GstBaseSrc.html#gst-base-src-set-blocksize"/>
+    <keyword type="function" name="gst_base_src_get_do_timestamp ()" link="GstBaseSrc.html#gst-base-src-get-do-timestamp"/>
+    <keyword type="function" name="gst_base_src_set_do_timestamp ()" link="GstBaseSrc.html#gst-base-src-set-do-timestamp"/>
+    <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="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"/>
@@ -87,29 +87,28 @@
     <keyword type="property" name="The &quot;typefind&quot; property" link="GstBaseSrc.html#GstBaseSrc--typefind"/>
     <keyword type="struct" name="struct GstBaseSink" link="GstBaseSink.html#GstBaseSink-struct"/>
     <keyword type="struct" name="struct GstBaseSinkClass" link="GstBaseSink.html#GstBaseSinkClass"/>
-    <keyword type="function" name="gst_base_sink_query_latency ()" link="GstBaseSink.html#gst-base-sink-query-latency" since="0.10.12"/>
-    <keyword type="function" name="gst_base_sink_get_latency ()" link="GstBaseSink.html#gst-base-sink-get-latency" since="0.10.12"/>
-    <keyword type="function" name="gst_base_sink_do_preroll ()" link="GstBaseSink.html#gst-base-sink-do-preroll" since="0.10.22"/>
-    <keyword type="function" name="gst_base_sink_wait_preroll ()" link="GstBaseSink.html#gst-base-sink-wait-preroll" since="0.10.11"/>
-    <keyword type="function" name="gst_base_sink_wait_clock ()" link="GstBaseSink.html#gst-base-sink-wait-clock" since="0.10.20"/>
-    <keyword type="function" name="gst_base_sink_wait_eos ()" link="GstBaseSink.html#gst-base-sink-wait-eos" since="0.10.15"/>
-    <keyword type="function" name="gst_base_sink_set_sync ()" link="GstBaseSink.html#gst-base-sink-set-sync" since="0.10.4"/>
-    <keyword type="function" name="gst_base_sink_get_sync ()" link="GstBaseSink.html#gst-base-sink-get-sync" since="0.10.4"/>
-    <keyword type="function" name="gst_base_sink_set_max_lateness ()" link="GstBaseSink.html#gst-base-sink-set-max-lateness" since="0.10.4"/>
-    <keyword type="function" name="gst_base_sink_get_max_lateness ()" link="GstBaseSink.html#gst-base-sink-get-max-lateness" since="0.10.4"/>
-    <keyword type="function" name="gst_base_sink_set_qos_enabled ()" link="GstBaseSink.html#gst-base-sink-set-qos-enabled" since="0.10.5"/>
-    <keyword type="function" name="gst_base_sink_is_qos_enabled ()" link="GstBaseSink.html#gst-base-sink-is-qos-enabled" since="0.10.5"/>
-    <keyword type="function" name="gst_base_sink_set_async_enabled ()" link="GstBaseSink.html#gst-base-sink-set-async-enabled" since="0.10.15"/>
-    <keyword type="function" name="gst_base_sink_is_async_enabled ()" link="GstBaseSink.html#gst-base-sink-is-async-enabled" since="0.10.15"/>
-    <keyword type="function" name="gst_base_sink_set_ts_offset ()" link="GstBaseSink.html#gst-base-sink-set-ts-offset" since="0.10.15"/>
-    <keyword type="function" name="gst_base_sink_get_ts_offset ()" link="GstBaseSink.html#gst-base-sink-get-ts-offset" since="0.10.15"/>
-    <keyword type="function" name="gst_base_sink_set_render_delay ()" link="GstBaseSink.html#gst-base-sink-set-render-delay" since="0.10.21"/>
-    <keyword type="function" name="gst_base_sink_get_render_delay ()" link="GstBaseSink.html#gst-base-sink-get-render-delay" since="0.10.21"/>
-    <keyword type="function" name="gst_base_sink_get_last_sample ()" link="GstBaseSink.html#gst-base-sink-get-last-sample" since="0.10.15"/>
-    <keyword type="function" name="gst_base_sink_set_blocksize ()" link="GstBaseSink.html#gst-base-sink-set-blocksize" since="0.10.22"/>
-    <keyword type="function" name="gst_base_sink_get_blocksize ()" link="GstBaseSink.html#gst-base-sink-get-blocksize" since="0.10.22"/>
-    <keyword type="function" name="gst_base_sink_get_throttle_time ()" link="GstBaseSink.html#gst-base-sink-get-throttle-time" since="0.10.33"/>
-    <keyword type="function" name="gst_base_sink_set_throttle_time ()" link="GstBaseSink.html#gst-base-sink-set-throttle-time" since="0.10.33"/>
+    <keyword type="function" name="gst_base_sink_query_latency ()" link="GstBaseSink.html#gst-base-sink-query-latency"/>
+    <keyword type="function" name="gst_base_sink_get_latency ()" link="GstBaseSink.html#gst-base-sink-get-latency"/>
+    <keyword type="function" name="gst_base_sink_do_preroll ()" link="GstBaseSink.html#gst-base-sink-do-preroll"/>
+    <keyword type="function" name="gst_base_sink_wait_preroll ()" link="GstBaseSink.html#gst-base-sink-wait-preroll"/>
+    <keyword type="function" name="gst_base_sink_wait_clock ()" link="GstBaseSink.html#gst-base-sink-wait-clock"/>
+    <keyword type="function" name="gst_base_sink_set_sync ()" link="GstBaseSink.html#gst-base-sink-set-sync"/>
+    <keyword type="function" name="gst_base_sink_get_sync ()" link="GstBaseSink.html#gst-base-sink-get-sync"/>
+    <keyword type="function" name="gst_base_sink_set_max_lateness ()" link="GstBaseSink.html#gst-base-sink-set-max-lateness"/>
+    <keyword type="function" name="gst_base_sink_get_max_lateness ()" link="GstBaseSink.html#gst-base-sink-get-max-lateness"/>
+    <keyword type="function" name="gst_base_sink_set_qos_enabled ()" link="GstBaseSink.html#gst-base-sink-set-qos-enabled"/>
+    <keyword type="function" name="gst_base_sink_is_qos_enabled ()" link="GstBaseSink.html#gst-base-sink-is-qos-enabled"/>
+    <keyword type="function" name="gst_base_sink_set_async_enabled ()" link="GstBaseSink.html#gst-base-sink-set-async-enabled"/>
+    <keyword type="function" name="gst_base_sink_is_async_enabled ()" link="GstBaseSink.html#gst-base-sink-is-async-enabled"/>
+    <keyword type="function" name="gst_base_sink_set_ts_offset ()" link="GstBaseSink.html#gst-base-sink-set-ts-offset"/>
+    <keyword type="function" name="gst_base_sink_get_ts_offset ()" link="GstBaseSink.html#gst-base-sink-get-ts-offset"/>
+    <keyword type="function" name="gst_base_sink_set_render_delay ()" link="GstBaseSink.html#gst-base-sink-set-render-delay"/>
+    <keyword type="function" name="gst_base_sink_get_render_delay ()" link="GstBaseSink.html#gst-base-sink-get-render-delay"/>
+    <keyword type="function" name="gst_base_sink_get_last_sample ()" link="GstBaseSink.html#gst-base-sink-get-last-sample"/>
+    <keyword type="function" name="gst_base_sink_set_blocksize ()" link="GstBaseSink.html#gst-base-sink-set-blocksize"/>
+    <keyword type="function" name="gst_base_sink_get_blocksize ()" link="GstBaseSink.html#gst-base-sink-get-blocksize"/>
+    <keyword type="function" name="gst_base_sink_get_throttle_time ()" link="GstBaseSink.html#gst-base-sink-get-throttle-time"/>
+    <keyword type="function" name="gst_base_sink_set_throttle_time ()" link="GstBaseSink.html#gst-base-sink-set-throttle-time"/>
     <keyword type="macro" name="GST_BASE_SINK_PAD()" link="GstBaseSink.html#GST-BASE-SINK-PAD:CAPS"/>
     <keyword type="macro" name="GST_BASE_SINK_GET_PREROLL_COND()" link="GstBaseSink.html#GST-BASE-SINK-GET-PREROLL-COND:CAPS"/>
     <keyword type="macro" name="GST_BASE_SINK_GET_PREROLL_LOCK()" link="GstBaseSink.html#GST-BASE-SINK-GET-PREROLL-LOCK:CAPS"/>
@@ -129,23 +128,23 @@
     <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#idp6939712"/>
-    <keyword type="" name="Sub-class settable flags on GstBaseTransform" link="GstBaseTransform.html#idp7842576"/>
+    <keyword type="" name="Use Cases" link="GstBaseTransform.html#idp8304832"/>
+    <keyword type="" name="Sub-class settable flags on GstBaseTransform" link="GstBaseTransform.html#idp6194080"/>
     <keyword type="struct" name="struct GstBaseTransform" link="GstBaseTransform.html#GstBaseTransform-struct"/>
     <keyword type="struct" name="struct GstBaseTransformClass" link="GstBaseTransform.html#GstBaseTransformClass"/>
     <keyword type="function" name="gst_base_transform_is_passthrough ()" link="GstBaseTransform.html#gst-base-transform-is-passthrough"/>
     <keyword type="function" name="gst_base_transform_set_passthrough ()" link="GstBaseTransform.html#gst-base-transform-set-passthrough"/>
     <keyword type="function" name="gst_base_transform_is_in_place ()" link="GstBaseTransform.html#gst-base-transform-is-in-place"/>
     <keyword type="function" name="gst_base_transform_set_in_place ()" link="GstBaseTransform.html#gst-base-transform-set-in-place"/>
-    <keyword type="function" name="gst_base_transform_is_qos_enabled ()" link="GstBaseTransform.html#gst-base-transform-is-qos-enabled" since="0.10.5"/>
-    <keyword type="function" name="gst_base_transform_set_qos_enabled ()" link="GstBaseTransform.html#gst-base-transform-set-qos-enabled" since="0.10.5"/>
-    <keyword type="function" name="gst_base_transform_update_qos ()" link="GstBaseTransform.html#gst-base-transform-update-qos" since="0.10.5"/>
-    <keyword type="function" name="gst_base_transform_set_gap_aware ()" link="GstBaseTransform.html#gst-base-transform-set-gap-aware" since="0.10.16"/>
+    <keyword type="function" name="gst_base_transform_is_qos_enabled ()" link="GstBaseTransform.html#gst-base-transform-is-qos-enabled"/>
+    <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="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" since="0.10.4"/>
-    <keyword type="macro" name="GST_BASE_TRANSFORM_SRC_PAD()" link="GstBaseTransform.html#GST-BASE-TRANSFORM-SRC-PAD:CAPS" since="0.10.4"/>
-    <keyword type="macro" name="GST_BASE_TRANSFORM_FLOW_DROPPED" link="GstBaseTransform.html#GST-BASE-TRANSFORM-FLOW-DROPPED:CAPS" since="0.10.13"/>
+    <keyword type="macro" name="GST_BASE_TRANSFORM_SINK_PAD()" link="GstBaseTransform.html#GST-BASE-TRANSFORM-SINK-PAD:CAPS"/>
+    <keyword type="macro" name="GST_BASE_TRANSFORM_SRC_PAD()" link="GstBaseTransform.html#GST-BASE-TRANSFORM-SRC-PAD:CAPS"/>
+    <keyword type="macro" name="GST_BASE_TRANSFORM_FLOW_DROPPED" link="GstBaseTransform.html#GST-BASE-TRANSFORM-FLOW-DROPPED:CAPS"/>
     <keyword type="property" name="The &quot;qos&quot; property" link="GstBaseTransform.html#GstBaseTransform--qos"/>
     <keyword type="struct" name="struct GstPushSrc" link="GstPushSrc.html#GstPushSrc-struct"/>
     <keyword type="struct" name="GstAdapter" link="GstAdapter.html#GstAdapter-struct"/>
@@ -154,278 +153,275 @@
     <keyword type="function" name="gst_adapter_push ()" link="GstAdapter.html#gst-adapter-push"/>
     <keyword type="function" name="gst_adapter_map ()" link="GstAdapter.html#gst-adapter-map"/>
     <keyword type="function" name="gst_adapter_unmap ()" link="GstAdapter.html#gst-adapter-unmap"/>
-    <keyword type="function" name="gst_adapter_copy ()" link="GstAdapter.html#gst-adapter-copy" since="0.10.12"/>
+    <keyword type="function" name="gst_adapter_copy ()" link="GstAdapter.html#gst-adapter-copy"/>
     <keyword type="function" name="gst_adapter_flush ()" link="GstAdapter.html#gst-adapter-flush"/>
     <keyword type="function" name="gst_adapter_available ()" link="GstAdapter.html#gst-adapter-available"/>
     <keyword type="function" name="gst_adapter_available_fast ()" link="GstAdapter.html#gst-adapter-available-fast"/>
     <keyword type="function" name="gst_adapter_take ()" link="GstAdapter.html#gst-adapter-take"/>
-    <keyword type="function" name="gst_adapter_take_buffer ()" link="GstAdapter.html#gst-adapter-take-buffer" since="0.10.6"/>
-    <keyword type="function" name="gst_adapter_take_list ()" link="GstAdapter.html#gst-adapter-take-list" since="0.10.31"/>
+    <keyword type="function" name="gst_adapter_take_buffer ()" link="GstAdapter.html#gst-adapter-take-buffer"/>
+    <keyword type="function" name="gst_adapter_take_list ()" link="GstAdapter.html#gst-adapter-take-list"/>
     <keyword type="function" name="gst_adapter_prev_pts ()" link="GstAdapter.html#gst-adapter-prev-pts"/>
     <keyword type="function" name="gst_adapter_prev_dts ()" link="GstAdapter.html#gst-adapter-prev-dts"/>
-    <keyword type="function" name="gst_adapter_masked_scan_uint32 ()" link="GstAdapter.html#gst-adapter-masked-scan-uint32" since="0.10.24"/>
-    <keyword type="function" name="gst_adapter_masked_scan_uint32_peek ()" link="GstAdapter.html#gst-adapter-masked-scan-uint32-peek" since="0.10.30"/>
+    <keyword type="function" name="gst_adapter_masked_scan_uint32 ()" link="GstAdapter.html#gst-adapter-masked-scan-uint32"/>
+    <keyword type="function" name="gst_adapter_masked_scan_uint32_peek ()" link="GstAdapter.html#gst-adapter-masked-scan-uint32-peek"/>
     <keyword type="struct" name="GstBitReader" link="gstreamer-libs-GstBitReader.html#GstBitReader"/>
-    <keyword type="macro" name="GST_BIT_READER_INIT()" link="gstreamer-libs-GstBitReader.html#GST-BIT-READER-INIT:CAPS" since="0.10.22"/>
-    <keyword type="function" name="gst_bit_reader_new ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-new" since="0.10.22"/>
-    <keyword type="function" name="gst_bit_reader_free ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-free" since="0.10.22"/>
-    <keyword type="function" name="gst_bit_reader_init ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-init" since="0.10.22"/>
-    <keyword type="function" name="gst_bit_reader_get_pos ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-get-pos" since="0.10.22"/>
-    <keyword type="function" name="gst_bit_reader_get_remaining ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-get-remaining" since="0.10.22"/>
-    <keyword type="function" name="gst_bit_reader_set_pos ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-set-pos" since="0.10.22"/>
-    <keyword type="function" name="gst_bit_reader_get_size ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-get-size" since="0.10.26"/>
-    <keyword type="function" name="gst_bit_reader_skip ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-skip" since="0.10.22"/>
-    <keyword type="function" name="gst_bit_reader_skip_to_byte ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-skip-to-byte" since="0.10.22"/>
-    <keyword type="function" name="gst_bit_reader_get_bits_uint16 ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-get-bits-uint16" since="0.10.22"/>
-    <keyword type="function" name="gst_bit_reader_get_bits_uint32 ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-get-bits-uint32" since="0.10.22"/>
-    <keyword type="function" name="gst_bit_reader_get_bits_uint64 ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-get-bits-uint64" since="0.10.22"/>
-    <keyword type="function" name="gst_bit_reader_get_bits_uint8 ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-get-bits-uint8" since="0.10.22"/>
-    <keyword type="function" name="gst_bit_reader_peek_bits_uint16 ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-peek-bits-uint16" since="0.10.22"/>
-    <keyword type="function" name="gst_bit_reader_peek_bits_uint32 ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-peek-bits-uint32" since="0.10.22"/>
-    <keyword type="function" name="gst_bit_reader_peek_bits_uint64 ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-peek-bits-uint64" since="0.10.22"/>
-    <keyword type="function" name="gst_bit_reader_peek_bits_uint8 ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-peek-bits-uint8" since="0.10.22"/>
-    <keyword type="function" name="gst_bit_reader_skip_unchecked ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-skip-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_bit_reader_skip_to_byte_unchecked ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-skip-to-byte-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_bit_reader_get_bits_uint16_unchecked ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-get-bits-uint16-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_bit_reader_get_bits_uint32_unchecked ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-get-bits-uint32-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_bit_reader_get_bits_uint64_unchecked ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-get-bits-uint64-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_bit_reader_get_bits_uint8_unchecked ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-get-bits-uint8-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_bit_reader_peek_bits_uint16_unchecked ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-peek-bits-uint16-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_bit_reader_peek_bits_uint32_unchecked ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-peek-bits-uint32-unchecked" since="0.10.31"/>
+    <keyword type="macro" name="GST_BIT_READER_INIT()" link="gstreamer-libs-GstBitReader.html#GST-BIT-READER-INIT:CAPS"/>
+    <keyword type="function" name="gst_bit_reader_new ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-new"/>
+    <keyword type="function" name="gst_bit_reader_free ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-free"/>
+    <keyword type="function" name="gst_bit_reader_init ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-init"/>
+    <keyword type="function" name="gst_bit_reader_get_pos ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-get-pos"/>
+    <keyword type="function" name="gst_bit_reader_get_remaining ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-get-remaining"/>
+    <keyword type="function" name="gst_bit_reader_set_pos ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-set-pos"/>
+    <keyword type="function" name="gst_bit_reader_get_size ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-get-size"/>
+    <keyword type="function" name="gst_bit_reader_skip ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-skip"/>
+    <keyword type="function" name="gst_bit_reader_skip_to_byte ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-skip-to-byte"/>
+    <keyword type="function" name="gst_bit_reader_get_bits_uint16 ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-get-bits-uint16"/>
+    <keyword type="function" name="gst_bit_reader_get_bits_uint32 ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-get-bits-uint32"/>
+    <keyword type="function" name="gst_bit_reader_get_bits_uint64 ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-get-bits-uint64"/>
+    <keyword type="function" name="gst_bit_reader_get_bits_uint8 ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-get-bits-uint8"/>
+    <keyword type="function" name="gst_bit_reader_peek_bits_uint16 ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-peek-bits-uint16"/>
+    <keyword type="function" name="gst_bit_reader_peek_bits_uint32 ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-peek-bits-uint32"/>
+    <keyword type="function" name="gst_bit_reader_peek_bits_uint64 ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-peek-bits-uint64"/>
+    <keyword type="function" name="gst_bit_reader_peek_bits_uint8 ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-peek-bits-uint8"/>
+    <keyword type="function" name="gst_bit_reader_skip_unchecked ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-skip-unchecked"/>
+    <keyword type="function" name="gst_bit_reader_skip_to_byte_unchecked ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-skip-to-byte-unchecked"/>
+    <keyword type="function" name="gst_bit_reader_get_bits_uint16_unchecked ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-get-bits-uint16-unchecked"/>
+    <keyword type="function" name="gst_bit_reader_get_bits_uint32_unchecked ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-get-bits-uint32-unchecked"/>
+    <keyword type="function" name="gst_bit_reader_get_bits_uint64_unchecked ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-get-bits-uint64-unchecked"/>
+    <keyword type="function" name="gst_bit_reader_get_bits_uint8_unchecked ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-get-bits-uint8-unchecked"/>
+    <keyword type="function" name="gst_bit_reader_peek_bits_uint16_unchecked ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-peek-bits-uint16-unchecked"/>
+    <keyword type="function" name="gst_bit_reader_peek_bits_uint32_unchecked ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-peek-bits-uint32-unchecked"/>
     <keyword type="function" name="gst_bit_reader_peek_bits_uint64_unchecked ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-peek-bits-uint64-unchecked"/>
-    <keyword type="function" name="gst_bit_reader_peek_bits_uint8_unchecked ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-peek-bits-uint8-unchecked" since="0.10.31"/>
+    <keyword type="function" name="gst_bit_reader_peek_bits_uint8_unchecked ()" link="gstreamer-libs-GstBitReader.html#gst-bit-reader-peek-bits-uint8-unchecked"/>
     <keyword type="struct" name="GstByteReader" link="gstreamer-libs-GstByteReader.html#GstByteReader"/>
-    <keyword type="macro" name="GST_BYTE_READER_INIT()" link="gstreamer-libs-GstByteReader.html#GST-BYTE-READER-INIT:CAPS" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_new ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-new" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_free ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-free" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_init ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-init" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_pos ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-pos" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_remaining ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-remaining" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_set_pos ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-set-pos" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_size ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-size" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_reader_skip ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-skip" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_int8 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int8" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_int16_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int16-be" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_int16_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int16-le" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_int24_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int24-be" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_int24_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int24-le" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_int32_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int32-be" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_int32_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int32-le" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_int64_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int64-be" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_int64_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int64-le" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_uint8 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint8" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_uint16_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint16-be" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_uint16_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint16-le" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_uint24_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint24-be" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_uint24_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint24-le" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_uint32_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint32-be" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_uint32_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint32-le" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_uint64_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint64-be" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_uint64_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint64-le" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_peek_int8 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int8" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_peek_int16_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int16-be" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_peek_int16_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int16-le" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_peek_int24_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int24-be" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_peek_int24_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int24-le" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_peek_int32_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int32-be" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_peek_int32_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int32-le" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_peek_int64_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int64-be" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_peek_int64_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int64-le" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_peek_uint8 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint8" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_peek_uint16_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint16-be" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_peek_uint16_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint16-le" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_peek_uint24_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint24-be" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_peek_uint24_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint24-le" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_peek_uint32_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint32-be" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_peek_uint32_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint32-le" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_peek_uint64_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint64-be" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_peek_uint64_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint64-le" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_float32_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-float32-le" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_float32_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-float32-be" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_float64_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-float64-le" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_float64_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-float64-be" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_peek_float32_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-float32-le" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_peek_float32_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-float32-be" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_peek_float64_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-float64-le" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_peek_float64_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-float64-be" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_get_data ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-data" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_dup_data ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-dup-data" since="0.10.24"/>
-    <keyword type="function" name="gst_byte_reader_peek_data ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-data" since="0.10.22"/>
-    <keyword type="function" name="gst_byte_reader_masked_scan_uint32 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-masked-scan-uint32" since="0.10.24"/>
+    <keyword type="macro" name="GST_BYTE_READER_INIT()" link="gstreamer-libs-GstByteReader.html#GST-BYTE-READER-INIT:CAPS"/>
+    <keyword type="function" name="gst_byte_reader_new ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-new"/>
+    <keyword type="function" name="gst_byte_reader_free ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-free"/>
+    <keyword type="function" name="gst_byte_reader_init ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-init"/>
+    <keyword type="function" name="gst_byte_reader_get_pos ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-pos"/>
+    <keyword type="function" name="gst_byte_reader_get_remaining ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-remaining"/>
+    <keyword type="function" name="gst_byte_reader_set_pos ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-set-pos"/>
+    <keyword type="function" name="gst_byte_reader_get_size ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-size"/>
+    <keyword type="function" name="gst_byte_reader_skip ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-skip"/>
+    <keyword type="function" name="gst_byte_reader_get_int8 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int8"/>
+    <keyword type="function" name="gst_byte_reader_get_int16_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int16-be"/>
+    <keyword type="function" name="gst_byte_reader_get_int16_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int16-le"/>
+    <keyword type="function" name="gst_byte_reader_get_int24_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int24-be"/>
+    <keyword type="function" name="gst_byte_reader_get_int24_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int24-le"/>
+    <keyword type="function" name="gst_byte_reader_get_int32_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int32-be"/>
+    <keyword type="function" name="gst_byte_reader_get_int32_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int32-le"/>
+    <keyword type="function" name="gst_byte_reader_get_int64_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int64-be"/>
+    <keyword type="function" name="gst_byte_reader_get_int64_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int64-le"/>
+    <keyword type="function" name="gst_byte_reader_get_uint8 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint8"/>
+    <keyword type="function" name="gst_byte_reader_get_uint16_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint16-be"/>
+    <keyword type="function" name="gst_byte_reader_get_uint16_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint16-le"/>
+    <keyword type="function" name="gst_byte_reader_get_uint24_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint24-be"/>
+    <keyword type="function" name="gst_byte_reader_get_uint24_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint24-le"/>
+    <keyword type="function" name="gst_byte_reader_get_uint32_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint32-be"/>
+    <keyword type="function" name="gst_byte_reader_get_uint32_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint32-le"/>
+    <keyword type="function" name="gst_byte_reader_get_uint64_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint64-be"/>
+    <keyword type="function" name="gst_byte_reader_get_uint64_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint64-le"/>
+    <keyword type="function" name="gst_byte_reader_peek_int8 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int8"/>
+    <keyword type="function" name="gst_byte_reader_peek_int16_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int16-be"/>
+    <keyword type="function" name="gst_byte_reader_peek_int16_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int16-le"/>
+    <keyword type="function" name="gst_byte_reader_peek_int24_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int24-be"/>
+    <keyword type="function" name="gst_byte_reader_peek_int24_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int24-le"/>
+    <keyword type="function" name="gst_byte_reader_peek_int32_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int32-be"/>
+    <keyword type="function" name="gst_byte_reader_peek_int32_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int32-le"/>
+    <keyword type="function" name="gst_byte_reader_peek_int64_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int64-be"/>
+    <keyword type="function" name="gst_byte_reader_peek_int64_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int64-le"/>
+    <keyword type="function" name="gst_byte_reader_peek_uint8 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint8"/>
+    <keyword type="function" name="gst_byte_reader_peek_uint16_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint16-be"/>
+    <keyword type="function" name="gst_byte_reader_peek_uint16_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint16-le"/>
+    <keyword type="function" name="gst_byte_reader_peek_uint24_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint24-be"/>
+    <keyword type="function" name="gst_byte_reader_peek_uint24_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint24-le"/>
+    <keyword type="function" name="gst_byte_reader_peek_uint32_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint32-be"/>
+    <keyword type="function" name="gst_byte_reader_peek_uint32_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint32-le"/>
+    <keyword type="function" name="gst_byte_reader_peek_uint64_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint64-be"/>
+    <keyword type="function" name="gst_byte_reader_peek_uint64_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint64-le"/>
+    <keyword type="function" name="gst_byte_reader_get_float32_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-float32-le"/>
+    <keyword type="function" name="gst_byte_reader_get_float32_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-float32-be"/>
+    <keyword type="function" name="gst_byte_reader_get_float64_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-float64-le"/>
+    <keyword type="function" name="gst_byte_reader_get_float64_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-float64-be"/>
+    <keyword type="function" name="gst_byte_reader_peek_float32_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-float32-le"/>
+    <keyword type="function" name="gst_byte_reader_peek_float32_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-float32-be"/>
+    <keyword type="function" name="gst_byte_reader_peek_float64_le ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-float64-le"/>
+    <keyword type="function" name="gst_byte_reader_peek_float64_be ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-float64-be"/>
+    <keyword type="function" name="gst_byte_reader_get_data ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-data"/>
+    <keyword type="function" name="gst_byte_reader_dup_data ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-dup-data"/>
+    <keyword type="function" name="gst_byte_reader_peek_data ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-data"/>
+    <keyword type="function" name="gst_byte_reader_masked_scan_uint32 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-masked-scan-uint32"/>
     <keyword type="macro" name="gst_byte_reader_get_string()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-string"/>
-    <keyword type="function" name="gst_byte_reader_get_string_utf8 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-string-utf8" since="0.10.24"/>
-    <keyword type="macro" name="gst_byte_reader_peek_string()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-string" since="0.10.24"/>
-    <keyword type="function" name="gst_byte_reader_peek_string_utf8 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-string-utf8" since="0.10.24"/>
+    <keyword type="function" name="gst_byte_reader_get_string_utf8 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-string-utf8"/>
+    <keyword type="macro" name="gst_byte_reader_peek_string()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-string"/>
+    <keyword type="function" name="gst_byte_reader_peek_string_utf8 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-string-utf8"/>
     <keyword type="macro" name="gst_byte_reader_dup_string()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-dup-string"/>
-    <keyword type="function" name="gst_byte_reader_dup_string_utf8 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-dup-string-utf8" since="0.10.24"/>
-    <keyword type="function" name="gst_byte_reader_dup_string_utf16 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-dup-string-utf16" since="0.10.24"/>
-    <keyword type="function" name="gst_byte_reader_dup_string_utf32 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-dup-string-utf32" since="0.10.24"/>
-    <keyword type="macro" name="gst_byte_reader_skip_string()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-skip-string" since="0.10.24"/>
-    <keyword type="function" name="gst_byte_reader_skip_string_utf8 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-skip-string-utf8" since="0.10.24"/>
-    <keyword type="function" name="gst_byte_reader_skip_string_utf16 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-skip-string-utf16" since="0.10.24"/>
-    <keyword type="function" name="gst_byte_reader_skip_string_utf32 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-skip-string-utf32" since="0.10.24"/>
-    <keyword type="function" name="gst_byte_reader_skip_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-skip-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_get_int8_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int8-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_get_int16_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int16-be-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_get_int16_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int16-le-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_get_int24_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int24-be-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_get_int24_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int24-le-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_get_int32_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int32-be-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_get_int32_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int32-le-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_get_int64_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int64-be-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_get_int64_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int64-le-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_get_uint8_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint8-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_get_uint16_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint16-be-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_get_uint16_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint16-le-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_get_uint24_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint24-be-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_get_uint24_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint24-le-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_get_uint32_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint32-be-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_get_uint32_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint32-le-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_get_uint64_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint64-be-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_get_uint64_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint64-le-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_peek_int8_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int8-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_peek_int16_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int16-be-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_peek_int16_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int16-le-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_peek_int24_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int24-be-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_peek_int24_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int24-le-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_peek_int32_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int32-be-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_peek_int32_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int32-le-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_peek_int64_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int64-be-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_peek_int64_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int64-le-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_peek_uint8_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint8-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_peek_uint16_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint16-be-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_peek_uint16_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint16-le-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_peek_uint24_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint24-be-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_peek_uint24_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint24-le-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_peek_uint32_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint32-be-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_peek_uint32_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint32-le-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_peek_uint64_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint64-be-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_peek_uint64_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint64-le-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_get_float32_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-float32-le-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_get_float32_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-float32-be-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_get_float64_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-float64-le-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_get_float64_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-float64-be-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_peek_float32_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-float32-le-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_peek_float32_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-float32-be-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_peek_float64_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-float64-le-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_peek_float64_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-float64-be-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_dup_data_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-dup-data-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_get_data_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-data-unchecked" since="0.10.25"/>
-    <keyword type="function" name="gst_byte_reader_peek_data_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-data-unchecked" since="0.10.25"/>
+    <keyword type="function" name="gst_byte_reader_dup_string_utf8 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-dup-string-utf8"/>
+    <keyword type="function" name="gst_byte_reader_dup_string_utf16 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-dup-string-utf16"/>
+    <keyword type="function" name="gst_byte_reader_dup_string_utf32 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-dup-string-utf32"/>
+    <keyword type="macro" name="gst_byte_reader_skip_string()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-skip-string"/>
+    <keyword type="function" name="gst_byte_reader_skip_string_utf8 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-skip-string-utf8"/>
+    <keyword type="function" name="gst_byte_reader_skip_string_utf16 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-skip-string-utf16"/>
+    <keyword type="function" name="gst_byte_reader_skip_string_utf32 ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-skip-string-utf32"/>
+    <keyword type="function" name="gst_byte_reader_skip_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-skip-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_get_int8_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int8-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_get_int16_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int16-be-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_get_int16_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int16-le-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_get_int24_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int24-be-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_get_int24_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int24-le-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_get_int32_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int32-be-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_get_int32_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int32-le-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_get_int64_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int64-be-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_get_int64_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-int64-le-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_get_uint8_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint8-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_get_uint16_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint16-be-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_get_uint16_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint16-le-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_get_uint24_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint24-be-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_get_uint24_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint24-le-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_get_uint32_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint32-be-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_get_uint32_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint32-le-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_get_uint64_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint64-be-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_get_uint64_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-uint64-le-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_peek_int8_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int8-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_peek_int16_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int16-be-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_peek_int16_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int16-le-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_peek_int24_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int24-be-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_peek_int24_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int24-le-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_peek_int32_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int32-be-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_peek_int32_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int32-le-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_peek_int64_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int64-be-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_peek_int64_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-int64-le-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_peek_uint8_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint8-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_peek_uint16_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint16-be-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_peek_uint16_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint16-le-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_peek_uint24_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint24-be-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_peek_uint24_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint24-le-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_peek_uint32_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint32-be-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_peek_uint32_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint32-le-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_peek_uint64_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint64-be-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_peek_uint64_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-uint64-le-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_get_float32_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-float32-le-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_get_float32_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-float32-be-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_get_float64_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-float64-le-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_get_float64_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-float64-be-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_peek_float32_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-float32-le-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_peek_float32_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-float32-be-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_peek_float64_le_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-float64-le-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_peek_float64_be_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-float64-be-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_dup_data_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-dup-data-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_get_data_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-get-data-unchecked"/>
+    <keyword type="function" name="gst_byte_reader_peek_data_unchecked ()" link="gstreamer-libs-GstByteReader.html#gst-byte-reader-peek-data-unchecked"/>
     <keyword type="struct" name="GstByteWriter" link="gstreamer-libs-GstByteWriter.html#GstByteWriter"/>
-    <keyword type="function" name="gst_byte_writer_new ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-new" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_new_with_data ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-new-with-data" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_new_with_size ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-new-with-size" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_init ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-init" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_init_with_data ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-init-with-data" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_init_with_size ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-init-with-size" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_free ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-free" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_free_and_get_buffer ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-free-and-get-buffer" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_free_and_get_data ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-free-and-get-data" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_reset ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-reset" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_reset_and_get_data ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-reset-and-get-data" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_reset_and_get_buffer ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-reset-and-get-buffer" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_get_pos ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-get-pos" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_set_pos ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-set-pos" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_get_remaining ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-get-remaining" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_get_size ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-get-size" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_ensure_free_space ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-ensure-free-space" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_put_int8 ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int8" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_put_int16_be ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int16-be" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_put_int16_le ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int16-le" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_put_int24_be ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int24-be" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_put_int24_le ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int24-le" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_put_int32_be ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int32-be" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_put_int32_le ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int32-le" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_put_int64_be ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int64-be" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_put_int64_le ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int64-le" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_put_uint8 ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint8" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_put_uint16_be ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint16-be" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_put_uint16_le ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint16-le" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_put_uint24_be ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint24-be" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_put_uint24_le ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint24-le" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_put_uint32_be ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint32-be" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_put_uint32_le ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint32-le" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_put_uint64_be ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint64-be" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_put_uint64_le ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint64-le" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_put_float32_be ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-float32-be" since="0.10.27"/>
-    <keyword type="function" name="gst_byte_writer_put_float32_le ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-float32-le" since="0.10.27"/>
-    <keyword type="function" name="gst_byte_writer_put_float64_be ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-float64-be" since="0.10.27"/>
-    <keyword type="function" name="gst_byte_writer_put_float64_le ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-float64-le" since="0.10.27"/>
-    <keyword type="macro" name="gst_byte_writer_put_string()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-string" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_put_string_utf16 ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-string-utf16" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_put_string_utf32 ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-string-utf32" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_put_string_utf8 ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-string-utf8" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_put_data ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-data" since="0.10.26"/>
-    <keyword type="function" name="gst_byte_writer_fill ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-fill" since="0.10.27"/>
+    <keyword type="function" name="gst_byte_writer_new ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-new"/>
+    <keyword type="function" name="gst_byte_writer_new_with_data ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-new-with-data"/>
+    <keyword type="function" name="gst_byte_writer_new_with_size ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-new-with-size"/>
+    <keyword type="function" name="gst_byte_writer_init ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-init"/>
+    <keyword type="function" name="gst_byte_writer_init_with_data ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-init-with-data"/>
+    <keyword type="function" name="gst_byte_writer_init_with_size ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-init-with-size"/>
+    <keyword type="function" name="gst_byte_writer_free ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-free"/>
+    <keyword type="function" name="gst_byte_writer_free_and_get_buffer ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-free-and-get-buffer"/>
+    <keyword type="function" name="gst_byte_writer_free_and_get_data ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-free-and-get-data"/>
+    <keyword type="function" name="gst_byte_writer_reset ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-reset"/>
+    <keyword type="function" name="gst_byte_writer_reset_and_get_data ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-reset-and-get-data"/>
+    <keyword type="function" name="gst_byte_writer_reset_and_get_buffer ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-reset-and-get-buffer"/>
+    <keyword type="function" name="gst_byte_writer_get_pos ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-get-pos"/>
+    <keyword type="function" name="gst_byte_writer_set_pos ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-set-pos"/>
+    <keyword type="function" name="gst_byte_writer_get_remaining ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-get-remaining"/>
+    <keyword type="function" name="gst_byte_writer_get_size ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-get-size"/>
+    <keyword type="function" name="gst_byte_writer_ensure_free_space ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-ensure-free-space"/>
+    <keyword type="function" name="gst_byte_writer_put_int8 ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int8"/>
+    <keyword type="function" name="gst_byte_writer_put_int16_be ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int16-be"/>
+    <keyword type="function" name="gst_byte_writer_put_int16_le ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int16-le"/>
+    <keyword type="function" name="gst_byte_writer_put_int24_be ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int24-be"/>
+    <keyword type="function" name="gst_byte_writer_put_int24_le ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int24-le"/>
+    <keyword type="function" name="gst_byte_writer_put_int32_be ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int32-be"/>
+    <keyword type="function" name="gst_byte_writer_put_int32_le ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int32-le"/>
+    <keyword type="function" name="gst_byte_writer_put_int64_be ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int64-be"/>
+    <keyword type="function" name="gst_byte_writer_put_int64_le ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int64-le"/>
+    <keyword type="function" name="gst_byte_writer_put_uint8 ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint8"/>
+    <keyword type="function" name="gst_byte_writer_put_uint16_be ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint16-be"/>
+    <keyword type="function" name="gst_byte_writer_put_uint16_le ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint16-le"/>
+    <keyword type="function" name="gst_byte_writer_put_uint24_be ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint24-be"/>
+    <keyword type="function" name="gst_byte_writer_put_uint24_le ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint24-le"/>
+    <keyword type="function" name="gst_byte_writer_put_uint32_be ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint32-be"/>
+    <keyword type="function" name="gst_byte_writer_put_uint32_le ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint32-le"/>
+    <keyword type="function" name="gst_byte_writer_put_uint64_be ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint64-be"/>
+    <keyword type="function" name="gst_byte_writer_put_uint64_le ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint64-le"/>
+    <keyword type="function" name="gst_byte_writer_put_float32_be ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-float32-be"/>
+    <keyword type="function" name="gst_byte_writer_put_float32_le ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-float32-le"/>
+    <keyword type="function" name="gst_byte_writer_put_float64_be ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-float64-be"/>
+    <keyword type="function" name="gst_byte_writer_put_float64_le ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-float64-le"/>
+    <keyword type="macro" name="gst_byte_writer_put_string()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-string"/>
+    <keyword type="function" name="gst_byte_writer_put_string_utf16 ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-string-utf16"/>
+    <keyword type="function" name="gst_byte_writer_put_string_utf32 ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-string-utf32"/>
+    <keyword type="function" name="gst_byte_writer_put_string_utf8 ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-string-utf8"/>
+    <keyword type="function" name="gst_byte_writer_put_data ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-data"/>
+    <keyword type="function" name="gst_byte_writer_fill ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-fill"/>
     <keyword type="function" name="gst_byte_writer_put_int8_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int8-unchecked"/>
-    <keyword type="function" name="gst_byte_writer_put_int16_be_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int16-be-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_byte_writer_put_int16_le_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int16-le-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_byte_writer_put_int24_be_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int24-be-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_byte_writer_put_int24_le_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int24-le-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_byte_writer_put_int32_be_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int32-be-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_byte_writer_put_int32_le_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int32-le-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_byte_writer_put_int64_be_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int64-be-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_byte_writer_put_int64_le_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int64-le-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_byte_writer_put_uint8_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint8-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_byte_writer_put_uint16_be_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint16-be-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_byte_writer_put_uint16_le_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint16-le-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_byte_writer_put_uint24_be_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint24-be-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_byte_writer_put_uint24_le_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint24-le-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_byte_writer_put_uint32_be_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint32-be-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_byte_writer_put_uint32_le_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint32-le-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_byte_writer_put_uint64_be_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint64-be-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_byte_writer_put_uint64_le_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint64-le-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_byte_writer_put_float32_be_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-float32-be-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_byte_writer_put_float32_le_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-float32-le-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_byte_writer_put_float64_be_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-float64-be-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_byte_writer_put_float64_le_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-float64-le-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_byte_writer_put_data_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-data-unchecked" since="0.10.31"/>
-    <keyword type="function" name="gst_byte_writer_fill_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-fill-unchecked" since="0.10.31"/>
+    <keyword type="function" name="gst_byte_writer_put_int16_be_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int16-be-unchecked"/>
+    <keyword type="function" name="gst_byte_writer_put_int16_le_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int16-le-unchecked"/>
+    <keyword type="function" name="gst_byte_writer_put_int24_be_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int24-be-unchecked"/>
+    <keyword type="function" name="gst_byte_writer_put_int24_le_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int24-le-unchecked"/>
+    <keyword type="function" name="gst_byte_writer_put_int32_be_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int32-be-unchecked"/>
+    <keyword type="function" name="gst_byte_writer_put_int32_le_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int32-le-unchecked"/>
+    <keyword type="function" name="gst_byte_writer_put_int64_be_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int64-be-unchecked"/>
+    <keyword type="function" name="gst_byte_writer_put_int64_le_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-int64-le-unchecked"/>
+    <keyword type="function" name="gst_byte_writer_put_uint8_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint8-unchecked"/>
+    <keyword type="function" name="gst_byte_writer_put_uint16_be_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint16-be-unchecked"/>
+    <keyword type="function" name="gst_byte_writer_put_uint16_le_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint16-le-unchecked"/>
+    <keyword type="function" name="gst_byte_writer_put_uint24_be_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint24-be-unchecked"/>
+    <keyword type="function" name="gst_byte_writer_put_uint24_le_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint24-le-unchecked"/>
+    <keyword type="function" name="gst_byte_writer_put_uint32_be_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint32-be-unchecked"/>
+    <keyword type="function" name="gst_byte_writer_put_uint32_le_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint32-le-unchecked"/>
+    <keyword type="function" name="gst_byte_writer_put_uint64_be_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint64-be-unchecked"/>
+    <keyword type="function" name="gst_byte_writer_put_uint64_le_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-uint64-le-unchecked"/>
+    <keyword type="function" name="gst_byte_writer_put_float32_be_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-float32-be-unchecked"/>
+    <keyword type="function" name="gst_byte_writer_put_float32_le_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-float32-le-unchecked"/>
+    <keyword type="function" name="gst_byte_writer_put_float64_be_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-float64-be-unchecked"/>
+    <keyword type="function" name="gst_byte_writer_put_float64_le_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-float64-le-unchecked"/>
+    <keyword type="function" name="gst_byte_writer_put_data_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-put-data-unchecked"/>
+    <keyword type="function" name="gst_byte_writer_fill_unchecked ()" link="gstreamer-libs-GstByteWriter.html#gst-byte-writer-fill-unchecked"/>
     <keyword type="struct" name="struct GstCollectPads" link="GstCollectPads.html#GstCollectPads-struct"/>
-    <keyword type="struct" name="struct GstCollectData" link="GstCollectPads.html#GstCollectData" since="0.10.36"/>
-    <keyword type="function" name="GstCollectDataDestroyNotify ()" link="GstCollectPads.html#GstCollectDataDestroyNotify" since="0.10.36"/>
-    <keyword type="function" name="GstCollectPadsBufferFunction ()" link="GstCollectPads.html#GstCollectPadsBufferFunction" since="0.10.36"/>
-    <keyword type="function" name="GstCollectPadsCompareFunction ()" link="GstCollectPads.html#GstCollectPadsCompareFunction" since="0.10.36"/>
-    <keyword type="function" name="GstCollectPadsEventFunction ()" link="GstCollectPads.html#GstCollectPadsEventFunction" since="0.10.36"/>
-    <keyword type="function" name="GstCollectPadsClipFunction ()" link="GstCollectPads.html#GstCollectPadsClipFunction" since="0.10.36"/>
-    <keyword type="function" name="GstCollectPadsFunction ()" link="GstCollectPads.html#GstCollectPadsFunction" since="0.10.36"/>
-    <keyword type="enum" name="enum GstCollectPadsStateFlags" link="GstCollectPads.html#GstCollectPadsStateFlags" since="0.10.36"/>
-    <keyword type="macro" name="GST_COLLECT_PADS_STATE()" link="GstCollectPads.html#GST-COLLECT-PADS-STATE:CAPS" since="0.10.36"/>
-    <keyword type="macro" name="GST_COLLECT_PADS_STATE_IS_SET()" link="GstCollectPads.html#GST-COLLECT-PADS-STATE-IS-SET:CAPS" since="0.10.36"/>
-    <keyword type="macro" name="GST_COLLECT_PADS_STATE_SET()" link="GstCollectPads.html#GST-COLLECT-PADS-STATE-SET:CAPS" since="0.10.36"/>
-    <keyword type="macro" name="GST_COLLECT_PADS_STATE_UNSET()" link="GstCollectPads.html#GST-COLLECT-PADS-STATE-UNSET:CAPS" since="0.10.36"/>
-    <keyword type="macro" name="GST_COLLECT_PADS_GET_STREAM_LOCK()" link="GstCollectPads.html#GST-COLLECT-PADS-GET-STREAM-LOCK:CAPS" since="0.10.36"/>
-    <keyword type="macro" name="GST_COLLECT_PADS_STREAM_LOCK()" link="GstCollectPads.html#GST-COLLECT-PADS-STREAM-LOCK:CAPS" since="0.10.36"/>
-    <keyword type="macro" name="GST_COLLECT_PADS_STREAM_UNLOCK()" link="GstCollectPads.html#GST-COLLECT-PADS-STREAM-UNLOCK:CAPS" since="0.10.36"/>
-    <keyword type="function" name="gst_collect_pads_new ()" link="GstCollectPads.html#gst-collect-pads-new" since="0.10.36"/>
-    <keyword type="function" name="gst_collect_pads_add_pad ()" link="GstCollectPads.html#gst-collect-pads-add-pad" since="0.10.36"/>
-    <keyword type="function" name="gst_collect_pads_add_pad_full ()" link="GstCollectPads.html#gst-collect-pads-add-pad-full" since="0.10.36"/>
-    <keyword type="function" name="gst_collect_pads_remove_pad ()" link="GstCollectPads.html#gst-collect-pads-remove-pad" since="0.10.36"/>
-    <keyword type="function" name="gst_collect_pads_start ()" link="GstCollectPads.html#gst-collect-pads-start" since="0.10.36"/>
-    <keyword type="function" name="gst_collect_pads_stop ()" link="GstCollectPads.html#gst-collect-pads-stop" since="0.10.36"/>
-    <keyword type="function" name="gst_collect_pads_available ()" link="GstCollectPads.html#gst-collect-pads-available" since="0.10.36"/>
-    <keyword type="function" name="gst_collect_pads_is_active ()" link="GstCollectPads.html#gst-collect-pads-is-active" since="0.10.36"/>
-    <keyword type="function" name="gst_collect_pads_collect ()" link="GstCollectPads.html#gst-collect-pads-collect" since="0.10.36"/>
-    <keyword type="function" name="gst_collect_pads_collect_range ()" link="GstCollectPads.html#gst-collect-pads-collect-range" since="0.10.36"/>
-    <keyword type="function" name="gst_collect_pads_flush ()" link="GstCollectPads.html#gst-collect-pads-flush" since="0.10.36"/>
-    <keyword type="function" name="gst_collect_pads_peek ()" link="GstCollectPads.html#gst-collect-pads-peek" since="0.10.36"/>
-    <keyword type="function" name="gst_collect_pads_pop ()" link="GstCollectPads.html#gst-collect-pads-pop" since="0.10.36"/>
-    <keyword type="function" name="gst_collect_pads_read_buffer ()" link="GstCollectPads.html#gst-collect-pads-read-buffer" since="0.10.36"/>
-    <keyword type="function" name="gst_collect_pads_take_buffer ()" link="GstCollectPads.html#gst-collect-pads-take-buffer" since="0.10.36"/>
-    <keyword type="function" name="gst_collect_pads_set_buffer_function ()" link="GstCollectPads.html#gst-collect-pads-set-buffer-function" since="0.10.36"/>
-    <keyword type="function" name="gst_collect_pads_set_compare_function ()" link="GstCollectPads.html#gst-collect-pads-set-compare-function" since="0.10.36"/>
-    <keyword type="function" name="gst_collect_pads_set_event_function ()" link="GstCollectPads.html#gst-collect-pads-set-event-function" since="0.10.36"/>
-    <keyword type="function" name="gst_collect_pads_set_clip_function ()" link="GstCollectPads.html#gst-collect-pads-set-clip-function" since="0.10.36"/>
-    <keyword type="function" name="gst_collect_pads_set_flushing ()" link="GstCollectPads.html#gst-collect-pads-set-flushing" since="0.10.36"/>
-    <keyword type="function" name="gst_collect_pads_set_function ()" link="GstCollectPads.html#gst-collect-pads-set-function" since="0.10.36"/>
-    <keyword type="function" name="gst_collect_pads_set_waiting ()" link="GstCollectPads.html#gst-collect-pads-set-waiting" since="0.10.36"/>
+    <keyword type="struct" name="struct GstCollectData" link="GstCollectPads.html#GstCollectData"/>
+    <keyword type="function" name="GstCollectDataDestroyNotify ()" link="GstCollectPads.html#GstCollectDataDestroyNotify"/>
+    <keyword type="function" name="GstCollectPadsBufferFunction ()" link="GstCollectPads.html#GstCollectPadsBufferFunction"/>
+    <keyword type="function" name="GstCollectPadsCompareFunction ()" link="GstCollectPads.html#GstCollectPadsCompareFunction"/>
+    <keyword type="function" name="GstCollectPadsEventFunction ()" link="GstCollectPads.html#GstCollectPadsEventFunction"/>
+    <keyword type="function" name="GstCollectPadsClipFunction ()" link="GstCollectPads.html#GstCollectPadsClipFunction"/>
+    <keyword type="function" name="GstCollectPadsFunction ()" link="GstCollectPads.html#GstCollectPadsFunction"/>
+    <keyword type="enum" name="enum GstCollectPadsStateFlags" link="GstCollectPads.html#GstCollectPadsStateFlags"/>
+    <keyword type="macro" name="GST_COLLECT_PADS_STATE()" link="GstCollectPads.html#GST-COLLECT-PADS-STATE:CAPS"/>
+    <keyword type="macro" name="GST_COLLECT_PADS_STATE_IS_SET()" link="GstCollectPads.html#GST-COLLECT-PADS-STATE-IS-SET:CAPS"/>
+    <keyword type="macro" name="GST_COLLECT_PADS_STATE_SET()" link="GstCollectPads.html#GST-COLLECT-PADS-STATE-SET:CAPS"/>
+    <keyword type="macro" name="GST_COLLECT_PADS_STATE_UNSET()" link="GstCollectPads.html#GST-COLLECT-PADS-STATE-UNSET:CAPS"/>
+    <keyword type="macro" name="GST_COLLECT_PADS_GET_STREAM_LOCK()" link="GstCollectPads.html#GST-COLLECT-PADS-GET-STREAM-LOCK:CAPS"/>
+    <keyword type="macro" name="GST_COLLECT_PADS_STREAM_LOCK()" link="GstCollectPads.html#GST-COLLECT-PADS-STREAM-LOCK:CAPS"/>
+    <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"/>
+    <keyword type="function" name="gst_collect_pads_available ()" link="GstCollectPads.html#gst-collect-pads-available"/>
+    <keyword type="function" name="gst_collect_pads_flush ()" link="GstCollectPads.html#gst-collect-pads-flush"/>
+    <keyword type="function" name="gst_collect_pads_peek ()" link="GstCollectPads.html#gst-collect-pads-peek"/>
+    <keyword type="function" name="gst_collect_pads_pop ()" link="GstCollectPads.html#gst-collect-pads-pop"/>
+    <keyword type="function" name="gst_collect_pads_read_buffer ()" link="GstCollectPads.html#gst-collect-pads-read-buffer"/>
+    <keyword type="function" name="gst_collect_pads_take_buffer ()" link="GstCollectPads.html#gst-collect-pads-take-buffer"/>
+    <keyword type="function" name="gst_collect_pads_set_buffer_function ()" link="GstCollectPads.html#gst-collect-pads-set-buffer-function"/>
+    <keyword type="function" name="gst_collect_pads_set_compare_function ()" link="GstCollectPads.html#gst-collect-pads-set-compare-function"/>
+    <keyword type="function" name="gst_collect_pads_set_event_function ()" link="GstCollectPads.html#gst-collect-pads-set-event-function"/>
+    <keyword type="function" name="gst_collect_pads_set_clip_function ()" link="GstCollectPads.html#gst-collect-pads-set-clip-function"/>
+    <keyword type="function" name="gst_collect_pads_set_flushing ()" link="GstCollectPads.html#gst-collect-pads-set-flushing"/>
+    <keyword type="function" name="gst_collect_pads_set_function ()" link="GstCollectPads.html#gst-collect-pads-set-function"/>
+    <keyword type="function" name="gst_collect_pads_set_waiting ()" link="GstCollectPads.html#gst-collect-pads-set-waiting"/>
     <keyword type="function" name="gst_type_find_helper ()" link="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper"/>
     <keyword type="function" name="gst_type_find_helper_for_buffer ()" link="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-for-buffer"/>
-    <keyword type="function" name="gst_type_find_helper_for_extension ()" link="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-for-extension" since="0.10.23"/>
+    <keyword type="function" name="gst_type_find_helper_for_extension ()" link="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-for-extension"/>
     <keyword type="function" name="gst_type_find_helper_for_data ()" link="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-for-data"/>
     <keyword type="function" name="GstTypeFindHelperGetRangeFunction ()" link="gstreamer-libs-GstTypeFindHelper.html#GstTypeFindHelperGetRangeFunction"/>
-    <keyword type="function" name="gst_type_find_helper_get_range ()" link="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-get-range" since="0.10.26"/>
+    <keyword type="function" name="gst_type_find_helper_get_range ()" link="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-get-range"/>
     <keyword type="struct" name="struct GstTimedValueControlSource" link="GstTimedValueControlSource.html#GstTimedValueControlSource-struct"/>
     <keyword type="function" name="gst_timed_value_control_source_find_control_point_iter ()" link="GstTimedValueControlSource.html#gst-timed-value-control-source-find-control-point-iter"/>
     <keyword type="function" name="gst_timed_value_control_source_set ()" link="GstTimedValueControlSource.html#gst-timed-value-control-source-set"/>
@@ -477,13 +473,13 @@
     <keyword type="macro" name="ASSERT_OBJECT_REFCOUNT_BETWEEN()" link="gstreamer-libs-GstCheck.html#ASSERT-OBJECT-REFCOUNT-BETWEEN:CAPS"/>
     <keyword type="macro" name="ASSERT_SET_STATE()" link="gstreamer-libs-GstCheck.html#ASSERT-SET-STATE:CAPS"/>
     <keyword type="macro" name="fail_unless_equals_int()" link="gstreamer-libs-GstCheck.html#fail-unless-equals-int"/>
-    <keyword type="macro" name="fail_unless_equals_float()" link="gstreamer-libs-GstCheck.html#fail-unless-equals-float" since="0.10.14"/>
+    <keyword type="macro" name="fail_unless_equals_float()" link="gstreamer-libs-GstCheck.html#fail-unless-equals-float"/>
     <keyword type="macro" name="fail_unless_equals_string()" link="gstreamer-libs-GstCheck.html#fail-unless-equals-string"/>
     <keyword type="macro" name="fail_unless_equals_uint64()" link="gstreamer-libs-GstCheck.html#fail-unless-equals-uint64"/>
     <keyword type="macro" name="fail_unless_equals_int64()" link="gstreamer-libs-GstCheck.html#fail-unless-equals-int64"/>
     <keyword type="macro" name="fail_unless_message_error()" link="gstreamer-libs-GstCheck.html#fail-unless-message-error"/>
     <keyword type="macro" name="assert_equals_int()" link="gstreamer-libs-GstCheck.html#assert-equals-int"/>
-    <keyword type="macro" name="assert_equals_float()" link="gstreamer-libs-GstCheck.html#assert-equals-float" since="0.10.14"/>
+    <keyword type="macro" name="assert_equals_float()" link="gstreamer-libs-GstCheck.html#assert-equals-float"/>
     <keyword type="macro" name="assert_equals_string()" link="gstreamer-libs-GstCheck.html#assert-equals-string"/>
     <keyword type="macro" name="assert_equals_uint64()" link="gstreamer-libs-GstCheck.html#assert-equals-uint64"/>
     <keyword type="macro" name="assert_equals_int64()" link="gstreamer-libs-GstCheck.html#assert-equals-int64"/>
@@ -499,19 +495,19 @@
     <keyword type="function" name="gst_check_teardown_element ()" link="gstreamer-libs-GstCheck.html#gst-check-teardown-element"/>
     <keyword type="function" name="gst_check_teardown_sink_pad ()" link="gstreamer-libs-GstCheck.html#gst-check-teardown-sink-pad"/>
     <keyword type="function" name="gst_check_teardown_src_pad ()" link="gstreamer-libs-GstCheck.html#gst-check-teardown-src-pad"/>
-    <keyword type="function" name="gst_check_drop_buffers ()" link="gstreamer-libs-GstCheck.html#gst-check-drop-buffers" since="0.10.18"/>
+    <keyword type="function" name="gst_check_drop_buffers ()" link="gstreamer-libs-GstCheck.html#gst-check-drop-buffers"/>
     <keyword type="function" name="gst_check_buffer_data ()" link="gstreamer-libs-GstCheck.html#gst-check-buffer-data"/>
-    <keyword type="function" name="gst_check_caps_equal ()" link="gstreamer-libs-GstCheck.html#gst-check-caps-equal" since="0.10.18"/>
-    <keyword type="function" name="gst_check_element_push_buffer_list ()" link="gstreamer-libs-GstCheck.html#gst-check-element-push-buffer-list" since="0.10.18"/>
-    <keyword type="function" name="gst_check_element_push_buffer ()" link="gstreamer-libs-GstCheck.html#gst-check-element-push-buffer" since="0.10.18"/>
+    <keyword type="function" name="gst_check_caps_equal ()" link="gstreamer-libs-GstCheck.html#gst-check-caps-equal"/>
+    <keyword type="function" name="gst_check_element_push_buffer_list ()" link="gstreamer-libs-GstCheck.html#gst-check-element-push-buffer-list"/>
+    <keyword type="function" name="gst_check_element_push_buffer ()" link="gstreamer-libs-GstCheck.html#gst-check-element-push-buffer"/>
     <keyword type="function" name="gst_check_run_suite ()" link="gstreamer-libs-GstCheck.html#gst-check-run-suite"/>
     <keyword type="function" name="gst_buffer_straw_start_pipeline ()" link="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-start-pipeline"/>
     <keyword type="function" name="gst_buffer_straw_get_buffer ()" link="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-get-buffer"/>
     <keyword type="function" name="gst_buffer_straw_stop_pipeline ()" link="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-stop-pipeline"/>
-    <keyword type="struct" name="GstStreamConsistency" link="gstreamer-libs-GstStreamConsistency.html#GstStreamConsistency" since="0.10.24"/>
-    <keyword type="function" name="gst_consistency_checker_new ()" link="gstreamer-libs-GstStreamConsistency.html#gst-consistency-checker-new" since="0.10.24"/>
-    <keyword type="function" name="gst_consistency_checker_reset ()" link="gstreamer-libs-GstStreamConsistency.html#gst-consistency-checker-reset" since="0.10.24"/>
-    <keyword type="function" name="gst_consistency_checker_free ()" link="gstreamer-libs-GstStreamConsistency.html#gst-consistency-checker-free" since="0.10.24"/>
+    <keyword type="struct" name="GstStreamConsistency" link="gstreamer-libs-GstStreamConsistency.html#GstStreamConsistency"/>
+    <keyword type="function" name="gst_consistency_checker_new ()" link="gstreamer-libs-GstStreamConsistency.html#gst-consistency-checker-new"/>
+    <keyword type="function" name="gst_consistency_checker_reset ()" link="gstreamer-libs-GstStreamConsistency.html#gst-consistency-checker-reset"/>
+    <keyword type="function" name="gst_consistency_checker_free ()" link="gstreamer-libs-GstStreamConsistency.html#gst-consistency-checker-free"/>
     <keyword type="constant" name="GST_BASE_PARSE_FRAME_FLAG_NONE" link="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-FRAME-FLAG-NONE:CAPS"/>
     <keyword type="constant" name="GST_BASE_PARSE_FRAME_FLAG_NEW_FRAME" link="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-FRAME-FLAG-NEW-FRAME:CAPS"/>
     <keyword type="constant" name="GST_BASE_PARSE_FRAME_FLAG_NO_FRAME" link="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-FRAME-FLAG-NO-FRAME:CAPS"/>
diff --git a/docs/libs/html/gstreamer-libs.html b/docs/libs/html/gstreamer-libs.html
index 0f61876..809bddf 100644
--- a/docs/libs/html/gstreamer-libs.html
+++ b/docs/libs/html/gstreamer-libs.html
@@ -34,7 +34,7 @@
 <span class="refentrytitle"><a href="GstBaseSrc.html">GstBaseSrc</a></span><span class="refpurpose"> — Base class for getrange based source elements</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstBaseSink.html">GstBaseSink</a></span><span class="refpurpose"> — Base class for sink elements</span>
+<span class="refentrytitle"><a href="GstBaseSink.html">GstBaseSink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="GstBaseTransform.html">GstBaseTransform</a></span><span class="refpurpose"> — Base class for simple transform filters</span>
diff --git a/docs/libs/html/index.html b/docs/libs/html/index.html
index bf26df4..a5a8116 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.91.1)
+      for GStreamer Library 1.0 (0.11.93)
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/</a>.
     </p></div>
@@ -34,7 +34,7 @@
 <span class="refentrytitle"><a href="GstBaseSrc.html">GstBaseSrc</a></span><span class="refpurpose"> — Base class for getrange based source elements</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstBaseSink.html">GstBaseSink</a></span><span class="refpurpose"> — Base class for sink elements</span>
+<span class="refentrytitle"><a href="GstBaseSink.html">GstBaseSink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="GstBaseTransform.html">GstBaseTransform</a></span><span class="refpurpose"> — Base class for simple transform filters</span>
diff --git a/docs/libs/html/index.sgml b/docs/libs/html/index.sgml
index 13940c0..941bdb6 100644
--- a/docs/libs/html/index.sgml
+++ b/docs/libs/html/index.sgml
@@ -79,7 +79,6 @@
 <ANCHOR id="gst-base-sink-do-preroll" href="gstreamer-libs-1.0/GstBaseSink.html#gst-base-sink-do-preroll">
 <ANCHOR id="gst-base-sink-wait-preroll" href="gstreamer-libs-1.0/GstBaseSink.html#gst-base-sink-wait-preroll">
 <ANCHOR id="gst-base-sink-wait-clock" href="gstreamer-libs-1.0/GstBaseSink.html#gst-base-sink-wait-clock">
-<ANCHOR id="gst-base-sink-wait-eos" href="gstreamer-libs-1.0/GstBaseSink.html#gst-base-sink-wait-eos">
 <ANCHOR id="gst-base-sink-set-sync" href="gstreamer-libs-1.0/GstBaseSink.html#gst-base-sink-set-sync">
 <ANCHOR id="gst-base-sink-get-sync" href="gstreamer-libs-1.0/GstBaseSink.html#gst-base-sink-get-sync">
 <ANCHOR id="gst-base-sink-set-max-lateness" href="gstreamer-libs-1.0/GstBaseSink.html#gst-base-sink-set-max-lateness">
@@ -117,7 +116,6 @@
 <ANCHOR id="GstBaseSink--sync" href="gstreamer-libs-1.0/GstBaseSink.html#GstBaseSink--sync">
 <ANCHOR id="GstBaseSink--throttle-time" href="gstreamer-libs-1.0/GstBaseSink.html#GstBaseSink--throttle-time">
 <ANCHOR id="GstBaseSink--ts-offset" href="gstreamer-libs-1.0/GstBaseSink.html#GstBaseSink--ts-offset">
-<ANCHOR id="GstBaseSink.see-also" href="gstreamer-libs-1.0/GstBaseSink.html#GstBaseSink.see-also">
 <ANCHOR id="GstBaseTransform" href="gstreamer-libs-1.0/GstBaseTransform.html">
 <ANCHOR id="GstBaseTransform.synopsis" href="gstreamer-libs-1.0/GstBaseTransform.html#GstBaseTransform.synopsis">
 <ANCHOR id="GstBaseTransform.object-hierarchy" href="gstreamer-libs-1.0/GstBaseTransform.html#GstBaseTransform.object-hierarchy">
@@ -433,9 +431,6 @@
 <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">
 <ANCHOR id="gst-collect-pads-available" href="gstreamer-libs-1.0/GstCollectPads.html#gst-collect-pads-available">
-<ANCHOR id="gst-collect-pads-is-active" href="gstreamer-libs-1.0/GstCollectPads.html#gst-collect-pads-is-active">
-<ANCHOR id="gst-collect-pads-collect" href="gstreamer-libs-1.0/GstCollectPads.html#gst-collect-pads-collect">
-<ANCHOR id="gst-collect-pads-collect-range" href="gstreamer-libs-1.0/GstCollectPads.html#gst-collect-pads-collect-range">
 <ANCHOR id="gst-collect-pads-flush" href="gstreamer-libs-1.0/GstCollectPads.html#gst-collect-pads-flush">
 <ANCHOR id="gst-collect-pads-peek" href="gstreamer-libs-1.0/GstCollectPads.html#gst-collect-pads-peek">
 <ANCHOR id="gst-collect-pads-pop" href="gstreamer-libs-1.0/GstCollectPads.html#gst-collect-pads-pop">
diff --git a/docs/manual/Makefile.in b/docs/manual/Makefile.in
index 87fcbf8..ef9dd93 100644
--- a/docs/manual/Makefile.in
+++ b/docs/manual/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -221,7 +221,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/docs/plugins/Makefile.in b/docs/plugins/Makefile.in
index 611fd09..5d60f4d 100644
--- a/docs/plugins/Makefile.in
+++ b/docs/plugins/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -186,7 +186,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/docs/plugins/html/ch01.html b/docs/plugins/html/ch01.html
index 2d6be16..bf8b32c 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="idp3396736"></a>gstreamer Elements</h2></div></div></div>
+<a name="idp2939968"></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 71508b0..bac70cc 100644
--- a/docs/plugins/html/ch02.html
+++ b/docs/plugins/html/ch02.html
@@ -21,7 +21,7 @@
 </tr></table>
 <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="idp235456"></a>gstreamer Plugins</h2></div></div></div>
+<a name="idp282304"></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>
 </dt></dl></div>
diff --git a/docs/plugins/html/gstreamer-plugins-capsfilter.html b/docs/plugins/html/gstreamer-plugins-capsfilter.html
index c3e8f2c..b1767e8 100644
--- a/docs/plugins/html/gstreamer-plugins-capsfilter.html
+++ b/docs/plugins/html/gstreamer-plugins-capsfilter.html
@@ -49,16 +49,16 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                     +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseTransform.html">GstBaseTransform</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
+                     +----<a href="../gstreamer-libs-1.0/GstBaseTransform.html">GstBaseTransform</a>
                            +----GstCapsFilter
 </pre>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-capsfilter.properties"></a><h2>Properties</h2>
 <pre class="synopsis">
-  "<a class="link" href="gstreamer-plugins-capsfilter.html#GstCapsFilter--caps" title='The "caps" property'>caps</a>"                     <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read / Write
+  "<a class="link" href="gstreamer-plugins-capsfilter.html#GstCapsFilter--caps" title='The "caps" property'>caps</a>"                     <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read / Write
 </pre>
 </div>
 <div class="refsect1">
@@ -70,7 +70,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp7212656"></a><h3>Example launch line</h3>
+<a name="idp8444528"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -88,7 +88,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp7705936"></a><h3>Element Information</h3>
+<a name="idp7503952"></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="idp135056"></a><h3>Element Pads</h3>
+<a name="idp81264"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -173,7 +173,7 @@
 <a name="gstreamer-plugins-capsfilter.property-details"></a><h2>Property Details</h2>
 <div class="refsect2">
 <a name="GstCapsFilter--caps"></a><h3>The <code class="literal">"caps"</code> property</h3>
-<pre class="programlisting">  "caps"                     <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read / Write</pre>
+<pre class="programlisting">  "caps"                     <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read / Write</pre>
 <p>Restrict the possible allowed capabilities (NULL means ANY). Setting this property takes a reference to the supplied GstCaps object.</p>
 </div>
 </div>
diff --git a/docs/plugins/html/gstreamer-plugins-fakesink.html b/docs/plugins/html/gstreamer-plugins-fakesink.html
index c45b9e0..454cbb5 100644
--- a/docs/plugins/html/gstreamer-plugins-fakesink.html
+++ b/docs/plugins/html/gstreamer-plugins-fakesink.html
@@ -52,9 +52,9 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                     +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSink.html">GstBaseSink</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
+                     +----<a href="../gstreamer-libs-1.0/GstBaseSink.html">GstBaseSink</a>
                            +----GstFakeSink
 </pre>
 </div>
@@ -86,7 +86,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp6480224"></a><h3>Example launch line</h3>
+<a name="idp6365968"></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="idp6482832"></a><h3>Element Information</h3>
+<a name="idp10164512"></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="idp10479328"></a><h3>Element Pads</h3>
+<a name="idp10172048"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -285,8 +285,8 @@
 <div class="refsect2">
 <a name="GstFakeSink-handoff"></a><h3>The <code class="literal">"handoff"</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gstreamer-plugins-fakesink.html#GstFakeSink"><span class="type">GstFakeSink</span></a> *fakesink,
-                                                        <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>   *buffer,
-                                                        <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>      *pad,
+                                                        <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>   *buffer,
+                                                        <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>      *pad,
                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
 <p>
 This signal gets emitted before unreffing the buffer.
@@ -317,8 +317,8 @@
 <div class="refsect2">
 <a name="GstFakeSink-preroll-handoff"></a><h3>The <code class="literal">"preroll-handoff"</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gstreamer-plugins-fakesink.html#GstFakeSink"><span class="type">GstFakeSink</span></a> *fakesink,
-                                                        <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>   *buffer,
-                                                        <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>      *pad,
+                                                        <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>   *buffer,
+                                                        <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>      *pad,
                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
 <p>
 This signal gets emitted before unreffing the buffer.
@@ -344,7 +344,6 @@
 </tr>
 </tbody>
 </table></div>
-<p class="since">Since 0.10.7</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gstreamer-plugins-fakesrc.html b/docs/plugins/html/gstreamer-plugins-fakesrc.html
index bdd5b83..9083b56 100644
--- a/docs/plugins/html/gstreamer-plugins-fakesrc.html
+++ b/docs/plugins/html/gstreamer-plugins-fakesrc.html
@@ -55,9 +55,9 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                     +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSrc.html">GstBaseSrc</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
+                     +----<a href="../gstreamer-libs-1.0/GstBaseSrc.html">GstBaseSrc</a>
                            +----GstFakeSrc
 </pre>
 </div>
@@ -80,7 +80,7 @@
   "<a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc--sizemin" title='The "sizemin" property'>sizemin</a>"                  <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write
   "<a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc--sizetype" title='The "sizetype" property'>sizetype</a>"                 <a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrcSizeType" title="enum GstFakeSrcSizeType"><span class="type">GstFakeSrcSizeType</span></a>    : Read / Write
   "<a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc--sync" title='The "sync" property'>sync</a>"                     <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
-  "<a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc--format" title='The "format" property'>format</a>"                   <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a>             : Read / Write
+  "<a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc--format" title='The "format" property'>format</a>"                   <a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a>             : Read / Write
 </pre>
 </div>
 <div class="refsect1">
@@ -102,7 +102,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp5917840"></a><h3>Example launch line</h3>
+<a name="idp9613184"></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="idp5921024"></a><h3>Element Information</h3>
+<a name="idp9616368"></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="idp5928432"></a><h3>Element Pads</h3>
+<a name="idp9623776"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -472,12 +472,11 @@
 <hr>
 <div class="refsect2">
 <a name="GstFakeSrc--format"></a><h3>The <code class="literal">"format"</code> property</h3>
-<pre class="programlisting">  "format"                   <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a>             : Read / Write</pre>
+<pre class="programlisting">  "format"                   <a href="../gstreamer-1.0/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a>             : Read / Write</pre>
 <p>
 Set the format of the newsegment events to produce.
 </p>
 <p>Default value: GST_FORMAT_BYTES</p>
-<p class="since">Since 0.10.20</p>
 </div>
 </div>
 <div class="refsect1">
@@ -485,8 +484,8 @@
 <div class="refsect2">
 <a name="GstFakeSrc-handoff"></a><h3>The <code class="literal">"handoff"</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc"><span class="type">GstFakeSrc</span></a> *fakesrc,
-                                                        <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>  *buffer,
-                                                        <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>     *pad,
+                                                        <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>  *buffer,
+                                                        <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>     *pad,
                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
 <p>
 This signal gets emitted before sending the buffer.
diff --git a/docs/plugins/html/gstreamer-plugins-fdsink.html b/docs/plugins/html/gstreamer-plugins-fdsink.html
index 1c74c3a..ce70f3c 100644
--- a/docs/plugins/html/gstreamer-plugins-fdsink.html
+++ b/docs/plugins/html/gstreamer-plugins-fdsink.html
@@ -51,9 +51,9 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                     +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSink.html">GstBaseSink</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
+                     +----<a href="../gstreamer-libs-1.0/GstBaseSink.html">GstBaseSink</a>
                            +----GstFdSink
 </pre>
 </div>
@@ -61,7 +61,7 @@
 <a name="gstreamer-plugins-fdsink.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
 <p>
 GstFdSink implements
- <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstUriHandler.html#GstURIHandler">GstURIHandler</a>.</p>
+ <a href="../gstreamer-1.0/gstreamer-GstUriHandler.html#GstURIHandler">GstURIHandler</a>.</p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-fdsink.properties"></a><h2>Properties</h2>
@@ -77,7 +77,7 @@
 <p>
 This element will synchronize on the clock before writing the data on the
 socket. For file descriptors where this does not make sense (files, ...) the
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSink.html#GstBaseSink--sync"><span class="type">"sync"</span></a> property can be used to disable synchronisation.
+<a href="../gstreamer-libs-1.0/GstBaseSink.html#GstBaseSink--sync"><span class="type">"sync"</span></a> property can be used to disable synchronisation.
 </p>
 <p>
 Last reviewed on 2006-04-28 (0.10.6)
@@ -85,7 +85,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9141056"></a><h3>Element Information</h3>
+<a name="idp7949392"></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="idp6713600"></a><h3>Element Pads</h3>
+<a name="idp9532496"></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 e0519c8..87d3151 100644
--- a/docs/plugins/html/gstreamer-plugins-fdsrc.html
+++ b/docs/plugins/html/gstreamer-plugins-fdsrc.html
@@ -51,10 +51,10 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                     +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSrc.html">GstBaseSrc</a>
-                           +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstPushSrc.html">GstPushSrc</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
+                     +----<a href="../gstreamer-libs-1.0/GstBaseSrc.html">GstBaseSrc</a>
+                           +----<a href="../gstreamer-libs-1.0/GstPushSrc.html">GstPushSrc</a>
                                  +----GstFdSrc
 </pre>
 </div>
@@ -62,7 +62,7 @@
 <a name="gstreamer-plugins-fdsrc.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
 <p>
 GstFdSrc implements
- <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstUriHandler.html#GstURIHandler">GstURIHandler</a>.</p>
+ <a href="../gstreamer-1.0/gstreamer-GstUriHandler.html#GstURIHandler">GstURIHandler</a>.</p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-fdsrc.properties"></a><h2>Properties</h2>
@@ -97,7 +97,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp8708016"></a><h3>Example launch line</h3>
+<a name="idp10131984"></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="idp8711168"></a><h3>Element Information</h3>
+<a name="idp10135088"></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="idp8718624"></a><h3>Element Pads</h3>
+<a name="idp10306288"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -196,7 +196,6 @@
 Post a message after timeout microseconds
 </p>
 <p>Default value: 0</p>
-<p class="since">Since 0.10.21</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gstreamer-plugins-filesink.html b/docs/plugins/html/gstreamer-plugins-filesink.html
index 8797496..07b2875 100644
--- a/docs/plugins/html/gstreamer-plugins-filesink.html
+++ b/docs/plugins/html/gstreamer-plugins-filesink.html
@@ -51,9 +51,9 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                     +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSink.html">GstBaseSink</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
+                     +----<a href="../gstreamer-libs-1.0/GstBaseSink.html">GstBaseSink</a>
                            +----GstFileSink
 </pre>
 </div>
@@ -61,7 +61,7 @@
 <a name="gstreamer-plugins-filesink.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
 <p>
 GstFileSink implements
- <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstUriHandler.html#GstURIHandler">GstURIHandler</a>.</p>
+ <a href="../gstreamer-1.0/gstreamer-GstUriHandler.html#GstURIHandler">GstURIHandler</a>.</p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-filesink.properties"></a><h2>Properties</h2>
@@ -80,7 +80,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp6187584"></a><h3>Example launch line</h3>
+<a name="idp6556784"></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="idp6190144"></a><h3>Element Information</h3>
+<a name="idp6559344"></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="idp6197552"></a><h3>Element Pads</h3>
+<a name="idp6566752"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -188,7 +188,6 @@
 Append to an already existing file.
 </p>
 <p>Default value: FALSE</p>
-<p class="since">Since 0.10.25</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gstreamer-plugins-filesrc.html b/docs/plugins/html/gstreamer-plugins-filesrc.html
index 5c8c3f0..4cf1571 100644
--- a/docs/plugins/html/gstreamer-plugins-filesrc.html
+++ b/docs/plugins/html/gstreamer-plugins-filesrc.html
@@ -51,9 +51,9 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                     +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSrc.html">GstBaseSrc</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
+                     +----<a href="../gstreamer-libs-1.0/GstBaseSrc.html">GstBaseSrc</a>
                            +----GstFileSrc
 </pre>
 </div>
@@ -61,7 +61,7 @@
 <a name="gstreamer-plugins-filesrc.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
 <p>
 GstFileSrc implements
- <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstUriHandler.html#GstURIHandler">GstURIHandler</a>.</p>
+ <a href="../gstreamer-1.0/gstreamer-GstUriHandler.html#GstURIHandler">GstURIHandler</a>.</p>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-filesrc.properties"></a><h2>Properties</h2>
@@ -82,7 +82,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp10794768"></a><h3>Example launch line</h3>
+<a name="idp9009152"></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="idp10797376"></a><h3>Element Information</h3>
+<a name="idp9011760"></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="idp10848016"></a><h3>Element Pads</h3>
+<a name="idp10528064"></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 4a58439..649586d 100644
--- a/docs/plugins/html/gstreamer-plugins-funnel.html
+++ b/docs/plugins/html/gstreamer-plugins-funnel.html
@@ -47,8 +47,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
                      +----GstFunnel
 </pre>
 </div>
@@ -59,7 +59,7 @@
 </p>
 <p>
 funnel always outputs a single, open ended segment from
-0 with in <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-TIME:CAPS"><code class="literal">GST_FORMAT_TIME</code></a> and outputs the buffers of the
+0 with in <a href="../gstreamer-1.0/gstreamer-GstFormat.html#GST-FORMAT-TIME:CAPS"><code class="literal">GST_FORMAT_TIME</code></a> and outputs the buffers of the
 different sinkpads with timestamps that are set to the
 running time for that stream. funnel does not synchronize
 the different input streams but simply forwards all buffers
@@ -68,7 +68,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9944992"></a><h3>Element Information</h3>
+<a name="idp8107120"></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="idp9858432"></a><h3>Element Pads</h3>
+<a name="idp6236656"></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 6f7cbfe..e670800 100644
--- a/docs/plugins/html/gstreamer-plugins-identity.html
+++ b/docs/plugins/html/gstreamer-plugins-identity.html
@@ -51,9 +51,9 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
-                     +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseTransform.html">GstBaseTransform</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
+                     +----<a href="../gstreamer-libs-1.0/GstBaseTransform.html">GstBaseTransform</a>
                            +----GstIdentity
 </pre>
 </div>
@@ -90,7 +90,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11113760"></a><h3>Element Information</h3>
+<a name="idp10684224"></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="idp11121216"></a><h3>Element Pads</h3>
+<a name="idp10691680"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -267,7 +267,6 @@
 When set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>, no signal will be emited, which might improve performance.
 </p>
 <p>Default value: TRUE</p>
-<p class="since">Since 0.10.16</p>
 </div>
 </div>
 <div class="refsect1">
@@ -275,7 +274,7 @@
 <div class="refsect2">
 <a name="GstIdentity-handoff"></a><h3>The <code class="literal">"handoff"</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gstreamer-plugins-identity.html#GstIdentity"><span class="type">GstIdentity</span></a> *identity,
-                                                        <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>   *buffer,
+                                                        <a href="../gstreamer-1.0/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>   *buffer,
                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
 <p>
 This signal gets emitted before passing the buffer downstream.
diff --git a/docs/plugins/html/gstreamer-plugins-input-selector.html b/docs/plugins/html/gstreamer-plugins-input-selector.html
index 84070e4..a2a6710 100644
--- a/docs/plugins/html/gstreamer-plugins-input-selector.html
+++ b/docs/plugins/html/gstreamer-plugins-input-selector.html
@@ -51,15 +51,15 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
                      +----GstInputSelector
 </pre>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-input-selector.properties"></a><h2>Properties</h2>
 <pre class="synopsis">
-  "<a class="link" href="gstreamer-plugins-input-selector.html#GstInputSelector--active-pad" title='The "active-pad" property'>active-pad</a>"               <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write
+  "<a class="link" href="gstreamer-plugins-input-selector.html#GstInputSelector--active-pad" title='The "active-pad" property'>active-pad</a>"               <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write
   "<a class="link" href="gstreamer-plugins-input-selector.html#GstInputSelector--n-pads" title='The "n-pads" property'>n-pads</a>"                   <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read
   "<a class="link" href="gstreamer-plugins-input-selector.html#GstInputSelector--select-all" title='The "select-all" property'>select-all</a>"               <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
   "<a class="link" href="gstreamer-plugins-input-selector.html#GstInputSelector--sync-streams" title='The "sync-streams" property'>sync-streams</a>"             <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
@@ -90,14 +90,14 @@
 "running-time": Running time of stream on pad (<span class="type">gint64</span>)
 </li>
 <li class="listitem">
-"tags": The currently active tags on the pad (<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#GstTagList"><span class="type">GstTagList</span></a>, boxed type)
+"tags": The currently active tags on the pad (<a href="../gstreamer-1.0/gstreamer-GstTagList.html#GstTagList"><span class="type">GstTagList</span></a>, boxed type)
 </li>
 <li class="listitem">
 "active": If the pad is currently active (<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>)
 </li>
 <li class="listitem">
-"always-ok" : Make an inactive pads return <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> instead of
-<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-NOT-LINKED:CAPS"><span class="type">GST_FLOW_NOT_LINKED</span></a>
+"always-ok" : Make an inactive pads return <a href="../gstreamer-1.0/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> instead of
+<a href="../gstreamer-1.0/GstPad.html#GST-FLOW-NOT-LINKED:CAPS"><span class="type">GST_FLOW_NOT_LINKED</span></a>
 </li>
 </ul></div>
 <p>
@@ -105,7 +105,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11337552"></a><h3>Element Information</h3>
+<a name="idp11010592"></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="idp11345088"></a><h3>Element Pads</h3>
+<a name="idp11018128"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -189,7 +189,7 @@
 <a name="gstreamer-plugins-input-selector.property-details"></a><h2>Property Details</h2>
 <div class="refsect2">
 <a name="GstInputSelector--active-pad"></a><h3>The <code class="literal">"active-pad"</code> property</h3>
-<pre class="programlisting">  "active-pad"               <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write</pre>
+<pre class="programlisting">  "active-pad"               <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write</pre>
 <p>The currently active sink pad.</p>
 </div>
 <hr>
@@ -220,7 +220,6 @@
 sync-mode should be set to "clock" and cache-buffers to TRUE.
 </p>
 <p>Default value: TRUE</p>
-<p class="since">Since 0.10.36</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -253,7 +252,6 @@
 which may cause delays and some missing buffers.
 </p>
 <p>Default value: Sync using the current active segment</p>
-<p class="since">Since 0.10.36</p>
 </div>
 </div>
 <div class="refsect1">
@@ -286,7 +284,7 @@
 <div class="refsect2">
 <a name="GstInputSelector-switch"></a><h3>The <code class="literal">"switch"</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gstreamer-plugins-input-selector.html#GstInputSelector"><span class="type">GstInputSelector</span></a> *gstinputselector,
-                                                        <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>           *arg1,
+                                                        <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>           *arg1,
                                                         <span class="type">gint64</span>            arg2,
                                                         <span class="type">gint64</span>            arg3,
                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>          user_data)             : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
diff --git a/docs/plugins/html/gstreamer-plugins-multiqueue.html b/docs/plugins/html/gstreamer-plugins-multiqueue.html
index 9c9ab07..f3cfa8d 100644
--- a/docs/plugins/html/gstreamer-plugins-multiqueue.html
+++ b/docs/plugins/html/gstreamer-plugins-multiqueue.html
@@ -51,8 +51,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
                      +----GstMultiQueue
 </pre>
 </div>
@@ -83,7 +83,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp11098736"></a><p>
+<a name="idp10353504"></a><p>
 Multiqueue is similar to a normal <a class="link" href="gstreamer-plugins-queue.html#GstQueue"><span class="type">GstQueue</span></a> with the following additional
 features:
 </p>
@@ -97,7 +97,7 @@
     'sometimes' src pads (src%d).
   </p>
 <p>
-    When requesting a given sinkpad with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-get-request-pad"><code class="function">gst_element_get_request_pad()</code></a>,
+    When requesting a given sinkpad with <a href="../gstreamer-1.0/GstElement.html#gst-element-get-request-pad"><code class="function">gst_element_get_request_pad()</code></a>,
     the associated srcpad for that stream will be created.
     Example: requesting sink1 will generate src1.
   </p>
@@ -173,7 +173,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11562752"></a><h3>Element Information</h3>
+<a name="idp11141504"></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="idp11570208"></a><h3>Element Pads</h3>
+<a name="idp11148960"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -306,7 +306,6 @@
 </p>
 <p>Allowed values: [0,100]</p>
 <p>Default value: 99</p>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -317,7 +316,6 @@
 </p>
 <p>Allowed values: [0,100]</p>
 <p>Default value: 10</p>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -328,7 +326,6 @@
 emited based on low-/high-percent thresholds.
 </p>
 <p>Default value: FALSE</p>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -342,7 +339,6 @@
 to active and linked streams.
 </p>
 <p>Default value: FALSE</p>
-<p class="since">Since 0.10.36</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gstreamer-plugins-output-selector.html b/docs/plugins/html/gstreamer-plugins-output-selector.html
index 8eee32f..8822b6c 100644
--- a/docs/plugins/html/gstreamer-plugins-output-selector.html
+++ b/docs/plugins/html/gstreamer-plugins-output-selector.html
@@ -49,15 +49,15 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
                      +----GstOutputSelector
 </pre>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-output-selector.properties"></a><h2>Properties</h2>
 <pre class="synopsis">
-  "<a class="link" href="gstreamer-plugins-output-selector.html#GstOutputSelector--active-pad" title='The "active-pad" property'>active-pad</a>"               <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write
+  "<a class="link" href="gstreamer-plugins-output-selector.html#GstOutputSelector--active-pad" title='The "active-pad" property'>active-pad</a>"               <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write
   "<a class="link" href="gstreamer-plugins-output-selector.html#GstOutputSelector--resend-latest" title='The "resend-latest" property'>resend-latest</a>"            <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
   "<a class="link" href="gstreamer-plugins-output-selector.html#GstOutputSelector--pad-negotiation-mode" title='The "pad-negotiation-mode" property'>pad-negotiation-mode</a>"     <span class="type">GstOutputSelectorPadNegotiationMode</span>  : Read / Write
 </pre>
@@ -70,7 +70,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp10403120"></a><h3>Element Information</h3>
+<a name="idp8727536"></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="idp10615680"></a><h3>Element Pads</h3>
+<a name="idp10868576"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -154,7 +154,7 @@
 <a name="gstreamer-plugins-output-selector.property-details"></a><h2>Property Details</h2>
 <div class="refsect2">
 <a name="GstOutputSelector--active-pad"></a><h3>The <code class="literal">"active-pad"</code> property</h3>
-<pre class="programlisting">  "active-pad"               <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write</pre>
+<pre class="programlisting">  "active-pad"               <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write</pre>
 <p>Currently active src pad.</p>
 </div>
 <hr>
diff --git a/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html b/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
index f1919dc..1aeddb6 100644
--- a/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
+++ b/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
@@ -28,7 +28,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp7200880"></a><h2>Plugin Information</h2>
+<a name="idp9857792"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -56,7 +56,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp6375472"></a><h2>Elements</h2>
+<a name="idp7434400"></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 68445d8..892b551 100644
--- a/docs/plugins/html/gstreamer-plugins-queue.html
+++ b/docs/plugins/html/gstreamer-plugins-queue.html
@@ -52,8 +52,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
                      +----GstQueue
 </pre>
 </div>
@@ -122,7 +122,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11696976"></a><h3>Element Information</h3>
+<a name="idp5812192"></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="idp11704432"></a><h3>Element Pads</h3>
+<a name="idp5819648"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -316,7 +316,6 @@
 needed.
 </p>
 <p>Default value: FALSE</p>
-<p class="since">Since 0.10.31</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gstreamer-plugins-queue2.html b/docs/plugins/html/gstreamer-plugins-queue2.html
index 4daac17..86735e9 100644
--- a/docs/plugins/html/gstreamer-plugins-queue2.html
+++ b/docs/plugins/html/gstreamer-plugins-queue2.html
@@ -49,8 +49,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
                      +----GstQueue2
 </pre>
 </div>
@@ -101,10 +101,8 @@
 of the queue size limits, they will only be used for buffering statistics.
 </p>
 <p>
-Since 0.10.24, setting the temp-location property with a filename is deprecated
-because it's impossible to securely open a temporary file in this way. The
-property will still be used to notify the application of the allocated
-filename, though.
+The temp-location property will be used to notify the application of the
+allocated filename.
 </p>
 <p>
 Last reviewed on 2009-07-10 (0.10.24)
@@ -112,7 +110,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11966144"></a><h3>Element Information</h3>
+<a name="idp11916944"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -135,7 +133,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp11973552"></a><h3>Element Pads</h3>
+<a name="idp11924352"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -287,7 +285,6 @@
 When temp-template is set, remove the temporary file when going to READY.
 </p>
 <p>Default value: TRUE</p>
-<p class="since">Since 0.10.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -298,7 +295,6 @@
 buffer is disabled. Default 0.
 </p>
 <p>Default value: 0</p>
-<p class="since">Since 0.10.31</p>
 </div>
 </div>
 </div>
diff --git a/docs/plugins/html/gstreamer-plugins-tee.html b/docs/plugins/html/gstreamer-plugins-tee.html
index 5725672..738f865 100644
--- a/docs/plugins/html/gstreamer-plugins-tee.html
+++ b/docs/plugins/html/gstreamer-plugins-tee.html
@@ -50,8 +50,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
                      +----GstTee
 </pre>
 </div>
@@ -64,7 +64,7 @@
   "<a class="link" href="gstreamer-plugins-tee.html#GstTee--num-src-pads" title='The "num-src-pads" property'>num-src-pads</a>"             <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read
   "<a class="link" href="gstreamer-plugins-tee.html#GstTee--silent" title='The "silent" property'>silent</a>"                   <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write / Construct
   "<a class="link" href="gstreamer-plugins-tee.html#GstTee--pull-mode" title='The "pull-mode" property'>pull-mode</a>"                <a class="link" href="gstreamer-plugins-tee.html#GstTeePullMode" title="enum GstTeePullMode"><span class="type">GstTeePullMode</span></a>        : Read / Write / Construct
-  "<a class="link" href="gstreamer-plugins-tee.html#GstTee--alloc-pad" title='The "alloc-pad" property'>alloc-pad</a>"                <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write
+  "<a class="link" href="gstreamer-plugins-tee.html#GstTee--alloc-pad" title='The "alloc-pad" property'>alloc-pad</a>"                <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write
 </pre>
 </div>
 <div class="refsect1">
@@ -83,7 +83,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp6936944"></a><h3>Example launch line</h3>
+<a name="idp8955360"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -102,7 +102,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp6939664"></a><h3>Element Information</h3>
+<a name="idp8958080"></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="idp12121888"></a><h3>Element Pads</h3>
+<a name="idp5756432"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -258,7 +258,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstTee--alloc-pad"></a><h3>The <code class="literal">"alloc-pad"</code> property</h3>
-<pre class="programlisting">  "alloc-pad"                <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write</pre>
+<pre class="programlisting">  "alloc-pad"                <a href="../gstreamer-1.0/GstPad.html"><span class="type">GstPad</span></a>*               : Read / Write</pre>
 <p>The pad used for gst_pad_alloc_buffer.</p>
 </div>
 </div>
diff --git a/docs/plugins/html/gstreamer-plugins-typefind.html b/docs/plugins/html/gstreamer-plugins-typefind.html
index 1711b17..868ea5e 100644
--- a/docs/plugins/html/gstreamer-plugins-typefind.html
+++ b/docs/plugins/html/gstreamer-plugins-typefind.html
@@ -51,18 +51,18 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
                      +----GstTypeFindElement
 </pre>
 </div>
 <div class="refsect1">
 <a name="gstreamer-plugins-typefind.properties"></a><h2>Properties</h2>
 <pre class="synopsis">
-  "<a class="link" href="gstreamer-plugins-typefind.html#GstTypeFindElement--caps" title='The "caps" property'>caps</a>"                     <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read
+  "<a class="link" href="gstreamer-plugins-typefind.html#GstTypeFindElement--caps" title='The "caps" property'>caps</a>"                     <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read
   "<a class="link" href="gstreamer-plugins-typefind.html#GstTypeFindElement--maximum" title='The "maximum" property'>maximum</a>"                  <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write
   "<a class="link" href="gstreamer-plugins-typefind.html#GstTypeFindElement--minimum" title='The "minimum" property'>minimum</a>"                  <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write
-  "<a class="link" href="gstreamer-plugins-typefind.html#GstTypeFindElement--force-caps" title='The "force-caps" property'>force-caps</a>"               <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read / Write
+  "<a class="link" href="gstreamer-plugins-typefind.html#GstTypeFindElement--force-caps" title='The "force-caps" property'>force-caps</a>"               <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read / Write
 </pre>
 </div>
 <div class="refsect1">
@@ -85,12 +85,12 @@
 state change function).
 </p>
 <p>
-Plugins can register custom typefinders by using <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTypeFindFactory.html"><span class="type">GstTypeFindFactory</span></a>.
+Plugins can register custom typefinders by using <a href="../gstreamer-1.0/GstTypeFindFactory.html"><span class="type">GstTypeFindFactory</span></a>.
 </p>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11522416"></a><h3>Element Information</h3>
+<a name="idp10821296"></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="idp11529824"></a><h3>Element Pads</h3>
+<a name="idp10828704"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -175,7 +175,7 @@
 <a name="gstreamer-plugins-typefind.property-details"></a><h2>Property Details</h2>
 <div class="refsect2">
 <a name="GstTypeFindElement--caps"></a><h3>The <code class="literal">"caps"</code> property</h3>
-<pre class="programlisting">  "caps"                     <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read</pre>
+<pre class="programlisting">  "caps"                     <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read</pre>
 <p>detected capabilities in stream.</p>
 </div>
 <hr>
@@ -197,7 +197,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstTypeFindElement--force-caps"></a><h3>The <code class="literal">"force-caps"</code> property</h3>
-<pre class="programlisting">  "force-caps"               <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read / Write</pre>
+<pre class="programlisting">  "force-caps"               <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>*              : Read / Write</pre>
 <p>force caps without doing a typefind.</p>
 </div>
 </div>
@@ -207,7 +207,7 @@
 <a name="GstTypeFindElement-have-type"></a><h3>The <code class="literal">"have-type"</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gstreamer-plugins-typefind.html#GstTypeFindElement"><span class="type">GstTypeFindElement</span></a> *typefind,
                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>               probability,
-                                                        <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>            *caps,
+                                                        <a href="../gstreamer-1.0/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>            *caps,
                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>            user_data)        : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a></pre>
 <p>
 This signal gets emitted when the type and its probability has
diff --git a/docs/plugins/html/gstreamer-plugins-valve.html b/docs/plugins/html/gstreamer-plugins-valve.html
index 41d9808..d6f4b69 100644
--- a/docs/plugins/html/gstreamer-plugins-valve.html
+++ b/docs/plugins/html/gstreamer-plugins-valve.html
@@ -49,8 +49,8 @@
 <pre class="synopsis">
   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
    +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
-               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+         +----<a href="../gstreamer-1.0/GstObject.html">GstObject</a>
+               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
                      +----GstValve
 </pre>
 </div>
@@ -68,7 +68,7 @@
 </p>
 <p>
 Any downstream error received while the <a class="link" href="gstreamer-plugins-valve.html#GstValve--drop" title='The "drop" property'><span class="type">"drop"</span></a> property is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
-is ignored. So downstream element can be set to  <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-NULL:CAPS"><code class="literal">GST_STATE_NULL</code></a> and removed,
+is ignored. So downstream element can be set to  <a href="../gstreamer-1.0/GstElement.html#GST-STATE-NULL:CAPS"><code class="literal">GST_STATE_NULL</code></a> and removed,
 without using pad blocking.
 </p>
 <p>
@@ -81,7 +81,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp7276800"></a><h3>Element Information</h3>
+<a name="idp8474768"></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="idp6954256"></a><h3>Element Pads</h3>
+<a name="idp11699792"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -160,7 +160,6 @@
 <p>
 The private valve structure
 </p>
-<p class="since">Since 0.10.32</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gstreamer-plugins.devhelp2 b/docs/plugins/html/gstreamer-plugins.devhelp2
index 5b4e071..1c411ef 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#idp7212656"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-capsfilter.html#idp7705936"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-capsfilter.html#idp135056"/>
+    <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="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#idp5917840"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-fakesrc.html#idp5921024"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-fakesrc.html#idp5928432"/>
+    <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="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#idp6480224"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-fakesink.html#idp6482832"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-fakesink.html#idp10479328"/>
+    <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="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#idp9141056"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-fdsink.html#idp6713600"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-fdsink.html#idp7949392"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-fdsink.html#idp9532496"/>
     <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#idp8708016"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-fdsrc.html#idp8711168"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-fdsrc.html#idp8718624"/>
+    <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="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#idp10794768"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-filesrc.html#idp10797376"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-filesrc.html#idp10848016"/>
+    <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="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#idp6187584"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-filesink.html#idp6190144"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-filesink.html#idp6197552"/>
+    <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="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#idp9944992"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-funnel.html#idp9858432"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-funnel.html#idp8107120"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-funnel.html#idp6236656"/>
     <keyword type="struct" name="struct GstFunnel" link="gstreamer-plugins-funnel.html#GstFunnel-struct"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-identity.html#idp11113760"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-identity.html#idp11121216"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-identity.html#idp10684224"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-identity.html#idp10691680"/>
     <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#idp11337552"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-input-selector.html#idp11345088"/>
+    <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="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#idp11098736"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-multiqueue.html#idp11562752"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-multiqueue.html#idp11570208"/>
+    <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="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#idp10403120"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-output-selector.html#idp10615680"/>
+    <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="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#idp11696976"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-queue.html#idp11704432"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-queue.html#idp5812192"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-queue.html#idp5819648"/>
     <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#idp11966144"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-queue2.html#idp11973552"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-queue2.html#idp11916944"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-queue2.html#idp11924352"/>
     <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#idp6936944"/>
-    <keyword type="" name="Element Information" link="gstreamer-plugins-tee.html#idp6939664"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-tee.html#idp12121888"/>
+    <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="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#idp11522416"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-typefind.html#idp11529824"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-typefind.html#idp10821296"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-typefind.html#idp10828704"/>
     <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#idp7276800"/>
-    <keyword type="" name="Element Pads" link="gstreamer-plugins-valve.html#idp6954256"/>
+    <keyword type="" name="Element Information" link="gstreamer-plugins-valve.html#idp8474768"/>
+    <keyword type="" name="Element Pads" link="gstreamer-plugins-valve.html#idp11699792"/>
     <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 00593f5..ce76cd4 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.92)
+      for GStreamer Core Plugins 1.0 (0.11.93)
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/</a>.
     </p></div>
diff --git a/docs/pwg/Makefile.in b/docs/pwg/Makefile.in
index e22b674..e273c65 100644
--- a/docs/pwg/Makefile.in
+++ b/docs/pwg/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -221,7 +221,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/docs/slides/Makefile.in b/docs/slides/Makefile.in
index b244443..c30c7ad 100644
--- a/docs/slides/Makefile.in
+++ b/docs/slides/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -167,7 +167,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/docs/xsl/Makefile.in b/docs/xsl/Makefile.in
index e1a64f5..8f3a6ce 100644
--- a/docs/xsl/Makefile.in
+++ b/docs/xsl/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -167,7 +167,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/gst/Makefile.am b/gst/Makefile.am
index 542f45d..b6bb664 100644
--- a/gst/Makefile.am
+++ b/gst/Makefile.am
@@ -48,6 +48,7 @@
 libgstreamer_@GST_API_VERSION@_la_SOURCES = \
 	gst.c			\
 	gstobject.c		\
+	gstallocator.c		\
 	gstbin.c		\
 	gstbuffer.c		\
 	gstbufferlist.c		\
@@ -142,6 +143,7 @@
 	gst.h			\
 	glib-compat.h		\
 	gstobject.h		\
+	gstallocator.h		\
 	gstbin.h		\
 	gstbuffer.h		\
 	gstbufferlist.h		\
diff --git a/gst/Makefile.in b/gst/Makefile.in
index 2e6f45d..1cf9946 100644
--- a/gst/Makefile.in
+++ b/gst/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -139,24 +139,26 @@
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \
 	$(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2)
 am__libgstreamer_@GST_API_VERSION@_la_SOURCES_DIST = gst.c gstobject.c \
-	gstbin.c gstbuffer.c gstbufferlist.c gstbufferpool.c gstbus.c \
-	gstcaps.c gstchildproxy.c gstclock.c gstcontrolbinding.c \
-	gstcontrolsource.c gstdatetime.c gstdebugutils.c gstelement.c \
-	gstelementfactory.c gsterror.c gstevent.c gstformat.c \
-	gstghostpad.c gstinfo.c gstiterator.c gstatomicqueue.c \
-	gstmessage.c gstmeta.c gstmemory.c gstminiobject.c gstpad.c \
-	gstpadtemplate.c gstparamspecs.c gstpipeline.c gstplugin.c \
-	gstpluginfeature.c gstpluginloader.c gstpoll.c gstpreset.c \
-	gstquark.c gstquery.c gstregistry.c gstregistrychunks.c \
-	gstsample.c gstsegment.c gststructure.c gstsystemclock.c \
-	gsttaglist.c gsttagsetter.c gsttask.c gsttaskpool.c gsttoc.c \
-	gsttocsetter.c gsttrace.c gsttypefind.c gsttypefindfactory.c \
-	gsturi.c gstutils.c gstvalue.c gstparse.c gstregistrybinary.c
+	gstallocator.c gstbin.c gstbuffer.c gstbufferlist.c \
+	gstbufferpool.c gstbus.c gstcaps.c gstchildproxy.c gstclock.c \
+	gstcontrolbinding.c gstcontrolsource.c gstdatetime.c \
+	gstdebugutils.c gstelement.c gstelementfactory.c gsterror.c \
+	gstevent.c gstformat.c gstghostpad.c gstinfo.c gstiterator.c \
+	gstatomicqueue.c gstmessage.c gstmeta.c gstmemory.c \
+	gstminiobject.c gstpad.c gstpadtemplate.c gstparamspecs.c \
+	gstpipeline.c gstplugin.c gstpluginfeature.c gstpluginloader.c \
+	gstpoll.c gstpreset.c gstquark.c gstquery.c gstregistry.c \
+	gstregistrychunks.c gstsample.c gstsegment.c gststructure.c \
+	gstsystemclock.c gsttaglist.c gsttagsetter.c gsttask.c \
+	gsttaskpool.c gsttoc.c gsttocsetter.c gsttrace.c gsttypefind.c \
+	gsttypefindfactory.c gsturi.c gstutils.c gstvalue.c gstparse.c \
+	gstregistrybinary.c
 @GST_DISABLE_TRACE_FALSE@am__objects_1 = libgstreamer_@GST_API_VERSION@_la-gsttrace.lo
 @GST_DISABLE_REGISTRY_FALSE@am__objects_2 = libgstreamer_@GST_API_VERSION@_la-gstregistrybinary.lo
 am_libgstreamer_@GST_API_VERSION@_la_OBJECTS =  \
 	libgstreamer_@GST_API_VERSION@_la-gst.lo \
 	libgstreamer_@GST_API_VERSION@_la-gstobject.lo \
+	libgstreamer_@GST_API_VERSION@_la-gstallocator.lo \
 	libgstreamer_@GST_API_VERSION@_la-gstbin.lo \
 	libgstreamer_@GST_API_VERSION@_la-gstbuffer.lo \
 	libgstreamer_@GST_API_VERSION@_la-gstbufferlist.lo \
@@ -362,7 +364,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
@@ -606,6 +610,7 @@
 libgstreamer_@GST_API_VERSION@_la_SOURCES = \
 	gst.c			\
 	gstobject.c		\
+	gstallocator.c		\
 	gstbin.c		\
 	gstbuffer.c		\
 	gstbufferlist.c		\
@@ -702,6 +707,7 @@
 	gst.h			\
 	glib-compat.h		\
 	gstobject.h		\
+	gstallocator.h		\
 	gstbin.h		\
 	gstbuffer.h		\
 	gstbufferlist.h		\
@@ -865,6 +871,7 @@
 	-rm -f *.tab.c
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gst.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstallocator.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstatomicqueue.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstbin.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstbuffer.Plo@am__quote@
@@ -959,6 +966,13 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstreamer_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstreamer_@GST_API_VERSION@_la-gstobject.lo `test -f 'gstobject.c' || echo '$(srcdir)/'`gstobject.c
 
+libgstreamer_@GST_API_VERSION@_la-gstallocator.lo: gstallocator.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstreamer_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstreamer_@GST_API_VERSION@_la-gstallocator.lo -MD -MP -MF $(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstallocator.Tpo -c -o libgstreamer_@GST_API_VERSION@_la-gstallocator.lo `test -f 'gstallocator.c' || echo '$(srcdir)/'`gstallocator.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstallocator.Tpo $(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstallocator.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstallocator.c' object='libgstreamer_@GST_API_VERSION@_la-gstallocator.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstreamer_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstreamer_@GST_API_VERSION@_la-gstallocator.lo `test -f 'gstallocator.c' || echo '$(srcdir)/'`gstallocator.c
+
 libgstreamer_@GST_API_VERSION@_la-gstbin.lo: gstbin.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstreamer_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstreamer_@GST_API_VERSION@_la-gstbin.lo -MD -MP -MF $(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstbin.Tpo -c -o libgstreamer_@GST_API_VERSION@_la-gstbin.lo `test -f 'gstbin.c' || echo '$(srcdir)/'`gstbin.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstbin.Tpo $(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstbin.Plo
diff --git a/gst/gst.c b/gst/gst.c
index 96c20b5..b19bac0 100644
--- a/gst/gst.c
+++ b/gst/gst.c
@@ -483,8 +483,6 @@
  * or gst_init_check().
  *
  * Returns: TRUE if initialization has been done, FALSE otherwise.
- *
- * Since: 0.10.31
  */
 gboolean
 gst_is_initialized (void)
@@ -713,6 +711,7 @@
   g_type_class_ref (gst_structure_change_type_get_type ());
   g_type_class_ref (gst_tag_merge_mode_get_type ());
   g_type_class_ref (gst_tag_flag_get_type ());
+  g_type_class_ref (gst_tag_scope_get_type ());
   g_type_class_ref (gst_task_pool_get_type ());
   g_type_class_ref (gst_task_state_get_type ());
   g_type_class_ref (gst_toc_entry_type_get_type ());
@@ -733,9 +732,11 @@
   g_type_class_ref (gst_scheduling_flags_get_type ());
   g_type_class_ref (gst_meta_flags_get_type ());
   g_type_class_ref (gst_toc_entry_type_get_type ());
-
+  g_type_class_ref (gst_toc_scope_get_type ());
   g_type_class_ref (gst_control_binding_get_type ());
   g_type_class_ref (gst_control_source_get_type ());
+  g_type_class_ref (gst_lock_flags_get_type ());
+  g_type_class_ref (gst_allocator_flags_get_type ());
 
   _priv_gst_event_initialize ();
   _priv_gst_buffer_initialize ();
@@ -1082,8 +1083,10 @@
   g_type_class_unref (g_type_class_peek (gst_buffering_mode_get_type ()));
   g_type_class_unref (g_type_class_peek (gst_tag_merge_mode_get_type ()));
   g_type_class_unref (g_type_class_peek (gst_tag_flag_get_type ()));
+  g_type_class_unref (g_type_class_peek (gst_tag_scope_get_type ()));
   g_type_class_unref (g_type_class_peek (gst_task_state_get_type ()));
   g_type_class_unref (g_type_class_peek (gst_toc_entry_type_get_type ()));
+  g_type_class_unref (g_type_class_peek (gst_toc_scope_get_type ()));
   g_type_class_unref (g_type_class_peek (gst_type_find_probability_get_type
           ()));
   g_type_class_unref (g_type_class_peek (gst_uri_type_get_type ()));
@@ -1104,6 +1107,9 @@
   g_type_class_unref (g_type_class_peek (gst_control_binding_get_type ()));
   g_type_class_unref (g_type_class_peek (gst_control_source_get_type ()));
   g_type_class_unref (g_type_class_peek (gst_toc_entry_type_get_type ()));
+  g_type_class_unref (g_type_class_peek (gst_lock_flags_get_type ()));
+  g_type_class_unref (g_type_class_peek (gst_allocator_flags_get_type ()));
+
 
   gst_deinitialized = TRUE;
   GST_INFO ("deinitialized GStreamer");
@@ -1169,8 +1175,6 @@
  * wants to install its own handler without GStreamer interfering.
  *
  * Returns: %TRUE if GStreamer is allowed to install a custom SIGSEGV handler.
- *
- * Since: 0.10.10
  */
 gboolean
 gst_segtrap_is_enabled (void)
@@ -1185,8 +1189,6 @@
  *
  * Applications might want to disable/enable the SIGSEGV handling of
  * the GStreamer core. See gst_segtrap_is_enabled() for more information.
- *
- * Since: 0.10.10
  */
 void
 gst_segtrap_set_enabled (gboolean enabled)
diff --git a/gst/gst_private.h b/gst/gst_private.h
index c15c8fa..6b9f3c9 100644
--- a/gst/gst_private.h
+++ b/gst/gst_private.h
@@ -57,6 +57,8 @@
 /* for GstToc */
 #include "gsttoc.h"
 
+#include "gstdatetime.h"
+
 G_BEGIN_DECLS
 
 /* used by gstparse.c and grammar.y */
@@ -83,67 +85,69 @@
 };
 
 /* FIXME: could rename all priv_gst_* functions to __gst_* now */
-gboolean priv_gst_plugin_loading_have_whitelist (void);
+G_GNUC_INTERNAL  gboolean priv_gst_plugin_loading_have_whitelist (void);
 
-guint32  priv_gst_plugin_loading_get_whitelist_hash (void);
+G_GNUC_INTERNAL  guint32  priv_gst_plugin_loading_get_whitelist_hash (void);
 
-gboolean priv_gst_plugin_desc_is_whitelisted (GstPluginDesc * desc,
-                                              const gchar   * filename);
+G_GNUC_INTERNAL  gboolean priv_gst_plugin_desc_is_whitelisted (GstPluginDesc * desc,
+                                                               const gchar   * filename);
 
-gboolean _priv_plugin_deps_env_vars_changed (GstPlugin * plugin);
-gboolean _priv_plugin_deps_files_changed (GstPlugin * plugin);
+G_GNUC_INTERNAL  gboolean _priv_plugin_deps_env_vars_changed (GstPlugin * plugin);
 
-gboolean _priv_gst_in_valgrind (void);
+G_GNUC_INTERNAL  gboolean _priv_plugin_deps_files_changed (GstPlugin * plugin);
+
+G_GNUC_INTERNAL  gboolean _priv_gst_in_valgrind (void);
 
 /* init functions called from gst_init(). */
-void  _priv_gst_quarks_initialize (void);
-void  _priv_gst_mini_object_initialize (void);
-void  _priv_gst_buffer_initialize (void);
-void  _priv_gst_buffer_list_initialize (void);
-void  _priv_gst_structure_initialize (void);
-void  _priv_gst_caps_initialize (void);
-void  _priv_gst_event_initialize (void);
-void  _priv_gst_format_initialize (void);
-void  _priv_gst_message_initialize (void);
-void  _priv_gst_memory_initialize (void);
-void  _priv_gst_meta_initialize (void);
-void  _priv_gst_plugin_initialize (void);
-void  _priv_gst_query_initialize (void);
-void  _priv_gst_sample_initialize (void);
-void  _priv_gst_tag_initialize (void);
-void  _priv_gst_value_initialize (void);
-void  _priv_gst_debug_init (void);
-
-/* TOC functions */
-/* These functions are used to parse TOC messages, events and queries */
-GstToc*        __gst_toc_from_structure (const GstStructure *toc);
-GstStructure*  __gst_toc_to_structure (const GstToc *toc);
-gboolean       __gst_toc_structure_get_updated (const GstStructure * toc);
-void           __gst_toc_structure_set_updated (GstStructure * toc, gboolean updated);
-gchar*         __gst_toc_structure_get_extend_uid (const GstStructure * toc);
-void           __gst_toc_structure_set_extend_uid (GstStructure * toc, const gchar * extend_uid);
+G_GNUC_INTERNAL  void  _priv_gst_quarks_initialize (void);
+G_GNUC_INTERNAL  void  _priv_gst_mini_object_initialize (void);
+G_GNUC_INTERNAL  void  _priv_gst_buffer_initialize (void);
+G_GNUC_INTERNAL  void  _priv_gst_buffer_list_initialize (void);
+G_GNUC_INTERNAL  void  _priv_gst_structure_initialize (void);
+G_GNUC_INTERNAL  void  _priv_gst_caps_initialize (void);
+G_GNUC_INTERNAL  void  _priv_gst_event_initialize (void);
+G_GNUC_INTERNAL  void  _priv_gst_format_initialize (void);
+G_GNUC_INTERNAL  void  _priv_gst_message_initialize (void);
+G_GNUC_INTERNAL  void  _priv_gst_memory_initialize (void);
+G_GNUC_INTERNAL  void  _priv_gst_meta_initialize (void);
+G_GNUC_INTERNAL  void  _priv_gst_plugin_initialize (void);
+G_GNUC_INTERNAL  void  _priv_gst_query_initialize (void);
+G_GNUC_INTERNAL  void  _priv_gst_sample_initialize (void);
+G_GNUC_INTERNAL  void  _priv_gst_tag_initialize (void);
+G_GNUC_INTERNAL  void  _priv_gst_value_initialize (void);
+G_GNUC_INTERNAL  void  _priv_gst_debug_init (void);
 
 /* Private registry functions */
+G_GNUC_INTERNAL
 gboolean _priv_gst_registry_remove_cache_plugins (GstRegistry *registry);
-void _priv_gst_registry_cleanup (void);
+
+G_GNUC_INTERNAL  void _priv_gst_registry_cleanup (void);
+
 gboolean _gst_plugin_loader_client_run (void);
 
 /* Used in GstBin for manual state handling */
-void _priv_gst_element_state_changed (GstElement *element, GstState oldstate,
-    GstState newstate, GstState pending);
+G_GNUC_INTERNAL  void _priv_gst_element_state_changed (GstElement *element,
+                      GstState oldstate, GstState newstate, GstState pending);
 
 /* used in both gststructure.c and gstcaps.c; numbers are completely made up */
 #define STRUCTURE_ESTIMATED_STRING_LEN(s) (16 + gst_structure_n_fields(s) * 22)
 
+G_GNUC_INTERNAL
 gboolean  priv_gst_structure_append_to_gstring (const GstStructure * structure,
                                                 GString            * s);
 /* registry cache backends */
+G_GNUC_INTERNAL
 gboolean		priv_gst_registry_binary_read_cache	(GstRegistry * registry, const char *location);
+
+G_GNUC_INTERNAL
 gboolean		priv_gst_registry_binary_write_cache	(GstRegistry * registry, GList * plugins, const char *location);
 
+
+G_GNUC_INTERNAL
 void      __gst_element_factory_add_static_pad_template (GstElementFactory    * elementfactory,
                                                          GstStaticPadTemplate * templ);
 
+G_GNUC_INTERNAL
 void      __gst_element_factory_add_interface           (GstElementFactory    * elementfactory,
                                                          const gchar          * interfacename);
 
@@ -153,7 +157,11 @@
     ((c) == '.'))
 
 /* This is only meant for internal uses */
-gint priv_gst_date_time_compare (gconstpointer dt1, gconstpointer dt2);
+G_GNUC_INTERNAL
+gint __gst_date_time_compare (const GstDateTime * dt1, const GstDateTime * dt2);
+
+G_GNUC_INTERNAL
+gchar * __gst_date_time_serialize (GstDateTime * datetime, gboolean with_usecs);
 
 #ifndef GST_DISABLE_REGISTRY
 /* Secret variable to initialise gst without registry cache */
@@ -211,6 +219,7 @@
 GST_EXPORT GstDebugCategory *GST_CAT_REGISTRY;
 GST_EXPORT GstDebugCategory *GST_CAT_QOS;
 GST_EXPORT GstDebugCategory *GST_CAT_META;
+GST_EXPORT GstDebugCategory *GST_CAT_LOCKING;
 
 /* Categories that should be completely private to
  * libgstreamer should be done like this: */
@@ -252,6 +261,7 @@
 #define GST_CAT_TYPES            NULL
 #define GST_CAT_POLL             NULL
 #define GST_CAT_META             NULL
+#define GST_CAT_LOCKING          NULL
 
 #endif
 
diff --git a/gst/gstallocator.c b/gst/gstallocator.c
new file mode 100644
index 0000000..fea534b
--- /dev/null
+++ b/gst/gstallocator.c
@@ -0,0 +1,626 @@
+/* GStreamer
+ * Copyright (C) 2011 Wim Taymans <wim.taymans@gmail.be>
+ *
+ * gstallocator.c: memory block allocator
+ *
+ * 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.
+ */
+
+/**
+ * SECTION:gstallocator
+ * @short_description: allocate memory blocks
+ * @see_also: #GstMemory
+ *
+ * Memory is usually created by allocators with a gst_allocator_alloc()
+ * method call. When NULL is used as the allocator, the default allocator will
+ * be used.
+ *
+ * New allocators can be registered with gst_allocator_register().
+ * Allocators are identified by name and can be retrieved with
+ * gst_allocator_find(). gst_allocator_set_default() can be used to change the
+ * default allocator.
+ *
+ * New memory can be created with gst_memory_new_wrapped() that wraps the memory
+ * allocated elsewhere.
+ *
+ * Last reviewed on 2012-07-09 (0.11.3)
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "gst_private.h"
+#include "gstmemory.h"
+
+GST_DEBUG_CATEGORY_STATIC (gst_allocator_debug);
+#define GST_CAT_DEFAULT gst_allocator_debug
+
+#define GST_ALLOCATOR_GET_PRIVATE(obj)  \
+     (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GST_TYPE_ALLOCATOR, GstAllocatorPrivate))
+
+struct _GstAllocatorPrivate
+{
+  gpointer dummy;
+};
+
+#if defined(MEMORY_ALIGNMENT_MALLOC)
+size_t gst_memory_alignment = 7;
+#elif defined(MEMORY_ALIGNMENT_PAGESIZE)
+/* we fill this in in the _init method */
+size_t gst_memory_alignment = 0;
+#elif defined(MEMORY_ALIGNMENT)
+size_t gst_memory_alignment = MEMORY_ALIGNMENT - 1;
+#else
+#error "No memory alignment configured"
+size_t gst_memory_alignment = 0;
+#endif
+
+/* the default allocator */
+static GstAllocator *_default_allocator;
+
+static GstAllocator *_sysmem_allocator;
+
+/* registered allocators */
+static GRWLock lock;
+static GHashTable *allocators;
+
+G_DEFINE_ABSTRACT_TYPE (GstAllocator, gst_allocator, GST_TYPE_OBJECT);
+
+static void
+gst_allocator_class_init (GstAllocatorClass * klass)
+{
+  g_type_class_add_private (klass, sizeof (GstAllocatorPrivate));
+
+  GST_DEBUG_CATEGORY_INIT (gst_allocator_debug, "allocator", 0,
+      "allocator debug");
+}
+
+static GstMemory *
+_fallback_mem_copy (GstMemory * mem, gssize offset, gssize size)
+{
+  GstMemory *copy;
+  GstMapInfo sinfo, dinfo;
+  GstAllocationParams params = { 0, 0, 0, mem->align, };
+
+  if (!gst_memory_map (mem, &sinfo, GST_MAP_READ))
+    return NULL;
+
+  if (size == -1)
+    size = sinfo.size > offset ? sinfo.size - offset : 0;
+
+  /* use the same allocator as the memory we copy  */
+  copy = gst_allocator_alloc (mem->allocator, size, &params);
+  if (!gst_memory_map (copy, &dinfo, GST_MAP_WRITE)) {
+    GST_CAT_WARNING (GST_CAT_MEMORY, "could not write map memory %p", copy);
+    gst_memory_unmap (mem, &sinfo);
+    return NULL;
+  }
+
+  GST_CAT_DEBUG (GST_CAT_PERFORMANCE,
+      "memcpy %" G_GSSIZE_FORMAT " memory %p -> %p", size, mem, copy);
+  memcpy (dinfo.data, sinfo.data + offset, size);
+  gst_memory_unmap (copy, &dinfo);
+  gst_memory_unmap (mem, &sinfo);
+
+  return copy;
+}
+
+static gboolean
+_fallback_mem_is_span (GstMemory * mem1, GstMemory * mem2, gsize * offset)
+{
+  return FALSE;
+}
+
+static void
+gst_allocator_init (GstAllocator * allocator)
+{
+  allocator->priv = GST_ALLOCATOR_GET_PRIVATE (allocator);
+
+  allocator->mem_copy = _fallback_mem_copy;
+  allocator->mem_is_span = _fallback_mem_is_span;
+}
+
+G_DEFINE_BOXED_TYPE (GstAllocationParams, gst_allocation_params,
+    (GBoxedCopyFunc) gst_allocation_params_copy,
+    (GBoxedFreeFunc) gst_allocation_params_free);
+
+/**
+ * gst_allocation_params_init:
+ * @params: a #GstAllocationParams
+ *
+ * Initialize @params to its default values
+ */
+void
+gst_allocation_params_init (GstAllocationParams * params)
+{
+  g_return_if_fail (params != NULL);
+
+  memset (params, 0, sizeof (GstAllocationParams));
+}
+
+/**
+ * gst_allocation_params_copy:
+ * @params: (transfer none): a #GstAllocationParams
+ *
+ * Create a copy of @params.
+ *
+ * Free-function: gst_allocation_params_free
+ *
+ * Returns: (transfer full): a new ##GstAllocationParams, free with
+ * gst_allocation_params_free().
+ */
+GstAllocationParams *
+gst_allocation_params_copy (const GstAllocationParams * params)
+{
+  GstAllocationParams *result = NULL;
+
+  if (params) {
+    result =
+        (GstAllocationParams *) g_slice_copy (sizeof (GstAllocationParams),
+        params);
+  }
+  return result;
+}
+
+/**
+ * gst_allocation_params_free:
+ * @params: (in) (transfer full): a #GstAllocationParams
+ *
+ * Free @params
+ */
+void
+gst_allocation_params_free (GstAllocationParams * params)
+{
+  g_slice_free (GstAllocationParams, params);
+}
+
+/**
+ * gst_allocator_register:
+ * @name: the name of the allocator
+ * @allocator: (transfer full): #GstAllocator
+ *
+ * Registers the memory @allocator with @name. This function takes ownership of
+ * @allocator.
+ */
+void
+gst_allocator_register (const gchar * name, GstAllocator * allocator)
+{
+  g_return_if_fail (name != NULL);
+  g_return_if_fail (allocator != NULL);
+
+  GST_CAT_DEBUG (GST_CAT_MEMORY, "registering allocator %p with name \"%s\"",
+      allocator, name);
+
+  g_rw_lock_writer_lock (&lock);
+  g_hash_table_insert (allocators, (gpointer) name, (gpointer) allocator);
+  g_rw_lock_writer_unlock (&lock);
+}
+
+/**
+ * gst_allocator_find:
+ * @name: the name of the allocator
+ *
+ * Find a previously registered allocator with @name. When @name is NULL, the
+ * default allocator will be returned.
+ *
+ * Returns: (transfer full): a #GstAllocator or NULL when the allocator with @name was not
+ * registered. Use gst_object_unref() to release the allocator after usage.
+ */
+GstAllocator *
+gst_allocator_find (const gchar * name)
+{
+  GstAllocator *allocator;
+
+  g_rw_lock_reader_lock (&lock);
+  if (name) {
+    allocator = g_hash_table_lookup (allocators, (gconstpointer) name);
+  } else {
+    allocator = _default_allocator;
+  }
+  if (allocator)
+    gst_object_ref (allocator);
+  g_rw_lock_reader_unlock (&lock);
+
+  return allocator;
+}
+
+/**
+ * gst_allocator_set_default:
+ * @allocator: (transfer full): a #GstAllocator
+ *
+ * Set the default allocator. This function takes ownership of @allocator.
+ */
+void
+gst_allocator_set_default (GstAllocator * allocator)
+{
+  GstAllocator *old;
+
+  g_return_if_fail (GST_IS_ALLOCATOR (allocator));
+
+  g_rw_lock_writer_lock (&lock);
+  old = _default_allocator;
+  _default_allocator = allocator;
+  g_rw_lock_writer_unlock (&lock);
+
+  if (old)
+    gst_object_unref (old);
+}
+
+/**
+ * gst_allocator_alloc:
+ * @allocator: (transfer none) (allow-none): a #GstAllocator to use
+ * @size: size of the visible memory area
+ * @params: (transfer none) (allow-none): optional parameters
+ *
+ * Use @allocator to allocate a new memory block with memory that is at least
+ * @size big.
+ *
+ * The optional @params can specify the prefix and padding for the memory. If
+ * NULL is passed, no flags, no extra prefix/padding and a default alignment is
+ * used.
+ *
+ * The prefix/padding will be filled with 0 if flags contains
+ * #GST_MEMORY_FLAG_ZERO_PREFIXED and #GST_MEMORY_FLAG_ZERO_PADDED respectively.
+ *
+ * When @allocator is NULL, the default allocator will be used.
+ *
+ * The alignment in @params is given as a bitmask so that @align + 1 equals
+ * the amount of bytes to align to. For example, to align to 8 bytes,
+ * use an alignment of 7.
+ *
+ * Returns: (transfer full): a new #GstMemory.
+ */
+GstMemory *
+gst_allocator_alloc (GstAllocator * allocator, gsize size,
+    GstAllocationParams * params)
+{
+  GstMemory *mem;
+  static GstAllocationParams defparams = { 0, 0, 0, 0, };
+  GstAllocatorClass *aclass;
+
+  if (params) {
+    g_return_val_if_fail (((params->align + 1) & params->align) == 0, NULL);
+  } else {
+    params = &defparams;
+  }
+
+  if (allocator == NULL)
+    allocator = _default_allocator;
+
+  aclass = GST_ALLOCATOR_GET_CLASS (allocator);
+  if (aclass->alloc)
+    mem = aclass->alloc (allocator, size, params);
+  else
+    mem = NULL;
+
+  return mem;
+}
+
+/**
+ * gst_allocator_free:
+ * @allocator: (transfer none): a #GstAllocator to use
+ * @memory: (transfer full): the memory to free
+ *
+ * Free @memory that was previously allocated with gst_allocator_alloc().
+ */
+void
+gst_allocator_free (GstAllocator * allocator, GstMemory * memory)
+{
+  GstAllocatorClass *aclass;
+
+  g_return_if_fail (GST_IS_ALLOCATOR (allocator));
+  g_return_if_fail (memory != NULL);
+  g_return_if_fail (memory->allocator == allocator);
+
+  aclass = GST_ALLOCATOR_GET_CLASS (allocator);
+  if (aclass->free)
+    aclass->free (allocator, memory);
+}
+
+/* default memory implementation */
+typedef struct
+{
+  GstMemory mem;
+
+  gsize slice_size;
+  guint8 *data;
+
+  gpointer user_data;
+  GDestroyNotify notify;
+} GstMemoryDefault;
+
+typedef struct
+{
+  GstAllocator parent;
+} GstDefaultAllocator;
+
+typedef struct
+{
+  GstAllocatorClass parent_class;
+} GstDefaultAllocatorClass;
+
+GType gst_default_allocator_get_type (void);
+G_DEFINE_TYPE (GstDefaultAllocator, gst_default_allocator, GST_TYPE_ALLOCATOR);
+
+/* initialize the fields */
+static inline void
+_default_mem_init (GstMemoryDefault * mem, GstMemoryFlags flags,
+    GstMemory * parent, gsize slice_size,
+    gpointer data, gsize maxsize, gsize align, gsize offset, gsize size,
+    gpointer user_data, GDestroyNotify notify)
+{
+  gst_memory_init (GST_MEMORY_CAST (mem),
+      flags, _sysmem_allocator, parent, maxsize, align, offset, size);
+
+  mem->slice_size = slice_size;
+  mem->data = data;
+  mem->user_data = user_data;
+  mem->notify = notify;
+}
+
+/* create a new memory block that manages the given memory */
+static inline GstMemoryDefault *
+_default_mem_new (GstMemoryFlags flags,
+    GstMemory * parent, gpointer data, gsize maxsize, gsize align, gsize offset,
+    gsize size, gpointer user_data, GDestroyNotify notify)
+{
+  GstMemoryDefault *mem;
+  gsize slice_size;
+
+  slice_size = sizeof (GstMemoryDefault);
+
+  mem = g_slice_alloc (slice_size);
+  _default_mem_init (mem, flags, parent, slice_size,
+      data, maxsize, align, offset, size, user_data, notify);
+
+  return mem;
+}
+
+/* allocate the memory and structure in one block */
+static GstMemoryDefault *
+_default_mem_new_block (GstMemoryFlags flags,
+    gsize maxsize, gsize align, gsize offset, gsize size)
+{
+  GstMemoryDefault *mem;
+  gsize aoffset, slice_size, padding;
+  guint8 *data;
+
+  /* ensure configured alignment */
+  align |= gst_memory_alignment;
+  /* allocate more to compensate for alignment */
+  maxsize += align;
+  /* alloc header and data in one block */
+  slice_size = sizeof (GstMemoryDefault) + maxsize;
+
+  mem = g_slice_alloc (slice_size);
+  if (mem == NULL)
+    return NULL;
+
+  data = (guint8 *) mem + sizeof (GstMemoryDefault);
+
+  /* do alignment */
+  if ((aoffset = ((guintptr) data & align))) {
+    aoffset = (align + 1) - aoffset;
+    data += aoffset;
+    maxsize -= aoffset;
+  }
+
+  if (offset && (flags & GST_MEMORY_FLAG_ZERO_PREFIXED))
+    memset (data, 0, offset);
+
+  padding = maxsize - (offset + size);
+  if (padding && (flags & GST_MEMORY_FLAG_ZERO_PADDED))
+    memset (data + offset + size, 0, padding);
+
+  _default_mem_init (mem, flags, NULL, slice_size, data, maxsize,
+      align, offset, size, NULL, NULL);
+
+  return mem;
+}
+
+static gpointer
+_default_mem_map (GstMemoryDefault * mem, gsize maxsize, GstMapFlags flags)
+{
+  return mem->data;
+}
+
+static gboolean
+_default_mem_unmap (GstMemoryDefault * mem)
+{
+  return TRUE;
+}
+
+static GstMemoryDefault *
+_default_mem_copy (GstMemoryDefault * mem, gssize offset, gsize size)
+{
+  GstMemoryDefault *copy;
+
+  if (size == -1)
+    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);
+  GST_CAT_DEBUG (GST_CAT_PERFORMANCE,
+      "memcpy %" G_GSIZE_FORMAT " memory %p -> %p", mem->mem.maxsize, mem,
+      copy);
+  memcpy (copy->data, mem->data, mem->mem.maxsize);
+
+  return copy;
+}
+
+static GstMemoryDefault *
+_default_mem_share (GstMemoryDefault * mem, gssize offset, gsize size)
+{
+  GstMemoryDefault *sub;
+  GstMemory *parent;
+
+  /* find the real parent */
+  if ((parent = mem->mem.parent) == NULL)
+    parent = (GstMemory *) mem;
+
+  if (size == -1)
+    size = mem->mem.size - offset;
+
+  /* the shared memory is always readonly */
+  sub =
+      _default_mem_new (GST_MINI_OBJECT_FLAGS (parent) |
+      GST_MINI_OBJECT_FLAG_LOCK_READONLY, parent, mem->data, mem->mem.maxsize,
+      mem->mem.align, mem->mem.offset + offset, size, NULL, NULL);
+
+  return sub;
+}
+
+static gboolean
+_default_mem_is_span (GstMemoryDefault * mem1, GstMemoryDefault * mem2,
+    gsize * offset)
+{
+
+  if (offset) {
+    GstMemoryDefault *parent;
+
+    parent = (GstMemoryDefault *) mem1->mem.parent;
+
+    *offset = mem1->mem.offset - parent->mem.offset;
+  }
+
+  /* and memory is contiguous */
+  return mem1->data + mem1->mem.offset + mem1->mem.size ==
+      mem2->data + mem2->mem.offset;
+}
+
+static GstMemory *
+default_alloc (GstAllocator * allocator, gsize size,
+    GstAllocationParams * params)
+{
+  gsize maxsize = size + params->prefix + params->padding;
+
+  return (GstMemory *) _default_mem_new_block (params->flags,
+      maxsize, params->align, params->prefix, size);
+}
+
+static void
+default_free (GstAllocator * allocator, GstMemory * mem)
+{
+  GstMemoryDefault *dmem = (GstMemoryDefault *) mem;
+  gsize slice_size;
+
+  if (dmem->notify)
+    dmem->notify (dmem->user_data);
+
+  slice_size = dmem->slice_size;
+
+#ifdef USE_POISONING
+  /* just poison the structs, not all the data */
+  memset (mem, 0xff, sizeof (GstMemoryDefault));
+#endif
+
+  g_slice_free1 (slice_size, mem);
+}
+
+static void
+gst_default_allocator_finalize (GObject * obj)
+{
+  g_warning ("The default memory allocator was freed!");
+}
+
+static void
+gst_default_allocator_class_init (GstDefaultAllocatorClass * klass)
+{
+  GObjectClass *gobject_class;
+  GstAllocatorClass *allocator_class;
+
+  gobject_class = (GObjectClass *) klass;
+  allocator_class = (GstAllocatorClass *) klass;
+
+  gobject_class->finalize = gst_default_allocator_finalize;
+
+  allocator_class->alloc = default_alloc;
+  allocator_class->free = default_free;
+}
+
+static void
+gst_default_allocator_init (GstDefaultAllocator * allocator)
+{
+  GstAllocator *alloc = GST_ALLOCATOR_CAST (allocator);
+
+  GST_CAT_DEBUG (GST_CAT_MEMORY, "init allocator %p", allocator);
+
+  alloc->mem_type = GST_ALLOCATOR_SYSMEM;
+  alloc->mem_map = (GstMemoryMapFunction) _default_mem_map;
+  alloc->mem_unmap = (GstMemoryUnmapFunction) _default_mem_unmap;
+  alloc->mem_copy = (GstMemoryCopyFunction) _default_mem_copy;
+  alloc->mem_share = (GstMemoryShareFunction) _default_mem_share;
+  alloc->mem_is_span = (GstMemoryIsSpanFunction) _default_mem_is_span;
+}
+
+void
+_priv_gst_memory_initialize (void)
+{
+  g_rw_lock_init (&lock);
+  allocators = g_hash_table_new (g_str_hash, g_str_equal);
+
+#ifdef HAVE_GETPAGESIZE
+#ifdef MEMORY_ALIGNMENT_PAGESIZE
+  gst_memory_alignment = getpagesize () - 1;
+#endif
+#endif
+
+  GST_CAT_DEBUG (GST_CAT_MEMORY, "memory alignment: %" G_GSIZE_FORMAT,
+      gst_memory_alignment);
+
+  _sysmem_allocator = g_object_new (gst_default_allocator_get_type (), NULL);
+
+  gst_allocator_register (GST_ALLOCATOR_SYSMEM,
+      gst_object_ref (_sysmem_allocator));
+
+  _default_allocator = gst_object_ref (_sysmem_allocator);
+}
+
+/**
+ * gst_memory_new_wrapped:
+ * @flags: #GstMemoryFlags
+ * @data: data to wrap
+ * @maxsize: allocated size of @data
+ * @offset: offset in @data
+ * @size: size of valid data
+ * @user_data: user_data
+ * @notify: called with @user_data when the memory is freed
+ *
+ * Allocate a new memory block that wraps the given @data.
+ *
+ * The prefix/padding must be filled with 0 if @flags contains
+ * #GST_MEMORY_FLAG_ZERO_PREFIXED and #GST_MEMORY_FLAG_ZERO_PADDED respectively.
+ *
+ * Returns: a new #GstMemory.
+ */
+GstMemory *
+gst_memory_new_wrapped (GstMemoryFlags flags, gpointer data,
+    gsize maxsize, gsize offset, gsize size, gpointer user_data,
+    GDestroyNotify notify)
+{
+  GstMemoryDefault *mem;
+
+  g_return_val_if_fail (data != NULL, NULL);
+  g_return_val_if_fail (offset + size <= maxsize, NULL);
+
+  mem =
+      _default_mem_new (flags, NULL, data, maxsize, 0, offset, size, user_data,
+      notify);
+
+  return (GstMemory *) mem;
+}
diff --git a/gst/gstallocator.h b/gst/gstallocator.h
new file mode 100644
index 0000000..f9edd50
--- /dev/null
+++ b/gst/gstallocator.h
@@ -0,0 +1,159 @@
+/* GStreamer
+ * Copyright (C) 2009 Wim Taymans <wim.taymans@gmail.be>
+ *
+ * gstallocator.h: Header for memory allocation
+ *
+ * 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.
+ */
+
+
+#ifndef __GST_ALLOCATOR_H__
+#define __GST_ALLOCATOR_H__
+
+#include <gst/gstmemory.h>
+
+G_BEGIN_DECLS
+
+typedef struct _GstAllocatorPrivate GstAllocatorPrivate;
+typedef struct _GstAllocatorClass GstAllocatorClass;
+
+#define GST_TYPE_ALLOCATOR                 (gst_allocator_get_type())
+#define GST_IS_ALLOCATOR(obj)              (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_ALLOCATOR))
+#define GST_IS_ALLOCATOR_CLASS(klass)      (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_ALLOCATOR))
+#define GST_ALLOCATOR_GET_CLASS(obj)       (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_ALLOCATOR, GstAllocatorClass))
+#define GST_ALLOCATOR(obj)                 (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_ALLOCATOR, GstAllocator))
+#define GST_ALLOCATOR_CLASS(klass)         (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_ALLOCATOR, GstAllocatorClass))
+#define GST_ALLOCATOR_CAST(obj)            ((GstAllocator *)(obj))
+
+#define GST_TYPE_ALLOCATION_PARAMS (gst_allocation_params_get_type())
+GType gst_allocation_params_get_type(void);
+
+typedef struct _GstAllocationParams GstAllocationParams;
+
+/**
+ * gst_memory_alignment:
+ *
+ * The default memory alignment in bytes - 1
+ * an alignment of 7 would be the same as what malloc() guarantees.
+ */
+GST_EXPORT gsize gst_memory_alignment;
+
+/**
+ * GST_ALLOCATOR_SYSMEM:
+ *
+ * The allocator name for the default system memory allocator
+ */
+#define GST_ALLOCATOR_SYSMEM   "SystemMemory"
+
+/**
+ * GstAllocationParams:
+ * @flags: flags to control allocation
+ * @align: the desired alignment of the memory
+ * @prefix: the desired prefix
+ * @padding: the desired padding
+ *
+ * Parameters to control the allocation of memory
+ */
+struct _GstAllocationParams {
+  GstMemoryFlags flags;
+  gsize          align;
+  gsize          prefix;
+  gsize          padding;
+
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+/**
+ * GstAllocatorFlags:
+ * @GST_ALLOCATOR_FLAG_CUSTOM_ALLOC: The allocator has a custom alloc function.
+ * @GST_ALLOCATOR_FLAG_LAST: first flag that can be used for custom purposes
+ *
+ * Flags for allocators.
+ */
+typedef enum {
+  GST_ALLOCATOR_FLAG_CUSTOM_ALLOC  = (GST_OBJECT_FLAG_LAST << 0),
+
+  GST_ALLOCATOR_FLAG_LAST          = (GST_OBJECT_FLAG_LAST << 16)
+} GstAllocatorFlags;
+
+/**
+ * GstAllocator:
+ * @object: parent structure
+ * @mem_type: the memory type this allocator provides
+ * @mem_map: the implementation of the GstMemoryMapFunction
+ * @mem_unmap: the implementation of the GstMemoryUnmapFunction
+ * @mem_copy: the implementation of the GstMemoryCopyFunction
+ * @mem_share: the implementation of the GstMemoryShareFunction
+ * @mem_is_span: the implementation of the GstMemoryIsSpanFunction
+ *
+ * The #GstAllocator is used to create new memory.
+ */
+struct _GstAllocator
+{
+  GstObject  object;
+
+  const gchar              *mem_type;
+
+  GstMemoryMapFunction      mem_map;
+  GstMemoryUnmapFunction    mem_unmap;
+
+  GstMemoryCopyFunction     mem_copy;
+  GstMemoryShareFunction    mem_share;
+  GstMemoryIsSpanFunction   mem_is_span;
+
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
+
+  GstAllocatorPrivate *priv;
+};
+
+struct _GstAllocatorClass {
+  GstObjectClass object_class;
+
+  GstMemory *  (*alloc)      (GstAllocator *allocator, gsize size,
+                              GstAllocationParams *params);
+  void         (*free)       (GstAllocator *allocator, GstMemory *memory);
+
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+GType gst_allocator_get_type(void);
+
+/* allocators */
+void           gst_allocator_register        (const gchar *name, GstAllocator *allocator);
+GstAllocator * gst_allocator_find            (const gchar *name);
+void           gst_allocator_set_default     (GstAllocator * allocator);
+
+/* allocation parameters */
+void           gst_allocation_params_init    (GstAllocationParams *params);
+GstAllocationParams *
+               gst_allocation_params_copy    (const GstAllocationParams *params) G_GNUC_MALLOC;
+void           gst_allocation_params_free    (GstAllocationParams *params);
+
+/* allocating memory blocks */
+GstMemory *    gst_allocator_alloc           (GstAllocator * allocator, gsize size,
+                                              GstAllocationParams *params);
+void           gst_allocator_free            (GstAllocator * allocator, GstMemory *memory);
+
+GstMemory *    gst_memory_new_wrapped  (GstMemoryFlags flags, gpointer data, gsize maxsize,
+                                        gsize offset, gsize size, gpointer user_data,
+                                        GDestroyNotify notify);
+
+G_END_DECLS
+
+#endif /* __GST_ALLOCATOR_H__ */
diff --git a/gst/gstatomicqueue.c b/gst/gstatomicqueue.c
index 812970a..473092b 100644
--- a/gst/gstatomicqueue.c
+++ b/gst/gstatomicqueue.c
@@ -35,10 +35,12 @@
  *
  * The #GstAtomicQueue object implements a queue that can be used from multiple
  * threads without performing any blocking operations.
- *
- * Since: 0.10.33
  */
 
+G_DEFINE_BOXED_TYPE (GstAtomicQueue, gst_atomic_queue,
+    (GBoxedCopyFunc) gst_atomic_queue_ref,
+    (GBoxedFreeFunc) gst_atomic_queue_unref);
+
 /* By default the queue uses 2 * sizeof(gpointer) * clp2 (max_items) of
  * memory. clp2(x) is the next power of two >= than x.
  *
@@ -149,8 +151,6 @@
  * nearest power of 2 and used as the initial size of the queue.
  *
  * Returns: a new #GstAtomicQueue
- *
- * Since: 0.10.33
  */
 GstAtomicQueue *
 gst_atomic_queue_new (guint initial_size)
@@ -174,8 +174,6 @@
  * @queue: a #GstAtomicQueue
  *
  * Increase the refcount of @queue.
- *
- * Since: 0.10.33
  */
 void
 gst_atomic_queue_ref (GstAtomicQueue * queue)
@@ -200,8 +198,6 @@
  * @queue: a #GstAtomicQueue
  *
  * Unref @queue and free the memory when the refcount reaches 0.
- *
- * Since: 0.10.33
  */
 void
 gst_atomic_queue_unref (GstAtomicQueue * queue)
@@ -218,9 +214,8 @@
  *
  * Peek the head element of the queue without removing it from the queue.
  *
- * Returns: the head element of @queue or NULL when the queue is empty.
- *
- * Since: 0.10.33
+ * Returns: (transfer none): the head element of @queue or NULL when
+ * the queue is empty.
  */
 gpointer
 gst_atomic_queue_peek (GstAtomicQueue * queue)
@@ -269,9 +264,8 @@
  *
  * Get the head element of the queue.
  *
- * Returns: the head element of @queue or NULL when the queue is empty.
- *
- * Since: 0.10.33
+ * Returns: (transfer full): the head element of @queue or NULL when
+ * the queue is empty.
  */
 gpointer
 gst_atomic_queue_pop (GstAtomicQueue * queue)
@@ -339,8 +333,6 @@
  * @data: the data
  *
  * Append @data to the tail of the queue.
- *
- * Since: 0.10.33
  */
 void
 gst_atomic_queue_push (GstAtomicQueue * queue, gpointer data)
@@ -403,8 +395,6 @@
  * Get the amount of items in the queue.
  *
  * Returns: the number of elements in the queue.
- *
- * Since: 0.10.33
  */
 guint
 gst_atomic_queue_length (GstAtomicQueue * queue)
diff --git a/gst/gstatomicqueue.h b/gst/gstatomicqueue.h
index e38e9b4..af6d693 100644
--- a/gst/gstatomicqueue.h
+++ b/gst/gstatomicqueue.h
@@ -27,18 +27,20 @@
 
 G_BEGIN_DECLS
 
+#define GST_TYPE_ATOMIC_QUEUE (gst_atomic_queue_get_type())
+
 /**
  * GstAtomicQueue:
  *
  * Opaque atomic data queue.
  *
  * Use the acessor functions to get the stored values.
- *
- * Since: 0.10.33
  */
 typedef struct _GstAtomicQueue GstAtomicQueue;
 
 
+GType              gst_atomic_queue_get_type    (void);
+
 GstAtomicQueue *   gst_atomic_queue_new         (guint initial_size) G_GNUC_MALLOC;
 
 void               gst_atomic_queue_ref         (GstAtomicQueue * queue);
diff --git a/gst/gstbin.c b/gst/gstbin.c
index d5ce5f6..b1e05bf 100644
--- a/gst/gstbin.c
+++ b/gst/gstbin.c
@@ -221,7 +221,7 @@
 static GstStateChangeReturn gst_bin_get_state_func (GstElement * element,
     GstState * state, GstState * pending, GstClockTime timeout);
 static void bin_handle_async_done (GstBin * bin, GstStateChangeReturn ret,
-    gboolean flag_pending, gboolean reset_time);
+    gboolean flag_pending, GstClockTime running_time);
 static void bin_handle_async_start (GstBin * bin);
 static void bin_push_state_continue (BinContinueData * data);
 static void bin_do_eos (GstBin * bin);
@@ -367,13 +367,11 @@
   gobject_class->get_property = gst_bin_get_property;
 
   /**
-   * GstBin:async-handling
+   * GstBin:async-handling:
    *
    * If set to #TRUE, the bin will handle asynchronous state changes.
    * This should be used only if the bin subclass is modifying the state
    * of its children on its own.
-   *
-   * Since: 0.10.13
    */
   g_object_class_install_property (gobject_class, PROP_ASYNC_HANDLING,
       g_param_spec_boolean ("async-handling", "Async Handling",
@@ -417,8 +415,6 @@
    * Connect to this signal if the default latency calculations are not
    * sufficient, like when you need different latencies for different sinks in
    * the same pipeline.
-   *
-   * Since: 0.10.22
    */
   gst_bin_signals[DO_LATENCY] =
       g_signal_new ("do-latency", G_TYPE_FROM_CLASS (klass),
@@ -427,7 +423,7 @@
       G_TYPE_BOOLEAN, 0, G_TYPE_NONE);
 
   /**
-   * GstBin:message-forward
+   * GstBin:message-forward:
    *
    * Forward all children messages, even those that would normally be filtered by
    * the bin. This can be interesting when one wants to be notified of the EOS
@@ -437,8 +433,6 @@
    * source. The structure of the message is named 'GstBinForwarded' and contains
    * a field named 'message' of type GST_TYPE_MESSAGE that contains the original
    * forwarded message.
-   *
-   * Since: 0.10.31
    */
   g_object_class_install_property (gobject_class, PROP_MESSAGE_FORWARD,
       g_param_spec_boolean ("message-forward", "Message Forward",
@@ -500,7 +494,8 @@
   bin->child_bus = bus;
   GST_DEBUG_OBJECT (bin, "using bus %" GST_PTR_FORMAT " to listen to children",
       bus);
-  gst_bus_set_sync_handler (bus, (GstBusSyncHandler) bin_bus_handler, bin);
+  gst_bus_set_sync_handler (bus, (GstBusSyncHandler) bin_bus_handler, bin,
+      NULL);
 
   bin->priv = GST_BIN_GET_PRIVATE (bin);
   bin->priv->asynchandling = DEFAULT_ASYNC_HANDLING;
@@ -1008,6 +1003,43 @@
   return result && n_eos > 0;
 }
 
+
+/* Check if the bin is STREAM_START. We do this by scanning all sinks and
+ * checking if they posted an STREAM_START message.
+ *
+ * call with bin LOCK */
+static gboolean
+is_stream_start (GstBin * bin, guint32 * seqnum)
+{
+  gboolean result;
+  gint n_stream_start = 0;
+  GList *walk, *msgs;
+
+  result = TRUE;
+  for (walk = bin->children; walk; walk = g_list_next (walk)) {
+    GstElement *element;
+
+    element = GST_ELEMENT_CAST (walk->data);
+    if (bin_element_is_sink (element, bin) == 0) {
+      /* check if element posted STREAM_START */
+      if ((msgs =
+              find_message (bin, GST_OBJECT_CAST (element),
+                  GST_MESSAGE_STREAM_START))) {
+        GST_DEBUG ("sink '%s' posted STREAM_START", GST_ELEMENT_NAME (element));
+        *seqnum = gst_message_get_seqnum (GST_MESSAGE_CAST (msgs->data));
+        n_stream_start++;
+      } else {
+        GST_DEBUG ("sink '%s' did not post STREAM_START yet",
+            GST_ELEMENT_NAME (element));
+        result = FALSE;
+        break;
+      }
+    }
+  }
+
+  return result;
+}
+
 static void
 unlink_pads (const GValue * item, gpointer user_data)
 {
@@ -1134,7 +1166,7 @@
     }
     case GST_STATE_CHANGE_NO_PREROLL:
       /* ignore all async elements we might have and commit our state */
-      bin_handle_async_done (bin, ret, FALSE, FALSE);
+      bin_handle_async_done (bin, ret, FALSE, GST_CLOCK_TIME_NONE);
       break;
     case GST_STATE_CHANGE_FAILURE:
       break;
@@ -1162,7 +1194,8 @@
       elem_name);
 
   g_signal_emit (bin, gst_bin_signals[ELEMENT_ADDED], 0, element);
-  gst_child_proxy_child_added ((GObject *) bin, (GObject *) element, elem_name);
+  gst_child_proxy_child_added ((GstChildProxy *) bin, (GObject *) element,
+      elem_name);
 
   g_free (elem_name);
 
@@ -1268,16 +1301,18 @@
 
   GST_DEBUG_OBJECT (bin, "element :%s", GST_ELEMENT_NAME (element));
 
-  GST_OBJECT_LOCK (element);
-  /* Check if the element is already being removed and immediately
-   * return */
-  if (G_UNLIKELY (GST_OBJECT_FLAG_IS_SET (element,
-              GST_ELEMENT_FLAG_UNPARENTING)))
-    goto already_removing;
+  GST_OBJECT_LOCK (bin);
 
-  GST_OBJECT_FLAG_SET (element, GST_ELEMENT_FLAG_UNPARENTING);
-  /* grab element name so we can print it */
+  GST_OBJECT_LOCK (element);
   elem_name = g_strdup (GST_ELEMENT_NAME (element));
+
+  if (GST_OBJECT_PARENT (element) != GST_OBJECT_CAST (bin))
+    goto not_in_bin;
+
+  /* remove the parent ref */
+  GST_OBJECT_PARENT (element) = NULL;
+
+  /* grab element name so we can print it */
   is_sink = GST_OBJECT_FLAG_IS_SET (element, GST_ELEMENT_FLAG_SINK);
   is_source = GST_OBJECT_FLAG_IS_SET (element, GST_ELEMENT_FLAG_SOURCE);
   provides_clock =
@@ -1286,12 +1321,6 @@
       GST_OBJECT_FLAG_IS_SET (element, GST_ELEMENT_FLAG_REQUIRE_CLOCK);
   GST_OBJECT_UNLOCK (element);
 
-  /* unlink all linked pads */
-  it = gst_element_iterate_pads (element);
-  gst_iterator_foreach (it, (GstIteratorForeachFunction) unlink_pads, NULL);
-  gst_iterator_free (it);
-
-  GST_OBJECT_LOCK (bin);
   found = FALSE;
   othersink = FALSE;
   othersource = FALSE;
@@ -1454,7 +1483,7 @@
     else
       ret = GST_STATE_CHANGE_SUCCESS;
 
-    bin_handle_async_done (bin, ret, FALSE, FALSE);
+    bin_handle_async_done (bin, ret, FALSE, GST_CLOCK_TIME_NONE);
   } else {
     GST_DEBUG_OBJECT (bin,
         "recalc state preroll: %d, other async: %d, this async %d",
@@ -1474,30 +1503,25 @@
     GST_STATE_RETURN (bin) = ret;
   }
 no_state_recalc:
+  /* clear bus */
+  gst_element_set_bus (element, NULL);
+  /* Clear the clock we provided to the element */
+  gst_element_set_clock (element, NULL);
   GST_OBJECT_UNLOCK (bin);
 
   if (clock_message)
     gst_element_post_message (GST_ELEMENT_CAST (bin), clock_message);
 
+  /* unlink all linked pads */
+  it = gst_element_iterate_pads (element);
+  gst_iterator_foreach (it, (GstIteratorForeachFunction) unlink_pads, NULL);
+  gst_iterator_free (it);
+
   GST_CAT_INFO_OBJECT (GST_CAT_PARENTAGE, bin, "removed child \"%s\"",
       elem_name);
 
-  gst_element_set_bus (element, NULL);
-
-  /* Clear the clock we provided to the element */
-  gst_element_set_clock (element, NULL);
-
-  /* we ref here because after the _unparent() the element can be disposed
-   * and we still need it to reset the UNPARENTING flag and fire a signal. */
-  gst_object_ref (element);
-  gst_object_unparent (GST_OBJECT_CAST (element));
-
-  GST_OBJECT_LOCK (element);
-  GST_OBJECT_FLAG_UNSET (element, GST_ELEMENT_FLAG_UNPARENTING);
-  GST_OBJECT_UNLOCK (element);
-
   g_signal_emit (bin, gst_bin_signals[ELEMENT_REMOVED], 0, element);
-  gst_child_proxy_child_removed ((GObject *) bin, (GObject *) element,
+  gst_child_proxy_child_removed ((GstChildProxy *) bin, (GObject *) element,
       elem_name);
 
   g_free (elem_name);
@@ -1511,16 +1535,11 @@
   {
     g_warning ("Element '%s' is not in bin '%s'", elem_name,
         GST_ELEMENT_NAME (bin));
+    GST_OBJECT_UNLOCK (element);
     GST_OBJECT_UNLOCK (bin);
     g_free (elem_name);
     return FALSE;
   }
-already_removing:
-  {
-    GST_CAT_INFO_OBJECT (GST_CAT_PARENTAGE, bin, "already removing child");
-    GST_OBJECT_UNLOCK (element);
-    return FALSE;
-  }
 }
 
 /**
@@ -2188,6 +2207,10 @@
       gst_element_state_get_name (child_pending),
       gst_element_state_get_name (next));
 
+  /* always recurse into bins so that we can set the base time */
+  if (GST_IS_BIN (element))
+    goto do_state;
+
   /* Try not to change the state of elements that are already in the state we're
    * going to */
   if (child_current == next && child_pending == GST_STATE_VOID_PENDING) {
@@ -2251,6 +2274,7 @@
     }
   }
 
+do_state:
   GST_OBJECT_LOCK (bin);
   /* the element was busy with an upwards async state change, we must wait for
    * an ASYNC_DONE message before we attemp to change the state. */
@@ -2369,7 +2393,7 @@
   GstIterator *iter;
   gboolean fold_ok;
 
-  GST_DEBUG_OBJECT (bin, "src_pads_activate with active %d", active);
+  GST_DEBUG_OBJECT (bin, "%s pads", active ? "activate" : "deactivate");
 
   iter = gst_element_iterate_src_pads ((GstElement *) bin);
   fold_ok = iterator_activate_fold_with_resync (iter, &active);
@@ -2377,14 +2401,14 @@
   if (G_UNLIKELY (!fold_ok))
     goto failed;
 
-  GST_DEBUG_OBJECT (bin, "pads_activate successful");
+  GST_DEBUG_OBJECT (bin, "pad %sactivation successful", active ? "" : "de");
 
   return TRUE;
 
   /* ERRORS */
 failed:
   {
-    GST_DEBUG_OBJECT (bin, "source pads_activate failed");
+    GST_DEBUG_OBJECT (bin, "pad %sactivation failed", active ? "" : "de");
     return FALSE;
   }
 }
@@ -2403,8 +2427,6 @@
  * calculations will be performed.
  *
  * Returns: %TRUE if the latency could be queried and reconfigured.
- *
- * Since: 0.10.22.
  */
 gboolean
 gst_bin_recalculate_latency (GstBin * bin)
@@ -2525,6 +2547,8 @@
       GST_DEBUG_OBJECT (element, "clearing EOS elements");
       bin_remove_messages (bin, NULL, GST_MESSAGE_EOS);
       bin->priv->posted_eos = FALSE;
+      if (current == GST_STATE_READY)
+        bin_remove_messages (bin, NULL, GST_MESSAGE_STREAM_START);
       GST_OBJECT_UNLOCK (bin);
       if (current == GST_STATE_READY)
         if (!(gst_bin_src_pads_activate (bin, TRUE)))
@@ -2704,7 +2728,8 @@
     bin_remove_messages (bin, NULL, GST_MESSAGE_ASYNC_DONE);
 
     GST_DEBUG_OBJECT (bin, "async elements commited");
-    bin_handle_async_done (bin, GST_STATE_CHANGE_SUCCESS, FALSE, FALSE);
+    bin_handle_async_done (bin, GST_STATE_CHANGE_SUCCESS, FALSE,
+        GST_CLOCK_TIME_NONE);
   }
 
 state_end:
@@ -2963,7 +2988,7 @@
  */
 static void
 bin_handle_async_done (GstBin * bin, GstStateChangeReturn ret,
-    gboolean flag_pending, gboolean reset_time)
+    gboolean flag_pending, GstClockTime running_time)
 {
   GstState current, pending, target;
   GstStateChangeReturn old_ret;
@@ -2991,7 +3016,7 @@
   target = GST_STATE_TARGET (bin);
   pending = GST_STATE_PENDING (bin) = target;
 
-  amessage = gst_message_new_async_done (GST_OBJECT_CAST (bin), reset_time);
+  amessage = gst_message_new_async_done (GST_OBJECT_CAST (bin), running_time);
 
   old_state = GST_STATE (bin);
   /* this is the state we should go to next */
@@ -3132,6 +3157,35 @@
   }
 }
 
+static void
+bin_do_stream_start (GstBin * bin)
+{
+  guint32 seqnum = 0;
+  gboolean stream_start;
+
+  GST_OBJECT_LOCK (bin);
+  /* If all sinks are STREAM_START we forward the STREAM_START message
+   * to the parent bin or application
+   */
+  stream_start = is_stream_start (bin, &seqnum);
+  GST_OBJECT_UNLOCK (bin);
+
+  if (stream_start) {
+    GstMessage *tmessage;
+
+    GST_OBJECT_LOCK (bin);
+    bin_remove_messages (bin, NULL, GST_MESSAGE_STREAM_START);
+    GST_OBJECT_UNLOCK (bin);
+
+    tmessage = gst_message_new_stream_start (GST_OBJECT_CAST (bin));
+    gst_message_set_seqnum (tmessage, seqnum);
+    GST_DEBUG_OBJECT (bin,
+        "all sinks posted STREAM_START, posting seqnum #%" G_GUINT32_FORMAT,
+        seqnum);
+    gst_element_post_message (GST_ELEMENT_CAST (bin), tmessage);
+  }
+}
+
 /* must be called with the object lock. This function releases the lock to post
  * the message. */
 static void
@@ -3251,6 +3305,18 @@
       bin_do_eos (bin);
       break;
     }
+    case GST_MESSAGE_STREAM_START:
+    {
+
+      /* collect all stream_start messages from the children */
+      GST_OBJECT_LOCK (bin);
+      /* ref message for future use  */
+      bin_replace_message (bin, message, GST_MESSAGE_STREAM_START);
+      GST_OBJECT_UNLOCK (bin);
+
+      bin_do_stream_start (bin);
+      break;
+    }
     case GST_MESSAGE_STATE_DIRTY:
     {
       GST_WARNING_OBJECT (bin, "received deprecated STATE_DIRTY message");
@@ -3421,13 +3487,13 @@
     }
     case GST_MESSAGE_ASYNC_DONE:
     {
-      gboolean reset_time;
+      GstClockTime running_time;
       GstState target;
 
       GST_DEBUG_OBJECT (bin, "ASYNC_DONE message %p, %s", message,
           src ? GST_OBJECT_NAME (src) : "(NULL)");
 
-      gst_message_parse_async_done (message, &reset_time);
+      gst_message_parse_async_done (message, &running_time);
 
       GST_OBJECT_LOCK (bin);
       bin_do_message_forward (bin, message);
@@ -3449,7 +3515,8 @@
          * need to set the pending_done flag so that at the end of the state
          * change we can see if we need to verify pending async elements, hence
          * the TRUE argument here. */
-        bin_handle_async_done (bin, GST_STATE_CHANGE_SUCCESS, TRUE, reset_time);
+        bin_handle_async_done (bin, GST_STATE_CHANGE_SUCCESS, TRUE,
+            running_time);
       } else {
         GST_DEBUG_OBJECT (bin, "there are more async elements pending");
       }
@@ -3543,6 +3610,12 @@
 
     GST_DEBUG_OBJECT (item, "got duration %" G_GINT64_FORMAT, duration);
 
+    if (duration == -1) {
+      /* duration query succeeded, but duration is unknown */
+      fold->max = -1;
+      return FALSE;
+    }
+
     if (duration > fold->max)
       fold->max = duration;
   }
diff --git a/gst/gstbin.h b/gst/gstbin.h
index 19c7634..6ae7404 100644
--- a/gst/gstbin.h
+++ b/gst/gstbin.h
@@ -81,10 +81,10 @@
 /**
  * GstBin:
  * @numchildren: the number of children in this bin
- * @children: the list of children in this bin
+ * @children: (element-type Gst.Element): the list of children in this bin
  * @children_cookie: updated whenever @children changes
  * @child_bus: internal bus for handling child messages
- * @messages: queued and cached messages
+ * @messages: (element-type Gst.Message): queued and cached messages
  * @polling: the bin is currently calculating its state
  * @state_dirty: the bin needs to recalculate its state (deprecated)
  * @clock_dirty: the bin needs to select a new clock
@@ -152,7 +152,7 @@
   void		(*handle_message)	(GstBin *bin, GstMessage *message);
 
   /*< private >*/
-  /* signal added 0.10.22 */
+  /* signal */
   gboolean	(*do_latency)           (GstBin *bin);
 
   /*< private >*/
diff --git a/gst/gstbuffer.c b/gst/gstbuffer.c
index b9783c5..385dde6 100644
--- a/gst/gstbuffer.c
+++ b/gst/gstbuffer.c
@@ -138,6 +138,7 @@
 
 #define GST_BUFFER_MEM_MAX         16
 
+#define GST_BUFFER_SLICE_SIZE(b)   (((GstBufferImpl *)(b))->slice_size)
 #define GST_BUFFER_MEM_LEN(b)      (((GstBufferImpl *)(b))->len)
 #define GST_BUFFER_MEM_ARRAY(b)    (((GstBufferImpl *)(b))->mem)
 #define GST_BUFFER_MEM_PTR(b,i)    (((GstBufferImpl *)(b))->mem[i])
@@ -148,6 +149,8 @@
 {
   GstBuffer buffer;
 
+  gsize slice_size;
+
   /* the memory blocks */
   guint len;
   GstMemory *mem[GST_BUFFER_MEM_MAX];
@@ -200,6 +203,9 @@
 {
   GstMemory **mem, *result;
 
+  GST_CAT_LOG (GST_CAT_BUFFER, "buffer %p, idx %u, length %u", buffer, idx,
+      length);
+
   mem = GST_BUFFER_MEM_ARRAY (buffer);
 
   if (G_UNLIKELY (length == 0)) {
@@ -213,8 +219,7 @@
     size = gst_buffer_get_size (buffer);
 
     if (G_UNLIKELY (_is_span (mem + idx, length, &poffset, &parent))) {
-
-      if (parent->flags & GST_MEMORY_FLAG_NO_SHARE) {
+      if (GST_MEMORY_IS_NO_SHARE (parent)) {
         GST_CAT_DEBUG (GST_CAT_PERFORMANCE, "copy for merge %p", parent);
         result = gst_memory_copy (parent, poffset, size);
       } else {
@@ -255,15 +260,22 @@
   gsize end, i;
 
   end = idx + length;
-  GST_LOG ("buffer %p replace %u-%" G_GSIZE_FORMAT " with memory %p", buffer,
-      idx, end, mem);
+
+  GST_CAT_LOG (GST_CAT_BUFFER,
+      "buffer %p replace %u-%" G_GSIZE_FORMAT " with memory %p", buffer, idx,
+      end, mem);
 
   /* unref old memory */
-  for (i = idx; i < end; i++)
-    gst_memory_unref (GST_BUFFER_MEM_PTR (buffer, i));
+  for (i = idx; i < end; i++) {
+    GstMemory *old = GST_BUFFER_MEM_PTR (buffer, i);
+
+    gst_memory_unlock (old, GST_LOCK_FLAG_EXCLUSIVE);
+    gst_memory_unref (old);
+  }
 
   if (mem != NULL) {
     /* replace with single memory */
+    gst_memory_lock (mem, GST_LOCK_FLAG_EXCLUSIVE);
     GST_BUFFER_MEM_PTR (buffer, idx) = mem;
     idx++;
     length--;
@@ -277,10 +289,13 @@
 }
 
 static inline void
-_memory_add (GstBuffer * buffer, guint idx, GstMemory * mem)
+_memory_add (GstBuffer * buffer, gint idx, GstMemory * mem, gboolean lock)
 {
   guint i, len = GST_BUFFER_MEM_LEN (buffer);
 
+  GST_CAT_LOG (GST_CAT_BUFFER, "buffer %p, idx %d, mem %p, lock %d", buffer,
+      idx, mem, lock);
+
   if (G_UNLIKELY (len >= GST_BUFFER_MEM_MAX)) {
     /* too many buffer, span them. */
     /* FIXME, there is room for improvement here: We could only try to merge
@@ -301,6 +316,8 @@
     GST_BUFFER_MEM_PTR (buffer, i) = GST_BUFFER_MEM_PTR (buffer, i - 1);
   }
   /* and insert the new buffer */
+  if (lock)
+    gst_memory_lock (mem, GST_LOCK_FLAG_EXCLUSIVE);
   GST_BUFFER_MEM_PTR (buffer, idx) = mem;
   GST_BUFFER_MEM_LEN (buffer) = len + 1;
 }
@@ -402,7 +419,7 @@
         gsize tocopy;
 
         tocopy = MIN (bsize - skip, left);
-        if (mem->flags & GST_MEMORY_FLAG_NO_SHARE) {
+        if (GST_MEMORY_IS_NO_SHARE (mem)) {
           /* no share, always copy then */
           mem = gst_memory_copy (mem, skip, tocopy);
           skip = 0;
@@ -413,7 +430,7 @@
         } else {
           mem = gst_memory_ref (mem);
         }
-        _memory_add (dest, -1, mem);
+        _memory_add (dest, -1, mem, TRUE);
         left -= tocopy;
       }
     }
@@ -505,31 +522,35 @@
 
   /* get the size, when unreffing the memory, we could also unref the buffer
    * itself */
-  msize = GST_MINI_OBJECT_SIZE (buffer);
+  msize = GST_BUFFER_SLICE_SIZE (buffer);
 
   /* free our memory */
   len = GST_BUFFER_MEM_LEN (buffer);
-  for (i = 0; i < len; i++)
+  for (i = 0; i < len; i++) {
+    gst_memory_unlock (GST_BUFFER_MEM_PTR (buffer, i), GST_LOCK_FLAG_EXCLUSIVE);
     gst_memory_unref (GST_BUFFER_MEM_PTR (buffer, i));
+  }
 
   /* we set msize to 0 when the buffer is part of the memory block */
-  if (msize)
+  if (msize) {
+#ifdef USE_POISONING
+    memset (buffer, 0xff, msize);
+#endif
     g_slice_free1 (msize, buffer);
-  else
+  } else {
     gst_memory_unref (GST_BUFFER_BUFMEM (buffer));
+  }
 }
 
 static void
 gst_buffer_init (GstBufferImpl * buffer, gsize size)
 {
-  gst_mini_object_init (GST_MINI_OBJECT_CAST (buffer), _gst_buffer_type, size);
+  gst_mini_object_init (GST_MINI_OBJECT_CAST (buffer), 0, _gst_buffer_type,
+      (GstMiniObjectCopyFunction) _gst_buffer_copy,
+      (GstMiniObjectDisposeFunction) _gst_buffer_dispose,
+      (GstMiniObjectFreeFunction) _gst_buffer_free);
 
-  buffer->buffer.mini_object.copy =
-      (GstMiniObjectCopyFunction) _gst_buffer_copy;
-  buffer->buffer.mini_object.dispose =
-      (GstMiniObjectDisposeFunction) _gst_buffer_dispose;
-  buffer->buffer.mini_object.free =
-      (GstMiniObjectFreeFunction) _gst_buffer_free;
+  GST_BUFFER_SLICE_SIZE (buffer) = size;
 
   GST_BUFFER (buffer)->pool = NULL;
   GST_BUFFER_PTS (buffer) = GST_CLOCK_TIME_NONE;
@@ -607,7 +628,7 @@
   newbuf = gst_buffer_new ();
 
   if (mem != NULL)
-    _memory_add (newbuf, -1, mem);
+    _memory_add (newbuf, -1, mem, TRUE);
 
   GST_CAT_LOG (GST_CAT_BUFFER,
       "new buffer %p of size %" G_GSIZE_FORMAT " from allocator %p", newbuf,
@@ -626,7 +647,7 @@
   if (size > 0) {
     mem = gst_memory_new_wrapped (0, data + sizeof (GstBufferImpl), NULL,
         size, 0, size);
-    _memory_add (newbuf, -1, mem);
+    _memory_add (newbuf, -1, mem, TRUE);
   }
 #endif
 
@@ -653,7 +674,7 @@
   GST_BUFFER_BUFMEM (newbuf) = mem;
 
   if (size > 0)
-    _memory_add (newbuf, -1, gst_memory_ref (mem));
+    _memory_add (newbuf, -1, gst_memory_ref (mem), TRUE);
 #endif
 
   return newbuf;
@@ -738,6 +759,22 @@
 }
 
 /**
+ * gst_buffer_prepend_memory:
+ * @b: a #GstBuffer.
+ * @m: (transfer full): a #GstMemory.
+ *
+ * Prepend the memory block @m to @b. This function takes ownership
+ * of @m and thus doesn't increase its refcount.
+ */
+/**
+ * gst_buffer_append_memory:
+ * @b: a #GstBuffer.
+ * @m: (transfer full): a #GstMemory.
+ *
+ * Append the memory block @m to @b. This function takes ownership
+ * of @m and thus doesn't increase its refcount.
+ */
+/**
  * gst_buffer_insert_memory:
  * @buffer: a #GstBuffer.
  * @idx: the index to add the memory at, or -1 to append it to the end
@@ -755,7 +792,7 @@
   g_return_if_fail (idx == -1 ||
       (idx >= 0 && idx <= GST_BUFFER_MEM_LEN (buffer)));
 
-  _memory_add (buffer, idx, mem);
+  _memory_add (buffer, idx, mem, TRUE);
 }
 
 static GstMemory *
@@ -764,18 +801,20 @@
 {
   GstMemory *mem, *mapped;
 
-  mem = GST_BUFFER_MEM_PTR (buffer, idx);
+  mem = gst_memory_ref (GST_BUFFER_MEM_PTR (buffer, idx));
 
   mapped = gst_memory_make_mapped (mem, info, flags);
-  if (!mapped)
-    return NULL;
 
   if (mapped != mem) {
+    /* memory changed, lock new memory */
+    gst_memory_lock (mapped, GST_LOCK_FLAG_EXCLUSIVE);
     GST_BUFFER_MEM_PTR (buffer, idx) = mapped;
-    gst_memory_unref (mem);
-    mem = mapped;
+    /* unlock old memory */
+    gst_memory_unlock (mem, GST_LOCK_FLAG_EXCLUSIVE);
   }
-  return mem;
+  gst_memory_unref (mem);
+
+  return mapped;
 }
 
 /**
@@ -788,7 +827,7 @@
  * any call that modifies the memory in @buffer.
  *
  * Since this call does not influence the refcount of the memory,
- * gst_memory_is_exclusive() can be used to check if @buffer is the sole owner
+ * gst_memory_is_writable() can be used to check if @buffer is the sole owner
  * of the returned memory.
  *
  * Returns: (transfer none): the #GstMemory at @idx.
@@ -806,6 +845,26 @@
 }
 
 /**
+ * gst_buffer_get_memory:
+ * @b: a #GstBuffer.
+ * @i: an index
+ *
+ * Get the memory block at index @i in @buffer.
+ *
+ * Returns: (transfer full): a #GstMemory that contains the data of the
+ * memory block at @idx. Use gst_memory_unref () after usage.
+ */
+/**
+ * gst_buffer_get_all_memory:
+ * @b: a #GstBuffer.
+ *
+ * Get all the memory block in @buffer. The memory blocks will be merged
+ * into one large #GstMemory.
+ *
+ * Returns: (transfer full): a #GstMemory that contains the merged memory.
+ * Use gst_memory_unref () after usage.
+ */
+/**
  * gst_buffer_get_memory_range:
  * @buffer: a #GstBuffer.
  * @idx: an index
@@ -824,7 +883,7 @@
 {
   guint len;
 
-  GST_DEBUG ("idx %u, length %d", idx, length);
+  GST_CAT_DEBUG (GST_CAT_BUFFER, "idx %u, length %d", idx, length);
 
   g_return_val_if_fail (GST_IS_BUFFER (buffer), NULL);
   len = GST_BUFFER_MEM_LEN (buffer);
@@ -838,6 +897,21 @@
 }
 
 /**
+ * gst_buffer_replace_memory:
+ * @b: a #GstBuffer.
+ * @i: an index
+ * @m: (transfer full): a #GstMemory
+ *
+ * Replaces the memory block at index @i in @b with @m.
+ */
+/**
+ * gst_buffer_replace_all_memory:
+ * @b: a #GstBuffer.
+ * @m: (transfer full): a #GstMemory
+ *
+ * Replaces all memory in @b with @m.
+ */
+/**
  * gst_buffer_replace_memory_range:
  * @buffer: a #GstBuffer.
  * @idx: an index
@@ -859,6 +933,9 @@
 
   g_return_if_fail (GST_IS_BUFFER (buffer));
   g_return_if_fail (gst_buffer_is_writable (buffer));
+
+  GST_CAT_DEBUG (GST_CAT_BUFFER, "idx %u, length %d, %p", idx, length, mem);
+
   len = GST_BUFFER_MEM_LEN (buffer);
   g_return_if_fail ((len == 0 && idx == 0 && length == -1) ||
       (length == -1 && idx < len) || (length > 0 && length + idx <= len));
@@ -870,6 +947,19 @@
 }
 
 /**
+ * gst_buffer_remove_memory:
+ * @b: a #GstBuffer.
+ * @i: an index
+ *
+ * Remove the memory block in @b at index @i.
+ */
+/**
+ * gst_buffer_remove_all_memory:
+ * @b: a #GstBuffer.
+ *
+ * Remove all the memory blocks in @b.
+ */
+/**
  * gst_buffer_remove_memory_range:
  * @buffer: a #GstBuffer.
  * @idx: an index
@@ -887,6 +977,8 @@
   g_return_if_fail (GST_IS_BUFFER (buffer));
   g_return_if_fail (gst_buffer_is_writable (buffer));
 
+  GST_CAT_DEBUG (GST_CAT_BUFFER, "idx %u, length %d", idx, length);
+
   len = GST_BUFFER_MEM_LEN (buffer);
   g_return_if_fail ((len == 0 && idx == 0 && length == -1) ||
       (length == -1 && idx < len) || length + idx <= len);
@@ -971,12 +1063,36 @@
 }
 
 /**
+ * gst_buffer_get_sizes:
+ * @b: a #GstBuffer.
+ * @of: (out): a pointer to the offset
+ * @ms: (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().
+ *
+ * Returns: total size of the memory blocks in @b.
+ */
+/**
+ * gst_buffer_get_size:
+ * @b: a #GstBuffer.
+ *
+ * Get the total size of the memory blocks in @b.
+ *
+ * Returns: total size of the memory blocks in @b.
+ */
+/**
  * gst_buffer_get_sizes_range:
  * @buffer: a #GstBuffer.
  * @idx: an index
  * @length: a length
- * @offset: a pointer to the offset
- * @maxsize: a pointer to the maxsize
+ * @offset: (out): a pointer to the offset
+ * @maxsize: (out): a pointer to the maxsize
  *
  * Get the total size of @length memory blocks stating from @idx in @buffer.
  *
@@ -987,7 +1103,7 @@
  * @offset and @maxsize can be used to resize the buffer memory blocks with
  * gst_buffer_resize_range().
  *
- * Returns: total size @length memory blocks starting at @idx in @buffer.
+ * Returns: total size of @length memory blocks starting at @idx in @buffer.
  */
 gsize
 gst_buffer_get_sizes_range (GstBuffer * buffer, guint idx, gint length,
@@ -1043,6 +1159,21 @@
 }
 
 /**
+ * gst_buffer_resize:
+ * @b: a #GstBuffer.
+ * @of: the offset adjustement
+ * @s: the new size or -1 to just adjust the offset
+ *
+ * Set the offset and total size of the memory blocks in @b.
+ */
+/**
+ * gst_buffer_set_size:
+ * @b: a #GstBuffer.
+ * @s: the new size
+ *
+ * Set the total size of the memory blocks in @b.
+ */
+/**
  * gst_buffer_resize_range:
  * @buffer: a #GstBuffer.
  * @idx: an index
@@ -1059,7 +1190,6 @@
 {
   guint i, len, end;
   gsize bsize, bufsize, bufoffs, bufmax;
-  GstMemory *mem;
 
   g_return_if_fail (gst_buffer_is_writable (buffer));
   g_return_if_fail (size >= -1);
@@ -1093,6 +1223,7 @@
   end = idx + length;
   /* copy and trim */
   for (i = idx; i < end; i++) {
+    GstMemory *mem;
     gsize left, noffs;
 
     mem = GST_BUFFER_MEM_PTR (buffer, i);
@@ -1113,28 +1244,50 @@
       left = MIN (bsize - offset, size);
 
     if (offset != 0 || left != bsize) {
-      if (gst_memory_is_exclusive (mem)) {
+      if (gst_memory_is_writable (mem)) {
         gst_memory_resize (mem, offset, left);
       } else {
-        GstMemory *tmp;
+        GstMemory *newmem;
 
-        if (mem->flags & GST_MEMORY_FLAG_NO_SHARE)
-          tmp = gst_memory_copy (mem, offset, left);
+        if (GST_MEMORY_IS_NO_SHARE (mem))
+          newmem = gst_memory_copy (mem, offset, left);
         else
-          tmp = gst_memory_share (mem, offset, left);
+          newmem = gst_memory_share (mem, offset, left);
 
+        gst_memory_lock (newmem, GST_LOCK_FLAG_EXCLUSIVE);
+        GST_BUFFER_MEM_PTR (buffer, i) = newmem;
+        gst_memory_unlock (mem, GST_LOCK_FLAG_EXCLUSIVE);
         gst_memory_unref (mem);
-        mem = tmp;
       }
     }
+
     offset = noffs;
     size -= left;
-
-    GST_BUFFER_MEM_PTR (buffer, i) = mem;
   }
 }
 
 /**
+ * gst_buffer_map:
+ * @b: a #GstBuffer.
+ * @i: (out): info about the mapping
+ * @f: flags for the mapping
+ *
+ * This function fills @i 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.
+ *
+ * The memory in @i should be unmapped with gst_buffer_unmap() after usage.
+ *
+ * Returns: %TRUE if the map succeeded and @i contains valid data.
+ */
+/**
  * gst_buffer_map_range:
  * @buffer: a #GstBuffer.
  * @idx: an index
@@ -1145,6 +1298,7 @@
  * This function fills @info with the #GstMapInfo of @length merged memory blocks
  * starting at @idx in @buffer. When @length is -1, all memory blocks starting
  * from @idx are merged and mapped.
+ *
  * @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()).
@@ -1155,7 +1309,7 @@
  *
  * The memory in @info should be unmapped with gst_buffer_unmap() after usage.
  *
- * Returns: (transfer full): %TRUE if the map succeeded and @info contains valid
+ * Returns: %TRUE if the map succeeded and @info contains valid
  * data.
  */
 gboolean
@@ -1173,6 +1327,9 @@
       (length == -1 && idx < len) || (length > 0
           && length + idx <= len), FALSE);
 
+  GST_CAT_LOG (GST_CAT_BUFFER, "buffer %p, idx %u, length %d, flags %04x",
+      buffer, idx, length, flags);
+
   write = (flags & GST_MAP_WRITE) != 0;
   writable = gst_buffer_is_writable (buffer);
 
@@ -1275,6 +1432,10 @@
   g_return_val_if_fail (gst_buffer_is_writable (buffer), 0);
   g_return_val_if_fail (src != NULL, 0);
 
+  GST_CAT_LOG (GST_CAT_BUFFER,
+      "buffer %p, offset %" G_GSIZE_FORMAT ", size %" G_GSIZE_FORMAT, buffer,
+      offset, size);
+
   len = GST_BUFFER_MEM_LEN (buffer);
   left = size;
 
@@ -1321,6 +1482,10 @@
   g_return_val_if_fail (GST_IS_BUFFER (buffer), 0);
   g_return_val_if_fail (dest != NULL, 0);
 
+  GST_CAT_LOG (GST_CAT_BUFFER,
+      "buffer %p, offset %" G_GSIZE_FORMAT ", size %" G_GSIZE_FORMAT, buffer,
+      offset, size);
+
   len = GST_BUFFER_MEM_LEN (buffer);
   left = size;
 
@@ -1368,6 +1533,10 @@
   g_return_val_if_fail (GST_IS_BUFFER (buffer), 0);
   g_return_val_if_fail (mem != NULL, 0);
 
+  GST_CAT_LOG (GST_CAT_BUFFER,
+      "buffer %p, offset %" G_GSIZE_FORMAT ", size %" G_GSIZE_FORMAT, buffer,
+      offset, size);
+
   len = GST_BUFFER_MEM_LEN (buffer);
 
   for (i = 0; i < len && size > 0 && res == 0; i++) {
@@ -1412,6 +1581,10 @@
   g_return_val_if_fail (GST_IS_BUFFER (buffer), 0);
   g_return_val_if_fail (gst_buffer_is_writable (buffer), 0);
 
+  GST_CAT_LOG (GST_CAT_BUFFER,
+      "buffer %p, offset %" G_GSIZE_FORMAT ", val %02x, size %" G_GSIZE_FORMAT,
+      buffer, offset, val, size);
+
   len = GST_BUFFER_MEM_LEN (buffer);
   left = size;
 
@@ -1488,8 +1661,23 @@
  * Returns: (transfer full): the new #GstBuffer that contains the memory
  *     of the two source buffers.
  */
+/**
+ * gst_buffer_append_region:
+ * @buf1: (transfer full): the first source #GstBuffer to append.
+ * @buf2: (transfer full): the second source #GstBuffer to append.
+ * @offset: the offset in @buf2
+ * @size: the size or -1 of @buf2
+ *
+ * Append @size bytes at @offset from @buf2 to @buf1. The result buffer will
+ * contain a concatenation of the memory of @buf1 and the requested region of
+ * @buf2.
+ *
+ * Returns: (transfer full): the new #GstBuffer that contains the memory
+ *     of the two source buffers.
+ */
 GstBuffer *
-gst_buffer_append (GstBuffer * buf1, GstBuffer * buf2)
+gst_buffer_append_region (GstBuffer * buf1, GstBuffer * buf2, gssize offset,
+    gssize size)
 {
   gsize i, len;
 
@@ -1499,25 +1687,15 @@
   buf1 = gst_buffer_make_writable (buf1);
   buf2 = gst_buffer_make_writable (buf2);
 
+  gst_buffer_resize (buf2, offset, size);
+
   len = GST_BUFFER_MEM_LEN (buf2);
   for (i = 0; i < len; i++) {
     GstMemory *mem;
 
     mem = GST_BUFFER_MEM_PTR (buf2, i);
     GST_BUFFER_MEM_PTR (buf2, i) = NULL;
-    _memory_add (buf1, -1, mem);
-  }
-
-  /* we can calculate the duration too. Also make sure we're not messing
-   * with invalid DURATIONS */
-  if (GST_BUFFER_DURATION_IS_VALID (buf1) &&
-      GST_BUFFER_DURATION_IS_VALID (buf2)) {
-    /* add duration */
-    GST_BUFFER_DURATION (buf1) += GST_BUFFER_DURATION (buf2);
-  }
-  if (GST_BUFFER_OFFSET_END_IS_VALID (buf2)) {
-    /* set offset_end */
-    GST_BUFFER_OFFSET_END (buf1) = GST_BUFFER_OFFSET_END (buf2);
+    _memory_add (buf1, -1, mem, FALSE);
   }
 
   GST_BUFFER_MEM_LEN (buf2) = 0;
@@ -1534,7 +1712,7 @@
  * Get the metadata for @api on buffer. When there is no such
  * metadata, NULL is returned.
  *
- * Returns: the metadata for @api on @buffer.
+ * Returns: (transfer none): the metadata for @api on @buffer.
  */
 GstMeta *
 gst_buffer_get_meta (GstBuffer * buffer, GType api)
@@ -1663,7 +1841,8 @@
  *
  * @state will be updated with an opage state pointer 
  *
- * Returns: The next #GstMeta or %NULL when there are no more items.
+ * Returns: (transfer none): The next #GstMeta or %NULL when there are
+ * no more items.
  */
 GstMeta *
 gst_buffer_iterate_meta (GstBuffer * buffer, gpointer * state)
@@ -1698,21 +1877,23 @@
  * @func can modify the passed meta pointer or its contents. The return value
  * of @func define if this function returns or if the remaining metadata items
  * in the buffer should be skipped.
+ *
+ * Returns: %FALSE when @func returned %FALSE for one of the metadata.
  */
-void
+gboolean
 gst_buffer_foreach_meta (GstBuffer * buffer, GstBufferForeachMetaFunc func,
     gpointer user_data)
 {
   GstMetaItem *walk, *prev, *next;
+  gboolean res = TRUE;
 
-  g_return_if_fail (buffer != NULL);
-  g_return_if_fail (func != NULL);
+  g_return_val_if_fail (buffer != NULL, FALSE);
+  g_return_val_if_fail (func != NULL, FALSE);
 
   /* find the metadata and delete */
   prev = GST_BUFFER_META (buffer);
   for (walk = prev; walk; walk = next) {
     GstMeta *m, *new;
-    gboolean res;
 
     m = new = &walk->meta;
     next = walk->next;
@@ -1725,8 +1906,9 @@
       GST_CAT_DEBUG (GST_CAT_BUFFER, "remove metadata %p (%s)", m,
           g_type_name (info->type));
 
-      g_return_if_fail (gst_buffer_is_writable (buffer));
-      g_return_if_fail (!GST_META_FLAG_IS_SET (m, GST_META_FLAG_LOCKED));
+      g_return_val_if_fail (gst_buffer_is_writable (buffer), FALSE);
+      g_return_val_if_fail (!GST_META_FLAG_IS_SET (m, GST_META_FLAG_LOCKED),
+          FALSE);
 
       /* remove from list */
       if (GST_BUFFER_META (buffer) == walk)
@@ -1744,4 +1926,5 @@
     if (!res)
       break;
   }
+  return res;
 }
diff --git a/gst/gstbuffer.h b/gst/gstbuffer.h
index 5b0a854..772e0a1 100644
--- a/gst/gstbuffer.h
+++ b/gst/gstbuffer.h
@@ -26,7 +26,7 @@
 
 #include <gst/gstminiobject.h>
 #include <gst/gstclock.h>
-#include <gst/gstmemory.h>
+#include <gst/gstallocator.h>
 
 G_BEGIN_DECLS
 
@@ -163,8 +163,6 @@
  * @buffer: a #GstBuffer
  *
  * Tests if the buffer marks a discontinuity in the stream.
- *
- * Since: 0.10.9
  */
 #define GST_BUFFER_IS_DISCONT(buffer)   (GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_FLAG_DISCONT))
 
@@ -276,16 +274,9 @@
 #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 ((b), 0, -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)
-/**
- * gst_buffer_remove_memory:
- * @b: a #GstBuffer.
- * @i: an index
- *
- * Remove the memory block in @b at @i.
- */
 #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)
 
@@ -307,22 +298,8 @@
                                             gssize offset, gssize size);
 
 #define     gst_buffer_get_sizes(b,of,ms)  gst_buffer_get_sizes_range ((b), 0, -1, (of), (ms))
-/**
- * gst_buffer_get_size:
- * @b: a #GstBuffer.
- *
- * Get the size of @b.
- */
 #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))
-/**
- * gst_buffer_set_size:
- * @b: a #GstBuffer.
- * @s: a new size
- *
- * Set the size of @b to @s. This will remove or trim the memory blocks
- * in the buffer.
- */
 #define     gst_buffer_set_size(b,s)       gst_buffer_resize_range ((b), 0, -1, 0, (s))
 
 gboolean    gst_buffer_map_range           (GstBuffer *buffer, guint idx, gint length,
@@ -340,9 +317,8 @@
  * Increases the refcount of the given buffer by one.
  *
  * Note that the refcount affects the writeability
- * of @buf and its metadata, see gst_buffer_is_writable() and
- * gst_buffer_is_metadata_writable(). It is
- * important to note that keeping additional references to
+ * of @buf and its metadata, see gst_buffer_is_writable().
+ * It is important to note that keeping additional references to
  * GstBuffer instances can potentially increase the number
  * of memcpy operations in a pipeline.
  *
@@ -447,10 +423,9 @@
  * gst_buffer_is_writable:
  * @buf: a #GstBuffer
  *
- * Tests if you can safely write data into a buffer's data array or validly
- * modify the caps and timestamp metadata. Metadata in a GstBuffer is always
- * writable, but it is only safe to change it when there is only one owner
- * of the buffer - ie, the refcount is 1.
+ * Tests if you can safely write to a buffer's metadata or its memory array.
+ * It is only safe to change buffer metadata when the current reference is
+ * writable, i.e. nobody can see the modifications you will make.
  */
 #define         gst_buffer_is_writable(buf)     gst_mini_object_is_writable (GST_MINI_OBJECT_CAST (buf))
 /**
@@ -497,7 +472,9 @@
                                                  gsize offset, gsize size);
 
 /* append two buffers */
-GstBuffer*      gst_buffer_append               (GstBuffer *buf1, GstBuffer *buf2);
+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)
 
 /* metadata */
 #include <gst/gstmeta.h>
@@ -530,7 +507,7 @@
 
 GstMeta *       gst_buffer_iterate_meta         (GstBuffer *buffer, gpointer *state);
 
-void            gst_buffer_foreach_meta         (GstBuffer *buffer,
+gboolean        gst_buffer_foreach_meta         (GstBuffer *buffer,
                                                  GstBufferForeachMetaFunc func,
                                                  gpointer user_data);
 
diff --git a/gst/gstbufferlist.c b/gst/gstbufferlist.c
index f3e047e..e922e8a 100644
--- a/gst/gstbufferlist.c
+++ b/gst/gstbufferlist.c
@@ -47,8 +47,6 @@
  * GstBufferList:
  *
  * Opaque list of grouped buffers.
- *
- * Since: 0.10.24
  */
 struct _GstBufferList
 {
@@ -97,17 +95,15 @@
     gst_buffer_unref (g_array_index (list->array, GstBuffer *, i));
   g_array_free (list->array, TRUE);
 
-  g_slice_free1 (GST_MINI_OBJECT_SIZE (list), list);
+  g_slice_free1 (sizeof (GstBufferList), list);
 }
 
 static void
-gst_buffer_list_init (GstBufferList * list, gsize size, guint asize)
+gst_buffer_list_init (GstBufferList * list, guint asize)
 {
-  gst_mini_object_init (GST_MINI_OBJECT_CAST (list), _gst_buffer_list_type,
-      size);
-
-  list->mini_object.copy = (GstMiniObjectCopyFunction) _gst_buffer_list_copy;
-  list->mini_object.free = (GstMiniObjectFreeFunction) _gst_buffer_list_free;
+  gst_mini_object_init (GST_MINI_OBJECT_CAST (list), 0, _gst_buffer_list_type,
+      (GstMiniObjectCopyFunction) _gst_buffer_list_copy, NULL,
+      (GstMiniObjectFreeFunction) _gst_buffer_list_free);
 
   list->array = g_array_sized_new (FALSE, FALSE, sizeof (GstBuffer *), asize);
 
@@ -126,8 +122,6 @@
  *
  * Returns: (transfer full): the new #GstBufferList. gst_buffer_list_unref()
  *     after usage.
- *
- * Since: 0.10.24
  */
 GstBufferList *
 gst_buffer_list_new_sized (guint size)
@@ -138,7 +132,7 @@
 
   GST_LOG ("new %p", list);
 
-  gst_buffer_list_init (list, sizeof (GstBufferList), size);
+  gst_buffer_list_init (list, size);
 
   return list;
 }
@@ -153,8 +147,6 @@
  *
  * Returns: (transfer full): the new #GstBufferList. gst_buffer_list_unref()
  *     after usage.
- *
- * Since: 0.10.24
  */
 GstBufferList *
 gst_buffer_list_new (void)
@@ -169,8 +161,6 @@
  * Returns the number of buffers in @list.
  *
  * Returns: the number of buffers in the buffer list
- *
- * Since: 0.10.24
  */
 guint
 gst_buffer_list_length (GstBufferList * list)
@@ -192,21 +182,22 @@
  * of @func define if this function returns or if the remaining buffers in
  * the list should be skipped.
  *
- * Since: 0.10.24
+ * Returns: %TRUE when @func returned %TRUE for each buffer in @list or when
+ * @list is empty.
  */
-void
+gboolean
 gst_buffer_list_foreach (GstBufferList * list, GstBufferListFunc func,
     gpointer user_data)
 {
   guint i, len;
+  gboolean ret = TRUE;
 
-  g_return_if_fail (GST_IS_BUFFER_LIST (list));
-  g_return_if_fail (func != NULL);
+  g_return_val_if_fail (GST_IS_BUFFER_LIST (list), FALSE);
+  g_return_val_if_fail (func != NULL, FALSE);
 
   len = list->array->len;
   for (i = 0; i < len;) {
     GstBuffer *buf, *buf_ret;
-    gboolean ret;
 
     buf = buf_ret = g_array_index (list->array, GstBuffer *, i);
     ret = func (&buf_ret, i, user_data);
@@ -228,6 +219,7 @@
     if (buf_ret != NULL)
       i++;
   }
+  return ret;
 }
 
 /**
@@ -239,8 +231,6 @@
  *
  * Returns: (transfer none): the buffer at @idx in @group or NULL when there
  *     is no buffer. The buffer remains valid as long as @list is valid.
- *
- * Since: 0.10.24
  */
 GstBuffer *
 gst_buffer_list_get (GstBufferList * list, guint idx)
@@ -256,10 +246,17 @@
 }
 
 /**
+ * gst_buffer_list_add:
+ * @l: a #GstBufferList
+ * @b: a #GstBuffer
+ *
+ * Append @b at the end of @l.
+ */
+/**
  * gst_buffer_list_insert:
  * @list: a #GstBufferList
  * @idx: the index
- * @buffer: a #GstBuffer
+ * @buffer: (transfer full): a #GstBuffer
  *
  * Insert @buffer at @idx in @list. Other buffers are moved to make room for
  * this new buffer.
@@ -267,7 +264,7 @@
  * A -1 value for @idx will append the buffer at the end.
  */
 void
-gst_buffer_list_insert (GstBufferList * list, guint idx, GstBuffer * buffer)
+gst_buffer_list_insert (GstBufferList * list, gint idx, GstBuffer * buffer)
 {
   g_return_if_fail (GST_IS_BUFFER_LIST (list));
   g_return_if_fail (buffer != NULL);
diff --git a/gst/gstbufferlist.h b/gst/gstbufferlist.h
index 4b0dfeb..eff9d9c 100644
--- a/gst/gstbufferlist.h
+++ b/gst/gstbufferlist.h
@@ -72,8 +72,6 @@
  * the number of memcpy operations in a pipeline.
  *
  * Returns: (transfer full): @list
- *
- * Since: 0.10.24
  */
 #ifdef _FOOL_GTK_DOC_
 G_INLINE_FUNC GstBufferList * gst_buffer_list_ref (GstBufferList * list);
@@ -92,8 +90,6 @@
  *
  * Decreases the refcount of the buffer list. If the refcount reaches 0, the
  * buffer list will be freed.
- *
- * Since: 0.10.24
  */
 #ifdef _FOOL_GTK_DOC_
 G_INLINE_FUNC void gst_buffer_list_unref (GstBufferList * list);
@@ -115,8 +111,6 @@
  * refcount of buffers pointed to will be increased by one.
  *
  * Returns: (transfer full): a new copy of @list.
- *
- * Since: 0.10.24
  */
 #ifdef _FOOL_GTK_DOC_
 G_INLINE_FUNC GstBufferList * gst_buffer_list_copy (const GstBufferList * list);
@@ -133,8 +127,6 @@
  * @list: a #GstBufferList
  *
  * Tests if you can safely add buffers and groups into a buffer list.
- *
- * Since: 0.10.24
  */
 #define gst_buffer_list_is_writable(list) gst_mini_object_is_writable (GST_MINI_OBJECT_CAST (list))
 
@@ -148,8 +140,6 @@
  *
  * Returns: (transfer full): a writable list, which may or may not be the
  *     same as @list
- *
- * Since: 0.10.24
  */
 #define gst_buffer_list_make_writable(list) GST_BUFFER_LIST_CAST (gst_mini_object_make_writable (GST_MINI_OBJECT_CAST (list)))
 
@@ -162,10 +152,10 @@
 guint                    gst_buffer_list_length                (GstBufferList *list);
 
 GstBuffer *              gst_buffer_list_get                   (GstBufferList *list, guint idx);
-void                     gst_buffer_list_insert                (GstBufferList *list, guint idx, GstBuffer *buffer);
+void                     gst_buffer_list_insert                (GstBufferList *list, gint idx, GstBuffer *buffer);
 void                     gst_buffer_list_remove                (GstBufferList *list, guint idx, guint length);
 
-void                     gst_buffer_list_foreach               (GstBufferList *list,
+gboolean                 gst_buffer_list_foreach               (GstBufferList *list,
                                                                 GstBufferListFunc func,
 								gpointer user_data);
 
diff --git a/gst/gstbufferpool.c b/gst/gstbufferpool.c
index d7a09d1..2aebd29 100644
--- a/gst/gstbufferpool.c
+++ b/gst/gstbufferpool.c
@@ -199,7 +199,7 @@
   gst_structure_free (priv->config);
   g_rec_mutex_clear (&priv->rec_lock);
   if (priv->allocator)
-    gst_allocator_unref (priv->allocator);
+    gst_object_unref (priv->allocator);
 
   G_OBJECT_CLASS (gst_buffer_pool_parent_class)->finalize (object);
 }
@@ -493,9 +493,9 @@
   priv->max_buffers = max_buffers;
 
   if (priv->allocator)
-    gst_allocator_unref (priv->allocator);
+    gst_object_unref (priv->allocator);
   if ((priv->allocator = allocator))
-    gst_allocator_ref (allocator);
+    gst_object_ref (allocator);
   priv->params = params;
 
   return TRUE;
@@ -520,6 +520,10 @@
  * the pool. A default and mandatory set of parameters can be configured with
  * gst_buffer_pool_config_set(). This function takes ownership of @config.
  *
+ * 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().
+ *
  * Returns: TRUE when the configuration could be set.
  */
 gboolean
@@ -685,6 +689,7 @@
 {
   g_return_if_fail (config != NULL);
   g_return_if_fail (max_buffers == 0 || min_buffers <= max_buffers);
+  g_return_if_fail (caps == NULL || gst_caps_is_fixed (caps));
 
   gst_structure_id_set (config,
       GST_QUARK (CAPS), GST_TYPE_CAPS, caps,
@@ -891,7 +896,7 @@
   g_return_val_if_fail (config != NULL, FALSE);
 
   if (allocator)
-    *allocator = g_value_get_boxed (gst_structure_id_get_value (config,
+    *allocator = g_value_get_object (gst_structure_id_get_value (config,
             GST_QUARK (ALLOCATOR)));
   if (params) {
     GstAllocationParams *p;
diff --git a/gst/gstbufferpool.h b/gst/gstbufferpool.h
index ed26bb5..e14855b 100644
--- a/gst/gstbufferpool.h
+++ b/gst/gstbufferpool.h
@@ -60,6 +60,8 @@
   GST_BUFFER_POOL_ACQUIRE_FLAG_LAST     = (1 << 16),
 } GstBufferPoolAcquireFlags;
 
+typedef struct _GstBufferPoolAcquireParams GstBufferPoolAcquireParams;
+
 /**
  * GstBufferPoolAcquireParams:
  * @format: the format of @start and @stop
@@ -74,7 +76,7 @@
  * implementations can use this extra information to decide what buffer to
  * return.
  */
-typedef struct _GstBufferPoolAcquireParams {
+struct _GstBufferPoolAcquireParams {
   GstFormat                 format;
   gint64                    start;
   gint64                    stop;
@@ -82,7 +84,7 @@
 
   /*< private >*/
   gpointer _gst_reserved[GST_PADDING];
-} GstBufferPoolAcquireParams;
+};
 
 /**
  * GST_BUFFER_POOL_IS_FLUSHING:
@@ -179,7 +181,6 @@
 const gchar **   gst_buffer_pool_get_options     (GstBufferPool *pool);
 gboolean         gst_buffer_pool_has_option      (GstBufferPool *pool, const gchar *option);
 
-
 /* helpers for configuring the config structure */
 void             gst_buffer_pool_config_set_params    (GstStructure *config, GstCaps *caps,
                                                        guint size, guint min_buffers, guint max_buffers);
diff --git a/gst/gstbus.c b/gst/gstbus.c
index 5e663ca..bd1c209 100644
--- a/gst/gstbus.c
+++ b/gst/gstbus.c
@@ -100,6 +100,7 @@
 };
 
 static void gst_bus_dispose (GObject * object);
+static void gst_bus_finalize (GObject * object);
 
 static guint gst_bus_signals[LAST_SIGNAL] = { 0 };
 
@@ -110,6 +111,7 @@
 
   GstBusSyncHandler sync_handler;
   gpointer sync_handler_data;
+  GDestroyNotify sync_handler_notify;
 
   guint signal_watch_id;
   guint num_signal_watchers;
@@ -158,10 +160,12 @@
   GObjectClass *gobject_class = (GObjectClass *) klass;
 
   gobject_class->dispose = gst_bus_dispose;
+  gobject_class->finalize = gst_bus_finalize;
   gobject_class->set_property = gst_bus_set_property;
   gobject_class->constructed = gst_bus_constructed;
 
-  /* GstBus:enable-async:
+  /**
+   * GstBus::enable-async:
    *
    * Enable async message delivery support for bus watches,
    * gst_bus_pop() and similar API. Without this only the
@@ -169,8 +173,6 @@
    *
    * This property is used to create the child element buses
    * in #GstBin.
-   *
-   * Since: 0.10.33
    */
   g_object_class_install_property (gobject_class, PROP_ENABLE_ASYNC,
       g_param_spec_boolean ("enable-async", "Enable Async",
@@ -225,6 +227,9 @@
   g_mutex_init (&bus->priv->queue_lock);
   bus->priv->queue = gst_atomic_queue_new (32);
 
+  /* clear floating flag */
+  gst_object_ref_sink (bus);
+
   GST_DEBUG_OBJECT (bus, "created");
 }
 
@@ -255,6 +260,17 @@
   G_OBJECT_CLASS (parent_class)->dispose (object);
 }
 
+static void
+gst_bus_finalize (GObject * object)
+{
+  GstBus *bus = GST_BUS (object);
+
+  if (bus->priv->sync_handler_notify)
+    bus->priv->sync_handler_notify (bus->priv->sync_handler_data);
+
+  G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
 /**
  * gst_bus_new:
  *
@@ -463,8 +479,6 @@
  *     with gst_message_unref() after usage.
  *
  * MT safe.
- *
- * Since: 0.10.15
  */
 GstMessage *
 gst_bus_timed_pop_filtered (GstBus * bus, GstClockTime timeout,
@@ -561,8 +575,6 @@
  * gst_message_unref() after usage.
  *
  * MT safe.
- *
- * Since: 0.10.12
  */
 GstMessage *
 gst_bus_timed_pop (GstBus * bus, GstClockTime timeout)
@@ -588,8 +600,6 @@
  *     gst_message_unref() after usage.
  *
  * MT safe.
- *
- * Since: 0.10.15
  */
 GstMessage *
 gst_bus_pop_filtered (GstBus * bus, GstMessageType types)
@@ -654,8 +664,9 @@
 /**
  * gst_bus_set_sync_handler:
  * @bus: a #GstBus to install the handler on
- * @func: The handler function to install
- * @data: User data that will be sent to the handler function.
+ * @func: (allow-none): The handler function to install
+ * @user_data: User data that will be sent to the handler function.
+ * @notify: called when @user_data becomes unused
  *
  * Sets the synchronous handler on the bus. The function will be called
  * every time a new message is posted on the bus. Note that the function
@@ -668,19 +679,33 @@
  * function, which will clear the existing handler.
  */
 void
-gst_bus_set_sync_handler (GstBus * bus, GstBusSyncHandler func, gpointer data)
+gst_bus_set_sync_handler (GstBus * bus, GstBusSyncHandler func,
+    gpointer user_data, GDestroyNotify notify)
 {
+  GDestroyNotify old_notify;
+
   g_return_if_fail (GST_IS_BUS (bus));
 
   GST_OBJECT_LOCK (bus);
-
   /* Assert if the user attempts to replace an existing sync_handler,
    * other than to clear it */
   if (func != NULL && bus->priv->sync_handler != NULL)
     goto no_replace;
 
+  if ((old_notify = bus->priv->sync_handler_notify)) {
+    gpointer old_data = bus->priv->sync_handler_data;
+
+    bus->priv->sync_handler_data = NULL;
+    bus->priv->sync_handler_notify = NULL;
+    GST_OBJECT_UNLOCK (bus);
+
+    old_notify (old_data);
+
+    GST_OBJECT_LOCK (bus);
+  }
   bus->priv->sync_handler = func;
-  bus->priv->sync_handler_data = data;
+  bus->priv->sync_handler_data = user_data;
+  bus->priv->sync_handler_notify = notify;
   GST_OBJECT_UNLOCK (bus);
 
   return;
@@ -859,8 +884,8 @@
  * @notify: the function to call when the source is removed.
  *
  * Adds a bus watch to the default main context with the given @priority (e.g.
- * %G_PRIORITY_DEFAULT). Since 0.10.33 it is also possible to use a non-default
- * main context set up using g_main_context_push_thread_default() (before
+ * %G_PRIORITY_DEFAULT). It is also possible to use a non-default  main
+ * context set up using g_main_context_push_thread_default() (before
  * one had to create a bus watch source and attach it to the desired main
  * context 'manually').
  *
@@ -874,9 +899,10 @@
  * The watch can be removed using g_source_remove() or by returning FALSE
  * from @func.
  *
+ * MT safe.
+ *
  * Returns: The event source id.
  * Rename to: gst_bus_add_watch
- * MT safe.
  */
 guint
 gst_bus_add_watch_full (GstBus * bus, gint priority,
@@ -900,8 +926,8 @@
  * @user_data: user data passed to @func.
  *
  * Adds a bus watch to the default main context with the default priority
- * (%G_PRIORITY_DEFAULT). Since 0.10.33 it is also possible to use a non-default
- * main context set up using g_main_context_push_thread_default() (before
+ * (%G_PRIORITY_DEFAULT). It is also possible to use a non-default main
+ * context set up using g_main_context_push_thread_default() (before
  * one had to create a bus watch source and attach it to the desired main
  * context 'manually').
  *
@@ -1195,8 +1221,8 @@
  * @priority: The priority of the watch.
  *
  * Adds a bus signal watch to the default main context with the given @priority
- * (e.g. %G_PRIORITY_DEFAULT). Since 0.10.33 it is also possible to use a
- * non-default main context set up using g_main_context_push_thread_default()
+ * (e.g. %G_PRIORITY_DEFAULT). It is also possible to use a non-default main
+ * context set up using g_main_context_push_thread_default()
  * (before one had to create a bus watch source and attach it to the desired
  * main context 'manually').
  *
@@ -1254,7 +1280,7 @@
  * @bus: a #GstBus on which you want to receive the "message" signal
  *
  * Adds a bus signal watch to the default main context with the default priority
- * (%G_PRIORITY_DEFAULT). Since 0.10.33 it is also possible to use a non-default
+ * (%G_PRIORITY_DEFAULT). It is also possible to use a non-default
  * main context set up using g_main_context_push_thread_default() (before
  * one had to create a bus watch source and attach it to the desired main
  * context 'manually').
diff --git a/gst/gstbus.h b/gst/gstbus.h
index 2dbf0ce..ed05ddb 100644
--- a/gst/gstbus.h
+++ b/gst/gstbus.h
@@ -72,7 +72,7 @@
  * GstBusSyncHandler:
  * @bus: the #GstBus that sent the message
  * @message: the #GstMessage
- * @data: user data that has been given, when registering the handler
+ * @user_data: user data that has been given, when registering the handler
  *
  * Handler will be invoked synchronously, when a new message has been injected
  * into the bus. This function is mostly used internally. Only one sync handler
@@ -83,13 +83,13 @@
  *
  * Returns: #GstBusSyncReply stating what to do with the message
  */
-typedef GstBusSyncReply (*GstBusSyncHandler)    (GstBus * bus, GstMessage * message, gpointer data);
+typedef GstBusSyncReply (*GstBusSyncHandler)    (GstBus * bus, GstMessage * message, gpointer user_data);
 
 /**
  * GstBusFunc:
  * @bus: the #GstBus that sent the message
  * @message: the #GstMessage
- * @data: user data that has been given, when registering the handler
+ * @user_data: user data that has been given, when registering the handler
  *
  * Specifies the type of function passed to gst_bus_add_watch() or
  * gst_bus_add_watch_full(), which is called from the mainloop when a message
@@ -103,7 +103,7 @@
  *
  * Returns: %FALSE if the event source should be removed.
  */
-typedef gboolean        (*GstBusFunc)           (GstBus * bus, GstMessage * message, gpointer data);
+typedef gboolean        (*GstBusFunc)           (GstBus * bus, GstMessage * message, gpointer user_data);
 
 /**
  * GstBus:
@@ -148,7 +148,7 @@
 
 /* synchronous dispatching */
 void                    gst_bus_set_sync_handler        (GstBus * bus, GstBusSyncHandler func,
-                                                         gpointer data);
+                                                         gpointer user_data, GDestroyNotify notify);
 /* GSource based dispatching */
 GSource *               gst_bus_create_watch            (GstBus * bus);
 guint                   gst_bus_add_watch_full          (GstBus * bus,
diff --git a/gst/gstcaps.c b/gst/gstcaps.c
index ec95ed5..eba50a0 100644
--- a/gst/gstcaps.c
+++ b/gst/gstcaps.c
@@ -179,17 +179,15 @@
 #ifdef DEBUG_REFCOUNT
   GST_CAT_TRACE (GST_CAT_CAPS, "freeing caps %p", caps);
 #endif
-  g_slice_free1 (GST_MINI_OBJECT_SIZE (caps), caps);
+  g_slice_free1 (sizeof (GstCapsImpl), caps);
 }
 
 static void
-gst_caps_init (GstCaps * caps, gsize size)
+gst_caps_init (GstCaps * caps)
 {
-  gst_mini_object_init (GST_MINI_OBJECT_CAST (caps), _gst_caps_type, size);
-
-  caps->mini_object.copy = (GstMiniObjectCopyFunction) _gst_caps_copy;
-  caps->mini_object.dispose = NULL;
-  caps->mini_object.free = (GstMiniObjectFreeFunction) _gst_caps_free;
+  gst_mini_object_init (GST_MINI_OBJECT_CAST (caps), 0, _gst_caps_type,
+      (GstMiniObjectCopyFunction) _gst_caps_copy, NULL,
+      (GstMiniObjectFreeFunction) _gst_caps_free);
 
   /* the 32 has been determined by logging caps sizes in _gst_caps_free
    * but g_ptr_array uses 16 anyway if it expands once, so this does not help
@@ -216,7 +214,7 @@
 
   caps = (GstCaps *) g_slice_new (GstCapsImpl);
 
-  gst_caps_init (caps, sizeof (GstCapsImpl));
+  gst_caps_init (caps);
 
 #ifdef DEBUG_REFCOUNT
   GST_CAT_TRACE (GST_CAT_CAPS, "created caps %p", caps);
@@ -448,8 +446,6 @@
  *
  * Returns: (transfer full): a pointer to the #GstStructure corresponding
  *     to @index.
- *
- * Since: 0.10.30
  */
 GstStructure *
 gst_caps_steal_structure (GstCaps * caps, guint index)
@@ -507,8 +503,6 @@
  * If either caps is ANY, the resulting caps will be ANY.
  *
  * Returns: (transfer full): the merged caps.
- *
- * Since: 0.10.10
  */
 GstCaps *
 gst_caps_merge (GstCaps * caps1, GstCaps * caps2)
@@ -743,8 +737,6 @@
  * Sets the given @field on all structures of @caps to the given @value.
  * This is a convenience function for calling gst_structure_set_value() on
  * all structures of @caps.
- *
- * Since: 0.10.26
  **/
 void
 gst_caps_set_value (GstCaps * caps, const char *field, const GValue * value)
@@ -771,10 +763,6 @@
  *
  * Sets fields in a #GstCaps.  The arguments must be passed in the same
  * manner as gst_structure_set(), and be NULL-terminated.
- * <note>Prior to GStreamer version 0.10.26, this function failed when
- * @caps was not simple. If your code needs to work with those versions
- * of GStreamer, you may only call this function when GST_CAPS_IS_SIMPLE()
- * is %TRUE for @caps.</note>
  */
 void
 gst_caps_set_simple_valist (GstCaps * caps, const char *field, va_list varargs)
@@ -812,10 +800,6 @@
  *
  * Sets fields in a #GstCaps.  The arguments must be passed in the same
  * manner as gst_structure_set(), and be NULL-terminated.
- * <note>Prior to GStreamer version 0.10.26, this function failed when
- * @caps was not simple. If your code needs to work with those versions
- * of GStreamer, you may only call this function when GST_CAPS_IS_SIMPLE()
- * is %TRUE for @caps.</note>
  */
 void
 gst_caps_set_simple (GstCaps * caps, const char *field, ...)
@@ -999,8 +983,6 @@
  * for more information.
  *
  * Returns: %TRUE if @structure is a subset of @caps
- *
- * Since: 0.10.36
  */
 gboolean
 gst_caps_is_subset_structure (const GstCaps * caps,
@@ -1061,11 +1043,7 @@
  *
  * Checks if the given caps are exactly the same set of caps.
  *
- * This function deals correctly with passing NULL for any of the caps.
- *
  * Returns: TRUE if both caps are strictly equal.
- *
- * Since: 0.10.36
  */
 gboolean
 gst_caps_is_strictly_equal (const GstCaps * caps1, const GstCaps * caps2)
@@ -1101,8 +1079,6 @@
  * be empty
  *
  * Returns: %TRUE if intersection would be not empty
- *
- * Since: 0.10.25
  */
 gboolean
 gst_caps_can_intersect (const GstCaps * caps1, const GstCaps * caps2)
@@ -1309,7 +1285,6 @@
  * used.
  *
  * Returns: the new #GstCaps
- * Since: 0.10.33
  */
 GstCaps *
 gst_caps_intersect_full (GstCaps * caps1, GstCaps * caps2,
diff --git a/gst/gstcaps.h b/gst/gstcaps.h
index f229742..923199b 100644
--- a/gst/gstcaps.h
+++ b/gst/gstcaps.h
@@ -71,8 +71,6 @@
  * another element's caps priority order when intersecting with its own caps.
  * Example: If caps1 is [A, B, C] and caps2 is [E, B, D, A], the result
  * would be [A, B], maintaining the first caps priority on the intersection.
- *
- * Since: 0.10.33
  */
 typedef enum {
   GST_CAPS_INTERSECT_ZIG_ZAG            =  0,
@@ -262,7 +260,7 @@
  * @caps: a #GstCaps
  *
  * Tests if you can safely modify @caps. It is only safe to modify caps when
- * there is only one owner of the caps - ie, the refcount is 1.
+ * there is only one owner of the caps - ie, the object is writable.
  */
 #define         gst_caps_is_writable(caps)     gst_mini_object_is_writable (GST_MINI_OBJECT_CAST (caps))
 
diff --git a/gst/gstchildproxy.c b/gst/gstchildproxy.c
index 3e153f3..c2979e5 100644
--- a/gst/gstchildproxy.c
+++ b/gst/gstchildproxy.c
@@ -172,11 +172,11 @@
  *
  * Looks up which object and #GParamSpec would be effected by the given @name.
  *
+ * MT safe.
+ *
  * Returns: TRUE if @target and @pspec could be found. FALSE otherwise. In that
  * case the values for @pspec and @target are not modified. Unref @target after
- * usage.
- *
- * MT safe.
+ * usage. For plain GObjects @target is the same as @object.
  */
 gboolean
 gst_child_proxy_lookup (GObject * object, const gchar * name,
@@ -188,9 +188,10 @@
   g_return_val_if_fail (G_IS_OBJECT (object), FALSE);
   g_return_val_if_fail (name != NULL, FALSE);
 
-  gst_object_ref (object);
+  g_object_ref (object);
 
   current = names = g_strsplit (name, "::", -1);
+  // find the owner of the property
   while (current[1]) {
     GObject *next;
 
@@ -206,10 +207,12 @@
       GST_INFO ("no such object %s", current[0]);
       break;
     }
-    gst_object_unref (object);
+    g_object_unref (object);
     object = next;
     current++;
   }
+
+  // look for psec
   if (current[1] == NULL) {
     GParamSpec *spec =
         g_object_class_find_property (G_OBJECT_GET_CLASS (object), current[0]);
@@ -219,13 +222,13 @@
       if (pspec)
         *pspec = spec;
       if (target) {
-        gst_object_ref (object);
+        g_object_ref (object);
         *target = object;
       }
       res = TRUE;
     }
   }
-  gst_object_unref (object);
+  g_object_unref (object);
   g_strfreev (names);
   return res;
 }
@@ -240,21 +243,21 @@
  * You are responsible for freeing it by calling g_value_unset()
  */
 void
-gst_child_proxy_get_property (GObject * object, const gchar * name,
+gst_child_proxy_get_property (GstChildProxy * object, const gchar * name,
     GValue * value)
 {
   GParamSpec *pspec;
   GObject *target;
 
-  g_return_if_fail (G_IS_OBJECT (object));
+  g_return_if_fail (GST_IS_CHILD_PROXY (object));
   g_return_if_fail (name != NULL);
   g_return_if_fail (G_IS_VALUE (value));
 
-  if (!gst_child_proxy_lookup (object, name, &target, &pspec))
+  if (!gst_child_proxy_lookup ((GObject *) object, name, &target, &pspec))
     goto not_found;
 
-  g_object_get_property (G_OBJECT (target), pspec->name, value);
-  gst_object_unref (target);
+  g_object_get_property (target, pspec->name, value);
+  g_object_unref (target);
 
   return;
 
@@ -275,7 +278,7 @@
  * Gets properties of the parent object and its children.
  */
 void
-gst_child_proxy_get_valist (GObject * object,
+gst_child_proxy_get_valist (GstChildProxy * object,
     const gchar * first_property_name, va_list var_args)
 {
   const gchar *name;
@@ -284,18 +287,18 @@
   GParamSpec *pspec;
   GObject *target;
 
-  g_return_if_fail (G_IS_OBJECT (object));
+  g_return_if_fail (GST_IS_CHILD_PROXY (object));
 
   name = first_property_name;
 
   /* iterate over pairs */
   while (name) {
-    if (!gst_child_proxy_lookup (object, name, &target, &pspec))
+    if (!gst_child_proxy_lookup ((GObject *) object, name, &target, &pspec))
       goto not_found;
 
     g_value_init (&value, pspec->value_type);
-    g_object_get_property (G_OBJECT (target), pspec->name, &value);
-    gst_object_unref (target);
+    g_object_get_property (target, pspec->name, &value);
+    g_object_unref (target);
 
     G_VALUE_LCOPY (&value, var_args, 0, &error);
     if (error)
@@ -329,11 +332,12 @@
  * Gets properties of the parent object and its children.
  */
 void
-gst_child_proxy_get (GObject * object, const gchar * first_property_name, ...)
+gst_child_proxy_get (GstChildProxy * object, const gchar * first_property_name,
+    ...)
 {
   va_list var_args;
 
-  g_return_if_fail (G_IS_OBJECT (object));
+  g_return_if_fail (GST_IS_CHILD_PROXY (object));
 
   va_start (var_args, first_property_name);
   gst_child_proxy_get_valist (object, first_property_name, var_args);
@@ -349,21 +353,21 @@
  * Sets a single property using the GstChildProxy mechanism.
  */
 void
-gst_child_proxy_set_property (GObject * object, const gchar * name,
+gst_child_proxy_set_property (GstChildProxy * object, const gchar * name,
     const GValue * value)
 {
   GParamSpec *pspec;
   GObject *target;
 
-  g_return_if_fail (G_IS_OBJECT (object));
+  g_return_if_fail (GST_IS_CHILD_PROXY (object));
   g_return_if_fail (name != NULL);
   g_return_if_fail (G_IS_VALUE (value));
 
-  if (!gst_child_proxy_lookup (object, name, &target, &pspec))
+  if (!gst_child_proxy_lookup ((GObject *) object, name, &target, &pspec))
     goto not_found;
 
-  g_object_set_property (G_OBJECT (target), pspec->name, value);
-  gst_object_unref (target);
+  g_object_set_property (target, pspec->name, value);
+  g_object_unref (target);
   return;
 
 not_found:
@@ -383,7 +387,7 @@
  * Sets properties of the parent object and its children.
  */
 void
-gst_child_proxy_set_valist (GObject * object,
+gst_child_proxy_set_valist (GstChildProxy * object,
     const gchar * first_property_name, va_list var_args)
 {
   const gchar *name;
@@ -392,13 +396,13 @@
   GParamSpec *pspec;
   GObject *target;
 
-  g_return_if_fail (G_IS_OBJECT (object));
+  g_return_if_fail (GST_IS_CHILD_PROXY (object));
 
   name = first_property_name;
 
   /* iterate over pairs */
   while (name) {
-    if (!gst_child_proxy_lookup (object, name, &target, &pspec))
+    if (!gst_child_proxy_lookup ((GObject *) object, name, &target, &pspec))
       goto not_found;
 
     G_VALUE_COLLECT_INIT (&value, pspec->value_type, var_args,
@@ -407,8 +411,8 @@
     if (error)
       goto cant_copy;
 
-    g_object_set_property (G_OBJECT (target), pspec->name, &value);
-    gst_object_unref (target);
+    g_object_set_property (target, pspec->name, &value);
+    g_object_unref (target);
 
     g_value_unset (&value);
     name = va_arg (var_args, gchar *);
@@ -426,7 +430,7 @@
     g_warning ("error copying value %s in object %s: %s", pspec->name,
         (GST_IS_OBJECT (object) ? GST_OBJECT_NAME (object) : ""), error);
     g_value_unset (&value);
-    gst_object_unref (target);
+    g_object_unref (target);
     return;
   }
 }
@@ -440,11 +444,12 @@
  * Sets properties of the parent object and its children.
  */
 void
-gst_child_proxy_set (GObject * object, const gchar * first_property_name, ...)
+gst_child_proxy_set (GstChildProxy * object, const gchar * first_property_name,
+    ...)
 {
   va_list var_args;
 
-  g_return_if_fail (G_IS_OBJECT (object));
+  g_return_if_fail (GST_IS_CHILD_PROXY (object));
 
   va_start (var_args, first_property_name);
   gst_child_proxy_set_valist (object, first_property_name, var_args);
@@ -453,32 +458,32 @@
 
 /**
  * gst_child_proxy_child_added:
- * @object: the parent object
+ * @parent: the parent object
  * @child: the newly added child
  * @name: the name of the new child
  *
  * Emits the "child-added" signal.
  */
 void
-gst_child_proxy_child_added (GObject * object, GObject * child,
+gst_child_proxy_child_added (GstChildProxy * parent, GObject * child,
     const gchar * name)
 {
-  g_signal_emit (G_OBJECT (object), signals[CHILD_ADDED], 0, child, name);
+  g_signal_emit (parent, signals[CHILD_ADDED], 0, child, name);
 }
 
 /**
  * gst_child_proxy_child_removed:
- * @object: the parent object
+ * @parent: the parent object
  * @child: the removed child
  * @name: the name of the old child
  *
  * Emits the "child-removed" signal.
  */
 void
-gst_child_proxy_child_removed (GObject * object, GObject * child,
+gst_child_proxy_child_removed (GstChildProxy * parent, GObject * child,
     const gchar * name)
 {
-  g_signal_emit (G_OBJECT (object), signals[CHILD_REMOVED], 0, child, name);
+  g_signal_emit (parent, signals[CHILD_REMOVED], 0, child, name);
 }
 
 /* gobject methods */
diff --git a/gst/gstchildproxy.h b/gst/gstchildproxy.h
index 94e2011..0943606 100644
--- a/gst/gstchildproxy.h
+++ b/gst/gstchildproxy.h
@@ -60,8 +60,8 @@
   guint     (*get_children_count) (GstChildProxy * parent);
   /*< private >*/
   /* signals */
-  void      (*child_added)        (GstChildProxy * parent, GObject * child);
-  void      (*child_removed)      (GstChildProxy * parent, GObject * child);
+  void      (*child_added)        (GstChildProxy * parent, GObject * child, const gchar * name);
+  void      (*child_removed)      (GstChildProxy * parent, GObject * child, const gchar * name);
 
   /*< private >*/
   gpointer _gst_reserved[GST_PADDING];
@@ -77,27 +77,27 @@
 gboolean  gst_child_proxy_lookup             (GObject *object, const gchar *name,
                                               GObject **target, GParamSpec **pspec);
 
-void      gst_child_proxy_get_property       (GObject * object, const gchar *name,
+void      gst_child_proxy_get_property       (GstChildProxy * object, const gchar *name,
                                               GValue *value);
-void      gst_child_proxy_get_valist         (GObject * object,
+void      gst_child_proxy_get_valist         (GstChildProxy * object,
                                               const gchar * first_property_name,
                                               va_list var_args);
-void      gst_child_proxy_get                (GObject * object,
+void      gst_child_proxy_get                (GstChildProxy * object,
                                               const gchar * first_property_name,
                                               ...) G_GNUC_NULL_TERMINATED;
 
-void      gst_child_proxy_set_property       (GObject * object, const gchar *name,
+void      gst_child_proxy_set_property       (GstChildProxy * object, const gchar *name,
                                               const GValue *value);
-void      gst_child_proxy_set_valist         (GObject* object,
+void      gst_child_proxy_set_valist         (GstChildProxy* object,
                                               const gchar * first_property_name,
                                               va_list var_args);
-void      gst_child_proxy_set                (GObject * object,
+void      gst_child_proxy_set                (GstChildProxy * object,
                                               const gchar * first_property_name,
                                               ...) G_GNUC_NULL_TERMINATED;
 
-void      gst_child_proxy_child_added        (GObject * object, GObject * child,
+void      gst_child_proxy_child_added        (GstChildProxy * parent, GObject * child,
                                               const gchar *name);
-void      gst_child_proxy_child_removed      (GObject * object, GObject * child,
+void      gst_child_proxy_child_removed      (GstChildProxy * parent, GObject * child,
                                               const gchar *name);
 
 G_END_DECLS
diff --git a/gst/gstclock.c b/gst/gstclock.c
index fe789d7..5e91b58 100644
--- a/gst/gstclock.c
+++ b/gst/gstclock.c
@@ -261,8 +261,6 @@
  *
  * Returns: %TRUE if the GstClockID could be reinitialized to the provided
  * @time, else %FALSE.
- *
- * Since: 0.10.32
  */
 gboolean
 gst_clock_single_shot_id_reinit (GstClock * clock, GstClockID id,
@@ -284,9 +282,6 @@
  *
  * Returns: %TRUE if the GstClockID could be reinitialized to the provided
  * @time, else %FALSE.
- *
- * Since: 0.10.33
- *
  */
 gboolean
 gst_clock_periodic_id_reinit (GstClock * clock, GstClockID id,
@@ -413,7 +408,7 @@
 }
 
 /**
- * gst_clock_id_compare_func
+ * gst_clock_id_compare_func:
  * @id1: A #GstClockID
  * @id2: A #GstClockID to compare with
  *
@@ -442,7 +437,7 @@
 }
 
 /**
- * gst_clock_id_get_time
+ * gst_clock_id_get_time:
  * @id: The #GstClockID to query
  *
  * Get the time of the clock ID
@@ -460,7 +455,7 @@
 }
 
 /**
- * gst_clock_id_wait
+ * gst_clock_id_wait:
  * @id: The #GstClockID to wait on
  * @jitter: (out) (allow-none): a pointer that will contain the jitter,
  *     can be %NULL.
@@ -539,7 +534,7 @@
 }
 
 /**
- * gst_clock_id_wait_async_full:
+ * gst_clock_id_wait_async:
  * @id: a #GstClockID to wait on
  * @func: The callback function
  * @user_data: User data passed in the callback
@@ -557,11 +552,9 @@
  * Returns: the result of the non blocking wait.
  *
  * MT safe.
- *
- * Since: 0.10.30
  */
 GstClockReturn
-gst_clock_id_wait_async_full (GstClockID id,
+gst_clock_id_wait_async (GstClockID id,
     GstClockCallback func, gpointer user_data, GDestroyNotify destroy_data)
 {
   GstClockEntry *entry;
@@ -610,32 +603,6 @@
 }
 
 /**
- * gst_clock_id_wait_async:
- * @id: a #GstClockID to wait on
- * @func: The callback function
- * @user_data: User data passed in the callback
- *
- * Register a callback on the given #GstClockID @id with the given
- * function and user_data. When passing a #GstClockID with an invalid
- * time to this function, the callback will be called immediately
- * with  a time set to GST_CLOCK_TIME_NONE. The callback will
- * be called when the time of @id has been reached.
- *
- * The callback @func can be invoked from any thread, either provided by the
- * core or from a streaming thread. The application should be prepared for this.
- *
- * Returns: the result of the non blocking wait.
- *
- * MT safe.
- */
-GstClockReturn
-gst_clock_id_wait_async (GstClockID id,
-    GstClockCallback func, gpointer user_data)
-{
-  return gst_clock_id_wait_async_full (id, func, user_data, NULL);
-}
-
-/**
  * gst_clock_id_unschedule:
  * @id: The id to unschedule
  *
@@ -669,7 +636,7 @@
  * GstClock abstract base class implementation
  */
 #define gst_clock_parent_class parent_class
-G_DEFINE_TYPE (GstClock, gst_clock, GST_TYPE_OBJECT);
+G_DEFINE_ABSTRACT_TYPE (GstClock, gst_clock, GST_TYPE_OBJECT);
 
 static void
 gst_clock_class_init (GstClockClass * klass)
@@ -725,6 +692,9 @@
   priv->time_index = 0;
   priv->timeout = DEFAULT_TIMEOUT;
   priv->times = g_new0 (GstClockTime, 4 * priv->window_size);
+
+  /* clear floating flag */
+  gst_object_ref_sink (clock);
 }
 
 static void
@@ -762,7 +732,7 @@
 }
 
 /**
- * gst_clock_set_resolution
+ * gst_clock_set_resolution:
  * @clock: a #GstClock
  * @resolution: The resolution to set
  *
@@ -794,7 +764,7 @@
 }
 
 /**
- * gst_clock_get_resolution
+ * gst_clock_get_resolution:
  * @clock: a #GstClock
  *
  * Get the accuracy of the clock. The accuracy of the clock is the granularity
@@ -820,7 +790,7 @@
 }
 
 /**
- * gst_clock_adjust_unlocked
+ * gst_clock_adjust_unlocked:
  * @clock: a #GstClock to use
  * @internal: a clock time
  *
@@ -876,7 +846,7 @@
 }
 
 /**
- * gst_clock_unadjust_unlocked
+ * gst_clock_unadjust_unlocked:
  * @clock: a #GstClock to use
  * @external: an external clock time
  *
@@ -888,8 +858,6 @@
  * This function is the reverse of gst_clock_adjust_unlocked().
  *
  * Returns: the internal time of the clock corresponding to @external.
- *
- * Since: 0.10.13
  */
 GstClockTime
 gst_clock_unadjust_unlocked (GstClock * clock, GstClockTime external)
@@ -924,7 +892,7 @@
 }
 
 /**
- * gst_clock_get_internal_time
+ * gst_clock_get_internal_time:
  * @clock: a #GstClock to query
  *
  * Gets the current internal time of the given clock. The time is returned
@@ -965,7 +933,7 @@
 }
 
 /**
- * gst_clock_get_time
+ * gst_clock_get_time:
  * @clock: a #GstClock to query
  *
  * Gets the current time of the given clock. The time is always
@@ -1002,7 +970,7 @@
 }
 
 /**
- * gst_clock_set_calibration
+ * gst_clock_set_calibration:
  * @clock: a #GstClock to calibrate
  * @internal: a reference internal time
  * @external: a reference external time
@@ -1061,7 +1029,7 @@
 }
 
 /**
- * gst_clock_get_calibration
+ * gst_clock_get_calibration:
  * @clock: a #GstClock 
  * @internal: (out) (allow-none): a location to store the internal time
  * @external: (out) (allow-none): a location to store the external time
@@ -1125,7 +1093,7 @@
 }
 
 /**
- * gst_clock_set_master
+ * gst_clock_set_master:
  * @clock: a #GstClock 
  * @master: (allow-none): a master #GstClock 
  *
@@ -1178,7 +1146,7 @@
      * clock calibration. */
     priv->clockid = gst_clock_new_periodic_id (master,
         gst_clock_get_time (master), priv->timeout);
-    gst_clock_id_wait_async_full (priv->clockid,
+    gst_clock_id_wait_async (priv->clockid,
         (GstClockCallback) gst_clock_slave_callback,
         gst_object_ref (clock), (GDestroyNotify) gst_object_unref);
   }
@@ -1358,7 +1326,7 @@
 }
 
 /**
- * gst_clock_add_observation
+ * gst_clock_add_observation:
  * @clock: a #GstClock 
  * @slave: a time on the slave
  * @master: a time on the master
diff --git a/gst/gstclock.h b/gst/gstclock.h
index 253fc09..5d42ce6 100644
--- a/gst/gstclock.h
+++ b/gst/gstclock.h
@@ -66,6 +66,9 @@
  * GST_CLOCK_TIME_NONE:
  *
  * Constant to define an undefined clock time.
+ *
+ * Value: 18446744073709551615
+ * Type: GstClockTime
  */
 #define GST_CLOCK_TIME_NONE             ((GstClockTime) -1)
 /**
@@ -83,7 +86,7 @@
  * Constant that defines one GStreamer second.
  *
  * Value: 1000000000
- *
+ * Type: GstClockTime
  */
 #define GST_SECOND  (G_USEC_PER_SEC * G_GINT64_CONSTANT (1000))
 /**
@@ -92,7 +95,7 @@
  * Constant that defines one GStreamer millisecond.
  *
  * Value: 1000000
- *
+ * Type: GstClockTime
  */
 #define GST_MSECOND (GST_SECOND / G_GINT64_CONSTANT (1000))
 /**
@@ -101,7 +104,7 @@
  * Constant that defines one GStreamer microsecond.
  *
  * Value: 1000
- *
+ * Type: GstClockTime
  */
 #define GST_USECOND (GST_SECOND / G_GINT64_CONSTANT (1000000))
 /**
@@ -110,7 +113,7 @@
  * Constant that defines one GStreamer nanosecond
  *
  * Value: 1
- *
+ * Type: GstClockTime
  */
 #define GST_NSECOND (GST_SECOND / G_GINT64_CONSTANT (1000000000))
 
@@ -120,8 +123,6 @@
  * @time: the time
  *
  * Convert a #GstClockTime to seconds.
- *
- * Since: 0.10.16
  */
 #define GST_TIME_AS_SECONDS(time)  ((time) / GST_SECOND)
 /**
@@ -129,8 +130,6 @@
  * @time: the time
  *
  * Convert a #GstClockTime to milliseconds (1/1000 of a second).
- *
- * Since: 0.10.16
  */
 #define GST_TIME_AS_MSECONDS(time) ((time) / G_GINT64_CONSTANT (1000000))
 /**
@@ -138,8 +137,6 @@
  * @time: the time
  *
  * Convert a #GstClockTime to microseconds (1/1000000 of a second).
- *
- * Since: 0.10.16
  */
 #define GST_TIME_AS_USECONDS(time) ((time) / G_GINT64_CONSTANT (1000))
 /**
@@ -147,8 +144,6 @@
  * @time: the time
  *
  * Convert a #GstClockTime to nanoseconds (1/1000000000 of a second).
- *
- * Since: 0.10.16
  */
 #define GST_TIME_AS_NSECONDS(time) (time)
 
@@ -183,10 +178,12 @@
  */
 #define GST_TIME_TO_TIMEVAL(t,tv)                               \
 G_STMT_START {                                                  \
-  (tv).tv_sec  = ((GstClockTime) (t)) / GST_SECOND;             \
-  (tv).tv_usec = (((GstClockTime) (t)) -                        \
+  g_assert ("Value of time " #t " is out of timeval's range" && \
+      ((t) / GST_SECOND) < G_MAXLONG);                          \
+  (tv).tv_sec  = (glong) (((GstClockTime) (t)) / GST_SECOND);   \
+  (tv).tv_usec = (glong) ((((GstClockTime) (t)) -               \
                   ((GstClockTime) (tv).tv_sec) * GST_SECOND)    \
-                 / GST_USECOND;                                 \
+                 / GST_USECOND);                                \
 } G_STMT_END
 
 /**
@@ -203,10 +200,12 @@
  *
  * Convert a #GstClockTime to a struct timespec (see man pselect)
  */
-#define GST_TIME_TO_TIMESPEC(t,ts)                      \
-G_STMT_START {                                          \
-  (ts).tv_sec  =  (t) / GST_SECOND;                     \
-  (ts).tv_nsec = ((t) - (ts).tv_sec * GST_SECOND) / GST_NSECOND;        \
+#define GST_TIME_TO_TIMESPEC(t,ts)                                \
+G_STMT_START {                                                    \
+  g_assert ("Value of time " #t " is out of timespec's range" &&  \
+      ((t) / GST_SECOND) < G_MAXLONG);                            \
+  (ts).tv_sec  =  (glong) ((t) / GST_SECOND);                     \
+  (ts).tv_nsec = (glong) (((t) - (ts).tv_sec * GST_SECOND) / GST_NSECOND);        \
 } G_STMT_END
 
 /* timestamp debugging macros */
@@ -268,7 +267,7 @@
  * @GST_CLOCK_BADTIME: A bad time was provided to a function.
  * @GST_CLOCK_ERROR: An error occurred
  * @GST_CLOCK_UNSUPPORTED: Operation is not supported
- * @GST_CLOCK_DONE: The ClockID is done waiting (Since: 0.10.32)
+ * @GST_CLOCK_DONE: The ClockID is done waiting
  *
  * The return value of a clock operation.
  */
@@ -362,6 +361,7 @@
   gboolean               unscheduled;
   gboolean               woken_up;
 
+  /*< private >*/
   gpointer _gst_reserved[GST_PADDING];
 };
 
@@ -504,9 +504,6 @@
                                                          GstClockTimeDiff *jitter);
 GstClockReturn          gst_clock_id_wait_async         (GstClockID id,
                                                          GstClockCallback func,
-                                                         gpointer user_data);
-GstClockReturn          gst_clock_id_wait_async_full    (GstClockID id,
-                                                         GstClockCallback func,
                                                          gpointer user_data,
                                                          GDestroyNotify destroy_data);
 void                    gst_clock_id_unschedule         (GstClockID id);
diff --git a/gst/gstcompat.h b/gst/gstcompat.h
index 97728f4..62ee85d 100644
--- a/gst/gstcompat.h
+++ b/gst/gstcompat.h
@@ -58,6 +58,26 @@
 
 #define gst_tag_list_free(taglist)    gst_tag_list_unref(taglist)
 
+static inline gboolean
+gst_pad_set_caps (GstPad * pad, GstCaps * caps)
+{
+  GstEvent *event;
+  gboolean res = TRUE;
+
+  g_return_val_if_fail (GST_IS_PAD (pad), FALSE);
+  g_return_val_if_fail (caps != NULL && gst_caps_is_fixed (caps), FALSE);
+
+  event = gst_event_new_caps (caps);
+
+  if (GST_PAD_IS_SRC (pad))
+    res = gst_pad_push_event (pad, event);
+  else
+    res = gst_pad_send_event (pad, event);
+
+  return res;
+}
+
+
 #ifndef GST_DISABLE_DEPRECATED
 
 #endif /* not GST_DISABLE_DEPRECATED */
diff --git a/gst/gstconfig.h.in b/gst/gstconfig.h.in
index 31ea674..33aa728 100644
--- a/gst/gstconfig.h.in
+++ b/gst/gstconfig.h.in
@@ -127,8 +127,6 @@
  *
  * printf format type used to debug GStreamer segments.
  * This can only be used on pointers to GstSegment structures.
- *
- * Since: 0.10.10
  */
 @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
 
diff --git a/gst/gstcontrolbinding.c b/gst/gstcontrolbinding.c
index b7cc8d5..e1da8c2 100644
--- a/gst/gstcontrolbinding.c
+++ b/gst/gstcontrolbinding.c
@@ -103,7 +103,7 @@
 }
 
 static void
-gst_control_binding_init (GstControlBinding * self)
+gst_control_binding_init (GstControlBinding * binding)
 {
 }
 
@@ -111,32 +111,33 @@
 gst_control_binding_constructor (GType type, guint n_construct_params,
     GObjectConstructParam * construct_params)
 {
-  GstControlBinding *self;
+  GstControlBinding *binding;
   GParamSpec *pspec;
 
-  self = GST_CONTROL_BINDING (G_OBJECT_CLASS (gst_control_binding_parent_class)
+  binding =
+      GST_CONTROL_BINDING (G_OBJECT_CLASS (gst_control_binding_parent_class)
       ->constructor (type, n_construct_params, construct_params));
 
-  GST_INFO_OBJECT (self->object, "trying to put property '%s' under control",
-      self->name);
+  GST_INFO_OBJECT (binding->object, "trying to put property '%s' under control",
+      binding->name);
 
   /* check if the object has a property of that name */
   if ((pspec =
-          g_object_class_find_property (G_OBJECT_GET_CLASS (self->object),
-              self->name))) {
-    GST_DEBUG_OBJECT (self->object, "  psec->flags : 0x%08x", pspec->flags);
+          g_object_class_find_property (G_OBJECT_GET_CLASS (binding->object),
+              binding->name))) {
+    GST_DEBUG_OBJECT (binding->object, "  psec->flags : 0x%08x", pspec->flags);
 
     /* check if this param is witable && controlable && !construct-only */
     if ((pspec->flags & (G_PARAM_WRITABLE | GST_PARAM_CONTROLLABLE |
                 G_PARAM_CONSTRUCT_ONLY)) ==
         (G_PARAM_WRITABLE | GST_PARAM_CONTROLLABLE)) {
-      self->pspec = pspec;
+      binding->pspec = pspec;
     }
   } else {
-    GST_WARNING_OBJECT (self->object, "class '%s' has no property '%s'",
-        G_OBJECT_TYPE_NAME (self->object), self->name);
+    GST_WARNING_OBJECT (binding->object, "class '%s' has no property '%s'",
+        G_OBJECT_TYPE_NAME (binding->object), binding->name);
   }
-  return (GObject *) self;
+  return (GObject *) binding;
 }
 
 static void
@@ -207,7 +208,7 @@
 
 /**
  * gst_control_binding_sync_values:
- * @self: the control binding
+ * @binding: the control binding
  * @object: the object that has controlled properties
  * @timestamp: the time that should be processed
  * @last_sync: the last time this was called
@@ -222,30 +223,30 @@
  * property, %FALSE otherwise
  */
 gboolean
-gst_control_binding_sync_values (GstControlBinding * self, GstObject * object,
-    GstClockTime timestamp, GstClockTime last_sync)
+gst_control_binding_sync_values (GstControlBinding * binding,
+    GstObject * object, GstClockTime timestamp, GstClockTime last_sync)
 {
   GstControlBindingClass *klass;
   gboolean ret = FALSE;
 
-  g_return_val_if_fail (GST_IS_CONTROL_BINDING (self), FALSE);
+  g_return_val_if_fail (GST_IS_CONTROL_BINDING (binding), FALSE);
 
-  if (self->disabled)
+  if (binding->disabled)
     return TRUE;
 
-  klass = GST_CONTROL_BINDING_GET_CLASS (self);
+  klass = GST_CONTROL_BINDING_GET_CLASS (binding);
 
   if (G_LIKELY (klass->sync_values != NULL)) {
-    ret = klass->sync_values (self, object, timestamp, last_sync);
+    ret = klass->sync_values (binding, object, timestamp, last_sync);
   } else {
-    GST_WARNING_OBJECT (self, "missing sync_values implementation");
+    GST_WARNING_OBJECT (binding, "missing sync_values implementation");
   }
   return ret;
 }
 
 /**
  * gst_control_binding_get_value:
- * @self: the control binding
+ * @binding: the control binding
  * @timestamp: the time the control-change should be read from
  *
  * Gets the value for the given controlled property at the requested time.
@@ -254,27 +255,28 @@
  * property isn't controlled.
  */
 GValue *
-gst_control_binding_get_value (GstControlBinding * self, GstClockTime timestamp)
+gst_control_binding_get_value (GstControlBinding * binding,
+    GstClockTime timestamp)
 {
   GstControlBindingClass *klass;
   GValue *ret = NULL;
 
-  g_return_val_if_fail (GST_IS_CONTROL_BINDING (self), NULL);
+  g_return_val_if_fail (GST_IS_CONTROL_BINDING (binding), NULL);
   g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (timestamp), NULL);
 
-  klass = GST_CONTROL_BINDING_GET_CLASS (self);
+  klass = GST_CONTROL_BINDING_GET_CLASS (binding);
 
   if (G_LIKELY (klass->get_value != NULL)) {
-    ret = klass->get_value (self, timestamp);
+    ret = klass->get_value (binding, timestamp);
   } else {
-    GST_WARNING_OBJECT (self, "missing get_value implementation");
+    GST_WARNING_OBJECT (binding, "missing get_value implementation");
   }
   return ret;
 }
 
 /**
  * gst_control_binding_get_value_array:
- * @self: the control binding
+ * @binding: the control binding
  * @timestamp: the time that should be processed
  * @interval: the time spacing between subsequent values
  * @n_values: the number of values
@@ -294,24 +296,25 @@
  * Returns: %TRUE if the given array could be filled, %FALSE otherwise
  */
 gboolean
-gst_control_binding_get_value_array (GstControlBinding * self,
+gst_control_binding_get_value_array (GstControlBinding * binding,
     GstClockTime timestamp, GstClockTime interval, guint n_values,
     gpointer values)
 {
   GstControlBindingClass *klass;
   gboolean ret = FALSE;
 
-  g_return_val_if_fail (GST_IS_CONTROL_BINDING (self), FALSE);
+  g_return_val_if_fail (GST_IS_CONTROL_BINDING (binding), FALSE);
   g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (timestamp), FALSE);
   g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (interval), FALSE);
   g_return_val_if_fail (values, FALSE);
 
-  klass = GST_CONTROL_BINDING_GET_CLASS (self);
+  klass = GST_CONTROL_BINDING_GET_CLASS (binding);
 
   if (G_LIKELY (klass->get_value_array != NULL)) {
-    ret = klass->get_value_array (self, timestamp, interval, n_values, values);
+    ret =
+        klass->get_value_array (binding, timestamp, interval, n_values, values);
   } else {
-    GST_WARNING_OBJECT (self, "missing get_value_array implementation");
+    GST_WARNING_OBJECT (binding, "missing get_value_array implementation");
   }
   return ret;
 }
@@ -319,7 +322,7 @@
 #define CONVERT_ARRAY(type,TYPE) \
 { \
   g##type *v = g_new (g##type,n_values); \
-  ret = gst_control_binding_get_value_array (self, timestamp, interval, \
+  ret = gst_control_binding_get_value_array (binding, timestamp, interval, \
       n_values, v); \
   if (ret) { \
     for (i = 0; i < n_values; i++) { \
@@ -332,7 +335,7 @@
 
 /**
  * gst_control_binding_get_g_value_array:
- * @self: the control binding
+ * @binding: the control binding
  * @timestamp: the time that should be processed
  * @interval: the time spacing between subsequent values
  * @n_values: the number of values
@@ -348,32 +351,33 @@
  * Returns: %TRUE if the given array could be filled, %FALSE otherwise
  */
 gboolean
-gst_control_binding_get_g_value_array (GstControlBinding * self,
+gst_control_binding_get_g_value_array (GstControlBinding * binding,
     GstClockTime timestamp, GstClockTime interval, guint n_values,
     GValue * values)
 {
   GstControlBindingClass *klass;
   gboolean ret = FALSE;
 
-  g_return_val_if_fail (GST_IS_CONTROL_BINDING (self), FALSE);
+  g_return_val_if_fail (GST_IS_CONTROL_BINDING (binding), FALSE);
   g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (timestamp), FALSE);
   g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (interval), FALSE);
   g_return_val_if_fail (values, FALSE);
 
-  klass = GST_CONTROL_BINDING_GET_CLASS (self);
+  klass = GST_CONTROL_BINDING_GET_CLASS (binding);
 
   if (G_LIKELY (klass->get_g_value_array != NULL)) {
     ret =
-        klass->get_g_value_array (self, timestamp, interval, n_values, values);
+        klass->get_g_value_array (binding, timestamp, interval, n_values,
+        values);
   } else {
     guint i;
     GType type, base;
 
-    base = type = G_PARAM_SPEC_VALUE_TYPE (GST_CONTROL_BINDING_PSPEC (self));
+    base = type = G_PARAM_SPEC_VALUE_TYPE (GST_CONTROL_BINDING_PSPEC (binding));
     while ((type = g_type_parent (type)))
       base = type;
 
-    GST_INFO_OBJECT (self, "missing get_g_value_array implementation, we're "
+    GST_INFO_OBJECT (binding, "missing get_g_value_array implementation, we're "
         "emulating it");
     switch (base) {
       case G_TYPE_INT:
@@ -406,7 +410,7 @@
       case G_TYPE_ENUM:
       {
         gint *v = g_new (gint, n_values);
-        ret = gst_control_binding_get_value_array (self, timestamp, interval,
+        ret = gst_control_binding_get_value_array (binding, timestamp, interval,
             n_values, v);
         if (ret) {
           for (i = 0; i < n_values; i++) {
@@ -419,8 +423,8 @@
         break;
       default:
         GST_WARNING ("incomplete implementation for paramspec type '%s'",
-            G_PARAM_SPEC_TYPE_NAME (GST_CONTROL_BINDING_PSPEC (self)));
-        GST_CONTROL_BINDING_PSPEC (self) = NULL;
+            G_PARAM_SPEC_TYPE_NAME (GST_CONTROL_BINDING_PSPEC (binding)));
+        GST_CONTROL_BINDING_PSPEC (binding) = NULL;
         break;
     }
   }
@@ -429,7 +433,7 @@
 
 /**
  * gst_control_binding_set_disabled:
- * @self: the control binding
+ * @binding: the control binding
  * @disabled: boolean that specifies whether to disable the controller
  * or not.
  *
@@ -437,23 +441,24 @@
  * gst_object_sync_values() will do nothing.
  */
 void
-gst_control_binding_set_disabled (GstControlBinding * self, gboolean disabled)
+gst_control_binding_set_disabled (GstControlBinding * binding,
+    gboolean disabled)
 {
-  g_return_if_fail (GST_IS_CONTROL_BINDING (self));
-  self->disabled = disabled;
+  g_return_if_fail (GST_IS_CONTROL_BINDING (binding));
+  binding->disabled = disabled;
 }
 
 /**
  * gst_control_binding_is_disabled:
- * @self: the control binding
+ * @binding: the control binding
  *
  * Check if the control binding is disabled.
  *
  * Returns: %TRUE if the binding is inactive
  */
 gboolean
-gst_control_binding_is_disabled (GstControlBinding * self)
+gst_control_binding_is_disabled (GstControlBinding * binding)
 {
-  g_return_val_if_fail (GST_IS_CONTROL_BINDING (self), TRUE);
-  return (self->disabled == TRUE);
+  g_return_val_if_fail (GST_IS_CONTROL_BINDING (binding), TRUE);
+  return (binding->disabled == TRUE);
 }
diff --git a/gst/gstcontrolbinding.h b/gst/gstcontrolbinding.h
index 7f83d3d..c33c1d4 100644
--- a/gst/gstcontrolbinding.h
+++ b/gst/gstcontrolbinding.h
@@ -49,13 +49,13 @@
 
 /**
  * GstControlBindingConvert:
- * @self: the #GstControlBinding instance
+ * @binding: the #GstControlBinding instance
  * @src_value: the value returned by the cotnrol source
  * @dest_value: the target GValue
  *
  * Function to map a control-value to the target GValue.
  */
-typedef void (* GstControlBindingConvert) (GstControlBinding *self, gdouble src_value, GValue *dest_value);
+typedef void (* GstControlBindingConvert) (GstControlBinding *binding, gdouble src_value, GValue *dest_value);
 
 /**
  * GstControlBinding:
@@ -91,10 +91,10 @@
   GstObjectClass parent_class;
 
   /* virtual methods */
-  gboolean (* sync_values) (GstControlBinding *self, GstObject *object, GstClockTime timestamp, GstClockTime last_sync);
-  GValue * (* get_value) (GstControlBinding *self, GstClockTime timestamp);
-  gboolean (* get_value_array) (GstControlBinding *self, GstClockTime timestamp,GstClockTime interval, guint n_values, gpointer values);
-  gboolean (* get_g_value_array) (GstControlBinding *self, GstClockTime timestamp,GstClockTime interval, guint n_values, GValue *values);
+  gboolean (* sync_values) (GstControlBinding *binding, GstObject *object, GstClockTime timestamp, GstClockTime last_sync);
+  GValue * (* get_value) (GstControlBinding *binding, GstClockTime timestamp);
+  gboolean (* get_value_array) (GstControlBinding *binding, GstClockTime timestamp,GstClockTime interval, guint n_values, gpointer values);
+  gboolean (* get_g_value_array) (GstControlBinding *binding, GstClockTime timestamp,GstClockTime interval, guint n_values, GValue *values);
 
   /*< private >*/
   gpointer _gst_reserved[GST_PADDING];
@@ -106,7 +106,7 @@
 
 /* Functions */
 
-gboolean            gst_control_binding_sync_values        (GstControlBinding * self, GstObject *object, 
+gboolean            gst_control_binding_sync_values        (GstControlBinding * binding, GstObject *object,
                                                             GstClockTime timestamp, GstClockTime last_sync);
 GValue *            gst_control_binding_get_value          (GstControlBinding *binding,
                                                             GstClockTime timestamp);
@@ -115,8 +115,8 @@
 gboolean            gst_control_binding_get_g_value_array  (GstControlBinding *binding, GstClockTime timestamp,
                                                             GstClockTime interval, guint n_values, GValue *values);
 
-void                gst_control_binding_set_disabled       (GstControlBinding * self, gboolean disabled);
-gboolean            gst_control_binding_is_disabled        (GstControlBinding * self);
+void                gst_control_binding_set_disabled       (GstControlBinding * binding, gboolean disabled);
+gboolean            gst_control_binding_is_disabled        (GstControlBinding * binding);
 G_END_DECLS
 
 #endif /* __GST_CONTROL_BINDING_H__ */
diff --git a/gst/gstcontrolsource.c b/gst/gstcontrolsource.c
index 611784f..53484ad 100644
--- a/gst/gstcontrolsource.c
+++ b/gst/gstcontrolsource.c
@@ -120,7 +120,7 @@
  * @timestamp: the first timestamp
  * @interval: the time steps
  * @n_values: the number of values to fetch
- * @value_array: array to put control-values in
+ * @values: array to put control-values in
  *
  * Gets an array of values for for this #GstControlSource. Values that are
  * undefined contain NANs.
diff --git a/gst/gstcontrolsource.h b/gst/gstcontrolsource.h
index 5debda4..e61c59a 100644
--- a/gst/gstcontrolsource.h
+++ b/gst/gstcontrolsource.h
@@ -63,7 +63,7 @@
 };
 
 /**
- * GstControlSourceGetValue
+ * GstControlSourceGetValue:
  * @self: the #GstControlSource instance
  * @timestamp: timestamp for which a value should be calculated
  * @value: a #GValue which will be set to the result. It must be initialized to the correct type.
@@ -77,7 +77,7 @@
     GstClockTime timestamp, gdouble *value);
 
 /**
- * GstControlSourceGetValueArray
+ * GstControlSourceGetValueArray:
  * @self: the #GstControlSource instance
  * @timestamp: timestamp for which a value should be calculated
  * @interval: the time spacing between subsequent values
diff --git a/gst/gstdatetime.c b/gst/gstdatetime.c
index 7f6ba43..6a8f659 100644
--- a/gst/gstdatetime.c
+++ b/gst/gstdatetime.c
@@ -24,8 +24,10 @@
 #include "glib-compat-private.h"
 #include "gst_private.h"
 #include "gstdatetime.h"
+#include "gstvalue.h"
 #include <glib.h>
 #include <math.h>
+#include <stdio.h>
 
 /**
  * SECTION:gstdatetime
@@ -38,39 +40,198 @@
  * Date information is handled using the proleptic Gregorian calendar.
  *
  * Provides basic creation functions and accessor functions to its fields.
- *
- * Since: 0.10.31
  */
 
+typedef enum
+{
+  GST_DATE_TIME_FIELDS_INVALID = 0,
+  GST_DATE_TIME_FIELDS_Y,       /* have year                */
+  GST_DATE_TIME_FIELDS_YM,      /* have year and month      */
+  GST_DATE_TIME_FIELDS_YMD,     /* have year, month and day */
+  GST_DATE_TIME_FIELDS_YMD_HM,
+  GST_DATE_TIME_FIELDS_YMD_HMS
+      /* Note: if we ever add more granularity here, e.g. for microsecs,
+       * the compare function will need updating */
+} GstDateTimeFields;
+
+struct _GstDateTime
+{
+  GDateTime *datetime;
+
+  GstDateTimeFields fields;
+  volatile gint ref_count;
+};
+
+/**
+ * gst_date_time_new_from_g_date_time:
+ * @dt: (transfer full): the #GDateTime. The new #GstDateTime takes ownership.
+ *
+ * Creates a new #GstDateTime from a #GDateTime object.
+ *
+ * Free-function: gst_date_time_unref
+ *
+ * Returns: (transfer full): a newly created #GstDateTime, or NULL on error
+ */
+GstDateTime *
+gst_date_time_new_from_g_date_time (GDateTime * dt)
+{
+  GstDateTime *gst_dt;
+
+  if (!dt)
+    return NULL;
+
+  gst_dt = g_slice_new (GstDateTime);
+  gst_dt->datetime = dt;
+  gst_dt->fields = GST_DATE_TIME_FIELDS_YMD_HMS;
+  gst_dt->ref_count = 1;
+  return gst_dt;
+}
+
+/**
+ * gst_date_time_to_g_date_time:
+ * @datetime: GstDateTime.
+ *
+ * Creates a new #GDateTime from a fully defined #GstDateTime object.
+ *
+ * Free-function: g_date_time_unref
+ *
+ * Returns: (transfer full): a newly created #GDateTime, or NULL on error
+ */
+GDateTime *
+gst_date_time_to_g_date_time (GstDateTime * datetime)
+{
+  g_return_val_if_fail (datetime != NULL, NULL);
+
+  if (datetime->fields != GST_DATE_TIME_FIELDS_YMD_HMS)
+    return NULL;
+
+  return g_date_time_add (datetime->datetime, 0);
+}
+
+/**
+ * gst_date_time_has_year:
+ * @datetime: a #GstDateTime
+ *
+ * Returns: TRUE if @datetime<!-- -->'s year field is set (which should always
+ *     be the case), otherwise FALSE
+ */
+gboolean
+gst_date_time_has_year (const GstDateTime * datetime)
+{
+  g_return_val_if_fail (datetime != NULL, FALSE);
+
+  return (datetime->fields >= GST_DATE_TIME_FIELDS_Y);
+}
+
+/**
+ * gst_date_time_has_month:
+ * @datetime: a #GstDateTime
+ *
+ * Returns: TRUE if @datetime<!-- -->'s month field is set, otherwise FALSE
+ */
+gboolean
+gst_date_time_has_month (const GstDateTime * datetime)
+{
+  g_return_val_if_fail (datetime != NULL, FALSE);
+
+  return (datetime->fields >= GST_DATE_TIME_FIELDS_YM);
+}
+
+/**
+ * gst_date_time_has_day:
+ * @datetime: a #GstDateTime
+ *
+ * Returns: TRUE if @datetime<!-- -->'s day field is set, otherwise FALSE
+ */
+gboolean
+gst_date_time_has_day (const GstDateTime * datetime)
+{
+  g_return_val_if_fail (datetime != NULL, FALSE);
+
+  return (datetime->fields >= GST_DATE_TIME_FIELDS_YMD);
+}
+
+/**
+ * gst_date_time_has_time:
+ * @datetime: a #GstDateTime
+ *
+ * Returns: TRUE if @datetime<!-- -->'s hour and minute fields are set,
+ *     otherwise FALSE
+ */
+gboolean
+gst_date_time_has_time (const GstDateTime * datetime)
+{
+  g_return_val_if_fail (datetime != NULL, FALSE);
+
+  return (datetime->fields >= GST_DATE_TIME_FIELDS_YMD_HM);
+}
+
+/**
+ * gst_date_time_has_second:
+ * @datetime: a #GstDateTime
+ *
+ * Returns: TRUE if @datetime<!-- -->'s second field is set, otherwise FALSE
+ */
+gboolean
+gst_date_time_has_second (const GstDateTime * datetime)
+{
+  g_return_val_if_fail (datetime != NULL, FALSE);
+
+  return (datetime->fields >= GST_DATE_TIME_FIELDS_YMD_HMS);
+}
+
 /**
  * gst_date_time_get_year:
  * @datetime: a #GstDateTime
  *
  * Returns the year of this #GstDateTime
+ * Call gst_date_time_has_year before, to avoid warnings.
  *
  * Return value: The year of this #GstDateTime
- * Since: 0.10.31
  */
+gint
+gst_date_time_get_year (const GstDateTime * datetime)
+{
+  g_return_val_if_fail (datetime != NULL, 0);
+
+  return g_date_time_get_year (datetime->datetime);
+}
 
 /**
  * gst_date_time_get_month:
  * @datetime: a #GstDateTime
  *
  * Returns the month of this #GstDateTime. January is 1, February is 2, etc..
+ * Call gst_date_time_has_month before, to avoid warnings.
  *
  * Return value: The month of this #GstDateTime
- * Since: 0.10.31
  */
+gint
+gst_date_time_get_month (const GstDateTime * datetime)
+{
+  g_return_val_if_fail (datetime != NULL, 0);
+  g_return_val_if_fail (gst_date_time_has_month (datetime), 0);
+
+  return g_date_time_get_month (datetime->datetime);
+}
 
 /**
  * gst_date_time_get_day:
  * @datetime: a #GstDateTime
  *
- * Returns the day of this #GstDateTime.
+ * Returns the day of the month of this #GstDateTime.
+ * Call gst_date_time_has_day before, to avoid warnings.
  *
  * Return value: The day of this #GstDateTime
- * Since: 0.10.31
  */
+gint
+gst_date_time_get_day (const GstDateTime * datetime)
+{
+  g_return_val_if_fail (datetime != NULL, 0);
+  g_return_val_if_fail (gst_date_time_has_day (datetime), 0);
+
+  return g_date_time_get_day_of_month (datetime->datetime);
+}
 
 /**
  * gst_date_time_get_hour:
@@ -78,11 +239,56 @@
  *
  * Retrieves the hour of the day represented by @datetime in the gregorian
  * calendar. The return is in the range of 0 to 23.
+ * Call gst_date_time_has_haur before, to avoid warnings.
  *
  * Return value: the hour of the day
- *
- * Since: 0.10.31
  */
+gint
+gst_date_time_get_hour (const GstDateTime * datetime)
+{
+  g_return_val_if_fail (datetime != NULL, 0);
+  g_return_val_if_fail (gst_date_time_has_time (datetime), 0);
+
+  return g_date_time_get_hour (datetime->datetime);
+}
+
+/**
+ * gst_date_time_get_minute:
+ * @datetime: a #GstDateTime
+ *
+ * Retrieves the minute of the hour represented by @datetime in the gregorian
+ * calendar.
+ * Call gst_date_time_has_minute before, to avoid warnings.
+ *
+ * Return value: the minute of the hour
+ */
+gint
+gst_date_time_get_minute (const GstDateTime * datetime)
+{
+  g_return_val_if_fail (datetime != NULL, 0);
+  g_return_val_if_fail (gst_date_time_has_time (datetime), 0);
+
+  return g_date_time_get_minute (datetime->datetime);
+}
+
+/**
+ * gst_date_time_get_second:
+ * @datetime: a #GstDateTime
+ *
+ * Retrieves the second of the minute represented by @datetime in the gregorian
+ * calendar.
+ * Call gst_date_time_has_second before, to avoid warnings.
+ *
+ * Return value: the second represented by @datetime
+ */
+gint
+gst_date_time_get_second (const GstDateTime * datetime)
+{
+  g_return_val_if_fail (datetime != NULL, 0);
+  g_return_val_if_fail (gst_date_time_has_second (datetime), 0);
+
+  return g_date_time_get_second (datetime->datetime);
+}
 
 /**
  * gst_date_time_get_microsecond:
@@ -92,45 +298,15 @@
  * @datetime in the gregorian calendar.
  *
  * Return value: the microsecond of the second
- *
- * Since: 0.10.31
  */
+gint
+gst_date_time_get_microsecond (const GstDateTime * datetime)
+{
+  g_return_val_if_fail (datetime != NULL, 0);
+  g_return_val_if_fail (gst_date_time_has_second (datetime), 0);
 
-/**
- * gst_date_time_get_minute:
- * @datetime: a #GstDateTime
- *
- * Retrieves the minute of the hour represented by @datetime in the gregorian
- * calendar.
- *
- * Return value: the minute of the hour
- *
- * Since: 0.10.31
- */
-
-/**
- * gst_date_time_get_second:
- * @datetime: a #GstDateTime
- *
- * Retrieves the second of the minute represented by @datetime in the gregorian
- * calendar.
- *
- * Return value: the second represented by @datetime
- *
- * Since: 0.10.31
- */
-
-/**
- * gst_date_time_get_second:
- * @datetime: a #GstDateTime
- *
- * Retrieves the second of the minute represented by @datetime in the gregorian
- * calendar.
- *
- * Return value: the second represented by @datetime
- *
- * Since: 0.10.31
- */
+  return g_date_time_get_microsecond (datetime->datetime);
+}
 
 /**
  * gst_date_time_get_time_zone_offset:
@@ -142,8 +318,85 @@
  * If @datetime represents UTC time, then the offset is zero.
  *
  * Return value: the offset from UTC in hours
- * Since: 0.10.31
  */
+gfloat
+gst_date_time_get_time_zone_offset (const GstDateTime * datetime)
+{
+  g_return_val_if_fail (datetime != NULL, 0.0);
+  g_return_val_if_fail (gst_date_time_has_time (datetime), 0.0);
+
+  return (g_date_time_get_utc_offset (datetime->datetime) /
+      G_USEC_PER_SEC) / 3600.0;
+}
+
+/**
+ * gst_date_time_new_y:
+ * @year: the gregorian year
+ *
+ * Creates a new #GstDateTime using the date and times in the gregorian calendar
+ * in the local timezone.
+ *
+ * @year should be from 1 to 9999.
+ *
+ * Free-function: gst_date_time_unref
+ *
+ * Return value: (transfer full): the newly created #GstDateTime
+ */
+GstDateTime *
+gst_date_time_new_y (gint year)
+{
+  return gst_date_time_new (0.0, year, -1, -1, -1, -1, -1);
+}
+
+/**
+ * gst_date_time_new_ym:
+ * @year: the gregorian year
+ * @month: the gregorian month
+ *
+ * Creates a new #GstDateTime using the date and times in the gregorian calendar
+ * in the local timezone.
+ *
+ * @year should be from 1 to 9999, @month should be from 1 to 12.
+ *
+ * If value is -1 then all over value will be ignored. For example
+ * if @month == -1, then #GstDateTime will created only for @year.
+ *
+ * Free-function: gst_date_time_unref
+ *
+ * Return value: (transfer full): the newly created #GstDateTime
+ */
+GstDateTime *
+gst_date_time_new_ym (gint year, gint month)
+{
+  return gst_date_time_new (0.0, year, month, -1, -1, -1, -1);
+}
+
+/**
+ * gst_date_time_new_ymd:
+ * @year: the gregorian year
+ * @month: the gregorian month
+ * @day: the day of the gregorian month
+ *
+ * Creates a new #GstDateTime using the date and times in the gregorian calendar
+ * in the local timezone.
+ *
+ * @year should be from 1 to 9999, @month should be from 1 to 12, @day from
+ * 1 to 31.
+ *
+ * If value is -1 then all over value will be ignored. For example
+ * if @month == -1, then #GstDateTime will created only for @year. If
+ * @day == -1, then #GstDateTime will created for @year and @month and
+ * so on.
+ *
+ * Free-function: gst_date_time_unref
+ *
+ * Return value: (transfer full): the newly created #GstDateTime
+ */
+GstDateTime *
+gst_date_time_new_ymd (gint year, gint month, gint day)
+{
+  return gst_date_time_new (0.0, year, month, day, -1, -1, -1);
+}
 
 /**
  * gst_date_time_new_from_unix_epoch_local_time:
@@ -155,9 +408,15 @@
  * Free-function: gst_date_time_unref
  *
  * Return value: (transfer full): the newly created #GstDateTime
- *
- * Since: 0.10.31
  */
+GstDateTime *
+gst_date_time_new_from_unix_epoch_local_time (gint64 secs)
+{
+  GDateTime *datetime;
+
+  datetime = g_date_time_new_from_unix_local (secs);
+  return gst_date_time_new_from_g_date_time (datetime);
+}
 
 /**
  * gst_date_time_new_from_unix_epoch_utc:
@@ -169,18 +428,46 @@
  * Free-function: gst_date_time_unref
  *
  * Return value: (transfer full): the newly created #GstDateTime
- *
- * Since: 0.10.31
  */
+GstDateTime *
+gst_date_time_new_from_unix_epoch_utc (gint64 secs)
+{
+  GstDateTime *datetime;
+  datetime =
+      gst_date_time_new_from_g_date_time (g_date_time_new_from_unix_utc (secs));
+  return datetime;
+}
+
+static GstDateTimeFields
+gst_date_time_check_fields (gint * year, gint * month, gint * day,
+    gint * hour, gint * minute, gdouble * seconds)
+{
+  if (*month == -1) {
+    *month = *day = 1;
+    *hour = *minute = *seconds = 0;
+    return GST_DATE_TIME_FIELDS_Y;
+  } else if (*day == -1) {
+    *day = 1;
+    *hour = *minute = *seconds = 0;
+    return GST_DATE_TIME_FIELDS_YM;
+  } else if (*hour == -1) {
+    *hour = *minute = *seconds = 0;
+    return GST_DATE_TIME_FIELDS_YMD;
+  } else if (*seconds == -1) {
+    *seconds = 0;
+    return GST_DATE_TIME_FIELDS_YMD_HM;
+  } else
+    return GST_DATE_TIME_FIELDS_YMD_HMS;
+}
 
 /**
  * gst_date_time_new_local_time:
  * @year: the gregorian year
- * @month: the gregorian month
- * @day: the day of the gregorian month
- * @hour: the hour of the day
- * @minute: the minute of the hour
- * @seconds: the second of the minute
+ * @month: the gregorian month, or -1
+ * @day: the day of the gregorian month, or -1
+ * @hour: the hour of the day, or -1
+ * @minute: the minute of the hour, or -1
+ * @seconds: the second of the minute, or -1
  *
  * Creates a new #GstDateTime using the date and times in the gregorian calendar
  * in the local timezone.
@@ -188,12 +475,99 @@
  * @year should be from 1 to 9999, @month should be from 1 to 12, @day from
  * 1 to 31, @hour from 0 to 23, @minutes and @seconds from 0 to 59.
  *
+ * If @month is -1, then the #GstDateTime created will only contain @year,
+ * and all other fields will be considered not set.
+ *
+ * If @day is -1, then the #GstDateTime created will only contain @year and
+ * @month and all other fields will be considered not set.
+ *
+ * If @hour is -1, then the #GstDateTime created will only contain @year and
+ * @month and @day, and the time fields will be considered not set. In this
+ * case @minute and @seconds should also be -1.
+ *
  * Free-function: gst_date_time_unref
  *
  * Return value: (transfer full): the newly created #GstDateTime
- *
- * Since: 0.10.31
  */
+GstDateTime *
+gst_date_time_new_local_time (gint year, gint month, gint day, gint hour,
+    gint minute, gdouble seconds)
+{
+  GstDateTimeFields fields;
+  GstDateTime *datetime;
+
+  g_return_val_if_fail (year > 0 && year <= 9999, NULL);
+  g_return_val_if_fail ((month > 0 && month <= 12) || month == -1, NULL);
+  g_return_val_if_fail ((day > 0 && day <= 31) || day == -1, NULL);
+  g_return_val_if_fail ((hour >= 0 && hour < 24) || hour == -1, NULL);
+  g_return_val_if_fail ((minute >= 0 && minute < 60) || minute == -1, NULL);
+  g_return_val_if_fail ((seconds >= 0 && seconds < 60) || seconds == -1, NULL);
+
+  fields = gst_date_time_check_fields (&year, &month, &day,
+      &hour, &minute, &seconds);
+
+  datetime = gst_date_time_new_from_g_date_time (g_date_time_new_local (year,
+          month, day, hour, minute, seconds));
+
+  datetime->fields = fields;
+  return datetime;
+}
+
+/**
+ * gst_date_time_new_now_local_time:
+ *
+ * Creates a new #GstDateTime representing the current date and time.
+ *
+ * Free-function: gst_date_time_unref
+ *
+ * Return value: (transfer full): the newly created #GstDateTime which should
+ *     be freed with gst_date_time_unref().
+ */
+GstDateTime *
+gst_date_time_new_now_local_time (void)
+{
+  return gst_date_time_new_from_g_date_time (g_date_time_new_now_local ());
+}
+
+/**
+ * gst_date_time_new_now_utc:
+ *
+ * Creates a new #GstDateTime that represents the current instant at Universal
+ * coordinated time.
+ *
+ * Free-function: gst_date_time_unref
+ *
+ * Return value: (transfer full): the newly created #GstDateTime which should
+ *   be freed with gst_date_time_unref().
+ */
+GstDateTime *
+gst_date_time_new_now_utc (void)
+{
+  return gst_date_time_new_from_g_date_time (g_date_time_new_now_utc ());
+}
+
+gint
+__gst_date_time_compare (const GstDateTime * dt1, const GstDateTime * dt2)
+{
+  gint64 diff;
+
+  /* we assume here that GST_DATE_TIME_FIELDS_YMD_HMS is the highest
+   * resolution, and ignore microsecond differences on purpose for now */
+  if (dt1->fields != dt2->fields)
+    return GST_VALUE_UNORDERED;
+
+  /* This will round down to nearest second, which is what we want. We're
+   * not comparing microseconds on purpose here, since we're not
+   * serialising them when doing new_utc_now() + to_string() */
+  diff =
+      g_date_time_to_unix (dt1->datetime) - g_date_time_to_unix (dt2->datetime);
+  if (diff < 0)
+    return GST_VALUE_LESS_THAN;
+  else if (diff > 0)
+    return GST_VALUE_GREATER_THAN;
+  else
+    return GST_VALUE_EQUAL;
+}
 
 /**
  * gst_date_time_new:
@@ -215,549 +589,36 @@
  * some fractional timezones, while it still keeps the readability of
  * represeting it in hours for most timezones.
  *
+ * If value is -1 then all over value will be ignored. For example
+ * if @month == -1, then #GstDateTime will created only for @year. If
+ * @day == -1, then #GstDateTime will created for @year and @month and
+ * so on.
+ *
  * Free-function: gst_date_time_unref
  *
  * Return value: (transfer full): the newly created #GstDateTime
- *
- * Since: 0.10.31
  */
-
-/**
- * gst_date_time_new_now_local_time:
- *
- * Creates a new #GstDateTime representing the current date and time.
- *
- * Free-function: gst_date_time_unref
- *
- * Return value: (transfer full): the newly created #GstDateTime which should
- *     be freed with gst_date_time_unref().
- *
- * Since: 0.10.31
- */
-
-/**
- * gst_date_time_new_now_utc:
- *
- * Creates a new #GstDateTime that represents the current instant at Universal
- * coordinated time.
- *
- * Free-function: gst_date_time_unref
- *
- * Return value: (transfer full): the newly created #GstDateTime which should
- *   be freed with gst_date_time_unref().
- *
- * Since: 0.10.31
- */
-
-
-#define GST_DATE_TIME_SEC_PER_DAY          (G_GINT64_CONSTANT (86400))
-#define GST_DATE_TIME_USEC_PER_DAY         (G_GINT64_CONSTANT (86400000000))
-#define GST_DATE_TIME_USEC_PER_HOUR        (G_GINT64_CONSTANT (3600000000))
-#define GST_DATE_TIME_USEC_PER_MINUTE      (G_GINT64_CONSTANT (60000000))
-#define GST_DATE_TIME_USEC_PER_SECOND      (G_GINT64_CONSTANT (1000000))
-#define GST_DATE_TIME_USEC_PER_MILLISECOND (G_GINT64_CONSTANT (1000))
-
-/* FIXME: this bug was resolved NOTGNOME */
-/* Jan 5th 2011 (Edward) : GLib's GDateTime is broken in regards to gmt offset
- * on macosx. Re-enable it once the following bug is fixed:
- * https://bugzilla.gnome.org/show_bug.cgi?id=638666 */
-#ifdef HAVE_OSX
-#undef GLIB_HAS_GDATETIME
-#else
-#define GLIB_HAS_GDATETIME
-#endif
-
-
-#ifndef GLIB_HAS_GDATETIME
-
-#define MAX_SUPPORTED_YEAR 9999
-#define GREGORIAN_LEAP(y)  (((y%4)==0)&&(!(((y%100)==0)&&((y%400)!=0))))
-
-static const guint16 days_in_months[2][13] = {
-  {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
-  {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
-};
-
-struct _GstDateTime
-{
-  /*
-   * As we don't have a datetime math API, we can have fields split here.
-   * (There is still some math done internally, but nothing really relevant).
-   *
-   * If we ever add one, we should go for a days since some epoch counter.
-   * (Proleptic Gregorian with 0001-01-01 as day 1)
-   */
-  gint16 year;
-  gint8 month;
-  gint8 day;
-  guint64 usec;                 /* Microsecond timekeeping within Day */
-
-  gint tzoffset;
-
-  volatile gint ref_count;
-};
-
-/*
- * Returns the utc offset in seconds for this time structure
- */
-static gint
-gmt_offset (struct tm *tm, time_t t)
-{
-#if defined (HAVE_TM_GMTOFF)
-  return tm->tm_gmtoff;
-#else
-  struct tm g;
-  time_t t2;
-#ifdef HAVE_GMTIME_R
-  gmtime_r (&t, &g);
-#else
-  g = *gmtime (&t);
-#endif
-  t2 = mktime (&g);
-  return (int) difftime (t, t2);
-#endif
-}
-
-static void
-gst_date_time_set_local_timezone (GstDateTime * dt)
-{
-  struct tm tt;
-  time_t t;
-
-  g_return_if_fail (dt != NULL);
-
-  memset (&tt, 0, sizeof (tt));
-
-  tt.tm_mday = gst_date_time_get_day (dt);
-  tt.tm_mon = gst_date_time_get_month (dt) - 1;
-  tt.tm_year = gst_date_time_get_year (dt) - 1900;
-  tt.tm_hour = gst_date_time_get_hour (dt);
-  tt.tm_min = gst_date_time_get_minute (dt);
-  tt.tm_sec = gst_date_time_get_second (dt);
-
-  t = mktime (&tt);
-
-  dt->tzoffset = gmt_offset (&tt, t) / 60;
-}
-
-static GstDateTime *
-gst_date_time_alloc (void)
-{
-  GstDateTime *datetime;
-
-  datetime = g_slice_new0 (GstDateTime);
-  datetime->ref_count = 1;
-
-  return datetime;
-}
-
-static void
-gst_date_time_free (GstDateTime * datetime)
-{
-  g_slice_free (GstDateTime, datetime);
-}
-
-static GstDateTime *
-gst_date_time_new_from_date (gint year, gint month, gint day)
-{
-  GstDateTime *dt;
-
-  g_return_val_if_fail (year > 0 && year <= 9999, NULL);
-  g_return_val_if_fail ((month > 0 && month <= 12), NULL);
-  g_return_val_if_fail ((day > 0 && day <= 31), NULL);
-
-  dt = gst_date_time_alloc ();
-
-  dt->year = year;
-  dt->month = month;
-  dt->day = day;
-  gst_date_time_set_local_timezone (dt);
-
-  return dt;
-}
-
-gint
-gst_date_time_get_year (const GstDateTime * datetime)
-{
-  g_return_val_if_fail (datetime != NULL, 0);
-
-  return datetime->year;
-}
-
-gint
-gst_date_time_get_month (const GstDateTime * datetime)
-{
-  g_return_val_if_fail (datetime != NULL, 0);
-
-  return datetime->month;
-}
-
-gint
-gst_date_time_get_day (const GstDateTime * datetime)
-{
-  g_return_val_if_fail (datetime != NULL, 0);
-
-  return datetime->day;
-}
-
-gint
-gst_date_time_get_hour (const GstDateTime * datetime)
-{
-  g_return_val_if_fail (datetime != NULL, 0);
-  return (datetime->usec / GST_DATE_TIME_USEC_PER_HOUR);
-}
-
-gint
-gst_date_time_get_microsecond (const GstDateTime * datetime)
-{
-  g_return_val_if_fail (datetime != NULL, 0);
-  return (datetime->usec % GST_DATE_TIME_USEC_PER_SECOND);
-}
-
-gint
-gst_date_time_get_minute (const GstDateTime * datetime)
-{
-  g_return_val_if_fail (datetime != NULL, 0);
-  return (datetime->usec % GST_DATE_TIME_USEC_PER_HOUR) /
-      GST_DATE_TIME_USEC_PER_MINUTE;
-}
-
-gint
-gst_date_time_get_second (const GstDateTime * datetime)
-{
-  g_return_val_if_fail (datetime != NULL, 0);
-  return (datetime->usec % GST_DATE_TIME_USEC_PER_MINUTE) /
-      GST_DATE_TIME_USEC_PER_SECOND;
-}
-
-gfloat
-gst_date_time_get_time_zone_offset (const GstDateTime * datetime)
-{
-  g_return_val_if_fail (datetime != NULL, 0);
-
-  return datetime->tzoffset / 60.0f;
-}
-
-GstDateTime *
-gst_date_time_new_from_unix_epoch_local_time (gint64 secs)
-{
-  GstDateTime *dt;
-  struct tm tm;
-  time_t tt;
-
-  memset (&tm, 0, sizeof (tm));
-  tt = (time_t) secs;
-
-#ifdef HAVE_LOCALTIME_R
-  localtime_r (&tt, &tm);
-#else
-  memcpy (&tm, localtime (&tt), sizeof (struct tm));
-#endif
-
-  dt = gst_date_time_new (0, tm.tm_year + 1900,
-      tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec);
-  gst_date_time_set_local_timezone (dt);
-  return dt;
-}
-
-GstDateTime *
-gst_date_time_new_from_unix_epoch_utc (gint64 secs)
-{
-  GstDateTime *dt;
-  struct tm tm;
-  time_t tt;
-
-  memset (&tm, 0, sizeof (tm));
-  tt = (time_t) secs;
-
-#ifdef HAVE_GMTIME_R
-  gmtime_r (&tt, &tm);
-#else
-  memcpy (&tm, gmtime (&tt), sizeof (struct tm));
-#endif
-
-  dt = gst_date_time_new (0, tm.tm_year + 1900,
-      tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec);
-  return dt;
-}
-
-GstDateTime *
-gst_date_time_new_local_time (gint year, gint month, gint day, gint hour,
-    gint minute, gdouble seconds)
-{
-  GstDateTime *dt;
-
-  dt = gst_date_time_new (0, year, month, day, hour, minute, seconds);
-
-  gst_date_time_set_local_timezone (dt);
-
-  return dt;
-}
-
 GstDateTime *
 gst_date_time_new (gfloat tzoffset, gint year, gint month, gint day, gint hour,
     gint minute, gdouble seconds)
 {
-  GstDateTime *dt;
-
-  g_return_val_if_fail (hour >= 0 && hour < 24, NULL);
-  g_return_val_if_fail (minute >= 0 && minute < 60, NULL);
-  g_return_val_if_fail (seconds >= 0 && seconds < 60, NULL);
-  g_return_val_if_fail (tzoffset >= -12.0 && tzoffset <= 12.0, NULL);
-
-  if (!(dt = gst_date_time_new_from_date (year, month, day)))
-    return NULL;
-
-  dt->usec = (hour * GST_DATE_TIME_USEC_PER_HOUR)
-      + (minute * GST_DATE_TIME_USEC_PER_MINUTE)
-      + (guint64) (floor (seconds * GST_DATE_TIME_USEC_PER_SECOND + 0.5));
-
-  /* we store in minutes */
-  dt->tzoffset = (gint) (tzoffset * 60.0);
-
-  return dt;
-}
-
-GstDateTime *
-gst_date_time_new_now_local_time (void)
-{
-  GstDateTime *datetime;
-  GTimeVal tv;
-  g_get_current_time (&tv);
-
-  datetime = gst_date_time_new_from_unix_epoch_local_time (tv.tv_sec);
-  datetime->usec += tv.tv_usec;
-  gst_date_time_set_local_timezone (datetime);
-  return datetime;
-}
-
-static GstDateTime *
-gst_date_time_copy (const GstDateTime * dt)
-{
-  GstDateTime *copy = gst_date_time_alloc ();
-
-  memcpy (copy, dt, sizeof (GstDateTime));
-  copy->ref_count = 1;
-
-  return copy;
-}
-
-static GstDateTime *
-gst_date_time_to_utc (const GstDateTime * dt)
-{
-  GstDateTime *utc;
-  gint64 usec;
-  gint days;
-  gint leap;
-
-  g_return_val_if_fail (dt != NULL, NULL);
-
-  utc = gst_date_time_copy (dt);
-
-  usec = dt->usec - dt->tzoffset * GST_DATE_TIME_USEC_PER_MINUTE;
-  days = usec / GST_DATE_TIME_USEC_PER_DAY;
-  if (usec < 0)
-    days--;
-  utc->day += days;
-
-  leap = GREGORIAN_LEAP (utc->year) ? 1 : 0;
-
-  /* check if we should update month/year */
-  if (utc->day < 1) {
-    if (utc->month == 1) {
-      utc->year--;
-      utc->month = 12;
-    } else {
-      utc->month--;
-    }
-    if (GREGORIAN_LEAP (utc->year))
-      utc->day = days_in_months[1][utc->month];
-    else
-      utc->day = days_in_months[0][utc->month];
-  } else if (utc->day > days_in_months[leap][utc->month]) {
-    if (utc->month == 12) {
-      utc->year++;
-      utc->month = 1;
-    } else {
-      utc->month++;
-    }
-    utc->day = 1;
-  }
-
-  if (usec < 0)
-    utc->usec =
-        GST_DATE_TIME_USEC_PER_DAY + (usec % GST_DATE_TIME_USEC_PER_DAY);
-  else
-    utc->usec = usec % GST_DATE_TIME_USEC_PER_DAY;
-
-  return utc;
-}
-
-GstDateTime *
-gst_date_time_new_now_utc (void)
-{
-  GstDateTime *now, *utc;
-
-  now = gst_date_time_new_now_local_time ();
-  utc = gst_date_time_to_utc (now);
-  gst_date_time_unref (now);
-  return utc;
-}
-
-gint
-priv_gst_date_time_compare (gconstpointer dt1, gconstpointer dt2)
-{
-  GstDateTime *a, *b;
-  gint res = 0;
-
-  a = gst_date_time_to_utc (dt1);
-  b = gst_date_time_to_utc (dt2);
-
-#define GST_DATE_TIME_COMPARE_VALUE(a,b,v)   \
-  if ((a)->v > (b)->v) {                     \
-    res = 1;                                 \
-    goto done;                               \
-  } else if ((a)->v < (b)->v) {              \
-    res = -1;                                \
-    goto done;                               \
-  }
-
-  GST_DATE_TIME_COMPARE_VALUE (a, b, year);
-  GST_DATE_TIME_COMPARE_VALUE (a, b, month);
-  GST_DATE_TIME_COMPARE_VALUE (a, b, day);
-  GST_DATE_TIME_COMPARE_VALUE (a, b, usec);
-
-#undef GST_DATE_TIME_COMPARE_VALUE
-
-done:
-  gst_date_time_unref (a);
-  gst_date_time_unref (b);
-  return res;
-}
-
-#else
-
-struct _GstDateTime
-{
-  GDateTime *datetime;
-
-  volatile gint ref_count;
-};
-
-static GstDateTime *
-gst_date_time_new_from_gdatetime (GDateTime * dt)
-{
-  GstDateTime *gst_dt;
-
-  if (!dt)
-    return NULL;
-
-  gst_dt = g_slice_new (GstDateTime);
-  gst_dt->datetime = dt;
-  gst_dt->ref_count = 1;
-  return gst_dt;
-}
-
-gint
-gst_date_time_get_year (const GstDateTime * datetime)
-{
-  return g_date_time_get_year (datetime->datetime);
-}
-
-gint
-gst_date_time_get_month (const GstDateTime * datetime)
-{
-  return g_date_time_get_month (datetime->datetime);
-}
-
-gint
-gst_date_time_get_day (const GstDateTime * datetime)
-{
-  return g_date_time_get_day_of_month (datetime->datetime);
-}
-
-gint
-gst_date_time_get_hour (const GstDateTime * datetime)
-{
-  return g_date_time_get_hour (datetime->datetime);
-}
-
-gint
-gst_date_time_get_minute (const GstDateTime * datetime)
-{
-  return g_date_time_get_minute (datetime->datetime);
-}
-
-gint
-gst_date_time_get_second (const GstDateTime * datetime)
-{
-  return g_date_time_get_second (datetime->datetime);
-}
-
-gint
-gst_date_time_get_microsecond (const GstDateTime * datetime)
-{
-  return g_date_time_get_microsecond (datetime->datetime);
-}
-
-gfloat
-gst_date_time_get_time_zone_offset (const GstDateTime * datetime)
-{
-  return (g_date_time_get_utc_offset (datetime->datetime) /
-      G_USEC_PER_SEC) / 3600.0;
-}
-
-GstDateTime *
-gst_date_time_new_from_unix_epoch_local_time (gint64 secs)
-{
-  return
-      gst_date_time_new_from_gdatetime (g_date_time_new_from_unix_local (secs));
-}
-
-GstDateTime *
-gst_date_time_new_from_unix_epoch_utc (gint64 secs)
-{
-  return
-      gst_date_time_new_from_gdatetime (g_date_time_new_from_unix_utc (secs));
-}
-
-GstDateTime *
-gst_date_time_new_local_time (gint year, gint month, gint day, gint hour,
-    gint minute, gdouble seconds)
-{
-  return gst_date_time_new_from_gdatetime (g_date_time_new_local (year, month,
-          day, hour, minute, seconds));
-}
-
-GstDateTime *
-gst_date_time_new_now_local_time (void)
-{
-  return gst_date_time_new_from_gdatetime (g_date_time_new_now_local ());
-}
-
-GstDateTime *
-gst_date_time_new_now_utc (void)
-{
-  return gst_date_time_new_from_gdatetime (g_date_time_new_now_utc ());
-}
-
-gint
-priv_gst_date_time_compare (gconstpointer dt1, gconstpointer dt2)
-{
-  const GstDateTime *datetime1 = dt1;
-  const GstDateTime *datetime2 = dt2;
-  return g_date_time_compare (datetime1->datetime, datetime2->datetime);
-}
-
-GstDateTime *
-gst_date_time_new (gfloat tzoffset, gint year, gint month, gint day, gint hour,
-    gint minute, gdouble seconds)
-{
+  GstDateTimeFields fields;
   gchar buf[6];
   GTimeZone *tz;
   GDateTime *dt;
+  GstDateTime *datetime;
   gint tzhour, tzminute;
 
+  g_return_val_if_fail (year > 0 && year <= 9999, NULL);
+  g_return_val_if_fail ((month > 0 && month <= 12) || month == -1, NULL);
+  g_return_val_if_fail ((day > 0 && day <= 31) || day == -1, NULL);
+  g_return_val_if_fail ((hour >= 0 && hour < 24) || hour == -1, NULL);
+  g_return_val_if_fail ((minute >= 0 && minute < 60) || minute == -1, NULL);
+  g_return_val_if_fail ((seconds >= 0 && seconds < 60) || seconds == -1, NULL);
+  g_return_val_if_fail (tzoffset >= -12.0 && tzoffset <= 12.0, NULL);
+  g_return_val_if_fail ((hour >= 0 && minute >= 0) ||
+      (hour == -1 && minute == -1 && seconds == -1 && tzoffset == 0.0), NULL);
+
   tzhour = (gint) ABS (tzoffset);
   tzminute = (gint) ((ABS (tzoffset) - tzhour) * 60);
 
@@ -766,11 +627,248 @@
 
   tz = g_time_zone_new (buf);
 
+  fields = gst_date_time_check_fields (&year, &month, &day,
+      &hour, &minute, &seconds);
+
   dt = g_date_time_new (tz, year, month, day, hour, minute, seconds);
   g_time_zone_unref (tz);
-  return gst_date_time_new_from_gdatetime (dt);
+
+  datetime = gst_date_time_new_from_g_date_time (dt);
+  datetime->fields = fields;
+
+  return datetime;
 }
 
+gchar *
+__gst_date_time_serialize (GstDateTime * datetime, gboolean serialize_usecs)
+{
+  GString *s;
+  gfloat gmt_offset;
+  guint msecs;
+
+  /* we always have at least the year */
+  s = g_string_new (NULL);
+  g_string_append_printf (s, "%04u", gst_date_time_get_year (datetime));
+
+  if (datetime->fields == GST_DATE_TIME_FIELDS_Y)
+    goto done;
+
+  /* add month */
+  g_string_append_printf (s, "-%02u", gst_date_time_get_month (datetime));
+
+  if (datetime->fields == GST_DATE_TIME_FIELDS_YM)
+    goto done;
+
+  /* add day of month */
+  g_string_append_printf (s, "-%02u", gst_date_time_get_day (datetime));
+
+  if (datetime->fields == GST_DATE_TIME_FIELDS_YMD)
+    goto done;
+
+  /* add time */
+  g_string_append_printf (s, "T%02u:%02u", gst_date_time_get_hour (datetime),
+      gst_date_time_get_minute (datetime));
+
+  if (datetime->fields == GST_DATE_TIME_FIELDS_YMD_HM)
+    goto add_timezone;
+
+  /* add seconds */
+  g_string_append_printf (s, ":%02u", gst_date_time_get_second (datetime));
+
+  /* add microseconds */
+  if (serialize_usecs) {
+    msecs = gst_date_time_get_microsecond (datetime);
+    if (msecs != 0) {
+      g_string_append_printf (s, ".%06u", msecs);
+      /* trim trailing 0s */
+      while (s->str[s->len - 1] == '0')
+        g_string_truncate (s, s->len - 1);
+    }
+  }
+
+  /* add timezone */
+
+add_timezone:
+
+  gmt_offset = gst_date_time_get_time_zone_offset (datetime);
+  if (gmt_offset == 0) {
+    g_string_append_c (s, 'Z');
+  } else {
+    guint tzhour, tzminute;
+
+    tzhour = (guint) ABS (gmt_offset);
+    tzminute = (guint) ((ABS (gmt_offset) - tzhour) * 60);
+
+    g_string_append_c (s, (gmt_offset >= 0) ? '+' : '-');
+    g_string_append_printf (s, "%02u%02u", tzhour, tzminute);
+  }
+
+done:
+
+  return g_string_free (s, FALSE);
+}
+
+/**
+ * gst_date_time_to_iso8601_string:
+ * @datetime: GstDateTime.
+ *
+ * Create a minimal string compatible with ISO-8601. Possible output formats
+ * are (for example): 2012, 2012-06, 2012-06-23, 2012-06-23T23:30Z,
+ * 2012-06-23T23:30+0100, 2012-06-23T23:30:59Z, 2012-06-23T23:30:59+0100
+ *
+ * Returns: a newly allocated string formatted according to ISO 8601 and
+ *     only including the datetime fields that are valid, or NULL in case
+ *     there was an error. The string should be freed with g_free().
+ */
+gchar *
+gst_date_time_to_iso8601_string (GstDateTime * datetime)
+{
+  g_return_val_if_fail (datetime != NULL, NULL);
+
+  if (datetime->fields == GST_DATE_TIME_FIELDS_INVALID)
+    return NULL;
+
+  return __gst_date_time_serialize (datetime, FALSE);
+}
+
+/**
+ * gst_date_time_new_from_iso8601_string:
+ * @string: ISO 8601-formatted datetime string.
+ *
+ * Tries to parse common variants of ISO-8601 datetime strings into a
+ * #GstDateTime.
+ *
+ * Free-function: gst_date_time_unref
+ *
+ * Returns: (transfer full): a newly created #GstDateTime, or NULL on error
+ */
+GstDateTime *
+gst_date_time_new_from_iso8601_string (const gchar * string)
+{
+  gint year = -1, month = -1, day = -1, hour = -1, minute = -1;
+  gdouble second = -1.0;
+  gfloat tzoffset = 0.0;
+  guint64 usecs;
+  gint len, ret;
+
+  g_return_val_if_fail (string != NULL, NULL);
+
+  GST_DEBUG ("Parsing '%s' into a datetime", string);
+
+  len = strlen (string);
+
+  if (len < 4 || !g_ascii_isdigit (string[0]) || !g_ascii_isdigit (string[1])
+      || !g_ascii_isdigit (string[2]) || !g_ascii_isdigit (string[3]))
+    return NULL;
+
+  ret = sscanf (string, "%04d-%02d-%02d", &year, &month, &day);
+
+  if (ret == 0)
+    return NULL;
+
+  if (ret == 3 && day <= 0) {
+    ret = 2;
+    day = -1;
+  }
+
+  if (ret >= 2 && month <= 0) {
+    ret = 1;
+    month = day = -1;
+  }
+
+  if (ret >= 1 && year <= 0)
+    return NULL;
+
+  else if (ret >= 1 && len < 16)
+    /* YMD is 10 chars. XMD + HM will be 16 chars. if it is less,
+     * it make no sense to continue. We will stay with YMD. */
+    goto ymd;
+
+  string += 10;
+  /* Exit if there is no expeceted value on this stage */
+  if (!(*string == 'T' || *string == '-' || *string == ' '))
+    goto ymd;
+
+  /* if hour or minute fails, then we will use onlly ymd. */
+  hour = g_ascii_strtoull (string + 1, (gchar **) & string, 10);
+  if (hour > 24 || *string != ':')
+    goto ymd;
+
+  /* minute */
+  minute = g_ascii_strtoull (string + 1, (gchar **) & string, 10);
+  if (minute > 59)
+    goto ymd;
+
+  /* second */
+  if (*string == ':') {
+    second = g_ascii_strtoull (string + 1, (gchar **) & string, 10);
+    /* if we fail here, we still can reuse hour and minute. We
+     * will still attempt to parse any timezone information */
+    if (second > 59) {
+      second = -1.0;
+    } else {
+      /* microseconds */
+      if (*string == '.' || *string == ',') {
+        const gchar *usec_start = string + 1;
+        guint digits;
+
+        usecs = g_ascii_strtoull (string + 1, (gchar **) & string, 10);
+        if (usecs != G_MAXUINT64 && string > usec_start) {
+          digits = (guint) (string - usec_start);
+          second += (gdouble) usecs / pow (10.0, digits);
+        }
+      }
+    }
+  }
+
+  if (*string == 'Z')
+    goto ymd_hms;
+  else {
+    /* reuse some code from gst-plugins-base/gst-libs/gst/tag/gstxmptag.c */
+    gint gmt_offset_hour = -1, gmt_offset_min = -1, gmt_offset = -1;
+    gchar *plus_pos = NULL;
+    gchar *neg_pos = NULL;
+    gchar *pos = NULL;
+
+    GST_LOG ("Checking for timezone information");
+
+    /* check if there is timezone info */
+    plus_pos = strrchr (string, '+');
+    neg_pos = strrchr (string, '-');
+    if (plus_pos)
+      pos = plus_pos + 1;
+    else if (neg_pos)
+      pos = neg_pos + 1;
+
+    if (pos) {
+      gint ret_tz;
+      if (pos[2] == ':')
+        ret_tz = sscanf (pos, "%d:%d", &gmt_offset_hour, &gmt_offset_min);
+      else
+        ret_tz = sscanf (pos, "%02d%02d", &gmt_offset_hour, &gmt_offset_min);
+
+      GST_DEBUG ("Parsing timezone: %s", pos);
+
+      if (ret_tz == 2) {
+        gmt_offset = gmt_offset_hour * 60 + gmt_offset_min;
+        if (neg_pos != NULL && neg_pos + 1 == pos)
+          gmt_offset *= -1;
+
+        tzoffset = gmt_offset / 60.0;
+
+        GST_LOG ("Timezone offset: %f (%d minutes)", tzoffset, gmt_offset);
+      } else
+        GST_WARNING ("Failed to parse timezone information");
+    }
+  }
+
+ymd_hms:
+  return gst_date_time_new (tzoffset, year, month, day, hour, minute, second);
+ymd:
+  return gst_date_time_new_ymd (year, month, day);
+}
+
+
 static void
 gst_date_time_free (GstDateTime * datetime)
 {
@@ -778,8 +876,6 @@
   g_slice_free (GstDateTime, datetime);
 }
 
-#endif
-
 /**
  * gst_date_time_ref:
  * @datetime: a #GstDateTime
@@ -787,8 +883,6 @@
  * Atomically increments the reference count of @datetime by one.
  *
  * Return value: (transfer full): the reference @datetime
- *
- * Since: 0.10.31
  */
 GstDateTime *
 gst_date_time_ref (GstDateTime * datetime)
@@ -805,8 +899,6 @@
  *
  * Atomically decrements the reference count of @datetime by one.  When the
  * reference count reaches zero, the structure is freed.
- *
- * Since: 0.10.31
  */
 void
 gst_date_time_unref (GstDateTime * datetime)
diff --git a/gst/gstdatetime.h b/gst/gstdatetime.h
index 96d8bbd..500b9cc 100644
--- a/gst/gstdatetime.h
+++ b/gst/gstdatetime.h
@@ -36,31 +36,71 @@
  */
 typedef struct _GstDateTime GstDateTime;
 
-gint    gst_date_time_get_year             (const GstDateTime * datetime);
-gint    gst_date_time_get_month            (const GstDateTime * datetime);
-gint    gst_date_time_get_day              (const GstDateTime * datetime);
-gint    gst_date_time_get_hour             (const GstDateTime * datetime);
-gint    gst_date_time_get_minute           (const GstDateTime * datetime);
-gint    gst_date_time_get_second           (const GstDateTime * datetime);
-gint    gst_date_time_get_microsecond      (const GstDateTime * datetime);
-gfloat  gst_date_time_get_time_zone_offset (const GstDateTime * datetime);
+/* query which fields are set */
+
+gboolean        gst_date_time_has_year                (const GstDateTime * datetime);
+gboolean        gst_date_time_has_month               (const GstDateTime * datetime);
+gboolean        gst_date_time_has_day                 (const GstDateTime * datetime);
+gboolean        gst_date_time_has_time                (const GstDateTime * datetime);
+gboolean        gst_date_time_has_second              (const GstDateTime * datetime);
+
+/* field getters */
+
+gint            gst_date_time_get_year                (const GstDateTime * datetime);
+gint            gst_date_time_get_month               (const GstDateTime * datetime);
+gint            gst_date_time_get_day                 (const GstDateTime * datetime);
+gint            gst_date_time_get_hour                (const GstDateTime * datetime);
+gint            gst_date_time_get_minute              (const GstDateTime * datetime);
+gint            gst_date_time_get_second              (const GstDateTime * datetime);
+gint            gst_date_time_get_microsecond         (const GstDateTime * datetime);
+gfloat          gst_date_time_get_time_zone_offset    (const GstDateTime * datetime);
+
+/* constructors */
 
 GstDateTime *   gst_date_time_new_from_unix_epoch_local_time (gint64 secs) G_GNUC_MALLOC;
+
 GstDateTime *   gst_date_time_new_from_unix_epoch_utc   (gint64 secs) G_GNUC_MALLOC;
-GstDateTime *   gst_date_time_new_local_time            (gint year, gint month,
-                                                         gint day, gint hour,
+
+GstDateTime *   gst_date_time_new_local_time            (gint year,
+                                                         gint month,
+                                                         gint day,
+                                                         gint hour,
                                                          gint minute,
                                                          gdouble seconds) G_GNUC_MALLOC;
+
+GstDateTime *   gst_date_time_new_y                     (gint year) G_GNUC_MALLOC;
+
+GstDateTime *   gst_date_time_new_ym                    (gint year,
+                                                         gint month) G_GNUC_MALLOC;
+
+GstDateTime *   gst_date_time_new_ymd                   (gint year,
+                                                         gint month,
+                                                         gint day) G_GNUC_MALLOC;
+
 GstDateTime *   gst_date_time_new                       (gfloat tzoffset,
                                                          gint year, gint month,
                                                          gint day, gint hour,
                                                          gint minute,
                                                          gdouble seconds) G_GNUC_MALLOC;
+
 GstDateTime *   gst_date_time_new_now_local_time (void) G_GNUC_MALLOC;
+
 GstDateTime *   gst_date_time_new_now_utc        (void) G_GNUC_MALLOC;
 
+
+gchar *         gst_date_time_to_iso8601_string  (GstDateTime * datetime) G_GNUC_MALLOC;
+GstDateTime *   gst_date_time_new_from_iso8601_string  (const gchar * string) G_GNUC_MALLOC;
+
+GDateTime *     gst_date_time_to_g_date_time       (GstDateTime * datetime);
+
+GstDateTime *   gst_date_time_new_from_g_date_time (GDateTime * dt);
+
+/* refcounting */
+
 GstDateTime *   gst_date_time_ref                (GstDateTime * datetime);
+
 void            gst_date_time_unref              (GstDateTime * datetime);
 
 G_END_DECLS
+
 #endif /* __GST_DATE_TIME_H__ */
diff --git a/gst/gstdebugutils.h b/gst/gstdebugutils.h
index 8420d3b..39decd8 100644
--- a/gst/gstdebugutils.h
+++ b/gst/gstdebugutils.h
@@ -39,8 +39,6 @@
  *
  * Available details for pipeline graphs produced by GST_DEBUG_BIN_TO_DOT_FILE()
  * and GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS().
- *
- * Since: 0.10.15
  */
 typedef enum {
   GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE         = (1<<0),
@@ -75,8 +73,6 @@
  * The macro is only active if gstreamer is configured with
  * &quot;--gst-enable-gst-debug&quot; and the environment variable
  * GST_DEBUG_DUMP_DOT_DIR is set to a basepath (e.g. /tmp).
- *
- * Since: 0.10.15
  */
 #define GST_DEBUG_BIN_TO_DOT_FILE(bin, details, file_name) gst_debug_bin_to_dot_file (bin, details, file_name)
 
@@ -89,8 +85,6 @@
  *
  * This works like GST_DEBUG_BIN_TO_DOT_FILE(), but adds the current timestamp
  * to the filename, so that it can be used to take multiple snapshots.
- *
- * Since: 0.10.15
  */
 #define GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS(bin, details, file_name) gst_debug_bin_to_dot_file_with_ts (bin, details, file_name)
 
diff --git a/gst/gstelement.c b/gst/gstelement.c
index 2962830..bf135a6 100644
--- a/gst/gstelement.c
+++ b/gst/gstelement.c
@@ -502,8 +502,6 @@
  * pipelines, and you can also ensure that the pipelines have the same clock.
  *
  * MT safe.
- *
- * Since: 0.10.24
  */
 void
 gst_element_set_start_time (GstElement * element, GstClockTime time)
@@ -535,8 +533,6 @@
  * MT safe.
  *
  * Returns: the start time of the element.
- *
- * Since: 0.10.24
  */
 GstClockTime
 gst_element_get_start_time (GstElement * element)
@@ -672,17 +668,17 @@
   /* add it to the list */
   switch (gst_pad_get_direction (pad)) {
     case GST_PAD_SRC:
-      element->srcpads = g_list_prepend (element->srcpads, pad);
+      element->srcpads = g_list_append (element->srcpads, pad);
       element->numsrcpads++;
       break;
     case GST_PAD_SINK:
-      element->sinkpads = g_list_prepend (element->sinkpads, pad);
+      element->sinkpads = g_list_append (element->sinkpads, pad);
       element->numsinkpads++;
       break;
     default:
       goto no_direction;
   }
-  element->pads = g_list_prepend (element->pads, pad);
+  element->pads = g_list_append (element->pads, pad);
   element->numpads++;
   element->pads_cookie++;
   GST_OBJECT_UNLOCK (element);
@@ -725,7 +721,7 @@
 /**
  * gst_element_remove_pad:
  * @element: a #GstElement to remove pad from.
- * @pad: (transfer none): the #GstPad to remove from the element.
+ * @pad: (transfer full): the #GstPad to remove from the element.
  *
  * Removes @pad from @element. @pad will be destroyed if it has not been
  * referenced elsewhere using gst_object_unparent().
@@ -1084,8 +1080,6 @@
  *
  * Returns: (transfer full): requested #GstPad if found, otherwise %NULL.
  *     Release after usage.
- *
- * Since: 0.10.32
  */
 GstPad *
 gst_element_request_pad (GstElement * element,
@@ -1120,6 +1114,9 @@
  * be freed after usage. Also more specialized iterators exists such as
  * gst_element_iterate_src_pads() or gst_element_iterate_sink_pads().
  *
+ * The order of pads returned by the iterator will be the order in which
+ * the pads were added to the element.
+ *
  * Returns: (transfer full): the #GstIterator of #GstPad. Unref each pad
  *     after use.
  *
@@ -1139,6 +1136,9 @@
  *
  * Retrieves an iterator of @element's source pads.
  *
+ * The order of pads returned by the iterator will be the order in which
+ * the pads were added to the element.
+ *
  * Returns: (transfer full): the #GstIterator of #GstPad. Unref each pad
  *     after use.
  *
@@ -1158,6 +1158,9 @@
  *
  * Retrieves an iterator of @element's sink pads.
  *
+ * The order of pads returned by the iterator will be the order in which
+ * the pads were added to the element.
+ *
  * Returns: (transfer full): the #GstIterator of #GstPad. Unref each pad
  *     after use.
  *
@@ -1556,8 +1559,8 @@
  * @rate: The new playback rate
  * @format: The format of the seek values
  * @flags: The optional seek flags.
- * @cur_type: The type and flags for the new current position
- * @cur: The value of the new current position
+ * @start_type: The type and flags for the new start position
+ * @start: The value of the new start position
  * @stop_type: The type and flags for the new stop position
  * @stop: The value of the new stop position
  *
@@ -1572,7 +1575,7 @@
  */
 gboolean
 gst_element_seek (GstElement * element, gdouble rate, GstFormat format,
-    GstSeekFlags flags, GstSeekType cur_type, gint64 cur,
+    GstSeekFlags flags, GstSeekType start_type, gint64 start,
     GstSeekType stop_type, gint64 stop)
 {
   GstEvent *event;
@@ -1581,7 +1584,8 @@
   g_return_val_if_fail (GST_IS_ELEMENT (element), FALSE);
 
   event =
-      gst_event_new_seek (rate, format, flags, cur_type, cur, stop_type, stop);
+      gst_event_new_seek (rate, format, flags, start_type, start, stop_type,
+      stop);
   result = gst_element_send_event (element, event);
 
   return result;
@@ -2699,7 +2703,7 @@
   gboolean res;
 
   GST_CAT_DEBUG_OBJECT (GST_CAT_ELEMENT_PADS, element,
-      "pads_activate with active %d", active);
+      "%s pads", active ? "activate" : "deactivate");
 
   iter = gst_element_iterate_src_pads (element);
   res =
@@ -2718,7 +2722,7 @@
     goto sink_failed;
 
   GST_CAT_DEBUG_OBJECT (GST_CAT_ELEMENT_PADS, element,
-      "pads_activate successful");
+      "pad %sactivation successful", active ? "" : "de");
 
   return TRUE;
 
@@ -2726,7 +2730,7 @@
 src_failed:
   {
     GST_CAT_DEBUG_OBJECT (GST_CAT_ELEMENT_PADS, element,
-        "source pads_activate failed");
+        "pad %sactivation failed", active ? "" : "de");
     return FALSE;
   }
 sink_failed:
@@ -2851,6 +2855,10 @@
       GST_CAT_DEBUG_OBJECT (GST_CAT_ELEMENT_PADS, element,
           "removing request pad %s:%s", GST_DEBUG_PAD_NAME (pad));
       oclass->release_pad (element, pad);
+
+      /* in case the release_pad function removed the next pad too */
+      if (walk && g_list_position (element->pads, walk) == -1)
+        walk = element->pads;
     }
   }
   /* remove the remaining pads */
diff --git a/gst/gstelement.h b/gst/gstelement.h
index 263c573..725dc34 100644
--- a/gst/gstelement.h
+++ b/gst/gstelement.h
@@ -127,8 +127,6 @@
  * @elem: a #GstElement to return the target state for.
  *
  * This macro returns the target #GstState of the element.
- *
- * Since: 0.10.13
  */
 #define GST_STATE_TARGET(elem)          (GST_ELEMENT_CAST(elem)->target_state)
 
@@ -313,11 +311,9 @@
 
 /**
  * GstElementFlags:
- * @GST_ELEMENT_FLAG_UNPARENTING: Child is being removed from the parent bin.
- *  gst_bin_remove() on a child already being removed immediately returns FALSE
  * @GST_ELEMENT_FLAG_LOCKED_STATE: ignore state changes from parent
  * @GST_ELEMENT_FLAG_SINK: the element is a sink
- * @GST_ELEMENT_FLAG_SOURCE: the element is a source. Since 0.10.31
+ * @GST_ELEMENT_FLAG_SOURCE: the element is a source.
  * @GST_ELEMENT_FLAG_PROVIDE_CLOCK: the element can provide a clock
  * @GST_ELEMENT_FLAG_REQUIRE_CLOCK: the element requires a clock
  * @GST_ELEMENT_FLAG_INDEXABLE: the element can use an index
@@ -327,13 +323,12 @@
  */
 typedef enum
 {
-  GST_ELEMENT_FLAG_UNPARENTING    = (GST_OBJECT_FLAG_LAST << 0),
-  GST_ELEMENT_FLAG_LOCKED_STATE   = (GST_OBJECT_FLAG_LAST << 1),
-  GST_ELEMENT_FLAG_SINK           = (GST_OBJECT_FLAG_LAST << 2),
-  GST_ELEMENT_FLAG_SOURCE         = (GST_OBJECT_FLAG_LAST << 3),
-  GST_ELEMENT_FLAG_PROVIDE_CLOCK  = (GST_OBJECT_FLAG_LAST << 4),
-  GST_ELEMENT_FLAG_REQUIRE_CLOCK  = (GST_OBJECT_FLAG_LAST << 5),
-  GST_ELEMENT_FLAG_INDEXABLE      = (GST_OBJECT_FLAG_LAST << 6),
+  GST_ELEMENT_FLAG_LOCKED_STATE   = (GST_OBJECT_FLAG_LAST << 0),
+  GST_ELEMENT_FLAG_SINK           = (GST_OBJECT_FLAG_LAST << 1),
+  GST_ELEMENT_FLAG_SOURCE         = (GST_OBJECT_FLAG_LAST << 2),
+  GST_ELEMENT_FLAG_PROVIDE_CLOCK  = (GST_OBJECT_FLAG_LAST << 3),
+  GST_ELEMENT_FLAG_REQUIRE_CLOCK  = (GST_OBJECT_FLAG_LAST << 4),
+  GST_ELEMENT_FLAG_INDEXABLE      = (GST_OBJECT_FLAG_LAST << 5),
   /* padding */
   GST_ELEMENT_FLAG_LAST           = (GST_OBJECT_FLAG_LAST << 10)
 } GstElementFlags;
@@ -394,8 +389,6 @@
  *
  * This macro returns the start_time of the @elem. The start_time is the
  * running_time of the pipeline when the element went to PAUSED.
- *
- * Since: 0.10.24
  */
 #define GST_ELEMENT_START_TIME(elem)            (GST_ELEMENT_CAST(elem)->start_time)
 
@@ -467,8 +460,6 @@
  * the application of something noteworthy that is not an error.
  * The pipeline will post a info message and the
  * application will be informed.
- *
- * Since: 0.10.12
  */
 #define GST_ELEMENT_INFO(el, domain, code, text, debug)                 \
 G_STMT_START {                                                          \
@@ -535,11 +526,11 @@
  * state will yield the running_time against the clock.
  * @start_time: the running_time of the last PAUSED state
  * @numpads: number of pads of the element, includes both source and sink pads.
- * @pads: list of pads
+ * @pads: (element-type Gst.Pad): list of pads
  * @numsrcpads: number of source pads of the element.
- * @srcpads: list of source pads
+ * @srcpads: (element-type Gst.Pad): list of source pads
  * @numsinkpads: number of sink pads of the element.
- * @sinkpads: list of sink pads
+ * @sinkpads: (element-type Gst.Pad): list of sink pads
  * @pads_cookie: updated whenever the a pad is added or removed
  *
  * GStreamer element abstract base class.
@@ -761,7 +752,7 @@
 gboolean                gst_element_send_event          (GstElement *element, GstEvent *event);
 gboolean                gst_element_seek                (GstElement *element, gdouble rate,
                                                          GstFormat format, GstSeekFlags flags,
-                                                         GstSeekType cur_type, gint64 cur,
+                                                         GstSeekType start_type, gint64 start,
                                                          GstSeekType stop_type, gint64 stop);
 gboolean                gst_element_query               (GstElement *element, GstQuery *query);
 
diff --git a/gst/gstelementfactory.c b/gst/gstelementfactory.c
index a8ef9fe..f3e1bdb 100644
--- a/gst/gstelementfactory.c
+++ b/gst/gstelementfactory.c
@@ -180,8 +180,7 @@
 /**
  * gst_element_register:
  * @plugin: (allow-none): #GstPlugin to register the element with, or NULL for
- *     a static element (note that passing NULL only works in GStreamer 0.10.13
- *     and later)
+ *     a static element.
  * @name: name of elements of this type
  * @rank: rank of element (higher rank means more importance when autoplugging)
  * @type: GType of element to register
@@ -494,7 +493,7 @@
 
 /**
  * gst_element_factory_get_metadata:
- * @factory,: a #GstElementFactory
+ * @factory: a #GstElementFactory
  * @key: a key
  *
  * Get the metadata on @factory with @key.
@@ -511,12 +510,13 @@
 
 /**
  * gst_element_factory_get_metadata_keys:
- * @factory,: a #GstElementFactory
+ * @factory: a #GstElementFactory
  *
  * Get the available keys for the metadata on @factory.
  *
- * Returns: a %NULL-terminated array of key strings, or %NULL when
- * there is no metadata. Free with g_strfreev() when no longer needd.
+ * Returns: (transfer full) (element-type utf8) (array zero-terminated=1):
+ * a %NULL-terminated array of key strings, or %NULL when there is no
+ * metadata. Free with g_strfreev() when no longer needed.
  */
 gchar **
 gst_element_factory_get_metadata_keys (GstElementFactory * factory)
@@ -641,8 +641,6 @@
  * Check if @factory implements the interface with name @interfacename.
  *
  * Returns: #TRUE when @factory implement the interface.
- *
- * Since: 0.10.14
  */
 gboolean
 gst_element_factory_has_interface (GstElementFactory * factory,
@@ -677,8 +675,6 @@
  * Check if @factory is of the given types.
  *
  * Returns: %TRUE if @factory is of @type.
- *
- * Since: 0.10.31
  */
 gboolean
 gst_element_factory_list_is_type (GstElementFactory * factory,
@@ -768,8 +764,6 @@
  * Returns: (transfer full) (element-type Gst.ElementFactory): a #GList of
  *     #GstElementFactory elements. Use gst_plugin_feature_list_free() after
  *     usage.
- *
- * Since: 0.10.31
  */
 GList *
 gst_element_factory_list_get_elements (GstElementFactoryListType type,
@@ -810,8 +804,6 @@
  * Returns: (transfer full) (element-type Gst.ElementFactory): a #GList of
  *     #GstElementFactory elements that match the given requisits.
  *     Use #gst_plugin_feature_list_free after usage.
- *
- * Since: 0.10.31
  */
 GList *
 gst_element_factory_list_filter (GList * list,
diff --git a/gst/gstelementfactory.h b/gst/gstelementfactory.h
index 601c9d6..337cc4c 100644
--- a/gst/gstelementfactory.h
+++ b/gst/gstelementfactory.h
@@ -101,8 +101,6 @@
  *
  * If one or more of the MEDIA types are specified, then only elements
  * matching the specified media types will be selected.
- *
- * Since: 0.10.31
  */
 
 typedef guint64 GstElementFactoryListType;
@@ -131,7 +129,8 @@
  *
  * Elements of any of the defined GST_ELEMENT_FACTORY_LIST types
  *
- * Since: 0.10.31
+ * Value: 562949953421311
+ * Type: GstElementFactoryListType
  */
 #define  GST_ELEMENT_FACTORY_TYPE_ANY ((G_GUINT64_CONSTANT (1) << 49) - 1)
 
@@ -144,7 +143,8 @@
  * media types. If you wish to do this, simply don't specify any
  * GST_ELEMENT_FACTORY_TYPE_MEDIA flag.
  *
- * Since: 0.10.31
+ * Value: 18446462598732840960
+ * Type: GstElementFactoryListType
  */
 #define GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY (~G_GUINT64_CONSTANT (0) << 48)
 
@@ -153,7 +153,8 @@
  *
  * All encoders handling video or image media types
  *
- * Since: 0.10.31
+ * Value: 2814749767106562
+ * Type: GstElementFactoryListType
  */
 #define GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER (GST_ELEMENT_FACTORY_TYPE_ENCODER | GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO | GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE)
 
@@ -162,7 +163,8 @@
  *
  * All encoders handling audio media types
  *
- * Since: 0.10.31
+ * Value: 1125899906842626
+ * Type: GstElementFactoryListType
  */
 #define GST_ELEMENT_FACTORY_TYPE_AUDIO_ENCODER (GST_ELEMENT_FACTORY_TYPE_ENCODER | GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO)
 
@@ -171,7 +173,8 @@
  *
  * All sinks handling audio, video or image media types
  *
- * Since: 0.10.31
+ * Value: 3940649673949188
+ * Type: GstElementFactoryListType
  */
 #define GST_ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS (GST_ELEMENT_FACTORY_TYPE_SINK | GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO | GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO | GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE)
 
@@ -180,7 +183,8 @@
  *
  * All elements used to 'decode' streams (decoders, demuxers, parsers, depayloaders)
  *
- * Since: 0.10.31
+ * Value: 353
+ * Type: GstElementFactoryListType
  */
 #define GST_ELEMENT_FACTORY_TYPE_DECODABLE \
   (GST_ELEMENT_FACTORY_TYPE_DECODER | GST_ELEMENT_FACTORY_TYPE_DEMUXER | GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER | GST_ELEMENT_FACTORY_TYPE_PARSER)
diff --git a/gst/gsterror.h b/gst/gsterror.h
index eab6c00..a066be9 100644
--- a/gst/gsterror.h
+++ b/gst/gsterror.h
@@ -53,7 +53,7 @@
  * @GST_CORE_ERROR_MISSING_PLUGIN: used if a plugin is missing.
  * @GST_CORE_ERROR_CLOCK: used for clock related errors.
  * @GST_CORE_ERROR_DISABLED: used if functionality has been disabled at
- *                           compile time (Since: 0.10.13).
+ *                           compile time.
  * @GST_CORE_ERROR_NUM_ERRORS: the number of core error types.
  *
  * Core errors are errors inside the core GStreamer library.
@@ -170,9 +170,9 @@
  * @GST_STREAM_ERROR_FORMAT: used when the stream is of the wrong format
  * (for example, wrong caps).
  * @GST_STREAM_ERROR_DECRYPT: used when the stream is encrypted and can't be
- * decrypted because this is not supported by the element. (Since: 0.10.20)
+ * decrypted because this is not supported by the element.
  * @GST_STREAM_ERROR_DECRYPT_NOKEY: used when the stream is encrypted and
- * can't be decrypted because no suitable key is available. (Since: 0.10.20)
+ * can't be decrypted because no suitable key is available.
  * @GST_STREAM_ERROR_NUM_ERRORS: the number of stream error types.
  *
  * Stream errors are for anything related to the stream being processed:
diff --git a/gst/gstevent.c b/gst/gstevent.c
index 3ba388a..bee382e 100644
--- a/gst/gstevent.c
+++ b/gst/gstevent.c
@@ -229,11 +229,10 @@
     gst_structure_free (s);
   }
 
-  g_slice_free1 (GST_MINI_OBJECT_SIZE (event), event);
+  g_slice_free1 (sizeof (GstEventImpl), event);
 }
 
-static void gst_event_init (GstEventImpl * event, gsize size,
-    GstEventType type);
+static void gst_event_init (GstEventImpl * event, GstEventType type);
 
 static GstEvent *
 _gst_event_copy (GstEvent * event)
@@ -243,7 +242,7 @@
 
   copy = g_slice_new0 (GstEventImpl);
 
-  gst_event_init (copy, sizeof (GstEventImpl), GST_EVENT_TYPE (event));
+  gst_event_init (copy, GST_EVENT_TYPE (event));
 
   GST_EVENT_TIMESTAMP (copy) = GST_EVENT_TIMESTAMP (event);
   GST_EVENT_SEQNUM (copy) = GST_EVENT_SEQNUM (event);
@@ -260,12 +259,11 @@
 }
 
 static void
-gst_event_init (GstEventImpl * event, gsize size, GstEventType type)
+gst_event_init (GstEventImpl * event, GstEventType type)
 {
-  gst_mini_object_init (GST_MINI_OBJECT_CAST (event), _gst_event_type, size);
-
-  event->event.mini_object.copy = (GstMiniObjectCopyFunction) _gst_event_copy;
-  event->event.mini_object.free = (GstMiniObjectFreeFunction) _gst_event_free;
+  gst_mini_object_init (GST_MINI_OBJECT_CAST (event), 0, _gst_event_type,
+      (GstMiniObjectCopyFunction) _gst_event_copy, NULL,
+      (GstMiniObjectFreeFunction) _gst_event_free);
 
   GST_EVENT_TYPE (event) = type;
   GST_EVENT_TIMESTAMP (event) = GST_CLOCK_TIME_NONE;
@@ -309,7 +307,7 @@
       goto had_parent;
 
   }
-  gst_event_init (event, sizeof (GstEventImpl), type);
+  gst_event_init (event, type);
 
   GST_EVENT_STRUCTURE (event) = structure;
 
@@ -318,7 +316,7 @@
   /* ERRORS */
 had_parent:
   {
-    g_slice_free1 (GST_MINI_OBJECT_SIZE (event), event);
+    g_slice_free1 (sizeof (GstEventImpl), event);
     g_warning ("structure is already owned by another object");
     return NULL;
   }
@@ -386,8 +384,6 @@
  * check the name of a custom event.
  *
  * Returns: %TRUE if @name matches the name of the event structure.
- *
- * Since: 0.10.20
  */
 gboolean
 gst_event_has_name (GstEvent * event, const gchar * name)
@@ -420,8 +416,6 @@
  * Returns: The event's sequence number.
  *
  * MT safe.
- *
- * Since: 0.10.22
  */
 guint32
 gst_event_get_seqnum (GstEvent * event)
@@ -443,8 +437,6 @@
  * more information.
  *
  * MT safe.
- *
- * Since: 0.10.22
  */
 void
 gst_event_set_seqnum (GstEvent * event, guint32 seqnum)
@@ -647,7 +639,7 @@
 /**
  * gst_event_parse_caps:
  * @event: The event to parse
- * @caps: (out): A pointer to the caps
+ * @caps: (out) (transfer none): A pointer to the caps
  *
  * Get the caps from @event. The caps remains valid as long as @event remains
  * valid.
@@ -992,26 +984,29 @@
 
 /**
  * gst_event_new_tag:
- * @name: (transfer none): the name of the event
  * @taglist: (transfer full): metadata list. The event will take ownership
  *     of the taglist.
  *
  * Generates a metadata tag event from the given @taglist.
  *
- * Since the TAG event has the %GST_EVENT_TYPE_STICKY_MULTI flag set, the
- * @name will be used to keep track of multiple tag events.
+ * The scope of the taglist specifies if the taglist applies to the
+ * complete medium or only to this specific stream. As the tag event
+ * is a sticky event, elements should merge tags received from
+ * upstream with a given scope with their own tags with the same
+ * scope and create a new tag event from it.
  *
  * Returns: (transfer full): a new #GstEvent
  */
 GstEvent *
-gst_event_new_tag (const gchar * name, GstTagList * taglist)
+gst_event_new_tag (GstTagList * taglist)
 {
   GstStructure *s;
   GValue val = G_VALUE_INIT;
+  const gchar *names[] = { "GstTagList-stream", "GstTagList-global" };
 
   g_return_val_if_fail (taglist != NULL, NULL);
 
-  s = gst_structure_new_empty (name);
+  s = gst_structure_new_empty (names[gst_tag_list_get_scope (taglist)]);
   g_value_init (&val, GST_TYPE_TAG_LIST);
   g_value_take_boxed (&val, taglist);
   gst_structure_id_take_value (s, GST_QUARK (TAGLIST), &val);
@@ -1399,8 +1394,6 @@
  * the time format.
  *
  * Returns: (transfer full): a new #GstEvent
- *
- * Since: 0.10.12
  */
 GstEvent *
 gst_event_new_latency (GstClockTime latency)
@@ -1424,8 +1417,6 @@
  * @latency: (out): A pointer to store the latency in.
  *
  * Get the latency in the latency event.
- *
- * Since: 0.10.12
  */
 void
 gst_event_parse_latency (GstEvent * event, GstClockTime * latency)
@@ -1462,8 +1453,6 @@
  * part of a larger step operation.
  *
  * Returns: (transfer full): a new #GstEvent
- *
- * Since: 0.10.24
  */
 GstEvent *
 gst_event_new_step (GstFormat format, guint64 amount, gdouble rate,
@@ -1498,8 +1487,6 @@
  *     boolean in
  *
  * Parse the step event.
- *
- * Since: 0.10.24
  */
 void
 gst_event_parse_step (GstEvent * event, GstFormat * format, guint64 * amount,
@@ -1538,8 +1525,6 @@
  * or changing the topology of the pipeline.
  *
  * Returns: (transfer full): a new #GstEvent
- *
- * Since: 0.11.0
  */
 GstEvent *
 gst_event_new_reconfigure (void)
@@ -1565,8 +1550,6 @@
  * @name is used to store multiple sticky events on one pad.
  *
  * Returns: (transfer full): a new #GstEvent
- *
- * Since: 0.10.26
  */
 /* FIXME 0.11: take ownership of msg for consistency? */
 GstEvent *
@@ -1592,8 +1575,6 @@
  * @msg: (out) (transfer full): a pointer to store the #GstMessage in.
  *
  * Parse the sink-message event. Unref @msg after usage.
- *
- * Since: 0.10.26
  */
 void
 gst_event_parse_sink_message (GstEvent * event, GstMessage ** msg)
@@ -1611,7 +1592,8 @@
 }
 
 /**
- * gst_event_new_stream_start
+ * gst_event_new_stream_start:
+ * @stream_id: Identifier for this stream
  *
  * Create a new STREAM_START event. The stream start event can only
  * travel downstream synchronized with the buffer flow. It is expected
@@ -1624,54 +1606,91 @@
  * combining multiple streams must ensure that this event is only forwarded
  * downstream once and not for every single input stream.
  *
+ * The @stream_id should be a unique string that consists of the upstream
+ * stream-id, / as separator and a unique stream-id for this specific
+ * 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.
+ *
  * Returns: (transfer full): the new STREAM_START event.
  */
 GstEvent *
-gst_event_new_stream_start (void)
+gst_event_new_stream_start (const gchar * stream_id)
 {
-  return gst_event_new_custom (GST_EVENT_STREAM_START, NULL);
+  GstStructure *s;
+
+  g_return_val_if_fail (stream_id != NULL, NULL);
+
+  s = gst_structure_new_id (GST_QUARK (EVENT_STREAM_START),
+      GST_QUARK (STREAM_ID), G_TYPE_STRING, stream_id, NULL);
+
+  return gst_event_new_custom (GST_EVENT_STREAM_START, s);
+}
+
+/**
+ * gst_event_parse_stream_start:
+ * @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.
+ */
+void
+gst_event_parse_stream_start (GstEvent * event, const gchar ** stream_id)
+{
+  const GstStructure *structure;
+
+  g_return_if_fail (event != NULL);
+  g_return_if_fail (GST_EVENT_TYPE (event) == GST_EVENT_STREAM_START);
+
+  structure = gst_event_get_structure (event);
+
+  if (stream_id)
+    gst_structure_id_get (structure,
+        GST_QUARK (STREAM_ID), G_TYPE_STRING, stream_id, NULL);
 }
 
 /**
  * gst_event_new_toc:
- * @name: a name for the event
- * @toc: #GstToc structure.
+ * @toc: (transfer none): #GstToc structure.
  * @updated: whether @toc was updated or not.
  *
  * Generate a TOC event from the given @toc. The purpose of the TOC event is to
  * inform elements that some kind of the TOC was found.
  *
- * Returns: a new #GstEvent.
- *
- * Since: 0.10.37
+ * Returns: (transfer full): a new #GstEvent.
  */
 GstEvent *
 gst_event_new_toc (GstToc * toc, gboolean updated)
 {
   GstStructure *toc_struct;
+  GQuark id;
 
   g_return_val_if_fail (toc != NULL, NULL);
 
   GST_CAT_INFO (GST_CAT_EVENT, "creating toc event");
 
-  toc_struct = __gst_toc_to_structure (toc);
+  /* need different structure names so sticky_multi event stuff on pads
+   * works, i.e. both TOC events are kept around */
+  if (gst_toc_get_scope (toc) == GST_TOC_SCOPE_GLOBAL)
+    id = GST_QUARK (EVENT_TOC_GLOBAL);
+  else
+    id = GST_QUARK (EVENT_TOC_CURRENT);
 
-  if (G_LIKELY (toc_struct != NULL)) {
-    __gst_toc_structure_set_updated (toc_struct, updated);
-    return gst_event_new_custom (GST_EVENT_TOC, toc_struct);
-  } else
-    return NULL;
+  toc_struct = gst_structure_new_id (id,
+      GST_QUARK (TOC), GST_TYPE_TOC, toc,
+      GST_QUARK (UPDATED), G_TYPE_BOOLEAN, updated, NULL);
+
+  return gst_event_new_custom (GST_EVENT_TOC, toc_struct);
 }
 
 /**
  * gst_event_parse_toc:
  * @event: a TOC event.
- * @toc: (out): pointer to #GstToc structure.
+ * @toc: (out) (transfer full): pointer to #GstToc structure.
  * @updated: (out): pointer to store TOC updated flag.
  *
  * Parse a TOC @event and store the results in the given @toc and @updated locations.
- *
- * Since: 0.10.37
  */
 void
 gst_event_parse_toc (GstEvent * event, GstToc ** toc, gboolean * updated)
@@ -1683,10 +1702,10 @@
   g_return_if_fail (toc != NULL);
 
   structure = gst_event_get_structure (event);
-  *toc = __gst_toc_from_structure (structure);
 
-  if (updated != NULL)
-    *updated = __gst_toc_structure_get_updated (structure);
+  gst_structure_id_get (structure,
+      GST_QUARK (TOC), GST_TYPE_TOC, toc,
+      GST_QUARK (UPDATED), G_TYPE_BOOLEAN, updated, NULL);
 }
 
 /**
@@ -1698,8 +1717,6 @@
  * given @uid.
  *
  * Returns: a new #GstEvent.
- *
- * Since: 0.10.37
  */
 GstEvent *
 gst_event_new_toc_select (const gchar * uid)
@@ -1722,8 +1739,6 @@
  * @uid: (out): storage for the selection UID.
  *
  * Parse a TOC select @event and store the results in the given @uid location.
- *
- * Since: 0.10.37
  */
 void
 gst_event_parse_toc_select (GstEvent * event, gchar ** uid)
@@ -1741,3 +1756,60 @@
     *uid = g_strdup (g_value_get_string (val));
 
 }
+
+/**
+ * gst_event_new_segment_done:
+ * @format: The format of the position being done
+ * @position: The position of the segment being done
+ *
+ * Create a new segment-done event. This event is sent by elements that
+ * finish playback of a segment as a result of a segment seek.
+ *
+ * Returns: (transfer full): a new #GstEvent
+ */
+GstEvent *
+gst_event_new_segment_done (GstFormat format, gint64 position)
+{
+  GstEvent *event;
+  GstStructure *structure;
+
+  GST_CAT_INFO (GST_CAT_EVENT, "creating segment-done event");
+
+  structure = gst_structure_new_id (GST_QUARK (EVENT_SEGMENT_DONE),
+      GST_QUARK (FORMAT), GST_TYPE_FORMAT, format,
+      GST_QUARK (POSITION), G_TYPE_INT64, position, NULL);
+
+  event = gst_event_new_custom (GST_EVENT_SEGMENT_DONE, structure);
+
+  return event;
+}
+
+/**
+ * gst_event_parse_segment_done:
+ * @event: A valid #GstEvent of type GST_EVENT_SEGMENT_DONE.
+ * @format: (out): Result location for the format, or NULL
+ * @position: (out): Result location for the position, or NULL
+ *
+ * Extracts the position and format from the segment done message.
+ *
+ */
+void
+gst_event_parse_segment_done (GstEvent * event, GstFormat * format,
+    gint64 * position)
+{
+  const GstStructure *structure;
+  const GValue *val;
+
+  g_return_if_fail (event != NULL);
+  g_return_if_fail (GST_EVENT_TYPE (event) == GST_EVENT_SEGMENT_DONE);
+
+  structure = gst_event_get_structure (event);
+
+  val = gst_structure_id_get_value (structure, GST_QUARK (FORMAT));
+  if (format != NULL)
+    *format = g_value_get_enum (val);
+
+  val = gst_structure_id_get_value (structure, GST_QUARK (POSITION));
+  if (position != NULL)
+    *position = g_value_get_int64 (val);
+}
diff --git a/gst/gstevent.h b/gst/gstevent.h
index 35ebba8..39af270 100644
--- a/gst/gstevent.h
+++ b/gst/gstevent.h
@@ -83,7 +83,7 @@
  *                 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: contains configuration information for the stream,
+ * @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
@@ -95,13 +95,12 @@
  * @GST_EVENT_SINK_MESSAGE: An event that sinks turn into a message. Used to
  *                          send messages that should be emitted in sync with
  *                          rendering.
- *                          Since: 0.10.26
  * @GST_EVENT_EOS: End-Of-Stream. No more data is to be expected to follow
  *                 without a SEGMENT event.
- * @GST_EVENT_SEGMENT_DONE: (unimplemented) Marks the end of a segment playback.
- * @GST_EVENT_GAP: (unimplemented) Marks a gap in the datastream.
+ * @GST_EVENT_SEGMENT_DONE: Marks the end of a segment playback.
+ * @GST_EVENT_GAP: Marks a gap in the datastream.
  * @GST_EVENT_TOC: An event which indicates that a new table of contents (TOC)
- *                 was found or updated. Since: 0.10.37
+ *                 was found or updated.
  * @GST_EVENT_QOS: A quality message. Used to indicate to upstream elements
  *                 that the downstream elements should adjust their processing
  *                 rate.
@@ -111,13 +110,11 @@
  *                        to upstream elements.
  * @GST_EVENT_LATENCY: Notification of new latency adjustment. Sinks will use
  *                     the latency information to adjust their synchronisation.
- *                     Since: 0.10.12
  * @GST_EVENT_STEP: A request for stepping through the media. Sinks will usually
- *                  execute the step operation. Since: 0.10.24
+ *                  execute the step operation.
  * @GST_EVENT_RECONFIGURE: A request for upstream renegotiating caps and reconfiguring.
- *                         Since: 0.11.0
  * @GST_EVENT_TOC_SELECT: A request for a new playback position based on TOC
- *                        entry's UID. Since 0.10.37
+ *                        entry's UID.
  * @GST_EVENT_CUSTOM_UPSTREAM: Upstream custom event
  * @GST_EVENT_CUSTOM_DOWNSTREAM: Downstream custom event that travels in the
  *                        data flow.
@@ -152,7 +149,7 @@
   GST_EVENT_BUFFERSIZE            = GST_EVENT_MAKE_TYPE (90, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY)),
   GST_EVENT_SINK_MESSAGE          = GST_EVENT_MAKE_TYPE (100, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY) | FLAG(STICKY_MULTI)),
   GST_EVENT_EOS                   = GST_EVENT_MAKE_TYPE (110, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY)),
-  GST_EVENT_TOC                   = GST_EVENT_MAKE_TYPE (120, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY)),
+  GST_EVENT_TOC                   = GST_EVENT_MAKE_TYPE (120, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY) | FLAG(STICKY_MULTI)),
 
   /* non-sticky downstream serialized */
   GST_EVENT_SEGMENT_DONE          = GST_EVENT_MAKE_TYPE (150, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
@@ -363,8 +360,6 @@
  *
  * The different types of QoS events that can be given to the
  * gst_event_new_qos() method.
- *
- * Since: 0.10.33
  */
 typedef enum {
   GST_QOS_TYPE_OVERFLOW        = 0,
@@ -477,7 +472,8 @@
 void            gst_event_set_seqnum            (GstEvent *event, guint32 seqnum);
 
 /* Stream start event */
-GstEvent *      gst_event_new_stream_start      (void) G_GNUC_MALLOC;
+GstEvent *      gst_event_new_stream_start      (const gchar *stream_id) G_GNUC_MALLOC;
+void            gst_event_parse_stream_start    (GstEvent *event, const gchar **stream_id);
 
 /* flush events */
 GstEvent *      gst_event_new_flush_start       (void) G_GNUC_MALLOC;
@@ -523,7 +519,7 @@
 void            gst_event_copy_segment          (GstEvent *event, GstSegment *segment);
 
 /* tag event */
-GstEvent*       gst_event_new_tag               (const gchar *name, GstTagList *taglist) G_GNUC_MALLOC;
+GstEvent*       gst_event_new_tag               (GstTagList *taglist) G_GNUC_MALLOC;
 void            gst_event_parse_tag             (GstEvent *event, GstTagList **taglist);
 
 /* TOC event */
@@ -576,6 +572,10 @@
 GstEvent*       gst_event_new_toc_select        (const gchar *uid) G_GNUC_MALLOC;
 void            gst_event_parse_toc_select      (GstEvent *event, gchar **uid);
 
+/* segment-done event */
+GstEvent*       gst_event_new_segment_done      (GstFormat format, gint64 position) G_GNUC_MALLOC;
+void            gst_event_parse_segment_done    (GstEvent *event, GstFormat *format, gint64 *position);
+
 G_END_DECLS
 
 #endif /* __GST_EVENT_H__ */
diff --git a/gst/gstformat.c b/gst/gstformat.c
index 3e50d33..78b0f07 100644
--- a/gst/gstformat.c
+++ b/gst/gstformat.c
@@ -196,7 +196,7 @@
 
 /**
  * gst_formats_contains:
- * @formats: The format array to search
+ * @formats: (array zero-terminated=1): The format array to search
  * @format: the format to find
  *
  * See if the given format is inside the format array.
diff --git a/gst/gstghostpad.c b/gst/gstghostpad.c
index f9b8368..e6ef133 100644
--- a/gst/gstghostpad.c
+++ b/gst/gstghostpad.c
@@ -67,173 +67,6 @@
 static GstPad *gst_proxy_pad_get_target (GstPad * pad);
 
 /**
- * gst_proxy_pad_event_default:
- * @pad: a #GstPad to push the event to.
- * @parent: the parent of @pad or NULL
- * @event: (transfer full): the #GstEvent to send to the pad.
- *
- * Invoke the default event of the proxy pad.
- *
- * Returns: TRUE if the event was handled.
- *
- * Since: 0.10.36
- */
-gboolean
-gst_proxy_pad_event_default (GstPad * pad, GstObject * parent, GstEvent * event)
-{
-  gboolean res;
-  GstPad *internal;
-
-  g_return_val_if_fail (GST_IS_PROXY_PAD (pad), FALSE);
-  g_return_val_if_fail (GST_IS_EVENT (event), FALSE);
-
-  internal = GST_PROXY_PAD_INTERNAL (pad);
-  res = gst_pad_push_event (internal, event);
-
-  return res;
-}
-
-static gboolean
-gst_proxy_pad_query_caps (GstPad * pad, GstQuery * query)
-{
-  gboolean res;
-  GstPad *target;
-  GstCaps *result;
-  GstPadTemplate *templ;
-
-  g_return_val_if_fail (GST_IS_PROXY_PAD (pad), FALSE);
-
-  templ = GST_PAD_PAD_TEMPLATE (pad);
-  target = gst_proxy_pad_get_target (pad);
-  if (target) {
-    /* if we have a real target, proxy the call */
-    res = gst_pad_query (target, query);
-
-    GST_DEBUG_OBJECT (pad, "get caps of target %s:%s : %" GST_PTR_FORMAT,
-        GST_DEBUG_PAD_NAME (target), query);
-
-    gst_object_unref (target);
-
-    /* filter against the template */
-    if (templ && res) {
-      GstCaps *filt, *tmp;
-
-      filt = GST_PAD_TEMPLATE_CAPS (templ);
-      if (filt) {
-        gst_query_parse_caps_result (query, &result);
-        tmp = gst_caps_intersect_full (result, filt, GST_CAPS_INTERSECT_FIRST);
-        gst_query_set_caps_result (query, tmp);
-        GST_DEBUG_OBJECT (pad,
-            "filtered against template gives %" GST_PTR_FORMAT, tmp);
-        gst_caps_unref (tmp);
-      }
-    }
-  } else {
-    GstCaps *filter;
-
-    res = TRUE;
-
-    gst_query_parse_caps (query, &filter);
-
-    /* else, if we have a template, use its caps. */
-    if (templ) {
-      result = GST_PAD_TEMPLATE_CAPS (templ);
-      GST_DEBUG_OBJECT (pad,
-          "using pad template %p with caps %p %" GST_PTR_FORMAT, templ, result,
-          result);
-
-      if (filter) {
-        GstCaps *intersection;
-
-        GST_DEBUG_OBJECT (pad, "intersect with filter");
-        intersection =
-            gst_caps_intersect_full (filter, result, GST_CAPS_INTERSECT_FIRST);
-        gst_query_set_caps_result (query, intersection);
-        gst_caps_unref (intersection);
-      } else {
-        gst_query_set_caps_result (query, result);
-      }
-      goto done;
-    }
-
-    /* If there's a filter, return that */
-    if (filter != NULL) {
-      GST_DEBUG_OBJECT (pad, "return filter");
-      gst_query_set_caps_result (query, filter);
-      goto done;
-    }
-
-    /* last resort, any caps */
-    GST_DEBUG_OBJECT (pad, "pad has no template, returning ANY");
-    result = gst_caps_new_any ();
-    gst_query_set_caps_result (query, result);
-    gst_caps_unref (result);
-  }
-
-done:
-  return res;
-}
-
-/**
- * gst_proxy_pad_query_default:
- * @pad: a #GstPad to invoke the default query on.
- * @parent: the parent of @pad or NULL
- * @query: (transfer none): the #GstQuery to perform.
- *
- * Invoke the default query function of the proxy pad.
- *
- * Returns: TRUE if the query could be performed.
- *
- * Since: 0.10.36
- */
-gboolean
-gst_proxy_pad_query_default (GstPad * pad, GstObject * parent, GstQuery * query)
-{
-  gboolean res;
-  GstPad *target;
-
-  g_return_val_if_fail (GST_IS_PROXY_PAD (pad), FALSE);
-  g_return_val_if_fail (GST_IS_QUERY (query), FALSE);
-
-
-  switch (GST_QUERY_TYPE (query)) {
-    case GST_QUERY_ACCEPT_CAPS:
-    {
-      target = gst_proxy_pad_get_target (pad);
-      if (target) {
-        res = gst_pad_query (target, query);
-        gst_object_unref (target);
-      } else {
-        GST_DEBUG_OBJECT (pad, "no target");
-        /* We don't have a target, we return TRUE and we assume that any future
-         * target will be able to deal with any configured caps. */
-        gst_query_set_accept_caps_result (query, TRUE);
-        res = TRUE;
-      }
-      break;
-    }
-    case GST_QUERY_CAPS:
-    {
-      res = gst_proxy_pad_query_caps (pad, query);
-      break;
-    }
-    default:
-    {
-      target = gst_proxy_pad_get_target (pad);
-      if (target) {
-        res = gst_pad_query (target, query);
-        gst_object_unref (target);
-      } else {
-        GST_DEBUG_OBJECT (pad, "no target pad");
-        res = FALSE;
-      }
-      break;
-    }
-  }
-  return res;
-}
-
-/**
  * gst_proxy_pad_iterate_internal_links_default:
  * @pad: the #GstPad to get the internal links of.
  * @parent: the parent of @pad or NULL
@@ -242,8 +75,6 @@
  *
  * Returns: a #GstIterator of #GstPad, or NULL if @pad has no parent. Unref each
  * returned pad with gst_object_unref().
- *
- * Since: 0.10.36
  */
 GstIterator *
 gst_proxy_pad_iterate_internal_links_default (GstPad * pad, GstObject * parent)
@@ -273,8 +104,6 @@
  * Invoke the default chain function of the proxy pad.
  *
  * Returns: a #GstFlowReturn from the pad.
- *
- * Since: 0.10.36
  */
 GstFlowReturn
 gst_proxy_pad_chain_default (GstPad * pad, GstObject * parent,
@@ -302,8 +131,6 @@
  * Invoke the default chain list function of the proxy pad.
  *
  * Returns: a #GstFlowReturn from the pad.
- *
- * Since: 0.10.36
  */
 GstFlowReturn
 gst_proxy_pad_chain_list_default (GstPad * pad, GstObject * parent,
@@ -322,8 +149,9 @@
 }
 
 /**
- * gst_proxy_pad_get_range_default:
+ * gst_proxy_pad_getrange_default:
  * @pad: a src #GstPad, returns #GST_FLOW_ERROR if not.
+ * @parent: the parent of @pad
  * @offset: The start offset of the buffer
  * @size: The length of the buffer
  * @buffer: (out callee-allocates): a pointer to hold the #GstBuffer,
@@ -332,8 +160,6 @@
  * Invoke the default getrange function of the proxy pad.
  *
  * Returns: a #GstFlowReturn from the pad.
- *
- * Since: 0.10.36
  */
 GstFlowReturn
 gst_proxy_pad_getrange_default (GstPad * pad, GstObject * parent,
@@ -376,8 +202,6 @@
  *
  * Returns: (transfer full): the target #GstProxyPad, can be NULL.
  * Unref target pad after usage.
- *
- * Since: 0.10.36
  */
 GstProxyPad *
 gst_proxy_pad_get_internal (GstProxyPad * pad)
@@ -395,31 +219,13 @@
   return GST_PROXY_PAD_CAST (internal);
 }
 
-/**
- * gst_proxy_pad_unlink_default:
- * @pad: a #GstPad to unlink
- *
- * Invoke the default unlink function of the proxy pad.
- *
- * Since: 0.10.36
- */
-void
-gst_proxy_pad_unlink_default (GstPad * pad)
-{
-  /* nothing to do anymore */
-  GST_DEBUG_OBJECT (pad, "pad is unlinked");
-}
-
 static void
 gst_proxy_pad_class_init (GstProxyPadClass * klass)
 {
   g_type_class_add_private (klass, sizeof (GstProxyPadPrivate));
 
   /* Register common function pointer descriptions */
-  GST_DEBUG_REGISTER_FUNCPTR (gst_proxy_pad_event_default);
-  GST_DEBUG_REGISTER_FUNCPTR (gst_proxy_pad_query_default);
   GST_DEBUG_REGISTER_FUNCPTR (gst_proxy_pad_iterate_internal_links_default);
-  GST_DEBUG_REGISTER_FUNCPTR (gst_proxy_pad_unlink_default);
   GST_DEBUG_REGISTER_FUNCPTR (gst_proxy_pad_chain_default);
   GST_DEBUG_REGISTER_FUNCPTR (gst_proxy_pad_chain_list_default);
   GST_DEBUG_REGISTER_FUNCPTR (gst_proxy_pad_getrange_default);
@@ -433,12 +239,12 @@
   GST_PROXY_PAD_PRIVATE (ppad) = G_TYPE_INSTANCE_GET_PRIVATE (ppad,
       GST_TYPE_PROXY_PAD, GstProxyPadPrivate);
 
-  gst_pad_set_event_function (pad, gst_proxy_pad_event_default);
-  gst_pad_set_query_function (pad, gst_proxy_pad_query_default);
   gst_pad_set_iterate_internal_links_function (pad,
       gst_proxy_pad_iterate_internal_links_default);
 
-  gst_pad_set_unlink_function (pad, gst_proxy_pad_unlink_default);
+  GST_PAD_SET_PROXY_CAPS (pad);
+  GST_PAD_SET_PROXY_SCHEDULING (pad);
+  GST_PAD_SET_PROXY_ALLOCATION (pad);
 }
 
 
@@ -631,56 +437,6 @@
   return res;
 }
 
-/**
- * gst_ghost_pad_link_default:
- * @pad: the #GstPad to link.
- * @peer: the #GstPad peer
- *
- * Invoke the default link function of a ghost pad.
- *
- * Returns: #GstPadLinkReturn of the operation
- *
- * Since: 0.10.36
- */
-GstPadLinkReturn
-gst_ghost_pad_link_default (GstPad * pad, GstPad * peer)
-{
-  GstPadLinkReturn ret;
-
-  g_return_val_if_fail (GST_IS_GHOST_PAD (pad), GST_PAD_LINK_REFUSED);
-  g_return_val_if_fail (GST_IS_PAD (peer), GST_PAD_LINK_REFUSED);
-
-  GST_DEBUG_OBJECT (pad, "linking ghostpad");
-
-  ret = GST_PAD_LINK_OK;
-  /* if we are a source pad, we should call the peer link function
-   * if the peer has one, see design docs. */
-  if (GST_PAD_IS_SRC (pad)) {
-    if (GST_PAD_LINKFUNC (peer)) {
-      ret = GST_PAD_LINKFUNC (peer) (peer, pad);
-      if (ret != GST_PAD_LINK_OK)
-        GST_DEBUG_OBJECT (pad, "linking failed");
-    }
-  }
-  return ret;
-}
-
-/**
- * gst_ghost_pad_unlink_default:
- * @pad: the #GstPad to link.
- *
- * Invoke the default unlink function of a ghost pad.
- *
- * Since: 0.10.36
- */
-void
-gst_ghost_pad_unlink_default (GstPad * pad)
-{
-  g_return_if_fail (GST_IS_GHOST_PAD (pad));
-
-  GST_DEBUG_OBJECT (pad, "unlinking ghostpad");
-}
-
 static void
 gst_ghost_pad_class_init (GstGhostPadClass * klass)
 {
@@ -692,7 +448,6 @@
 
   GST_DEBUG_REGISTER_FUNCPTR (gst_ghost_pad_activate_pull_default);
   GST_DEBUG_REGISTER_FUNCPTR (gst_ghost_pad_activate_push_default);
-  GST_DEBUG_REGISTER_FUNCPTR (gst_ghost_pad_link_default);
 }
 
 static void
@@ -757,8 +512,6 @@
  * (GST_TYPE_GHOST_PAD, "direction", @dir, ..., NULL).
  *
  * Returns: %TRUE if the construction succeeds, %FALSE otherwise.
- *
- * Since: 0.10.22
  */
 gboolean
 gst_ghost_pad_construct (GstGhostPad * gpad)
@@ -785,10 +538,6 @@
     gst_pad_set_getrange_function (pad, gst_proxy_pad_getrange_default);
   }
 
-  /* link/unlink functions */
-  gst_pad_set_link_function (pad, gst_ghost_pad_link_default);
-  gst_pad_set_unlink_function (pad, gst_ghost_pad_unlink_default);
-
   /* INTERNAL PAD, it always exists and is child of the ghostpad */
   otherdir = (dir == GST_PAD_SRC) ? GST_PAD_SINK : GST_PAD_SRC;
   if (templ) {
@@ -959,8 +708,6 @@
  * Will ref the target.
  *
  * Returns: (transfer full): a new #GstPad, or NULL in case of an error.
- *
- * Since: 0.10.10
  */
 
 GstPad *
@@ -1003,8 +750,6 @@
  * direction will be taken from the @templ.
  *
  * Returns: (transfer full): a new #GstPad, or NULL in case of an error.
- *
- * Since: 0.10.10
  */
 GstPad *
 gst_ghost_pad_new_no_target_from_template (const gchar * name,
diff --git a/gst/gstghostpad.h b/gst/gstghostpad.h
index 6aa4d26..77c79c4 100644
--- a/gst/gstghostpad.h
+++ b/gst/gstghostpad.h
@@ -62,10 +62,6 @@
 GstProxyPad*     gst_proxy_pad_get_internal     (GstProxyPad *pad);
 
 
-gboolean            gst_proxy_pad_event_default                  (GstPad *pad, GstObject *parent,
-                                                                  GstEvent *event);
-gboolean            gst_proxy_pad_query_default                  (GstPad *pad, GstObject *parent,
-                                                                  GstQuery *query);
 GstIterator*        gst_proxy_pad_iterate_internal_links_default (GstPad *pad, GstObject *parent) G_GNUC_MALLOC;
 GstFlowReturn       gst_proxy_pad_chain_default                  (GstPad *pad, GstObject *parent,
                                                                   GstBuffer *buffer);
@@ -74,7 +70,6 @@
 GstFlowReturn       gst_proxy_pad_getrange_default               (GstPad *pad, GstObject *parent,
                                                                   guint64 offset, guint size,
                                                                   GstBuffer **buffer);
-void                gst_proxy_pad_unlink_default                 (GstPad * pad);
 
 #define GST_TYPE_GHOST_PAD              (gst_ghost_pad_get_type ())
 #define GST_IS_GHOST_PAD(obj)           (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GHOST_PAD))
@@ -122,9 +117,6 @@
 
 gboolean         gst_ghost_pad_construct         (GstGhostPad *gpad);
 
-void             gst_ghost_pad_unlink_default         (GstPad * pad);
-GstPadLinkReturn gst_ghost_pad_link_default           (GstPad * pad, GstPad * peer);
-
 gboolean         gst_ghost_pad_activate_mode_default  (GstPad * pad, GstObject * parent,
                                                        GstPadMode mode, gboolean active);
 
diff --git a/gst/gstinfo.c b/gst/gstinfo.c
index 9c0871f..e05cd22 100644
--- a/gst/gstinfo.c
+++ b/gst/gstinfo.c
@@ -120,6 +120,8 @@
 #include "gstutils.h"
 #include "gstquark.h"
 #include "gstsegment.h"
+#include "gstvalue.h"
+
 #ifdef HAVE_VALGRIND_VALGRIND_H
 #  include <valgrind/valgrind.h>
 #endif
@@ -169,6 +171,7 @@
 GstDebugCategory *GST_CAT_QOS = NULL;
 GstDebugCategory *_priv_GST_CAT_POLL = NULL;
 GstDebugCategory *GST_CAT_META = NULL;
+GstDebugCategory *GST_CAT_LOCKING = NULL;
 
 
 #endif /* !defined(GST_DISABLE_GST_DEBUG) || !defined(GST_REMOVE_DISABLED) */
@@ -256,6 +259,7 @@
 {
   GstLogFunction func;
   gpointer user_data;
+  GDestroyNotify notify;
 }
 LogFuncEntry;
 static GMutex __log_func_mutex;
@@ -347,7 +351,7 @@
   _GST_CAT_DEBUG = _gst_debug_category_new ("GST_DEBUG",
       GST_DEBUG_BOLD | GST_DEBUG_FG_YELLOW, "debugging subsystem");
 
-  gst_debug_add_log_function (gst_debug_log_default, NULL);
+  gst_debug_add_log_function (gst_debug_log_default, NULL, NULL);
 
   /* FIXME: add descriptions here */
   GST_CAT_GST_INIT = _gst_debug_category_new ("GST_INIT",
@@ -406,6 +410,7 @@
   GST_CAT_QOS = _gst_debug_category_new ("GST_QOS", 0, "QoS");
   _priv_GST_CAT_POLL = _gst_debug_category_new ("GST_POLL", 0, "poll");
   GST_CAT_META = _gst_debug_category_new ("GST_META", 0, "meta");
+  GST_CAT_LOCKING = _gst_debug_category_new ("GST_LOCKING", 0, "locking");
 
 
   /* print out the valgrind message if we're in valgrind */
@@ -620,6 +625,13 @@
   if (*(GType *) ptr == GST_TYPE_STRUCTURE) {
     return gst_info_structure_to_string ((const GstStructure *) ptr);
   }
+  if (*(GType *) ptr == GST_TYPE_TAG_LIST) {
+    /* FIXME: want pretty tag list with long byte dumps removed.. */
+    return gst_tag_list_to_string ((GstTagList *) ptr);
+  }
+  if (*(GType *) ptr == GST_TYPE_DATE_TIME) {
+    return __gst_date_time_serialize ((GstDateTime *) ptr, TRUE);
+  }
   if (GST_IS_BUFFER (ptr)) {
     GstBuffer *buf = (GstBuffer *) ptr;
     gchar *ret;
@@ -800,8 +812,6 @@
  * This function returns 0 on non-windows machines.
  *
  * Returns: an integer containing the color definition
- *
- * Since: 0.10.23
  */
 gint
 gst_debug_construct_win_color (guint colorinfo)
@@ -1063,13 +1073,15 @@
 /**
  * gst_debug_add_log_function:
  * @func: the function to use
- * @data: (closure): user data
+ * @user_data: user data
+ * @notify: called when @user_data is not used anymore
  *
  * Adds the logging function to the list of logging functions.
  * Be sure to use #G_GNUC_NO_INSTRUMENT on that function, it is needed.
  */
 void
-gst_debug_add_log_function (GstLogFunction func, gpointer data)
+gst_debug_add_log_function (GstLogFunction func, gpointer user_data,
+    GDestroyNotify notify)
 {
   LogFuncEntry *entry;
   GSList *list;
@@ -1079,7 +1091,8 @@
 
   entry = g_slice_new (LogFuncEntry);
   entry->func = func;
-  entry->user_data = data;
+  entry->user_data = user_data;
+  entry->notify = notify;
   /* FIXME: we leak the old list here - other threads might access it right now
    * in gst_debug_logv. Another solution is to lock the mutex in gst_debug_logv,
    * but that is waaay costly.
@@ -1092,7 +1105,7 @@
   g_mutex_unlock (&__log_func_mutex);
 
   GST_DEBUG ("prepended log function %p (user data %p) to log functions",
-      func, data);
+      func, user_data);
 }
 
 static gint
@@ -1115,11 +1128,12 @@
 gst_debug_remove_with_compare_func (GCompareFunc func, gpointer data)
 {
   GSList *found;
-  GSList *new;
+  GSList *new, *cleanup = NULL;
   guint removals = 0;
 
   g_mutex_lock (&__log_func_mutex);
   new = __log_functions;
+  cleanup = NULL;
   while ((found = g_slist_find_custom (new, data, func))) {
     if (new == __log_functions) {
       /* make a copy when we have the first hit, so that we modify the copy and
@@ -1127,7 +1141,7 @@
       new = g_slist_copy (new);
       continue;
     }
-    g_slice_free (LogFuncEntry, found->data);
+    cleanup = g_slist_prepend (cleanup, found->data);
     new = g_slist_delete_link (new, found);
     removals++;
   }
@@ -1135,12 +1149,21 @@
   __log_functions = new;
   g_mutex_unlock (&__log_func_mutex);
 
+  while (cleanup) {
+    LogFuncEntry *entry = cleanup->data;
+
+    if (entry->notify)
+      entry->notify (entry->user_data);
+
+    g_slice_free (LogFuncEntry, entry);
+    cleanup = g_slist_delete_link (cleanup, cleanup);
+  }
   return removals;
 }
 
 /**
  * gst_debug_remove_log_function:
- * @func: the log function to remove
+ * @func: (scope call): the log function to remove
  *
  * Removes all registered instances of the given logging functions.
  *
@@ -1803,7 +1826,8 @@
 }
 
 void
-gst_debug_add_log_function (GstLogFunction func, gpointer data)
+gst_debug_add_log_function (GstLogFunction func, gpointer user_data,
+    GDestroyNotify notify)
 {
 }
 
diff --git a/gst/gstinfo.h b/gst/gstinfo.h
index 5b8f87c..155851c 100644
--- a/gst/gstinfo.h
+++ b/gst/gstinfo.h
@@ -46,7 +46,7 @@
  *  in the executed code path is not fully implemented or handled yet. Note
  *  that this does not replace proper error handling in any way, the purpose
  *  of this message is to make it easier to spot incomplete/unfinished pieces
- *  of code when reading the debug log. (Since: 0.10.23)
+ *  of code when reading the debug log.
  * @GST_LEVEL_INFO: Informational messages should be used to keep the developer
  *  updated about what is happening.
  *  Examples where this should be used are when a typefind function has
@@ -63,11 +63,11 @@
  *  should never output anything else but LOG messages. Use this log level to
  *  log recurring information in chain functions and loop functions, for
  *  example.
- * @GST_LEVEL_TRACE: Tracing-related messages (Since: 0.10.30)
+ * @GST_LEVEL_TRACE: Tracing-related messages.
  *  Examples for this are referencing/dereferencing of objects.
  * @GST_LEVEL_MEMDUMP: memory dump messages are used to log (small) chunks of
  *  data as memory dumps in the log. They will be displayed as hexdump with
- *  ASCII characters. (Since: 0.10.23)
+ *  ASCII characters.
  * @GST_LEVEL_COUNT: The number of defined debugging levels.
  *
  * The level defines the importance of a debugging message. The more important a
@@ -241,7 +241,7 @@
  * @line: line number
  * @object: a #GObject
  * @message: the message
- * @data: user data for the log function
+ * @user_data: user data for the log function
  *
  * Function prototype for a logging function that can be registered with
  * gst_debug_add_log_function().
@@ -254,7 +254,7 @@
                                  gint               line,
                                  GObject          * object,
                                  GstDebugMessage  * message,
-                                 gpointer           data);
+                                 gpointer           user_data);
 
 #ifdef GST_USING_PRINTF_EXTENSION
 
@@ -330,7 +330,8 @@
 const gchar *   gst_debug_level_get_name (GstDebugLevel level);
 
 void            gst_debug_add_log_function            (GstLogFunction func,
-                                                       gpointer       data);
+                                                       gpointer       user_data,
+                                                       GDestroyNotify notify);
 
 guint           gst_debug_remove_log_function         (GstLogFunction func);
 guint           gst_debug_remove_log_function_by_data (gpointer       data);
@@ -365,13 +366,13 @@
 
 #ifndef GST_DISABLE_GST_DEBUG
 
-#define gst_debug_add_log_function(func,data) \
-G_STMT_START{                                 \
-  if (func == gst_debug_log_default) {        \
-    gst_debug_add_log_function(NULL,data);    \
-  } else {                                    \
-    gst_debug_add_log_function(func,data);    \
-  }                                           \
+#define gst_debug_add_log_function(func,data,notify) \
+G_STMT_START{                                        \
+  if (func == gst_debug_log_default) {               \
+    gst_debug_add_log_function(NULL,data,notify);    \
+  } else {                                           \
+    gst_debug_add_log_function(func,data,notify);    \
+  }                                                  \
 }G_STMT_END
 
 #define gst_debug_remove_log_function(func)   \
@@ -462,8 +463,6 @@
  * GST_DEBUG_CATEGORY_INIT (gst_myplugin_debug, "myplugin", 0, "nice element");
  * GST_DEBUG_CATEGORY_GET (GST_CAT_PERFORMANCE, "GST_PERFORMANCE");
  * ]|
- *
- * Since: 0.10.24
  */
 #ifdef GST_CAT_DEFAULT
 #define GST_DEBUG_CATEGORY_GET(cat,name)  G_STMT_START{\
@@ -487,7 +486,7 @@
 /* this symbol may not be used */
 GST_EXPORT gboolean			_gst_debug_enabled;
 
-/* since 0.10.7, the min debug level, used for quickly discarding debug
+/* the min debug level, used for quickly discarding debug
  * messages that fall under the threshold. */
 GST_EXPORT GstDebugLevel            _gst_debug_min;
 
@@ -608,8 +607,6 @@
  * @...: printf-style message to output
  *
  * Output a fixme message belonging to the given object in the given category.
- *
- * Since: 0.10.23
  */
 /**
  * GST_CAT_TRACE_OBJECT:
@@ -619,8 +616,6 @@
  *
  * Output a tracing message belonging to the given object in the given
  * category.
- *
- * Since: 0.10.30
  */
 /**
  * GST_CAT_MEMDUMP_OBJECT:
@@ -632,8 +627,6 @@
  *
  * Output a hexdump of @data relating to the given object in the given
  * category.
- *
- * Since: 0.10.23
  */
 
 
@@ -678,8 +671,6 @@
  * @...: printf-style message to output
  *
  * Output an fixme message in the given category.
- *
- * Since: 0.10.23
  */
 /**
  * GST_CAT_TRACE:
@@ -687,8 +678,6 @@
  * @...: printf-style message to output
  *
  * Output a tracing message in the given category.
- *
- * Since: 0.10.30
  */
 /**
  * GST_CAT_MEMDUMP:
@@ -698,8 +687,6 @@
  * @length: length of the data to output
  *
  * Output a hexdump of @data in the given category.
- *
- * Since: 0.10.23
  */
 
 
@@ -746,8 +733,6 @@
  * @...: printf-style message to output
  *
  * Output a fixme message belonging to the given object in the default category.
- *
- * Since: 0.10.23
  */
 /**
  * GST_TRACE_OBJECT:
@@ -755,8 +740,6 @@
  * @...: printf-style message to output
  *
  * Output a tracing message belonging to the given object in the default category.
- *
- * Since: 0.10.30
  */
 /**
  * GST_MEMDUMP_OBJECT:
@@ -766,8 +749,6 @@
  * @length: length of the data to output
  *
  * Output a logging message belonging to the given object in the default category.
- *
- * Since: 0.10.23
  */
 
 
@@ -806,16 +787,12 @@
  * @...: printf-style message to output
  *
  * Output a fixme message in the default category.
- *
- * Since: 0.10.23
  */
 /**
  * GST_TRACE:
  * @...: printf-style message to output
  *
  * Output a tracing message in the default category.
- *
- * Since: 0.10.30
  */
 /**
  * GST_MEMDUMP:
@@ -824,8 +801,6 @@
  * @length: length of the data to output
  *
  * Output a hexdump of @data.
- *
- * Since: 0.10.23
  */
 
 #ifdef G_HAVE_ISO_VARARGS
@@ -1213,8 +1188,6 @@
  * GST_DEBUG_FUNCPTR_NAME().
  *
  * Use this variant of #GST_DEBUG_FUNCPTR if you do not need to use @ptr.
- *
- * Since: 0.10.26
  */
 #define GST_DEBUG_REGISTER_FUNCPTR(ptr) \
   _gst_debug_register_funcptr((GstDebugFuncPtr)(ptr), #ptr)
@@ -1262,7 +1235,7 @@
 
 #define gst_debug_level_get_name(level)				("NONE")
 #define gst_debug_message_get(message)  			("")
-#define gst_debug_add_log_function(func,data)		G_STMT_START{ }G_STMT_END
+#define gst_debug_add_log_function(func,data,notify)    G_STMT_START{ }G_STMT_END
 #define gst_debug_set_active(active)			G_STMT_START{ }G_STMT_END
 #define gst_debug_is_active()				(FALSE)
 #define gst_debug_set_colored(colored)			G_STMT_START{ }G_STMT_END
diff --git a/gst/gstiterator.c b/gst/gstiterator.c
index a8f34fb..3c9238c 100644
--- a/gst/gstiterator.c
+++ b/gst/gstiterator.c
@@ -800,8 +800,6 @@
  * for the #GstPadIterIntLinkFunction.
  *
  * Returns: the new #GstIterator for @object.
- *
- * Since: 0.10.25
  */
 GstIterator *
 gst_iterator_new_single (GType type, const GValue * object)
diff --git a/gst/gstmemory.c b/gst/gstmemory.c
index 8eb112e..5796e04 100644
--- a/gst/gstmemory.c
+++ b/gst/gstmemory.c
@@ -71,423 +71,68 @@
 #include "gst_private.h"
 #include "gstmemory.h"
 
-#ifndef GST_DISABLE_TRACE
-#include "gsttrace.h"
-static GstAllocTrace *_gst_memory_trace;
-static GstAllocTrace *_gst_allocator_trace;
-#endif
+GST_DEFINE_MINI_OBJECT_TYPE (GstMemory, gst_memory);
 
-G_DEFINE_BOXED_TYPE (GstMemory, gst_memory, (GBoxedCopyFunc) gst_memory_ref,
-    (GBoxedFreeFunc) gst_memory_unref);
-
-G_DEFINE_BOXED_TYPE (GstAllocator, gst_allocator,
-    (GBoxedCopyFunc) gst_allocator_ref, (GBoxedFreeFunc) gst_allocator_unref);
-
-G_DEFINE_BOXED_TYPE (GstAllocationParams, gst_allocation_params,
-    (GBoxedCopyFunc) gst_allocation_params_copy,
-    (GBoxedFreeFunc) gst_allocation_params_free);
-
-#if defined(MEMORY_ALIGNMENT_MALLOC)
-size_t gst_memory_alignment = 7;
-#elif defined(MEMORY_ALIGNMENT_PAGESIZE)
-/* we fill this in in the _init method */
-size_t gst_memory_alignment = 0;
-#elif defined(MEMORY_ALIGNMENT)
-size_t gst_memory_alignment = MEMORY_ALIGNMENT - 1;
-#else
-#error "No memory alignment configured"
-size_t gst_memory_alignment = 0;
-#endif
-
-struct _GstAllocator
+static GstMemory *
+_gst_memory_copy (GstMemory * mem)
 {
-  gint refcount;
+  GST_CAT_DEBUG (GST_CAT_MEMORY, "copy memory %p", mem);
+  return gst_memory_copy (mem, 0, -1);
+}
 
-  GstMemoryInfo info;
-
-  gpointer user_data;
-  GDestroyNotify notify;
-};
-
-/* default memory implementation */
-typedef struct
-{
-  GstMemory mem;
-  gsize slice_size;
-  guint8 *data;
-  gpointer user_data;
-  GDestroyNotify notify;
-} GstMemoryDefault;
-
-/* the default allocator */
-static GstAllocator *_default_allocator;
-
-/* our predefined allocators */
-static GstAllocator *_default_mem_impl;
-
-/* initialize the fields */
 static void
-_default_mem_init (GstMemoryDefault * mem, GstMemoryFlags flags,
-    GstMemory * parent, gsize slice_size, gpointer data,
-    gsize maxsize, gsize offset, gsize size, gsize align,
-    gpointer user_data, GDestroyNotify notify)
+_gst_memory_free (GstMemory * mem)
 {
-  mem->mem.allocator = _default_mem_impl;
-  mem->mem.flags = flags;
-  mem->mem.refcount = 1;
-  mem->mem.parent = parent ? gst_memory_ref (parent) : NULL;
-  mem->mem.state = (flags & GST_MEMORY_FLAG_READONLY ? 0x1 : 0);
-  mem->mem.maxsize = maxsize;
-  mem->mem.align = align;
-  mem->mem.offset = offset;
-  mem->mem.size = size;
-  mem->slice_size = slice_size;
-  mem->data = data;
-  mem->user_data = user_data;
-  mem->notify = notify;
+  GST_CAT_DEBUG (GST_CAT_MEMORY, "free memory %p", mem);
+
+  if (mem->parent) {
+    gst_memory_unlock (mem->parent, GST_LOCK_FLAG_EXCLUSIVE);
+    gst_memory_unref (mem->parent);
+  }
+
+  gst_allocator_free (mem->allocator, mem);
+}
+
+/**
+ * gst_memory_init: (skip)
+ * @mem: a #GstMemory
+ * @flags: #GstMemoryFlags
+ * @allocator: the #GstAllocator
+ * @parent: the parent of @mem
+ * @maxsize: the total size of the memory
+ * @align: the alignment of the memory
+ * @offset: The offset in the memory
+ * @size: the size of valid data in the memory
+
+ * Initializes a newly allocated @mem with the given parameters. This function
+ * will call gst_mini_object_init() with the default memory parameters.
+ */
+void
+gst_memory_init (GstMemory * mem, GstMemoryFlags flags,
+    GstAllocator * allocator, GstMemory * parent, gsize maxsize, gsize align,
+    gsize offset, gsize size)
+{
+  gst_mini_object_init (GST_MINI_OBJECT_CAST (mem),
+      flags | GST_MINI_OBJECT_FLAG_LOCKABLE, GST_TYPE_MEMORY,
+      (GstMiniObjectCopyFunction) _gst_memory_copy, NULL,
+      (GstMiniObjectFreeFunction) _gst_memory_free);
+
+  mem->allocator = allocator;
+  if (parent) {
+    gst_memory_lock (parent, GST_LOCK_FLAG_EXCLUSIVE);
+    gst_memory_ref (parent);
+  }
+  mem->parent = parent;
+  mem->maxsize = maxsize;
+  mem->align = align;
+  mem->offset = offset;
+  mem->size = size;
 
   GST_CAT_DEBUG (GST_CAT_MEMORY, "new memory %p, maxsize:%" G_GSIZE_FORMAT
       " offset:%" G_GSIZE_FORMAT " size:%" G_GSIZE_FORMAT, mem, maxsize,
       offset, size);
 }
 
-/* create a new memory block that manages the given memory */
-static GstMemoryDefault *
-_default_mem_new (GstMemoryFlags flags, GstMemory * parent, gpointer data,
-    gsize maxsize, gsize offset, gsize size, gsize align, gpointer user_data,
-    GDestroyNotify notify)
-{
-  GstMemoryDefault *mem;
-  gsize slice_size;
-
-  slice_size = sizeof (GstMemoryDefault);
-
-  mem = g_slice_alloc (slice_size);
-  _default_mem_init (mem, flags, parent, slice_size,
-      data, maxsize, offset, size, align, user_data, notify);
-
-  return mem;
-}
-
-/* allocate the memory and structure in one block */
-static GstMemoryDefault *
-_default_mem_new_block (GstMemoryFlags flags, gsize maxsize, gsize align,
-    gsize offset, gsize size)
-{
-  GstMemoryDefault *mem;
-  gsize aoffset, slice_size, padding;
-  guint8 *data;
-
-  /* ensure configured alignment */
-  align |= gst_memory_alignment;
-  /* allocate more to compensate for alignment */
-  maxsize += align;
-  /* alloc header and data in one block */
-  slice_size = sizeof (GstMemoryDefault) + maxsize;
-
-  mem = g_slice_alloc (slice_size);
-  if (mem == NULL)
-    return NULL;
-
-  data = (guint8 *) mem + sizeof (GstMemoryDefault);
-
-  /* do alignment */
-  if ((aoffset = ((guintptr) data & align))) {
-    aoffset = (align + 1) - aoffset;
-    data += aoffset;
-    maxsize -= aoffset;
-  }
-
-  if (offset && (flags & GST_MEMORY_FLAG_ZERO_PREFIXED))
-    memset (data, 0, offset);
-
-  padding = maxsize - (offset + size);
-  if (padding && (flags & GST_MEMORY_FLAG_ZERO_PADDED))
-    memset (data + offset + size, 0, padding);
-
-  _default_mem_init (mem, flags, NULL, slice_size, data, maxsize,
-      offset, size, align, NULL, NULL);
-
-  return mem;
-}
-
-static GstMemory *
-_default_alloc_alloc (GstAllocator * allocator, gsize size,
-    GstAllocationParams * params, gpointer user_data)
-{
-  gsize maxsize = size + params->prefix + params->padding;
-
-  return (GstMemory *) _default_mem_new_block (params->flags,
-      maxsize, params->align, params->prefix, size);
-}
-
-static gpointer
-_default_mem_map (GstMemoryDefault * mem, gsize maxsize, GstMapFlags flags)
-{
-  return mem->data;
-}
-
-static gboolean
-_default_mem_unmap (GstMemoryDefault * mem)
-{
-  return TRUE;
-}
-
-static void
-_default_mem_free (GstMemoryDefault * mem)
-{
-  GST_CAT_DEBUG (GST_CAT_MEMORY, "free memory %p", mem);
-
-  if (mem->mem.parent)
-    gst_memory_unref (mem->mem.parent);
-
-  if (mem->notify)
-    mem->notify (mem->user_data);
-
-  g_slice_free1 (mem->slice_size, mem);
-}
-
-static GstMemoryDefault *
-_default_mem_copy (GstMemoryDefault * mem, gssize offset, gsize size)
-{
-  GstMemoryDefault *copy;
-
-  if (size == -1)
-    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);
-  GST_CAT_DEBUG (GST_CAT_PERFORMANCE,
-      "memcpy %" G_GSIZE_FORMAT " memory %p -> %p", mem->mem.maxsize, mem,
-      copy);
-  memcpy (copy->data, mem->data, mem->mem.maxsize);
-
-  return copy;
-}
-
-static GstMemoryDefault *
-_default_mem_share (GstMemoryDefault * mem, gssize offset, gsize size)
-{
-  GstMemoryDefault *sub;
-  GstMemory *parent;
-
-  /* find the real parent */
-  if ((parent = mem->mem.parent) == NULL)
-    parent = (GstMemory *) mem;
-
-  if (size == -1)
-    size = mem->mem.size - offset;
-
-  sub =
-      _default_mem_new (parent->flags, parent, mem->data,
-      mem->mem.maxsize, mem->mem.offset + offset, size, mem->mem.align, NULL,
-      NULL);
-
-  return sub;
-}
-
-static gboolean
-_default_mem_is_span (GstMemoryDefault * mem1, GstMemoryDefault * mem2,
-    gsize * offset)
-{
-
-  if (offset) {
-    GstMemoryDefault *parent;
-
-    parent = (GstMemoryDefault *) mem1->mem.parent;
-
-    *offset = mem1->mem.offset - parent->mem.offset;
-  }
-
-  /* and memory is contiguous */
-  return mem1->data + mem1->mem.offset + mem1->mem.size ==
-      mem2->data + mem2->mem.offset;
-}
-
-static GstMemory *
-_fallback_mem_copy (GstMemory * mem, gssize offset, gssize size)
-{
-  GstMemory *copy;
-  GstMapInfo sinfo, dinfo;
-  GstAllocationParams params = { 0, 0, 0, mem->align, };
-
-  if (!gst_memory_map (mem, &sinfo, GST_MAP_READ))
-    return NULL;
-
-  if (size == -1)
-    size = sinfo.size > offset ? sinfo.size - offset : 0;
-
-  /* use the same allocator as the memory we copy  */
-  copy = gst_allocator_alloc (mem->allocator, size, &params);
-  if (!gst_memory_map (copy, &dinfo, GST_MAP_WRITE)) {
-    GST_CAT_WARNING (GST_CAT_MEMORY, "could not write map memory %p", copy);
-    gst_memory_unmap (mem, &sinfo);
-    return NULL;
-  }
-
-  GST_CAT_DEBUG (GST_CAT_PERFORMANCE,
-      "memcpy %" G_GSSIZE_FORMAT " memory %p -> %p", size, mem, copy);
-  memcpy (dinfo.data, sinfo.data + offset, size);
-  gst_memory_unmap (copy, &dinfo);
-  gst_memory_unmap (mem, &sinfo);
-
-  return copy;
-}
-
-static gboolean
-_fallback_mem_is_span (GstMemory * mem1, GstMemory * mem2, gsize * offset)
-{
-  return FALSE;
-}
-
-static GRWLock lock;
-static GHashTable *allocators;
-
-static void
-_priv_sysmem_notify (gpointer user_data)
-{
-  g_warning ("The default memory allocator was freed!");
-}
-
-void
-_priv_gst_memory_initialize (void)
-{
-  static const GstMemoryInfo _mem_info = {
-    GST_ALLOCATOR_SYSMEM,
-    (GstAllocatorAllocFunction) _default_alloc_alloc,
-    (GstMemoryMapFunction) _default_mem_map,
-    (GstMemoryUnmapFunction) _default_mem_unmap,
-    (GstMemoryFreeFunction) _default_mem_free,
-    (GstMemoryCopyFunction) _default_mem_copy,
-    (GstMemoryShareFunction) _default_mem_share,
-    (GstMemoryIsSpanFunction) _default_mem_is_span,
-  };
-
-#ifndef GST_DISABLE_TRACE
-  _gst_memory_trace = _gst_alloc_trace_register ("GstMemory", -1);
-  _gst_allocator_trace = _gst_alloc_trace_register ("GstAllocator", -1);
-#endif
-
-  g_rw_lock_init (&lock);
-  allocators = g_hash_table_new (g_str_hash, g_str_equal);
-
-#ifdef HAVE_GETPAGESIZE
-#ifdef MEMORY_ALIGNMENT_PAGESIZE
-  gst_memory_alignment = getpagesize () - 1;
-#endif
-#endif
-
-  GST_CAT_DEBUG (GST_CAT_MEMORY, "memory alignment: %" G_GSIZE_FORMAT,
-      gst_memory_alignment);
-
-  _default_mem_impl = gst_allocator_new (&_mem_info, NULL, _priv_sysmem_notify);
-
-  _default_allocator = gst_allocator_ref (_default_mem_impl);
-  gst_allocator_register (GST_ALLOCATOR_SYSMEM,
-      gst_allocator_ref (_default_mem_impl));
-}
-
-/**
- * gst_memory_new_wrapped:
- * @flags: #GstMemoryFlags
- * @data: data to wrap
- * @maxsize: allocated size of @data
- * @offset: offset in @data
- * @size: size of valid data
- * @user_data: user_data
- * @notify: called with @user_data when the memory is freed
- *
- * Allocate a new memory block that wraps the given @data.
- *
- * The prefix/padding must be filled with 0 if @flags contains
- * #GST_MEMORY_FLAG_ZERO_PREFIXED and #GST_MEMORY_FLAG_ZERO_PADDED respectively.
- *
- * Returns: a new #GstMemory.
- */
-GstMemory *
-gst_memory_new_wrapped (GstMemoryFlags flags, gpointer data,
-    gsize maxsize, gsize offset, gsize size, gpointer user_data,
-    GDestroyNotify notify)
-{
-  GstMemoryDefault *mem;
-
-  g_return_val_if_fail (data != NULL, NULL);
-  g_return_val_if_fail (offset + size <= maxsize, NULL);
-
-  mem =
-      _default_mem_new (flags, NULL, data, maxsize, offset, size, 0, user_data,
-      notify);
-
-#ifndef GST_DISABLE_TRACE
-  _gst_alloc_trace_new (_gst_memory_trace, mem);
-#endif
-
-  return (GstMemory *) mem;
-}
-
-/**
- * gst_memory_ref:
- * @mem: a #GstMemory
- *
- * Increases the refcount of @mem.
- *
- * Returns: @mem with increased refcount
- */
-GstMemory *
-gst_memory_ref (GstMemory * mem)
-{
-  g_return_val_if_fail (mem != NULL, NULL);
-
-  GST_CAT_TRACE (GST_CAT_MEMORY, "memory %p, %d->%d", mem, mem->refcount,
-      mem->refcount + 1);
-
-  g_atomic_int_inc (&mem->refcount);
-
-  return mem;
-}
-
-/**
- * gst_memory_unref:
- * @mem: a #GstMemory
- *
- * Decreases the refcount of @mem. When the refcount reaches 0, the free
- * function of @mem will be called.
- */
-void
-gst_memory_unref (GstMemory * mem)
-{
-  g_return_if_fail (mem != NULL);
-  g_return_if_fail (mem->allocator != NULL);
-
-  GST_CAT_TRACE (GST_CAT_MEMORY, "memory %p, %d->%d", mem, mem->refcount,
-      mem->refcount - 1);
-
-  if (g_atomic_int_dec_and_test (&mem->refcount)) {
-    /* there should be no outstanding mappings */
-    g_return_if_fail (g_atomic_int_get (&mem->state) < 4);
-#ifndef GST_DISABLE_TRACE
-    _gst_alloc_trace_free (_gst_memory_trace, mem);
-#endif
-    mem->allocator->info.mem_free (mem);
-  }
-}
-
-/**
- * gst_memory_is_exclusive:
- * @mem: a #GstMemory
- *
- * Check if the current ref to @mem is exclusive, this means that no other
- * references exist other than @mem.
- */
-gboolean
-gst_memory_is_exclusive (GstMemory * mem)
-{
-  g_return_val_if_fail (mem != NULL, FALSE);
-
-  return (g_atomic_int_get (&mem->refcount) == 1);
-}
-
 /**
  * gst_memory_get_sizes:
  * @mem: a #GstMemory
@@ -542,53 +187,6 @@
   mem->size = size;
 }
 
-static gboolean
-gst_memory_lock (GstMemory * mem, GstMapFlags flags)
-{
-  gint access_mode, state, newstate;
-
-  access_mode = flags & 3;
-
-  do {
-    state = g_atomic_int_get (&mem->state);
-    if (state == 0) {
-      /* nothing mapped, set access_mode and refcount */
-      newstate = 4 | access_mode;
-    } else {
-      /* access_mode must match */
-      if ((state & access_mode) != access_mode)
-        goto lock_failed;
-      /* increase refcount */
-      newstate = state + 4;
-    }
-  } while (!g_atomic_int_compare_and_exchange (&mem->state, state, newstate));
-
-  return TRUE;
-
-lock_failed:
-  {
-    GST_CAT_DEBUG (GST_CAT_MEMORY, "lock failed %p: state %d, access_mode %d",
-        mem, state, access_mode);
-    return FALSE;
-  }
-}
-
-static void
-gst_memory_unlock (GstMemory * mem)
-{
-  gint state, newstate;
-
-  do {
-    state = g_atomic_int_get (&mem->state);
-    /* decrease the refcount */
-    newstate = state - 4;
-    /* last refcount, unset access_mode */
-    if (newstate < 4)
-      newstate = 0;
-  } while (!g_atomic_int_compare_and_exchange (&mem->state, state, newstate));
-}
-
-
 /**
  * gst_memory_make_mapped:
  * @mem: (transfer full): a #GstMemory
@@ -669,7 +267,7 @@
   if (!gst_memory_lock (mem, flags))
     goto lock_failed;
 
-  info->data = mem->allocator->info.mem_map (mem, mem->maxsize, flags);
+  info->data = mem->allocator->mem_map (mem, mem->maxsize, flags);
 
   if (G_UNLIKELY (info->data == NULL))
     goto error;
@@ -691,8 +289,8 @@
 error:
   {
     /* something went wrong, restore the orginal state again */
-    GST_CAT_ERROR (GST_CAT_MEMORY, "mem %p: map failed", mem);
-    gst_memory_unlock (mem);
+    GST_CAT_ERROR (GST_CAT_MEMORY, "mem %p: subclass map failed", mem);
+    gst_memory_unlock (mem, flags);
     return FALSE;
   }
 }
@@ -710,11 +308,9 @@
   g_return_if_fail (mem != NULL);
   g_return_if_fail (info != NULL);
   g_return_if_fail (info->memory == mem);
-  /* there must be a ref */
-  g_return_if_fail (g_atomic_int_get (&mem->state) >= 4);
 
-  mem->allocator->info.mem_unmap (mem);
-  gst_memory_unlock (mem);
+  mem->allocator->mem_unmap (mem);
+  gst_memory_unlock (mem, info->flags);
 }
 
 /**
@@ -736,11 +332,7 @@
 
   g_return_val_if_fail (mem != NULL, NULL);
 
-  copy = mem->allocator->info.mem_copy (mem, offset, size);
-
-#ifndef GST_DISABLE_TRACE
-  _gst_alloc_trace_new (_gst_memory_trace, copy);
-#endif
+  copy = mem->allocator->mem_copy (mem, offset, size);
 
   return copy;
 }
@@ -767,11 +359,7 @@
   g_return_val_if_fail (!GST_MEMORY_FLAG_IS_SET (mem, GST_MEMORY_FLAG_NO_SHARE),
       NULL);
 
-  shared = mem->allocator->info.mem_share (mem, offset, size);
-
-#ifndef GST_DISABLE_TRACE
-  _gst_alloc_trace_new (_gst_memory_trace, shared);
-#endif
+  shared = mem->allocator->mem_share (mem, offset, size);
 
   return shared;
 }
@@ -806,289 +394,8 @@
     return FALSE;
 
   /* and memory is contiguous */
-  if (!mem1->allocator->info.mem_is_span (mem1, mem2, offset))
+  if (!mem1->allocator->mem_is_span (mem1, mem2, offset))
     return FALSE;
 
   return TRUE;
 }
-
-/**
- * gst_allocator_new:
- * @info: a #GstMemoryInfo
- * @user_data: user data
- * @notify: a #GDestroyNotify for @user_data
- *
- * Create a new memory allocator with @info and @user_data.
- *
- * All functions in @info are mandatory exept the copy and is_span
- * functions, which will have a default implementation when left NULL.
- *
- * The @user_data will be passed to all calls of the alloc function. @notify
- * will be called with @user_data when the allocator is freed.
- *
- * Returns: a new #GstAllocator.
- */
-GstAllocator *
-gst_allocator_new (const GstMemoryInfo * info, gpointer user_data,
-    GDestroyNotify notify)
-{
-  GstAllocator *allocator;
-
-#define INSTALL_FALLBACK(_t) \
-  if (allocator->info._t == NULL) allocator->info._t = _fallback_ ##_t;
-
-  g_return_val_if_fail (info != NULL, NULL);
-  g_return_val_if_fail (info->alloc != NULL, NULL);
-  g_return_val_if_fail (info->mem_map != NULL, NULL);
-  g_return_val_if_fail (info->mem_unmap != NULL, NULL);
-  g_return_val_if_fail (info->mem_free != NULL, NULL);
-  g_return_val_if_fail (info->mem_share != NULL, NULL);
-
-  allocator = g_slice_new (GstAllocator);
-  allocator->refcount = 1;
-  allocator->info = *info;
-  allocator->user_data = user_data;
-  allocator->notify = notify;
-  INSTALL_FALLBACK (mem_copy);
-  INSTALL_FALLBACK (mem_is_span);
-#undef INSTALL_FALLBACK
-
-  GST_CAT_DEBUG (GST_CAT_MEMORY, "new allocator %p", allocator);
-
-#ifndef GST_DISABLE_TRACE
-  _gst_alloc_trace_new (_gst_allocator_trace, allocator);
-#endif
-
-  return allocator;
-}
-
-/**
- * gst_allocator_get_memory_type:
- * @allocator: a #GstAllocator
- *
- * Get the memory type allocated by this allocator
- *
- * Returns: the memory type provided by @allocator
- */
-const gchar *
-gst_allocator_get_memory_type (GstAllocator * allocator)
-{
-  g_return_val_if_fail (allocator != NULL, NULL);
-
-  return allocator->info.mem_type;
-}
-
-/**
- * gst_allocator_ref:
- * @allocator: a #GstAllocator
- *
- * Increases the refcount of @allocator.
- *
- * Returns: @allocator with increased refcount
- */
-GstAllocator *
-gst_allocator_ref (GstAllocator * allocator)
-{
-  g_return_val_if_fail (allocator != NULL, NULL);
-
-  GST_CAT_TRACE (GST_CAT_MEMORY, "allocator %p, %d->%d", allocator,
-      allocator->refcount, allocator->refcount + 1);
-
-  g_atomic_int_inc (&allocator->refcount);
-
-  return allocator;
-}
-
-/**
- * gst_allocator_unref:
- * @allocator: a #GstAllocator
- *
- * Decreases the refcount of @allocator. When the refcount reaches 0, the notify
- * function of @allocator will be called and the allocator will be freed.
- */
-void
-gst_allocator_unref (GstAllocator * allocator)
-{
-  g_return_if_fail (allocator != NULL);
-
-  GST_CAT_TRACE (GST_CAT_MEMORY, "allocator %p, %d->%d", allocator,
-      allocator->refcount, allocator->refcount - 1);
-
-  if (g_atomic_int_dec_and_test (&allocator->refcount)) {
-    if (allocator->notify)
-      allocator->notify (allocator->user_data);
-#ifndef GST_DISABLE_TRACE
-    _gst_alloc_trace_free (_gst_allocator_trace, allocator);
-#endif
-    g_slice_free1 (sizeof (GstAllocator), allocator);
-  }
-}
-
-/**
- * gst_allocator_register:
- * @name: the name of the allocator
- * @allocator: (transfer full): #GstAllocator
- *
- * Registers the memory @allocator with @name. This function takes ownership of
- * @allocator.
- */
-void
-gst_allocator_register (const gchar * name, GstAllocator * allocator)
-{
-  g_return_if_fail (name != NULL);
-  g_return_if_fail (allocator != NULL);
-
-  GST_CAT_DEBUG (GST_CAT_MEMORY, "registering allocator %p with name \"%s\"",
-      allocator, name);
-
-  g_rw_lock_writer_lock (&lock);
-  g_hash_table_insert (allocators, (gpointer) name, (gpointer) allocator);
-  g_rw_lock_writer_unlock (&lock);
-}
-
-/**
- * gst_allocator_find:
- * @name: the name of the allocator
- *
- * Find a previously registered allocator with @name. When @name is NULL, the
- * default allocator will be returned.
- *
- * Returns: (transfer full): a #GstAllocator or NULL when the allocator with @name was not
- * registered. Use gst_allocator_unref() to release the allocator after usage.
- */
-GstAllocator *
-gst_allocator_find (const gchar * name)
-{
-  GstAllocator *allocator;
-
-  g_rw_lock_reader_lock (&lock);
-  if (name) {
-    allocator = g_hash_table_lookup (allocators, (gconstpointer) name);
-  } else {
-    allocator = _default_allocator;
-  }
-  if (allocator)
-    gst_allocator_ref (allocator);
-  g_rw_lock_reader_unlock (&lock);
-
-  return allocator;
-}
-
-/**
- * gst_allocator_set_default:
- * @allocator: (transfer full): a #GstAllocator
- *
- * Set the default allocator. This function takes ownership of @allocator.
- */
-void
-gst_allocator_set_default (GstAllocator * allocator)
-{
-  GstAllocator *old;
-  g_return_if_fail (allocator != NULL);
-
-  g_rw_lock_writer_lock (&lock);
-  old = _default_allocator;
-  _default_allocator = allocator;
-  g_rw_lock_writer_unlock (&lock);
-
-  if (old)
-    gst_allocator_unref (old);
-}
-
-/**
- * gst_allocation_params_init:
- * @params: a #GstAllocationParams
- *
- * Initialize @params to its default values
- */
-void
-gst_allocation_params_init (GstAllocationParams * params)
-{
-  g_return_if_fail (params != NULL);
-
-  memset (params, 0, sizeof (GstAllocationParams));
-}
-
-/**
- * gst_allocation_params_copy:
- * @params: (transfer none): a #GstAllocationParams
- *
- * Create a copy of @params.
- *
- * Free-function: gst_allocation_params_free
- *
- * Returns: (transfer full): a new ##GstAllocationParams, free with
- * gst_allocation_params_free().
- */
-GstAllocationParams *
-gst_allocation_params_copy (const GstAllocationParams * params)
-{
-  GstAllocationParams *result = NULL;
-
-  if (params) {
-    result =
-        (GstAllocationParams *) g_slice_copy (sizeof (GstAllocationParams),
-        params);
-  }
-  return result;
-}
-
-/**
- * gst_allocation_params_free:
- * @params: (in) (transfer full): a #GstAllocationParams
- *
- * Free @params
- */
-void
-gst_allocation_params_free (GstAllocationParams * params)
-{
-  g_slice_free (GstAllocationParams, params);
-}
-
-/**
- * gst_allocator_alloc:
- * @allocator: (transfer none) (allow-none): a #GstAllocator to use
- * @size: size of the visible memory area
- * @params: (transfer none) (allow-none): optional parameters
- *
- * Use @allocator to allocate a new memory block with memory that is at least
- * @size big.
- *
- * The optional @params can specify the prefix and padding for the memory. If
- * NULL is passed, no flags, no extra prefix/padding and a default alignment is
- * used.
- *
- * The prefix/padding will be filled with 0 if flags contains
- * #GST_MEMORY_FLAG_ZERO_PREFIXED and #GST_MEMORY_FLAG_ZERO_PADDED respectively.
- *
- * When @allocator is NULL, the default allocator will be used.
- *
- * The alignment in @params is given as a bitmask so that @align + 1 equals
- * the amount of bytes to align to. For example, to align to 8 bytes,
- * use an alignment of 7.
- *
- * Returns: (transfer full): a new #GstMemory.
- */
-GstMemory *
-gst_allocator_alloc (GstAllocator * allocator, gsize size,
-    GstAllocationParams * params)
-{
-  GstMemory *mem;
-  static GstAllocationParams defparams = { 0, 0, 0, 0, };
-
-  if (params) {
-    g_return_val_if_fail (((params->align + 1) & params->align) == 0, NULL);
-  } else {
-    params = &defparams;
-  }
-
-  if (allocator == NULL)
-    allocator = _default_allocator;
-
-  mem = allocator->info.alloc (allocator, size, params, allocator->user_data);
-
-#ifndef GST_DISABLE_TRACE
-  _gst_alloc_trace_new (_gst_memory_trace, mem);
-#endif
-  return mem;
-}
diff --git a/gst/gstmemory.h b/gst/gstmemory.h
index c69ee59..e249cb4 100644
--- a/gst/gstmemory.h
+++ b/gst/gstmemory.h
@@ -32,24 +32,8 @@
 #define GST_TYPE_MEMORY (gst_memory_get_type())
 GType gst_memory_get_type(void);
 
-#define GST_TYPE_ALLOCATOR (gst_allocator_get_type())
-GType gst_allocator_get_type(void);
-
-#define GST_TYPE_ALLOCATION_PARAMS (gst_allocation_params_get_type())
-GType gst_allocation_params_get_type(void);
-
 typedef struct _GstMemory GstMemory;
-typedef struct _GstMemoryInfo GstMemoryInfo;
 typedef struct _GstAllocator GstAllocator;
-typedef struct _GstAllocationParams GstAllocationParams;
-
-/**
- * gst_memory_alignment:
- *
- * The default memory alignment in bytes - 1
- * an alignment of 7 would be the same as what malloc() guarantees.
- */
-GST_EXPORT gsize gst_memory_alignment;
 
 #define GST_MEMORY_CAST(mem)   ((GstMemory *)(mem))
 
@@ -66,12 +50,12 @@
  * Flags for wrapped memory.
  */
 typedef enum {
-  GST_MEMORY_FLAG_READONLY      = (1 << 0),
-  GST_MEMORY_FLAG_NO_SHARE      = (1 << 1),
-  GST_MEMORY_FLAG_ZERO_PREFIXED = (1 << 2),
-  GST_MEMORY_FLAG_ZERO_PADDED   = (1 << 3),
+  GST_MEMORY_FLAG_READONLY      = GST_MINI_OBJECT_FLAG_LOCK_READONLY,
+  GST_MEMORY_FLAG_NO_SHARE      = (GST_MINI_OBJECT_FLAG_LAST << 0),
+  GST_MEMORY_FLAG_ZERO_PREFIXED = (GST_MINI_OBJECT_FLAG_LAST << 1),
+  GST_MEMORY_FLAG_ZERO_PADDED   = (GST_MINI_OBJECT_FLAG_LAST << 2),
 
-  GST_MEMORY_FLAG_LAST          = (1 << 16)
+  GST_MEMORY_FLAG_LAST          = (GST_MINI_OBJECT_FLAG_LAST << 16)
 } GstMemoryFlags;
 
 /**
@@ -80,7 +64,7 @@
  *
  * A flags word containing #GstMemoryFlags flags set on @mem
  */
-#define GST_MEMORY_FLAGS(mem)  (GST_MEMORY_CAST (mem)->flags)
+#define GST_MEMORY_FLAGS(mem)  GST_MINI_OBJECT_FLAGS (mem)
 /**
  * GST_MEMORY_FLAG_IS_SET:
  * @mem: a #GstMemory.
@@ -88,7 +72,7 @@
  *
  * Gives the status of a specific flag on a @mem.
  */
-#define GST_MEMORY_FLAG_IS_SET(mem,flag)   !!(GST_MEMORY_FLAGS (mem) & (flag))
+#define GST_MEMORY_FLAG_IS_SET(mem,flag)   GST_MINI_OBJECT_FLAG_IS_SET (mem,flag)
 /**
  * GST_MEMORY_FLAG_UNSET:
  * @mem: a #GstMemory.
@@ -96,7 +80,7 @@
  *
  * Clear a specific flag on a @mem.
  */
-#define GST_MEMORY_FLAG_UNSET(mem,flag)   (GST_MEMORY_FLAGS (mem) &= ~(flag))
+#define GST_MEMORY_FLAG_UNSET(mem,flag)   GST_MINI_OBJECT_FLAG_UNSET (mem, flag)
 
 /**
  * GST_MEMORY_IS_READONLY:
@@ -106,6 +90,13 @@
  */
 #define GST_MEMORY_IS_READONLY(mem)        GST_MEMORY_FLAG_IS_SET(mem,GST_MEMORY_FLAG_READONLY)
 /**
+ * GST_MEMORY_IS_NO_SHARE:
+ * @mem: a #GstMemory.
+ *
+ * Check if @mem cannot be shared between buffers
+ */
+#define GST_MEMORY_IS_NO_SHARE(mem)        GST_MEMORY_FLAG_IS_SET(mem,GST_MEMORY_FLAG_NO_SHARE)
+/**
  * GST_MEMORY_IS_ZERO_PREFIXED:
  * @mem: a #GstMemory.
  *
@@ -123,11 +114,9 @@
 
 /**
  * GstMemory:
+ * @mini_object: parent structure
  * @allocator: pointer to the #GstAllocator
- * @flags: memory flags
- * @refcount: refcount
  * @parent: parent memory block
- * @state: private state
  * @maxsize: the maximum size allocated
  * @align: the alignment of the memory
  * @offset: the offset where valid data starts
@@ -137,12 +126,11 @@
  * as the first member of their structure.
  */
 struct _GstMemory {
+  GstMiniObject   mini_object;
+
   GstAllocator   *allocator;
 
-  GstMemoryFlags  flags;
-  gint            refcount;
   GstMemory      *parent;
-  volatile gint   state;
   gsize           maxsize;
   gsize           align;
   gsize           offset;
@@ -158,17 +146,25 @@
  * Flags used when mapping memory
  */
 typedef enum {
-  GST_MAP_READ      = (1 << 0),
-  GST_MAP_WRITE     = (1 << 1),
+  GST_MAP_READ      = GST_LOCK_FLAG_READ,
+  GST_MAP_WRITE     = GST_LOCK_FLAG_WRITE,
 
   GST_MAP_FLAG_LAST = (1 << 16)
 } GstMapFlags;
 
 /**
+ * GST_MAP_READWRITE:
+ *
+ * GstMapFlags value alias for GST_MAP_READ | GST_MAP_WRITE
+ */
+#define GST_MAP_READWRITE      (GST_MAP_READ | GST_MAP_WRITE)
+
+
+/**
  * GstMapInfo:
  * @memory: a pointer to the mapped memory
  * @flags: flags used when mapping the memory
- * @data: a pointer to the mapped data
+ * @data: (array length=size): a pointer to the mapped data
  * @size: the valid size in @data
  * @maxsize: the maximum bytes in @data
  * @user_data: extra private user_data that the implementation of the memory
@@ -195,61 +191,6 @@
 #define GST_MAP_INFO_INIT { NULL, 0, NULL, 0, 0, }
 
 /**
- * GST_MAP_READWRITE:
- *
- * Map for readwrite access
- */
-#define GST_MAP_READWRITE      (GST_MAP_READ | GST_MAP_WRITE)
-
-/**
- * GST_ALLOCATOR_SYSMEM:
- *
- * The allocator name for the default system memory allocator
- */
-#define GST_ALLOCATOR_SYSMEM   "SystemMemory"
-
-/**
- * GstAllocationParams:
- * @flags: flags to control allocation
- * @align: the desired alignment of the memory
- * @prefix: the disired prefix
- * @padding: the desired padding
- *
- * Parameters to control the allocation of memory
- */
-struct _GstAllocationParams {
-  GstMemoryFlags flags;
-  gsize          align;
-  gsize          prefix;
-  gsize          padding;
-
-  /*< private >*/
-  gpointer _gst_reserved[GST_PADDING];
-};
-
-/**
- * GstAllocatorAllocFunction:
- * @allocator: a #GstAllocator
- * @size: the size
- * @params: allocator params
- * @user_data: user data
- *
- * Allocate a new #GstMemory from @allocator that can hold at least @size
- * bytes (+ padding) and is aligned to (@align + 1) bytes.
- *
- * The offset and size of the memory should be set and the prefix/padding must
- * be filled with 0 if @params flags contains #GST_MEMORY_FLAG_ZERO_PREFIXED and
- * #GST_MEMORY_FLAG_ZERO_PADDED respectively.
- *
- * @user_data is the data that was used when creating @allocator.
- *
- * Returns: a newly allocated #GstMemory. Free with gst_memory_unref()
- */
-typedef GstMemory *  (*GstAllocatorAllocFunction)  (GstAllocator *allocator,
-                                                    gsize size, GstAllocationParams *params,
-                                                    gpointer user_data);
-
-/**
  * GstMemoryMapFunction:
  * @mem: a #GstMemory
  * @maxsize: size to map
@@ -275,15 +216,6 @@
 typedef void        (*GstMemoryUnmapFunction)     (GstMemory *mem);
 
 /**
- * GstMemoryFreeFunction:
- * @mem: a #GstMemory
- *
- * Free the memory used by @mem. This function is usually called when the
- * refcount of the @mem has reached 0.
- */
-typedef void        (*GstMemoryFreeFunction)      (GstMemory *mem);
-
-/**
  * GstMemoryCopyFunction:
  * @mem: a #GstMemory
  * @offset: an offset
@@ -325,80 +257,53 @@
  */
 typedef gboolean    (*GstMemoryIsSpanFunction)    (GstMemory *mem1, GstMemory *mem2, gsize *offset);
 
-/**
- * GstMemoryInfo:
- * @mem_type: the memory type this allocator provides
- * @alloc: the implementation of the GstAllocatorAllocFunction
- * @mem_map: the implementation of the GstMemoryMapFunction
- * @mem_unmap: the implementation of the GstMemoryUnmapFunction
- * @mem_free: the implementation of the GstMemoryFreeFunction
- * @mem_copy: the implementation of the GstMemoryCopyFunction
- * @mem_share: the implementation of the GstMemoryShareFunction
- * @mem_is_span: the implementation of the GstMemoryIsSpanFunction
- *
- * The #GstMemoryInfo is used to register new memory allocators and contain
- * the implementations for various memory operations.
- */
-struct _GstMemoryInfo {
-  const gchar              *mem_type;
-
-  GstAllocatorAllocFunction alloc;
-
-  GstMemoryMapFunction      mem_map;
-  GstMemoryUnmapFunction    mem_unmap;
-  GstMemoryFreeFunction     mem_free;
-
-  GstMemoryCopyFunction     mem_copy;
-  GstMemoryShareFunction    mem_share;
-  GstMemoryIsSpanFunction   mem_is_span;
-
-  /*< private >*/
-  gpointer _gst_reserved[GST_PADDING];
-};
-
-/**
- * GstAllocator:
- *
- * An opaque type returned from gst_allocator_new() or gst_allocator_find()
- * that can be used to allocator memory.
- */
-
-/* allocators */
-GstAllocator * gst_allocator_new             (const GstMemoryInfo * info,
-                                              gpointer user_data, GDestroyNotify notify);
-const gchar *  gst_allocator_get_memory_type (GstAllocator * allocator);
-
-GstAllocator * gst_allocator_ref             (GstAllocator * allocator);
-void           gst_allocator_unref           (GstAllocator * allocator);
-
-void           gst_allocator_register        (const gchar *name, GstAllocator *allocator);
-GstAllocator * gst_allocator_find            (const gchar *name);
-
-void           gst_allocator_set_default     (GstAllocator * allocator);
-
-/* allocating memory blocks */
-void           gst_allocation_params_init     (GstAllocationParams *params);
-GstAllocationParams *
-               gst_allocation_params_copy     (const GstAllocationParams *params) G_GNUC_MALLOC;
-void           gst_allocation_params_free     (GstAllocationParams *params);
-
-GstMemory *    gst_allocator_alloc           (GstAllocator * allocator, gsize size,
-                                              GstAllocationParams *params);
-
-GstMemory *    gst_memory_new_wrapped  (GstMemoryFlags flags, gpointer data, gsize maxsize,
-                                        gsize offset, gsize size, gpointer user_data,
-                                        GDestroyNotify notify);
-
+void           gst_memory_init         (GstMemory *mem, GstMemoryFlags flags,
+                                        GstAllocator *allocator, GstMemory *parent,
+                                        gsize maxsize, gsize align,
+                                        gsize offset, gsize size);
 /* refcounting */
-GstMemory *    gst_memory_ref          (GstMemory *mem);
-void           gst_memory_unref        (GstMemory *mem);
+/**
+ * gst_memory_ref:
+ * @memory: The memory to refcount
+ *
+ * Increase the refcount of this memory.
+ *
+ * Returns: (transfer full): @memory (for convenience when doing assignments)
+ */
+#ifdef _FOOL_GTK_DOC_
+G_INLINE_FUNC GstMemory * gst_memory_ref (GstMemory * memory);
+#endif
 
-gboolean       gst_memory_is_exclusive (GstMemory *mem);
+static inline GstMemory *
+gst_memory_ref (GstMemory * memory)
+{
+  return (GstMemory *) gst_mini_object_ref (GST_MINI_OBJECT_CAST (memory));
+}
+
+/**
+ * gst_memory_unref:
+ * @memory: (transfer full): the memory to refcount
+ *
+ * Decrease the refcount of an memory, freeing it if the refcount reaches 0.
+ */
+#ifdef _FOOL_GTK_DOC_
+G_INLINE_FUNC void gst_memory_unref (GstMemory * memory);
+#endif
+
+static inline void
+gst_memory_unref (GstMemory * memory)
+{
+  gst_mini_object_unref (GST_MINI_OBJECT_CAST (memory));
+}
 
 /* getting/setting memory properties */
 gsize          gst_memory_get_sizes    (GstMemory *mem, gsize *offset, gsize *maxsize);
 void           gst_memory_resize       (GstMemory *mem, gssize offset, gsize size);
 
+#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))
+
 /* retrieving data */
 GstMemory *    gst_memory_make_mapped  (GstMemory *mem, GstMapInfo *info, GstMapFlags flags);
 gboolean       gst_memory_map          (GstMemory *mem, GstMapInfo *info, GstMapFlags flags);
diff --git a/gst/gstmessage.c b/gst/gstmessage.c
index 4eef4ac..d7a9735 100644
--- a/gst/gstmessage.c
+++ b/gst/gstmessage.c
@@ -67,7 +67,7 @@
   GstStructure *structure;
 } GstMessageImpl;
 
-#define GST_MESSAGE_STRUCTURE(m) (((GstMessageImpl *)(m))->structure)
+#define GST_MESSAGE_STRUCTURE(m)  (((GstMessageImpl *)(m))->structure)
 
 typedef struct
 {
@@ -105,6 +105,7 @@
   {GST_MESSAGE_QOS, "qos", 0},
   {GST_MESSAGE_PROGRESS, "progress", 0},
   {GST_MESSAGE_TOC, "toc", 0},
+  {GST_MESSAGE_STREAM_START, "stream-start", 0},
   {0, NULL, 0}
 };
 
@@ -198,11 +199,11 @@
     gst_structure_free (structure);
   }
 
-  g_slice_free1 (GST_MINI_OBJECT_SIZE (message), message);
+  g_slice_free1 (sizeof (GstMessageImpl), message);
 }
 
 static void
-gst_message_init (GstMessageImpl * message, gsize size, GstMessageType type,
+gst_message_init (GstMessageImpl * message, GstMessageType type,
     GstObject * src);
 
 static GstMessage *
@@ -217,7 +218,7 @@
 
   copy = g_slice_new0 (GstMessageImpl);
 
-  gst_message_init (copy, sizeof (GstMessageImpl), GST_MESSAGE_TYPE (message),
+  gst_message_init (copy, GST_MESSAGE_TYPE (message),
       GST_MESSAGE_SRC (message));
 
   GST_MESSAGE_TIMESTAMP (copy) = GST_MESSAGE_TIMESTAMP (message);
@@ -236,16 +237,12 @@
 }
 
 static void
-gst_message_init (GstMessageImpl * message, gsize size, GstMessageType type,
+gst_message_init (GstMessageImpl * message, GstMessageType type,
     GstObject * src)
 {
-  gst_mini_object_init (GST_MINI_OBJECT_CAST (message), _gst_message_type,
-      size);
-
-  message->message.mini_object.copy =
-      (GstMiniObjectCopyFunction) _gst_message_copy;
-  message->message.mini_object.free =
-      (GstMiniObjectFreeFunction) _gst_message_free;
+  gst_mini_object_init (GST_MINI_OBJECT_CAST (message), 0, _gst_message_type,
+      (GstMiniObjectCopyFunction) _gst_message_copy, NULL,
+      (GstMiniObjectFreeFunction) _gst_message_free);
 
   GST_MESSAGE_TYPE (message) = type;
   if (src)
@@ -289,7 +286,7 @@
             &message->message.mini_object.refcount))
       goto had_parent;
   }
-  gst_message_init (message, sizeof (GstMessageImpl), type, src);
+  gst_message_init (message, type, src);
 
   GST_MESSAGE_STRUCTURE (message) = structure;
 
@@ -298,7 +295,7 @@
   /* ERRORS */
 had_parent:
   {
-    g_slice_free1 (GST_MINI_OBJECT_SIZE (message), message);
+    g_slice_free1 (sizeof (GstMessageImpl), message);
     g_warning ("structure is already owned by another object");
     return NULL;
   }
@@ -324,8 +321,6 @@
  * Returns: The message's sequence number.
  *
  * MT safe.
- *
- * Since: 0.10.22
  */
 guint32
 gst_message_get_seqnum (GstMessage * message)
@@ -347,8 +342,6 @@
  * for more information.
  *
  * MT safe.
- *
- * Since: 0.10.22
  */
 void
 gst_message_set_seqnum (GstMessage * message, guint32 seqnum)
@@ -448,8 +441,6 @@
  * MT safe.
  *
  * Returns: (transfer full): the new info message.
- *
- * Since: 0.10.12
  */
 GstMessage *
 gst_message_new_info (GstObject * src, GError * error, const gchar * debug)
@@ -508,29 +499,29 @@
  * The application must be prepared to receive BUFFERING messages in the
  * PREROLLING state and may only set the pipeline to PLAYING after receiving a
  * message with @percent set to 100, which can happen after the pipeline
- * completed prerolling. 
+ * completed prerolling.
  *
  * MT safe.
  *
  * Returns: (transfer full): The new buffering message.
- *
- * Since: 0.10.11
  */
 GstMessage *
 gst_message_new_buffering (GstObject * src, gint percent)
 {
   GstMessage *message;
   GstStructure *structure;
+  gint64 buffering_left;
 
   g_return_val_if_fail (percent >= 0 && percent <= 100, NULL);
 
+  buffering_left = (percent == 100 ? 0 : -1);
+
   structure = gst_structure_new_id (GST_QUARK (MESSAGE_BUFFERING),
       GST_QUARK (BUFFER_PERCENT), G_TYPE_INT, percent,
       GST_QUARK (BUFFERING_MODE), GST_TYPE_BUFFERING_MODE, GST_BUFFERING_STREAM,
       GST_QUARK (AVG_IN_RATE), G_TYPE_INT, -1,
       GST_QUARK (AVG_OUT_RATE), G_TYPE_INT, -1,
-      GST_QUARK (BUFFERING_LEFT), G_TYPE_INT64, G_GINT64_CONSTANT (-1),
-      GST_QUARK (ESTIMATED_TOTAL), G_TYPE_INT64, G_GINT64_CONSTANT (-1), NULL);
+      GST_QUARK (BUFFERING_LEFT), G_TYPE_INT64, buffering_left, NULL);
   message = gst_message_new_custom (GST_MESSAGE_BUFFERING, src, structure);
 
   return message;
@@ -557,7 +548,7 @@
   GstMessage *message;
   GstStructure *structure;
 
-  structure = gst_structure_new_id (GST_QUARK (MESSAGE_STATE),
+  structure = gst_structure_new_id (GST_QUARK (MESSAGE_STATE_CHANGED),
       GST_QUARK (OLD_STATE), GST_TYPE_STATE, (gint) oldstate,
       GST_QUARK (NEW_STATE), GST_TYPE_STATE, (gint) newstate,
       GST_QUARK (PENDING_STATE), GST_TYPE_STATE, (gint) pending, NULL);
@@ -690,8 +681,6 @@
  * Returns: (transfer full): the new structure change message.
  *
  * MT safe.
- *
- * Since: 0.10.22.
  */
 GstMessage *
 gst_message_new_structure_change (GstObject * src, GstStructureChangeType type,
@@ -870,24 +859,26 @@
 /**
  * gst_message_new_async_done:
  * @src: (transfer none): The object originating the message.
- * @reset_time: if the running_time should be reset
+ * @running_time: the desired running_time
  *
  * The message is posted when elements completed an ASYNC state change.
- * @reset_time is set to TRUE when the element requests a new running_time
- * before going to PLAYING.
+ * @running_time contains the time of the desired running_time when this
+ * elements goes to PLAYING. A value of #GST_CLOCK_TIME_NONE for @running_time
+ * means that the element has no clock interaction and thus doesn't care about
+ * the running_time of the pipeline.
  *
  * Returns: (transfer full): The new async_done message.
  *
  * MT safe.
  */
 GstMessage *
-gst_message_new_async_done (GstObject * src, gboolean reset_time)
+gst_message_new_async_done (GstObject * src, GstClockTime running_time)
 {
   GstMessage *message;
   GstStructure *structure;
 
   structure = gst_structure_new_id (GST_QUARK (MESSAGE_ASYNC_DONE),
-      GST_QUARK (RESET_TIME), G_TYPE_BOOLEAN, reset_time, NULL);
+      GST_QUARK (RUNNING_TIME), G_TYPE_UINT64, running_time, NULL);
   message = gst_message_new_custom (GST_MESSAGE_ASYNC_DONE, src, structure);
 
   return message;
@@ -903,8 +894,6 @@
  * Returns: (transfer full): The new latency message.
  *
  * MT safe.
- *
- * Since: 0.10.12
  */
 GstMessage *
 gst_message_new_latency (GstObject * src)
@@ -928,8 +917,6 @@
  * Returns: (transfer full): the new requst state message.
  *
  * MT safe.
- *
- * Since: 0.10.23
  */
 GstMessage *
 gst_message_new_request_state (GstObject * src, GstState state)
@@ -973,8 +960,6 @@
  * check the name of a custom message.
  *
  * Returns: %TRUE if @name matches the name of the message structure.
- *
- * Since: 0.10.20
  */
 gboolean
 gst_message_has_name (GstMessage * message, const gchar * name)
@@ -1038,8 +1023,6 @@
  * gst_message_new_buffering().
  *
  * MT safe.
- *
- * Since: 0.10.11
  */
 void
 gst_message_parse_buffering (GstMessage * message, gint * percent)
@@ -1062,8 +1045,6 @@
  * @buffering_left: amount of buffering time left in milliseconds
  *
  * Configures the buffering stats values in @message.
- *
- * Since: 0.10.20
  */
 void
 gst_message_set_buffering_stats (GstMessage * message, GstBufferingMode mode,
@@ -1088,8 +1069,6 @@
  *     milliseconds, or NULL
  *
  * Extracts the buffering stats values from @message.
- *
- * Since: 0.10.20
  */
 void
 gst_message_parse_buffering_stats (GstMessage * message,
@@ -1275,8 +1254,6 @@
  * Extracts the change type and completion status from the GstMessage.
  *
  * MT safe.
- *
- * Since: 0.10.22
  */
 void
 gst_message_parse_structure_change (GstMessage * message,
@@ -1416,8 +1393,6 @@
  * in the output arguments are copies; the caller must free them when done.
  *
  * MT safe.
- *
- * Since: 0.10.12
  */
 void
 gst_message_parse_info (GstMessage * message, GError ** gerror, gchar ** debug)
@@ -1542,14 +1517,14 @@
 /**
  * gst_message_parse_async_done:
  * @message: A valid #GstMessage of type GST_MESSAGE_ASYNC_DONE.
- * @reset_time: (out): Result location for the reset_time or NULL
+ * @running_time: (out): Result location for the running_time or NULL
  *
- * Extract the reset_time from the async_done message.
+ * Extract the running_time from the async_done message.
  *
  * MT safe.
  */
 void
-gst_message_parse_async_done (GstMessage * message, gboolean * reset_time)
+gst_message_parse_async_done (GstMessage * message, GstClockTime * running_time)
 {
   GstStructure *structure;
 
@@ -1557,10 +1532,10 @@
   g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_ASYNC_DONE);
 
   structure = GST_MESSAGE_STRUCTURE (message);
-  if (reset_time)
-    *reset_time =
-        g_value_get_boolean (gst_structure_id_get_value (structure,
-            GST_QUARK (RESET_TIME)));
+  if (running_time)
+    *running_time =
+        g_value_get_uint64 (gst_structure_id_get_value (structure,
+            GST_QUARK (RUNNING_TIME)));
 }
 
 /**
@@ -1571,8 +1546,6 @@
  * Extract the requested state from the request_state message.
  *
  * MT safe.
- *
- * Since: 0.10.23
  */
 void
 gst_message_parse_request_state (GstMessage * message, GstState * state)
@@ -1601,8 +1574,6 @@
  * Returns: (transfer full): the new stream status message.
  *
  * MT safe.
- *
- * Since: 0.10.24.
  */
 GstMessage *
 gst_message_new_stream_status (GstObject * src, GstStreamStatusType type,
@@ -1630,8 +1601,6 @@
  * should thus not be unreffed.
  *
  * MT safe.
- *
- * Since: 0.10.24.
  */
 void
 gst_message_parse_stream_status (GstMessage * message,
@@ -1662,8 +1631,6 @@
  *
  * Configures the object handling the streaming thread. This is usually a
  * GstTask object but other objects might be added in the future.
- *
- * Since: 0.10.24
  */
 void
 gst_message_set_stream_status_object (GstMessage * message,
@@ -1687,8 +1654,6 @@
  * Returns: a GValue containing the object that manages the streaming thread.
  * This object is usually of type GstTask but other types can be added in the
  * future. The object remains valid as long as @message is valid.
- *
- * Since: 0.10.24
  */
 const GValue *
 gst_message_get_stream_status_object (GstMessage * message)
@@ -1726,8 +1691,6 @@
  * Returns: (transfer full): the new step_done message.
  *
  * MT safe.
- *
- * Since: 0.10.24
  */
 GstMessage *
 gst_message_new_step_done (GstObject * src, GstFormat format, guint64 amount,
@@ -1764,8 +1727,6 @@
  * Extract the values the step_done message.
  *
  * MT safe.
- *
- * Since: 0.10.24
  */
 void
 gst_message_parse_step_done (GstMessage * message, GstFormat * format,
@@ -1812,8 +1773,6 @@
  * Returns: (transfer full): The new step_start message. 
  *
  * MT safe.
- *
- * Since: 0.10.24
  */
 GstMessage *
 gst_message_new_step_start (GstObject * src, gboolean active, GstFormat format,
@@ -1847,8 +1806,6 @@
  * Extract the values from step_start message.
  *
  * MT safe.
- *
- * Since: 0.10.24
  */
 void
 gst_message_parse_step_start (GstMessage * message, gboolean * active,
@@ -1896,8 +1853,6 @@
  * Returns: (transfer full): The new qos message.
  *
  * MT safe.
- *
- * Since: 0.10.29
  */
 GstMessage *
 gst_message_new_qos (GstObject * src, gboolean live, guint64 running_time,
@@ -1935,8 +1890,6 @@
  * Set the QoS values that have been calculated/analysed from the QoS data
  *
  * MT safe.
- *
- * Since: 0.10.29
  */
 void
 gst_message_set_qos_values (GstMessage * message, gint64 jitter,
@@ -1972,8 +1925,6 @@
  * invalid. Values of -1 for either @processed or @dropped mean unknown values.
  *
  * MT safe.
- *
- * Since: 0.10.29
  */
 void
 gst_message_set_qos_stats (GstMessage * message, GstFormat format,
@@ -2011,8 +1962,6 @@
  * values.
  *
  * MT safe.
- *
- * Since: 0.10.29
  */
 void
 gst_message_parse_qos (GstMessage * message, gboolean * live,
@@ -2047,8 +1996,6 @@
  * Extract the QoS values that have been calculated/analysed from the QoS data
  *
  * MT safe.
- *
- * Since: 0.10.29
  */
 void
 gst_message_parse_qos_values (GstMessage * message, gint64 * jitter,
@@ -2085,8 +2032,6 @@
  * invalid. Values of -1 for either @processed or @dropped mean unknown values.
  *
  * MT safe.
- *
- * Since: 0.10.29
  */
 void
 gst_message_parse_qos_stats (GstMessage * message, GstFormat * format,
@@ -2118,8 +2063,6 @@
  * @test should contain a user visible string detailing the current action.
  *
  * Returns: (transfer full): The new qos message.
- *
- * Since: 0.10.33
  */
 GstMessage *
 gst_message_new_progress (GstObject * src, GstProgressType type,
@@ -2154,8 +2097,6 @@
  * @text: (out) (allow-none) (transfer full): location for the text
  *
  * Parses the progress @type, @code and @text.
- *
- * Since: 0.10.33
  */
 void
 gst_message_parse_progress (GstMessage * message, GstProgressType * type,
@@ -2176,17 +2117,15 @@
 /**
  * gst_message_new_toc:
  * @src: the object originating the message.
- * @toc: #GstToc structure for the message.
+ * @toc: (transfer none): #GstToc structure for the message.
  * @updated: whether TOC was updated or not.
  *
  * Create a new TOC message. The message is posted by elements
  * that discovered or updated a TOC.
  *
- * Returns: a new TOC message.
+ * Returns: (transfer full): a new TOC message.
  *
  * MT safe.
- *
- * Since: 0.10.37
  */
 GstMessage *
 gst_message_new_toc (GstObject * src, GstToc * toc, gboolean updated)
@@ -2195,28 +2134,24 @@
 
   g_return_val_if_fail (toc != NULL, NULL);
 
-  toc_struct = __gst_toc_to_structure (toc);
+  toc_struct = gst_structure_new_id (GST_QUARK (MESSAGE_TOC),
+      GST_QUARK (TOC), GST_TYPE_TOC, toc,
+      GST_QUARK (UPDATED), G_TYPE_BOOLEAN, updated, NULL);
 
-  if (G_LIKELY (toc_struct != NULL)) {
-    __gst_toc_structure_set_updated (toc_struct, updated);
-    return gst_message_new_custom (GST_MESSAGE_TOC, src, toc_struct);
-  } else
-    return NULL;
+  return gst_message_new_custom (GST_MESSAGE_TOC, src, toc_struct);
 }
 
 /**
  * gst_message_parse_toc:
  * @message: a valid #GstMessage of type GST_MESSAGE_TOC.
- * @toc: (out): return location for the TOC.
+ * @toc: (out) (transfer full): return location for the TOC.
  * @updated: (out): return location for the updated flag.
  *
  * Extract thef TOC from the #GstMessage. The TOC returned in the
  * output argument is a copy; the caller must free it with
- * gst_toc_free() when done.
+ * gst_toc_unref() when done.
  *
  * MT safe.
- *
- * Since: 0.10.37
  */
 void
 gst_message_parse_toc (GstMessage * message, GstToc ** toc, gboolean * updated)
@@ -2225,9 +2160,78 @@
   g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_TOC);
   g_return_if_fail (toc != NULL);
 
-  *toc = __gst_toc_from_structure (GST_MESSAGE_STRUCTURE (message));
+  gst_structure_id_get (GST_MESSAGE_STRUCTURE (message),
+      GST_QUARK (TOC), GST_TYPE_TOC, toc,
+      GST_QUARK (UPDATED), G_TYPE_BOOLEAN, updated, NULL);
+}
 
-  if (updated != NULL)
-    *updated =
-        __gst_toc_structure_get_updated (GST_MESSAGE_STRUCTURE (message));
+/**
+ * gst_message_new_reset_time:
+ * @src: (transfer none): The object originating the message.
+ * @running_time: the requested running-time
+ *
+ * This message is posted when the pipeline running-time should be reset to
+ * @running_time, like after a flushing seek.
+ *
+ * Returns: (transfer full): The new reset_time message.
+ *
+ * MT safe.
+ */
+GstMessage *
+gst_message_new_reset_time (GstObject * src, GstClockTime running_time)
+{
+  GstMessage *message;
+  GstStructure *structure;
+
+  structure = gst_structure_new_id (GST_QUARK (MESSAGE_RESET_TIME),
+      GST_QUARK (RUNNING_TIME), G_TYPE_UINT64, running_time, NULL);
+  message = gst_message_new_custom (GST_MESSAGE_RESET_TIME, src, structure);
+
+  return message;
+}
+
+/**
+ * gst_message_parse_reset_time:
+ * @message: A valid #GstMessage of type GST_MESSAGE_RESET_TIME.
+ * @running_time: (out): Result location for the running_time or NULL
+ *
+ * Extract the running-time from the RESET_TIME message.
+ *
+ * MT safe.
+ */
+void
+gst_message_parse_reset_time (GstMessage * message, GstClockTime * running_time)
+{
+  GstStructure *structure;
+
+  g_return_if_fail (GST_IS_MESSAGE (message));
+  g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_RESET_TIME);
+
+  structure = GST_MESSAGE_STRUCTURE (message);
+  if (running_time)
+    *running_time =
+        g_value_get_uint64 (gst_structure_id_get_value (structure,
+            GST_QUARK (RUNNING_TIME)));
+}
+
+/**
+ * gst_message_new_stream_start:
+ * @src: (transfer none): The object originating the message.
+ *
+ * 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.
+ *
+ * Returns: (transfer full): The new stream_start message.
+ *
+ * MT safe.
+ */
+GstMessage *
+gst_message_new_stream_start (GstObject * src)
+{
+  GstMessage *message;
+
+  message = gst_message_new_custom (GST_MESSAGE_STREAM_START, src, NULL);
+
+  return message;
 }
diff --git a/gst/gstmessage.h b/gst/gstmessage.h
index b7046e1..185a3f2 100644
--- a/gst/gstmessage.h
+++ b/gst/gstmessage.h
@@ -75,21 +75,21 @@
  * 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. Since: 0.10.13.
+ * internally.
  * @GST_MESSAGE_ASYNC_DONE: Posted by elements when they complete an ASYNC
  * #GstStateChange. The application will only receive this message from the toplevel
- * pipeline. Since: 0.10.13
+ * pipeline.
  * @GST_MESSAGE_LATENCY: Posted by elements when their latency changes. The
- * application should recalculate and distribute a new latency. Since: 0.10.12
+ * application should recalculate and distribute a new latency.
  * @GST_MESSAGE_REQUEST_STATE: Posted by elements when they want the pipeline to
  * change state. This message is a suggestion to the application which can
- * decide to perform the state change on (part of) the pipeline. Since: 0.10.23.
- * @GST_MESSAGE_STEP_START: A stepping operation was started. Since: 0.10.24
+ * decide to perform the state change on (part of) the pipeline.
+ * @GST_MESSAGE_STEP_START: A stepping operation was started.
  * @GST_MESSAGE_QOS: A buffer was dropped or an element changed its processing
- * strategy for Quality of Service reasons. Since: 0.10.29
- * @GST_MESSAGE_PROGRESS: A progress message. Since: 0.10.33
+ * 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: 0.10.37
+ * was updated. Since:
  * @GST_MESSAGE_ANY: mask for all of the above messages.
  *
  * The different message types that are available.
@@ -127,6 +127,8 @@
   GST_MESSAGE_QOS               = (1 << 24),
   GST_MESSAGE_PROGRESS          = (1 << 25),
   GST_MESSAGE_TOC               = (1 << 26),
+  GST_MESSAGE_RESET_TIME        = (1 << 27),
+  GST_MESSAGE_STREAM_START      = (1 << 28),
   GST_MESSAGE_ANY               = ~0
 } GstMessageType;
 
@@ -165,8 +167,6 @@
  * @message: a #GstMessage
  *
  * Get a constant string representation of the #GstMessageType of @message.
- *
- * Since: 0.10.4
  */
 #define GST_MESSAGE_TYPE_NAME(message)  gst_message_type_get_name(GST_MESSAGE_TYPE(message))
 /**
@@ -199,8 +199,6 @@
  *
  * Get the name of the object that posted @message. Returns "(NULL)" if
  * the message has no source object set.
- *
- * Since: 0.10.24
  */
 #define GST_MESSAGE_SRC_NAME(message)   (GST_MESSAGE_SRC(message) ? \
     GST_OBJECT_NAME (GST_MESSAGE_SRC(message)) : "(NULL)")
@@ -211,8 +209,6 @@
  * @GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK: Pad unlinking is starting or done.
  *
  * The type of a %GST_MESSAGE_STRUCTURE_CHANGE.
- *
- * Since: 0.10.22
  */
 typedef enum {
   GST_STRUCTURE_CHANGE_TYPE_PAD_LINK   = 0,
@@ -231,8 +227,6 @@
  *
  * The type of a %GST_MESSAGE_STREAM_STATUS. The stream status messages inform the
  * application of new streaming threads and their status.
- *
- * Since: 0.10.24
  */
 typedef enum {
   GST_STREAM_STATUS_TYPE_CREATE   = 0,
@@ -256,8 +250,6 @@
  *
  * The type of a %GST_MESSAGE_PROGRESS. The progress messages inform the
  * application of the status of assynchronous tasks.
- *
- * Since: 0.10.33
  */
 typedef enum {
   GST_PROGRESS_TYPE_START    = 0,
@@ -501,8 +493,8 @@
 GstMessage *    gst_message_new_async_start     (GstObject * src) G_GNUC_MALLOC;
 
 /* ASYNC_DONE */
-GstMessage *    gst_message_new_async_done      (GstObject * src, gboolean reset_time) G_GNUC_MALLOC;
-void            gst_message_parse_async_done    (GstMessage *message, gboolean *reset_time);
+GstMessage *    gst_message_new_async_done      (GstObject * src, GstClockTime running_time) G_GNUC_MALLOC;
+void            gst_message_parse_async_done    (GstMessage *message, GstClockTime *running_time);
 
 /* STRUCTURE CHANGE */
 GstMessage *    gst_message_new_structure_change   (GstObject * src, GstStructureChangeType type,
@@ -553,6 +545,13 @@
 GstMessage *    gst_message_new_toc             (GstObject *src, GstToc *toc, gboolean updated);
 void            gst_message_parse_toc           (GstMessage *message, GstToc **toc, gboolean *updated);
 
+/* RESET_TIME */
+GstMessage *    gst_message_new_reset_time      (GstObject * src, GstClockTime running_time) G_GNUC_MALLOC;
+void            gst_message_parse_reset_time    (GstMessage *message, GstClockTime *running_time);
+
+/* STREAM_START */
+GstMessage *    gst_message_new_stream_start    (GstObject * src) G_GNUC_MALLOC;
+
 G_END_DECLS
 
 #endif /* __GST_MESSAGE_H__ */
diff --git a/gst/gstmeta.c b/gst/gstmeta.c
index 8f4a543..2ac6964 100644
--- a/gst/gstmeta.c
+++ b/gst/gstmeta.c
@@ -124,9 +124,9 @@
  * @api: the type of the #GstMeta API
  * @impl: the name of the #GstMeta implementation
  * @size: the size of the #GstMeta structure
- * @init_func: a #GstMetaInitFunction
- * @free_func: a #GstMetaFreeFunction
- * @transform_func: a #GstMetaTransformFunction
+ * @init_func: (scope async) a #GstMetaInitFunction
+ * @free_func: (scope async) a #GstMetaFreeFunction
+ * @transform_func: (scope async) a #GstMetaTransformFunction
  *
  * Register a new #GstMeta implementation.
  *
diff --git a/gst/gstminiobject.c b/gst/gstminiobject.c
index 55d846b..14b55de 100644
--- a/gst/gstminiobject.c
+++ b/gst/gstminiobject.c
@@ -40,7 +40,15 @@
  * object. gst_mini_object_make_writable() will return a writable version of the
  * object, which might be a new copy when the refcount was not 1.
  *
- * Last reviewed on 2012-03-28 (0.11.3)
+ * Opaque data can be associated with a #GstMiniObject with
+ * gst_mini_object_set_qdata() and gst_mini_object_get_qdata(). The data is
+ * meant to be specific to the particular object and is not automatically copied
+ * with gst_mini_object_copy() or similar methods.
+ *
+ * A weak reference can be added and remove with gst_mini_object_weak_ref()
+ * and gst_mini_object_weak_unref() respectively.
+ *
+ * Last reviewed on 2012-06-15 (0.11.93)
  */
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -57,37 +65,71 @@
 #endif
 
 /* Mutex used for weak referencing */
-G_LOCK_DEFINE_STATIC (weak_refs_mutex);
+G_LOCK_DEFINE_STATIC (qdata_mutex);
+static GQuark weak_ref_quark;
+
+#define SHARE_ONE (1 << 16)
+#define SHARE_TWO (2 << 16)
+#define SHARE_MASK (~(SHARE_ONE - 1))
+#define IS_SHARED(state) (state >= SHARE_TWO)
+#define LOCK_ONE (GST_LOCK_FLAG_LAST)
+#define FLAG_MASK (GST_LOCK_FLAG_LAST - 1)
+#define LOCK_MASK ((SHARE_ONE - 1) - FLAG_MASK)
+#define LOCK_FLAG_MASK (SHARE_ONE - 1)
+
+typedef struct
+{
+  GQuark quark;
+  GstMiniObjectNotify notify;
+  gpointer data;
+  GDestroyNotify destroy;
+} GstQData;
+
+#define QDATA(o,i)          ((GstQData *)(o)->qdata)[(i)]
+#define QDATA_QUARK(o,i)    (QDATA(o,i).quark)
+#define QDATA_NOTIFY(o,i)   (QDATA(o,i).notify)
+#define QDATA_DATA(o,i)     (QDATA(o,i).data)
+#define QDATA_DESTROY(o,i)  (QDATA(o,i).destroy)
 
 void
 _priv_gst_mini_object_initialize (void)
 {
+  weak_ref_quark = g_quark_from_static_string ("GstMiniObjectWeakRefQuark");
+
 #ifndef GST_DISABLE_TRACE
   _gst_mini_object_trace = _gst_alloc_trace_register ("GstMiniObject", 0);
 #endif
 }
 
 /**
- * gst_mini_object_init:
- * @mini_object: a #GstMiniObject 
+ * gst_mini_object_init: (skip)
+ * @mini_object: a #GstMiniObject
  * @type: the #GType of the mini-object to create
- * @size: the size of the data
+ * @copy_func: the copy function, or NULL
+ * @dispose_func: the dispose function, or NULL
+ * @free_func: the free function or NULL
  *
- * Initializes a mini-object with the desired type and size.
- *
- * MT safe
- *
- * Returns: (transfer full): the new mini-object.
+ * Initializes a mini-object with the desired type and copy/dispose/free
+ * functions.
  */
 void
-gst_mini_object_init (GstMiniObject * mini_object, GType type, gsize size)
+gst_mini_object_init (GstMiniObject * mini_object, guint flags, GType type,
+    GstMiniObjectCopyFunction copy_func,
+    GstMiniObjectDisposeFunction dispose_func,
+    GstMiniObjectFreeFunction free_func)
 {
   mini_object->type = type;
   mini_object->refcount = 1;
-  mini_object->flags = 0;
-  mini_object->size = size;
-  mini_object->n_weak_refs = 0;
-  mini_object->weak_refs = NULL;
+  mini_object->lockstate =
+      (flags & GST_MINI_OBJECT_FLAG_LOCK_READONLY ? GST_LOCK_FLAG_READ : 0);
+  mini_object->flags = flags;
+
+  mini_object->copy = copy_func;
+  mini_object->dispose = dispose_func;
+  mini_object->free = free_func;
+
+  mini_object->n_qdata = 0;
+  mini_object->qdata = NULL;
 
 #ifndef GST_DISABLE_TRACE
   _gst_alloc_trace_new (_gst_mini_object_trace, mini_object);
@@ -120,23 +162,136 @@
 }
 
 /**
+ * gst_mini_object_lock:
+ * @object: the mini-object to lock
+ * @flags: #GstLockFlags
+ *
+ * Lock the mini-object with the specified access mode in @flags.
+ *
+ * Returns: %TRUE if @object could be locked.
+ */
+gboolean
+gst_mini_object_lock (GstMiniObject * object, GstLockFlags flags)
+{
+  gint access_mode, state, newstate;
+
+  g_return_val_if_fail (object != NULL, FALSE);
+  g_return_val_if_fail (GST_MINI_OBJECT_IS_LOCKABLE (object), FALSE);
+
+  do {
+    access_mode = flags & FLAG_MASK;
+    newstate = state = g_atomic_int_get (&object->lockstate);
+
+    GST_CAT_TRACE (GST_CAT_LOCKING, "lock %p: state %08x, access_mode %d",
+        object, state, access_mode);
+
+    if (access_mode & GST_LOCK_FLAG_EXCLUSIVE) {
+      /* shared ref */
+      newstate += SHARE_ONE;
+      access_mode &= ~GST_LOCK_FLAG_EXCLUSIVE;
+    }
+
+    if (access_mode) {
+      /* shared counter > 1 and write access is not allowed */
+      if (access_mode & GST_LOCK_FLAG_WRITE && IS_SHARED (state))
+        goto lock_failed;
+
+      if ((state & LOCK_FLAG_MASK) == 0) {
+        /* nothing mapped, set access_mode */
+        newstate |= access_mode;
+      } else {
+        /* access_mode must match */
+        if ((state & access_mode) != access_mode)
+          goto lock_failed;
+      }
+      /* increase refcount */
+      newstate += LOCK_ONE;
+    }
+  } while (!g_atomic_int_compare_and_exchange (&object->lockstate, state,
+          newstate));
+
+  return TRUE;
+
+lock_failed:
+  {
+    GST_CAT_DEBUG (GST_CAT_LOCKING,
+        "lock failed %p: state %08x, access_mode %d", object, state,
+        access_mode);
+    return FALSE;
+  }
+}
+
+/**
+ * gst_mini_object_unlock:
+ * @object: the mini-object to unlock
+ * @flags: #GstLockFlags
+ *
+ * Unlock the mini-object with the specified access mode in @flags.
+ */
+void
+gst_mini_object_unlock (GstMiniObject * object, GstLockFlags flags)
+{
+  gint access_mode, state, newstate;
+
+  g_return_if_fail (object != NULL);
+  g_return_if_fail (GST_MINI_OBJECT_IS_LOCKABLE (object));
+
+  do {
+    access_mode = flags & FLAG_MASK;
+    newstate = state = g_atomic_int_get (&object->lockstate);
+
+    GST_CAT_TRACE (GST_CAT_LOCKING, "unlock %p: state %08x, access_mode %d",
+        object, state, access_mode);
+
+    if (access_mode & GST_LOCK_FLAG_EXCLUSIVE) {
+      /* shared counter */
+      g_return_if_fail (state >= SHARE_ONE);
+      newstate -= SHARE_ONE;
+      access_mode &= ~GST_LOCK_FLAG_EXCLUSIVE;
+    }
+
+    if (access_mode) {
+      g_return_if_fail ((state & access_mode) == access_mode);
+      /* decrease the refcount */
+      newstate -= LOCK_ONE;
+      /* last refcount, unset access_mode */
+      if ((newstate & LOCK_FLAG_MASK) == access_mode)
+        newstate &= ~LOCK_FLAG_MASK;
+    }
+  } while (!g_atomic_int_compare_and_exchange (&object->lockstate, state,
+          newstate));
+}
+
+/**
  * gst_mini_object_is_writable:
  * @mini_object: the mini-object to check
  *
- * Checks if a mini-object is writable.  A mini-object is writable
- * if the reference count is one. Modification of a mini-object should
- * only be done after verifying that it is writable.
+ * If @mini_object has the LOCKABLE flag set, check if the current EXCLUSIVE
+ * lock on @object is the only one, this means that changes to the object will
+ * not be visible to any other object.
  *
- * MT safe
+ * If the LOCKABLE flag is not set, check if the refcount of @mini_object is
+ * exactly 1, meaning that no other reference exists to the object and that the
+ * object is therefore writable.
+ *
+ * Modification of a mini-object should only be done after verifying that it
+ * is writable.
  *
  * Returns: TRUE if the object is writable.
  */
 gboolean
 gst_mini_object_is_writable (const GstMiniObject * mini_object)
 {
+  gboolean result;
+
   g_return_val_if_fail (mini_object != NULL, FALSE);
 
-  return (GST_MINI_OBJECT_REFCOUNT_VALUE (mini_object) == 1);
+  if (GST_MINI_OBJECT_IS_LOCKABLE (mini_object)) {
+    result = (g_atomic_int_get (&mini_object->lockstate) & SHARE_MASK) < 2;
+  } else {
+    result = (GST_MINI_OBJECT_REFCOUNT_VALUE (mini_object) == 1);
+  }
+  return result;
 }
 
 /**
@@ -205,14 +360,62 @@
   return mini_object;
 }
 
-static void
-weak_refs_notify (GstMiniObject * obj)
+static gint
+find_notify (GstMiniObject * object, GQuark quark, gboolean match_notify,
+    GstMiniObjectNotify notify, gpointer data)
 {
   guint i;
 
-  for (i = 0; i < obj->n_weak_refs; i++)
-    obj->weak_refs[i].notify (obj->weak_refs[i].data, obj);
-  g_free (obj->weak_refs);
+  for (i = 0; i < object->n_qdata; i++) {
+    if (QDATA_QUARK (object, i) == quark) {
+      /* check if we need to match the callback too */
+      if (!match_notify || (QDATA_NOTIFY (object, i) == notify &&
+              QDATA_DATA (object, i) == data))
+        return i;
+    }
+  }
+  return -1;
+}
+
+static void
+remove_notify (GstMiniObject * object, gint index)
+{
+  /* remove item */
+  if (--object->n_qdata == 0) {
+    /* we don't shrink but free when everything is gone */
+    g_free (object->qdata);
+    object->qdata = NULL;
+  } else if (index != object->n_qdata)
+    QDATA (object, index) = QDATA (object, object->n_qdata);
+}
+
+static void
+set_notify (GstMiniObject * object, gint index, GQuark quark,
+    GstMiniObjectNotify notify, gpointer data, GDestroyNotify destroy)
+{
+  if (index == -1) {
+    /* add item */
+    index = object->n_qdata++;
+    object->qdata =
+        g_realloc (object->qdata, sizeof (GstQData) * object->n_qdata);
+  }
+  QDATA_QUARK (object, index) = quark;
+  QDATA_NOTIFY (object, index) = notify;
+  QDATA_DATA (object, index) = data;
+  QDATA_DESTROY (object, index) = destroy;
+}
+
+static void
+call_finalize_notify (GstMiniObject * obj)
+{
+  guint i;
+
+  for (i = 0; i < obj->n_qdata; i++) {
+    if (QDATA_QUARK (obj, i) == weak_ref_quark)
+      QDATA_NOTIFY (obj, i) (QDATA_DATA (obj, i), obj);
+    if (QDATA_DESTROY (obj, i))
+      QDATA_DESTROY (obj, i) (QDATA_DATA (obj, i));
+  }
 }
 
 /**
@@ -245,10 +448,14 @@
     /* if the subclass recycled the object (and returned FALSE) we don't
      * want to free the instance anymore */
     if (G_LIKELY (do_free)) {
-      /* The weak reference stack is freed in the notification function */
-      if (mini_object->n_weak_refs)
-        weak_refs_notify (mini_object);
+      /* there should be no outstanding locks */
+      g_return_if_fail ((g_atomic_int_get (&mini_object->lockstate) & LOCK_MASK)
+          < 4);
 
+      if (mini_object->n_qdata) {
+        call_finalize_notify (mini_object);
+        g_free (mini_object->qdata);
+      }
 #ifndef GST_DISABLE_TRACE
       _gst_alloc_trace_free (_gst_mini_object_trace, mini_object);
 #endif
@@ -385,44 +592,18 @@
  * to the mini object without calling gst_mini_object_ref()
  * (gst_mini_object_ref() adds a strong reference, that is, forces the object
  * to stay alive).
- *
- * Since: 0.10.35
  */
 void
 gst_mini_object_weak_ref (GstMiniObject * object,
-    GstMiniObjectWeakNotify notify, gpointer data)
+    GstMiniObjectNotify notify, gpointer data)
 {
-  guint i;
-
   g_return_if_fail (object != NULL);
   g_return_if_fail (notify != NULL);
   g_return_if_fail (GST_MINI_OBJECT_REFCOUNT_VALUE (object) >= 1);
 
-  G_LOCK (weak_refs_mutex);
-
-  if (object->n_weak_refs) {
-    /* Don't add the weak reference if it already exists. */
-    for (i = 0; i < object->n_weak_refs; i++) {
-      if (object->weak_refs[i].notify == notify &&
-          object->weak_refs[i].data == data) {
-        g_warning ("%s: Attempt to re-add existing weak ref %p(%p) failed.",
-            G_STRFUNC, notify, data);
-        goto found;
-      }
-    }
-
-    i = object->n_weak_refs++;
-    object->weak_refs =
-        g_realloc (object->weak_refs, sizeof (object->weak_refs[0]) * i);
-  } else {
-    object->weak_refs = g_malloc0 (sizeof (object->weak_refs[0]));
-    object->n_weak_refs = 1;
-    i = 0;
-  }
-  object->weak_refs[i].notify = notify;
-  object->weak_refs[i].data = data;
-found:
-  G_UNLOCK (weak_refs_mutex);
+  G_LOCK (qdata_mutex);
+  set_notify (object, -1, weak_ref_quark, notify, data, NULL);
+  G_UNLOCK (qdata_mutex);
 }
 
 /**
@@ -431,36 +612,132 @@
  * @notify: callback to search for
  * @data: data to search for
  *
- * Removes a weak reference callback to a mini object.
- *
- * Since: 0.10.35
+ * Removes a weak reference callback from a mini object.
  */
 void
 gst_mini_object_weak_unref (GstMiniObject * object,
-    GstMiniObjectWeakNotify notify, gpointer data)
+    GstMiniObjectNotify notify, gpointer data)
 {
-  gboolean found_one = FALSE;
+  gint i;
 
   g_return_if_fail (object != NULL);
   g_return_if_fail (notify != NULL);
 
-  G_LOCK (weak_refs_mutex);
-
-  if (object->n_weak_refs) {
-    guint i;
-
-    for (i = 0; i < object->n_weak_refs; i++)
-      if (object->weak_refs[i].notify == notify &&
-          object->weak_refs[i].data == data) {
-        found_one = TRUE;
-        object->n_weak_refs -= 1;
-        if (i != object->n_weak_refs)
-          object->weak_refs[i] = object->weak_refs[object->n_weak_refs];
-
-        break;
-      }
-  }
-  G_UNLOCK (weak_refs_mutex);
-  if (!found_one)
+  G_LOCK (qdata_mutex);
+  if ((i = find_notify (object, weak_ref_quark, TRUE, notify, data)) != -1) {
+    remove_notify (object, i);
+  } else {
     g_warning ("%s: couldn't find weak ref %p(%p)", G_STRFUNC, notify, data);
+  }
+  G_UNLOCK (qdata_mutex);
+}
+
+/**
+ * gst_mini_object_set_qdata:
+ * @object: a #GstMiniObject
+ * @quark: A #GQuark, naming the user data pointer
+ * @data: An opaque user data pointer
+ * @destroy: Function to invoke with @data as argument, when @data
+ *           needs to be freed
+ *
+ * This sets an opaque, named pointer on a miniobject.
+ * The name is specified through a #GQuark (retrived e.g. via
+ * g_quark_from_static_string()), and the pointer
+ * can be gotten back from the @object with gst_mini_object_get_qdata()
+ * until the @object is disposed.
+ * Setting a previously set user data pointer, overrides (frees)
+ * the old pointer set, using #NULL as pointer essentially
+ * removes the data stored.
+ *
+ * @destroy may be specified which is called with @data as argument
+ * when the @object is disposed, or the data is being overwritten by
+ * a call to gst_mini_object_set_qdata() with the same @quark.
+ */
+void
+gst_mini_object_set_qdata (GstMiniObject * object, GQuark quark,
+    gpointer data, GDestroyNotify destroy)
+{
+  gint i;
+  gpointer old_data = NULL;
+  GDestroyNotify old_notify = NULL;
+
+  g_return_if_fail (object != NULL);
+  g_return_if_fail (quark > 0);
+
+  G_LOCK (qdata_mutex);
+  if ((i = find_notify (object, quark, FALSE, NULL, NULL)) != -1) {
+
+    old_data = QDATA_DATA (object, i);
+    old_notify = QDATA_DESTROY (object, i);
+
+    if (data == NULL)
+      remove_notify (object, i);
+  }
+  if (data != NULL)
+    set_notify (object, i, quark, NULL, data, destroy);
+  G_UNLOCK (qdata_mutex);
+
+  if (old_notify)
+    old_notify (old_data);
+}
+
+/**
+ * gst_mini_object_get_qdata:
+ * @object: The GstMiniObject to get a stored user data pointer from
+ * @quark: A #GQuark, naming the user data pointer
+ *
+ * This function gets back user data pointers stored via
+ * gst_mini_object_set_qdata().
+ *
+ * Returns: (transfer none): The user data pointer set, or %NULL
+ */
+gpointer
+gst_mini_object_get_qdata (GstMiniObject * object, GQuark quark)
+{
+  guint i;
+  gpointer result;
+
+  g_return_val_if_fail (object != NULL, NULL);
+  g_return_val_if_fail (quark > 0, NULL);
+
+  G_LOCK (qdata_mutex);
+  if ((i = find_notify (object, quark, FALSE, NULL, NULL)) != -1)
+    result = QDATA_DATA (object, i);
+  else
+    result = NULL;
+  G_UNLOCK (qdata_mutex);
+
+  return result;
+}
+
+/**
+ * gst_mini_object_steal_qdata:
+ * @object: The GstMiniObject to get a stored user data pointer from
+ * @quark: A #GQuark, naming the user data pointer
+ *
+ * This function gets back user data pointers stored via gst_mini_object_set_qdata()
+ * and removes the data from @object without invoking its destroy() function (if
+ * any was set).
+ *
+ * Returns: (transfer full): The user data pointer set, or %NULL
+ */
+gpointer
+gst_mini_object_steal_qdata (GstMiniObject * object, GQuark quark)
+{
+  guint i;
+  gpointer result;
+
+  g_return_val_if_fail (object != NULL, NULL);
+  g_return_val_if_fail (quark > 0, NULL);
+
+  G_LOCK (qdata_mutex);
+  if ((i = find_notify (object, quark, FALSE, NULL, NULL)) != -1) {
+    result = QDATA_DATA (object, i);
+    remove_notify (object, i);
+  } else {
+    result = NULL;
+  }
+  G_UNLOCK (qdata_mutex);
+
+  return result;
 }
diff --git a/gst/gstminiobject.h b/gst/gstminiobject.h
index 6984308..7ec67a9 100644
--- a/gst/gstminiobject.h
+++ b/gst/gstminiobject.h
@@ -68,20 +68,14 @@
 typedef void (*GstMiniObjectFreeFunction) (GstMiniObject *obj);
 
  /**
- * GstMiniObjectWeakNotify:
- * @data: data that was provided when the weak reference was established
- * @where_the_mini_object_was: the mini object being finalized
+ * GstMiniObjectNotify:
+ * @user_data: data that was provided when the notify was added
+ * @obj: the mini object
  *
- * A #GstMiniObjectWeakNotify function can be added to a mini object as a
- * callback that gets triggered when the mini object is finalized. Since the
- * mini object is already being finalized when the #GstMiniObjectWeakNotify is
- * called, there's not much you could do with the object, apart from e.g. using
- * its adress as hash-index or the like.
- *
- * Since: 0.10.35
+ * A #GstMiniObjectNotify function can be added to a mini object as a
+ * callback that gets triggered with gst_mini_object_notify().
  */
-typedef void (*GstMiniObjectWeakNotify) (gpointer data,
-    GstMiniObject * where_the_mini_object_was);
+typedef void (*GstMiniObjectNotify) (gpointer user_data, GstMiniObject * obj);
 
 /**
  * GST_MINI_OBJECT_TYPE:
@@ -90,6 +84,7 @@
  * This macro returns the type of the mini-object.
  */
 #define GST_MINI_OBJECT_TYPE(obj)  (GST_MINI_OBJECT_CAST(obj)->type)
+
 /**
  * GST_MINI_OBJECT_FLAGS:
  * @obj: MiniObject to return flags for.
@@ -124,17 +119,56 @@
 
 /**
  * GstMiniObjectFlags:
+ * @GST_MINI_OBJECT_FLAG_LOCKABLE: the object can be locked and unlocked with
+ * gst_mini_object_lock() and gst_mini_object_unlock().
+ * @GST_MINI_OBJECT_FLAG_LOCK_READONLY: the object is permanently locked in
+ * READONLY mode. Only read locks can be performed on the object.
  * @GST_MINI_OBJECT_FLAG_LAST: first flag that can be used by subclasses.
  *
  * Flags for the mini object
  */
 typedef enum
 {
+  GST_MINI_OBJECT_FLAG_LOCKABLE      = (1 << 0),
+  GST_MINI_OBJECT_FLAG_LOCK_READONLY = (1 << 1),
   /* padding */
-  GST_MINI_OBJECT_FLAG_LAST = (1<<4)
+  GST_MINI_OBJECT_FLAG_LAST          = (1 << 4)
 } GstMiniObjectFlags;
 
 /**
+ * GST_MINI_OBJECT_IS_LOCKABLE:
+ * @obj: a #GstMiniObject
+ *
+ * Check if @obj is lockable. A lockable object can be locked and unlocked with
+ * gst_mini_object_lock() and gst_mini_object_unlock().
+ */
+#define GST_MINI_OBJECT_IS_LOCKABLE(obj)  GST_MINI_OBJECT_FLAG_IS_SET(obj, GST_MINI_OBJECT_FLAG_LOCKABLE)
+
+/**
+ * GstLockFlags:
+ * @GST_LOCK_FLAG_READ: lock for read access
+ * @GST_LOCK_FLAG_WRITE: lock for write access
+ * @GST_LOCK_FLAG_EXCLUSIVE: lock for exclusive access
+ * @GST_LOCK_FLAG_LAST: first flag that can be used for custom purposes
+ *
+ * Flags used when locking miniobjects
+ */
+typedef enum {
+  GST_LOCK_FLAG_READ      = (1 << 0),
+  GST_LOCK_FLAG_WRITE     = (1 << 1),
+  GST_LOCK_FLAG_EXCLUSIVE = (1 << 2),
+
+  GST_LOCK_FLAG_LAST      = (1 << 8)
+} GstLockFlags;
+
+/**
+ * GST_LOCK_FLAG_READWRITE:
+ *
+ * GstLockFlags value alias for GST_LOCK_FLAG_READ | GST_LOCK_FLAG_WRITE
+ */
+#define GST_LOCK_FLAG_READWRITE  (GST_LOCK_FLAG_READ | GST_LOCK_FLAG_WRITE)
+
+/**
  * GST_MINI_OBJECT_REFCOUNT:
  * @obj: a #GstMiniObject
  *
@@ -150,19 +184,11 @@
 #define GST_MINI_OBJECT_REFCOUNT_VALUE(obj)     (g_atomic_int_get (&(GST_MINI_OBJECT_CAST(obj))->refcount))
 
 /**
- * GST_MINI_OBJECT_SIZE:
- * @obj: a #GstMiniObject
- *
- * Get the allocated size of @obj.
- */
-#define GST_MINI_OBJECT_SIZE(obj)              ((GST_MINI_OBJECT_CAST(obj))->size)
-
-/**
  * GstMiniObject:
  * @type: the GType of the object
  * @refcount: atomic refcount
+ * @lockstate: atomic state of the locks
  * @flags: extra flags.
- * @size: the size of the structure
  * @copy: a copy function
  * @dispose: a dispose function
  * @free: the free function
@@ -178,41 +204,54 @@
 
   /*< public >*/ /* with COW */
   gint    refcount;
+  gint    lockstate;
   guint   flags;
-  gsize   size;
 
   GstMiniObjectCopyFunction copy;
   GstMiniObjectDisposeFunction dispose;
   GstMiniObjectFreeFunction free;
 
   /* < private > */
-  /* Used to keep track of weak ref notifies */
-  guint n_weak_refs;
-  struct
-  {
-    GstMiniObjectWeakNotify notify;
-    gpointer data;
-  } *weak_refs;
+  /* Used to keep track of weak ref notifies and qdata */
+  guint n_qdata;
+  gpointer qdata;
 };
 
-void            gst_mini_object_init            (GstMiniObject *mini_object,
-                                                 GType type, gsize size);
+void            gst_mini_object_init (GstMiniObject *mini_object,
+                                      guint flags, GType type,
+                                      GstMiniObjectCopyFunction copy_func,
+                                      GstMiniObjectDisposeFunction dispose_func,
+                                      GstMiniObjectFreeFunction free_func);
 
-GstMiniObject * gst_mini_object_copy		(const GstMiniObject *mini_object) G_GNUC_MALLOC;
-gboolean        gst_mini_object_is_writable	(const GstMiniObject *mini_object);
-GstMiniObject * gst_mini_object_make_writable	(GstMiniObject *mini_object);
 
 /* refcounting */
 GstMiniObject * gst_mini_object_ref		(GstMiniObject *mini_object);
 void            gst_mini_object_unref		(GstMiniObject *mini_object);
 
 void            gst_mini_object_weak_ref        (GstMiniObject *object,
-					         GstMiniObjectWeakNotify notify,
+					         GstMiniObjectNotify notify,
 					         gpointer data);
 void            gst_mini_object_weak_unref	(GstMiniObject *object,
-					         GstMiniObjectWeakNotify notify,
+					         GstMiniObjectNotify notify,
 					         gpointer data);
 
+/* locking */
+gboolean        gst_mini_object_lock            (GstMiniObject *object, GstLockFlags flags);
+void            gst_mini_object_unlock          (GstMiniObject *object, GstLockFlags flags);
+
+gboolean        gst_mini_object_is_writable     (const GstMiniObject *mini_object);
+GstMiniObject * gst_mini_object_make_writable	(GstMiniObject *mini_object);
+
+/* copy */
+GstMiniObject * gst_mini_object_copy		(const GstMiniObject *mini_object) G_GNUC_MALLOC;
+
+
+void            gst_mini_object_set_qdata       (GstMiniObject *object, GQuark quark,
+                                                 gpointer data, GDestroyNotify destroy);
+gpointer        gst_mini_object_get_qdata       (GstMiniObject *object, GQuark quark);
+gpointer        gst_mini_object_steal_qdata     (GstMiniObject *object, GQuark quark);
+
+
 gboolean        gst_mini_object_replace         (GstMiniObject **olddata, GstMiniObject *newdata);
 gboolean        gst_mini_object_take            (GstMiniObject **olddata, GstMiniObject *newdata);
 GstMiniObject * gst_mini_object_steal           (GstMiniObject **olddata);
diff --git a/gst/gstobject.c b/gst/gstobject.c
index e8d4880..eedd108 100644
--- a/gst/gstobject.c
+++ b/gst/gstobject.c
@@ -229,7 +229,7 @@
 
 /**
  * gst_object_ref:
- * @object: a #GstObject to reference
+ * @object: (type Gst.Object): a #GstObject to reference
  *
  * Increments the reference count on @object. This function
  * does not take the lock on @object because it relies on
@@ -239,7 +239,7 @@
  * constructs like :
  *  result = gst_object_ref (object->parent);
  *
- * Returns: (transfer full): A pointer to @object
+ * Returns: (transfer full) (type Gst.Object): A pointer to @object
  */
 gpointer
 gst_object_ref (gpointer object)
@@ -257,7 +257,7 @@
 
 /**
  * gst_object_unref:
- * @object: a #GstObject to unreference
+ * @object: (type Gst.Object): a #GstObject to unreference
  *
  * Decrements the reference count on @object.  If reference count hits
  * zero, destroy @object. This function does not take the lock
@@ -478,7 +478,7 @@
  * @orig: a #GstObject that initiated the notify.
  * @pspec: a #GParamSpec of the property.
  * @excluded_props: (array zero-terminated=1) (element-type gchar*)
- *     (allow-none):a set of user-specified properties to exclude or
+ *     (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
@@ -507,19 +507,7 @@
     g_value_init (&value, pspec->value_type);
     g_object_get_property (G_OBJECT (orig), pspec->name, &value);
 
-    /* FIXME: handle flags */
-    if (G_IS_PARAM_SPEC_ENUM (pspec)) {
-      GEnumValue *enum_value;
-      GEnumClass *klass = G_ENUM_CLASS (g_type_class_ref (pspec->value_type));
-
-      enum_value = g_enum_get_value (klass, g_value_get_enum (&value));
-
-      str = g_strdup_printf ("%s (%d)", enum_value->value_nick,
-          enum_value->value);
-      g_type_class_unref (klass);
-    } else {
-      str = g_strdup_value_contents (&value);
-    }
+    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);
diff --git a/gst/gstpad.c b/gst/gstpad.c
index 73981f3..49b65aa 100644
--- a/gst/gstpad.c
+++ b/gst/gstpad.c
@@ -808,6 +808,24 @@
   return gst_pad_activate_mode (pad, GST_PAD_MODE_PUSH, TRUE);
 }
 
+#ifndef GST_DISABLE_GST_DEBUG
+static const gchar *
+gst_pad_mode_get_name (GstPadMode mode)
+{
+  switch (mode) {
+    case GST_PAD_MODE_NONE:
+      return "none";
+    case GST_PAD_MODE_PUSH:
+      return "push";
+    case GST_PAD_MODE_PULL:
+      return "pull";
+    default:
+      break;
+  }
+  return "unknown";
+}
+#endif
+
 static void
 pre_activate (GstPad * pad, GstPadMode new_mode)
 {
@@ -824,7 +842,8 @@
     case GST_PAD_MODE_PUSH:
     case GST_PAD_MODE_PULL:
       GST_OBJECT_LOCK (pad);
-      GST_DEBUG_OBJECT (pad, "setting PAD_MODE %d, unset flushing", new_mode);
+      GST_DEBUG_OBJECT (pad, "setting pad into %s mode, unset flushing",
+          gst_pad_mode_get_name (new_mode));
       GST_PAD_UNSET_FLUSHING (pad);
       GST_PAD_MODE (pad) = new_mode;
       if (GST_PAD_IS_SINK (pad)) {
@@ -911,7 +930,8 @@
       GST_DEBUG_OBJECT (pad, "activating pad from none");
       ret = (GST_PAD_ACTIVATEFUNC (pad)) (pad, parent);
     } else {
-      GST_DEBUG_OBJECT (pad, "pad was active in mode %d", old);
+      GST_DEBUG_OBJECT (pad, "pad was active in %s mode",
+          gst_pad_mode_get_name (old));
       ret = TRUE;
     }
   } else {
@@ -919,7 +939,8 @@
       GST_DEBUG_OBJECT (pad, "pad was inactive");
       ret = TRUE;
     } else {
-      GST_DEBUG_OBJECT (pad, "deactivating pad from mode %d", old);
+      GST_DEBUG_OBJECT (pad, "deactivating pad from %s mode",
+          gst_pad_mode_get_name (old));
       ret = gst_pad_activate_mode (pad, old, FALSE);
     }
   }
@@ -929,11 +950,6 @@
   if (G_UNLIKELY (!ret))
     goto failed;
 
-  if (!active) {
-    GST_OBJECT_LOCK (pad);
-    GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_NEED_RECONFIGURE);
-    GST_OBJECT_UNLOCK (pad);
-  }
   return ret;
 
   /* ERRORS */
@@ -994,10 +1010,12 @@
   if (old == new)
     goto was_ok;
 
-  if (active && old != mode) {
+  if (active && old != mode && old != GST_PAD_MODE_NONE) {
     /* pad was activate in the wrong direction, deactivate it
      * and reactivate it in the requested mode */
-    GST_DEBUG_OBJECT (pad, "deactivating pad from mode %d", old);
+    GST_DEBUG_OBJECT (pad, "deactivating pad from %s mode",
+        gst_pad_mode_get_name (old));
+
     if (G_UNLIKELY (!gst_pad_activate_mode (pad, old, FALSE)))
       goto deactivate_failed;
   }
@@ -1043,11 +1061,20 @@
 
   post_activate (pad, new);
 
-  GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "%s in mode %d",
-      active ? "activated" : "deactivated", mode);
+  GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "%s in %s mode",
+      active ? "activated" : "deactivated", gst_pad_mode_get_name (mode));
 
 exit_success:
   res = TRUE;
+
+  /* Clear sticky flags on deactivation */
+  if (!active) {
+    GST_OBJECT_LOCK (pad);
+    GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_NEED_RECONFIGURE);
+    GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_EOS);
+    GST_OBJECT_UNLOCK (pad);
+  }
+
 exit:
   RELEASE_PARENT (parent);
 
@@ -1061,15 +1088,16 @@
   }
 was_ok:
   {
-    GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "already %s in mode %d",
-        active ? "activated" : "deactivated", mode);
+    GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad, "already %s in %s mode",
+        active ? "activated" : "deactivated", gst_pad_mode_get_name (mode));
     goto exit_success;
   }
 deactivate_failed:
   {
     GST_CAT_DEBUG_OBJECT (GST_CAT_PADS, pad,
-        "failed to %s in switch to mode %d from mode %d",
-        (active ? "activate" : "deactivate"), mode, old);
+        "failed to %s in switch to %s mode from %s mode",
+        (active ? "activate" : "deactivate"), gst_pad_mode_get_name (mode),
+        gst_pad_mode_get_name (old));
     goto exit;
   }
 peer_failed:
@@ -1090,8 +1118,8 @@
 failure:
   {
     GST_OBJECT_LOCK (pad);
-    GST_CAT_INFO_OBJECT (GST_CAT_PADS, pad, "failed to %s in mode %d",
-        active ? "activate" : "deactivate", mode);
+    GST_CAT_INFO_OBJECT (GST_CAT_PADS, pad, "failed to %s in %s mode",
+        active ? "activate" : "deactivate", gst_pad_mode_get_name (mode));
     GST_PAD_SET_FLUSHING (pad);
     GST_PAD_MODE (pad) = old;
     GST_OBJECT_UNLOCK (pad);
@@ -1313,8 +1341,6 @@
  * Returns: TRUE if the pad is blocking.
  *
  * MT safe.
- *
- * Since: 0.10.11
  */
 gboolean
 gst_pad_is_blocking (GstPad * pad)
@@ -1375,6 +1401,14 @@
 }
 
 /**
+ * gst_pad_set_activate_function:
+ * @p: a #GstPad.
+ * @f: the #GstPadActivateFunction to set.
+ *
+ * Calls gst_pad_set_activate_function_full() with NULL for the user_data and
+ * notify.
+ */
+/**
  * gst_pad_set_activate_function_full:
  * @pad: a #GstPad.
  * @activate: the #GstPadActivateFunction to set.
@@ -1404,6 +1438,14 @@
 }
 
 /**
+ * gst_pad_set_activatemode_function:
+ * @p: a #GstPad.
+ * @f: the #GstPadActivateModeFunction to set.
+ *
+ * Calls gst_pad_set_activatemode_function_full() with NULL for the user_data and
+ * notify.
+ */
+/**
  * gst_pad_set_activatemode_function_full:
  * @pad: a #GstPad.
  * @activatemode: the #GstPadActivateModeFunction to set.
@@ -1431,6 +1473,14 @@
 }
 
 /**
+ * gst_pad_set_chain_function:
+ * @p: a sink #GstPad.
+ * @f: the #GstPadChainFunction to set.
+ *
+ * Calls gst_pad_set_chain_function_full() with NULL for the user_data and
+ * notify.
+ */
+/**
  * gst_pad_set_chain_function_full:
  * @pad: a sink #GstPad.
  * @chain: the #GstPadChainFunction to set.
@@ -1458,6 +1508,14 @@
 }
 
 /**
+ * gst_pad_set_chain_list_function:
+ * @p: a sink #GstPad.
+ * @f: the #GstPadChainListFunction to set.
+ *
+ * Calls gst_pad_set_chain_list_function_full() with NULL for the user_data and
+ * notify.
+ */
+/**
  * gst_pad_set_chain_list_function_full:
  * @pad: a sink #GstPad.
  * @chainlist: the #GstPadChainListFunction to set.
@@ -1467,8 +1525,6 @@
  * Sets the given chain list function for the pad. The chainlist function is
  * called to process a #GstBufferList input buffer list. See
  * #GstPadChainListFunction for more details.
- *
- * Since: 0.10.24
  */
 void
 gst_pad_set_chain_list_function_full (GstPad * pad,
@@ -1489,6 +1545,14 @@
 }
 
 /**
+ * gst_pad_set_getrange_function:
+ * @p: a source #GstPad.
+ * @f: the #GstPadGetRangeFunction to set.
+ *
+ * Calls gst_pad_set_getrange_function_full() with NULL for the user_data and
+ * notify.
+ */
+/**
  * gst_pad_set_getrange_function_full:
  * @pad: a source #GstPad.
  * @get: the #GstPadGetRangeFunction to set.
@@ -1517,6 +1581,14 @@
 }
 
 /**
+ * gst_pad_set_event_function:
+ * @p: a #GstPad of either direction.
+ * @f: the #GstPadEventFunction to set.
+ *
+ * Calls gst_pad_set_event_function_full() with NULL for the user_data and
+ * notify.
+ */
+/**
  * gst_pad_set_event_function_full:
  * @pad: a #GstPad of either direction.
  * @event: the #GstPadEventFunction to set.
@@ -1542,6 +1614,14 @@
 }
 
 /**
+ * gst_pad_set_query_function:
+ * @p: a #GstPad of either direction.
+ * @f: the #GstPadQueryFunction to set.
+ *
+ * Calls gst_pad_set_query_function_full() with NULL for the user_data and
+ * notify.
+ */
+/**
  * gst_pad_set_query_function_full:
  * @pad: a #GstPad of either direction.
  * @query: the #GstPadQueryFunction to set.
@@ -1567,6 +1647,14 @@
 }
 
 /**
+ * gst_pad_set_iterate_internal_links_function:
+ * @p: a #GstPad of either direction.
+ * @f: the #GstPadIterIntLinkFunction to set.
+ *
+ * Calls gst_pad_set_iterate_internal_links_function_full() with NULL
+ * for the user_data and notify.
+ */
+/**
  * gst_pad_set_iterate_internal_links_function_full:
  * @pad: a #GstPad of either direction.
  * @iterintlink: the #GstPadIterIntLinkFunction to set.
@@ -1574,8 +1662,6 @@
  * @notify: notify called when @iterintlink will not be used anymore.
  *
  * Sets the given internal link iterator function for the pad.
- *
- * Since: 0.10.21
  */
 void
 gst_pad_set_iterate_internal_links_function_full (GstPad * pad,
@@ -1595,6 +1681,14 @@
 }
 
 /**
+ * gst_pad_set_link_function:
+ * @p: a #GstPad.
+ * @f: the #GstPadLinkFunction to set.
+ *
+ * Calls gst_pad_set_link_function_full() with NULL
+ * for the user_data and notify.
+ */
+/**
  * gst_pad_set_link_function_full:
  * @pad: a #GstPad.
  * @link: the #GstPadLinkFunction to set.
@@ -1630,6 +1724,14 @@
 }
 
 /**
+ * gst_pad_set_unlink_function:
+ * @p: a #GstPad.
+ * @f: the #GstPadUnlinkFunction to set.
+ *
+ * Calls gst_pad_set_unlink_function_full() with NULL
+ * for the user_data and notify.
+ */
+/**
  * gst_pad_set_unlink_function_full:
  * @pad: a #GstPad.
  * @unlink: the #GstPadUnlinkFunction to set.
@@ -2029,8 +2131,6 @@
  *
  * Returns: A result code indicating if the connection worked or
  *          what went wrong.
- *
- * Since: 0.10.30
  */
 GstPadLinkReturn
 gst_pad_link_full (GstPad * srcpad, GstPad * sinkpad, GstPadLinkCheck flags)
@@ -2257,41 +2357,6 @@
 }
 
 /**
- * gst_pad_set_caps:
- * @pad: a  #GstPad to set the capabilities of.
- * @caps: (transfer none): a #GstCaps to set.
- *
- * Sets the capabilities of this pad. The caps must be fixed. Any previous
- * caps on the pad will be unreffed. This function refs the caps so you should
- * unref if as soon as you don't need it anymore.
- * It is possible to set NULL caps, which will make the pad unnegotiated
- * again.
- *
- * Returns: TRUE if the caps could be set. FALSE if the caps were not fixed
- * or bad parameters were provided to this function.
- *
- * MT safe.
- */
-gboolean
-gst_pad_set_caps (GstPad * pad, GstCaps * caps)
-{
-  GstEvent *event;
-  gboolean res = TRUE;
-
-  g_return_val_if_fail (GST_IS_PAD (pad), FALSE);
-  g_return_val_if_fail (caps != NULL && gst_caps_is_fixed (caps), FALSE);
-
-  event = gst_event_new_caps (caps);
-
-  if (GST_PAD_IS_SRC (pad))
-    res = gst_pad_push_event (pad, event);
-  else
-    res = gst_pad_send_event (pad, event);
-
-  return res;
-}
-
-/**
  * gst_pad_get_pad_template_caps:
  * @pad: a #GstPad to get the template capabilities from.
  *
@@ -2411,8 +2476,6 @@
  *
  * Returns: a #GstIterator of #GstPad, or NULL if @pad has no parent. Unref each
  * returned pad with gst_object_unref().
- *
- * Since: 0.10.21
  */
 GstIterator *
 gst_pad_iterate_internal_links_default (GstPad * pad, GstObject * parent)
@@ -2480,8 +2543,6 @@
  * Returns: (transfer full): a new #GstIterator of #GstPad or %NULL when the
  *     pad does not have an iterator function configured. Use
  *     gst_iterator_free() after usage.
- *
- * Since: 0.10.21
  */
 GstIterator *
 gst_pad_iterate_internal_links (GstPad * pad)
@@ -2514,7 +2575,7 @@
 /**
  * gst_pad_forward:
  * @pad: a #GstPad
- * @forward: a #GstPadForwardFunction
+ * @forward: (scope call): a #GstPadForwardFunction
  * @user_data: user data passed to @forward
  *
  * Calls @forward for all internally linked pads of @pad. This function deals with
@@ -2714,18 +2775,18 @@
   GstPadTemplate *templ;
   gboolean fixed_caps;
 
-  GST_CAT_DEBUG_OBJECT (GST_CAT_CAPS, pad, "get pad caps");
-
-  gst_query_parse_caps (query, &filter);
+  GST_CAT_DEBUG_OBJECT (GST_CAT_CAPS, pad, "query caps %" GST_PTR_FORMAT,
+      query);
 
   /* first try to proxy if we must */
   if (GST_PAD_IS_PROXY_CAPS (pad)) {
     if ((gst_pad_proxy_query_caps (pad, query))) {
-      gst_query_parse_caps_result (query, &result);
-      goto filter_done;
+      goto done;
     }
   }
 
+  gst_query_parse_caps (query, &filter);
+
   /* no proxy or it failed, do default handling */
   fixed_caps = GST_PAD_IS_FIXED_CAPS (pad);
 
@@ -2758,7 +2819,6 @@
 filter_done_unlock:
   GST_OBJECT_UNLOCK (pad);
 
-filter_done:
   /* run the filter on the result */
   if (filter) {
     GST_CAT_DEBUG_OBJECT (GST_CAT_CAPS, pad,
@@ -2772,10 +2832,10 @@
         "using caps %p %" GST_PTR_FORMAT, result, result);
     result = gst_caps_ref (result);
   }
-
   gst_query_set_caps_result (query, result);
   gst_caps_unref (result);
 
+done:
   return TRUE;
 }
 
@@ -2790,7 +2850,7 @@
 query_forward_func (GstPad * pad, QueryData * data)
 {
   GST_LOG_OBJECT (pad, "query peer %p (%s) of %s:%s",
-      data->query, GST_EVENT_TYPE_NAME (data->query), GST_DEBUG_PAD_NAME (pad));
+      data->query, GST_QUERY_TYPE_NAME (data->query), GST_DEBUG_PAD_NAME (pad));
 
   data->result |= gst_pad_peer_query (pad, data->query);
 
@@ -2821,7 +2881,7 @@
 
   switch (GST_QUERY_TYPE (query)) {
     case GST_QUERY_SCHEDULING:
-      forward = FALSE;
+      forward = GST_PAD_IS_PROXY_SCHEDULING (pad);
       break;
     case GST_QUERY_ALLOCATION:
       forward = GST_PAD_IS_PROXY_ALLOCATION (pad);
@@ -3372,8 +3432,6 @@
  *
  * Returns: TRUE if the query could be performed. This function returns %FALSE
  * if @pad has no peer.
- *
- * Since: 0.10.15
  */
 gboolean
 gst_pad_peer_query (GstPad * pad, GstQuery * query)
@@ -3694,8 +3752,6 @@
  * MT safe.
  *
  * Returns: a #GstFlowReturn from the pad.
- *
- * Since: 0.10.24
  */
 GstFlowReturn
 gst_pad_chain_list (GstPad * pad, GstBufferList * list)
@@ -3871,8 +3927,6 @@
  * Returns: a #GstFlowReturn from the peer pad.
  *
  * MT safe.
- *
- * Since: 0.10.24
  */
 GstFlowReturn
 gst_pad_push_list (GstPad * pad, GstBufferList * list)
@@ -5025,18 +5079,14 @@
       thread, task);
 }
 
-static GstTaskThreadCallbacks thr_callbacks = {
-  pad_enter_thread,
-  pad_leave_thread,
-};
-
 /**
  * gst_pad_start_task:
  * @pad: the #GstPad to start the task of
  * @func: the task function to call
- * @data: data passed to the task function
+ * @user_data: user data passed to the task function
+ * @notify: called when @user_data is no longer referenced
  *
- * Starts a task that repeatedly calls @func with @data. This function
+ * Starts a task that repeatedly calls @func with @user_data. This function
  * is mostly used in pad activation functions to start the dataflow.
  * The #GST_PAD_STREAM_LOCK of @pad will automatically be acquired
  * before @func is called.
@@ -5044,7 +5094,8 @@
  * Returns: a %TRUE if the task could be started.
  */
 gboolean
-gst_pad_start_task (GstPad * pad, GstTaskFunction func, gpointer data)
+gst_pad_start_task (GstPad * pad, GstTaskFunction func, gpointer user_data,
+    GDestroyNotify notify)
 {
   GstTask *task;
   gboolean res;
@@ -5057,9 +5108,10 @@
   GST_OBJECT_LOCK (pad);
   task = GST_PAD_TASK (pad);
   if (task == NULL) {
-    task = gst_task_new (func, data);
+    task = gst_task_new (func, user_data, notify);
     gst_task_set_lock (task, GST_PAD_GET_STREAM_LOCK (pad));
-    gst_task_set_thread_callbacks (task, &thr_callbacks, pad, NULL);
+    gst_task_set_enter_callback (task, pad_enter_thread, pad, NULL);
+    gst_task_set_leave_callback (task, pad_leave_thread, pad, NULL);
     GST_INFO_OBJECT (pad, "created task %p", task);
     GST_PAD_TASK (pad) = task;
     gst_object_ref (task);
diff --git a/gst/gstpad.h b/gst/gstpad.h
index 4e93f07..9bf812a 100644
--- a/gst/gstpad.h
+++ b/gst/gstpad.h
@@ -137,23 +137,22 @@
  * @GST_FLOW_NOT_SUPPORTED:	 This operation is not supported.
  * @GST_FLOW_CUSTOM_SUCCESS:	 Elements can use values starting from
  *                               this (and higher) to define custom success
- *                               codes. Since 0.10.7.
+ *                               codes.
  * @GST_FLOW_CUSTOM_SUCCESS_1:	 Pre-defined custom success code (define your
  *                               custom success code to this to avoid compiler
- *                               warnings). Since 0.10.29.
- * @GST_FLOW_CUSTOM_SUCCESS_2:	 Pre-defined custom success code. Since 0.10.29.
+ *                               warnings).
+ * @GST_FLOW_CUSTOM_SUCCESS_2:	 Pre-defined custom success code.
  * @GST_FLOW_CUSTOM_ERROR:	 Elements can use values starting from
  *                               this (and lower) to define custom error codes.
- *                               Since 0.10.7.
  * @GST_FLOW_CUSTOM_ERROR_1:	 Pre-defined custom error code (define your
  *                               custom error code to this to avoid compiler
- *                               warnings). Since 0.10.29.
- * @GST_FLOW_CUSTOM_ERROR_2:	 Pre-defined custom error code. Since 0.10.29.
+ *                               warnings).
+ * @GST_FLOW_CUSTOM_ERROR_2:	 Pre-defined custom error code.
  *
  * The result of passing data to a pad.
  *
  * Note that the custom return values should not be exposed outside of the
- * element scope and are available since 0.10.7.
+ * element scope.
  */
 /* FIXME 0.11: remove custom flow returns */
 typedef enum {
@@ -204,8 +203,6 @@
  * use the default checks (%GST_PAD_LINK_CHECK_DEFAULT) or the regular methods
  * for linking the pads.
  * </para></warning>
- *
- * Since: 0.10.30
  */
 
 typedef enum {
@@ -220,8 +217,6 @@
  *
  * The default checks done when linking pads (i.e. the ones used by
  * gst_pad_link()).
- *
- * Since: 0.10.30
  */
 #define GST_PAD_LINK_CHECK_DEFAULT ((GstPadLinkCheck) (GST_PAD_LINK_CHECK_HIERARCHY | GST_PAD_LINK_CHECK_CAPS))
 
@@ -381,8 +376,6 @@
  * linked to the given pad on the inside of the parent element.
  *
  * the caller must call gst_iterator_free() after usage.
- *
- * Since 0.10.21
  */
 typedef GstIterator*           (*GstPadIterIntLinkFunction)    (GstPad *pad, GstObject *parent);
 
@@ -405,7 +398,7 @@
 
 /* linking */
 /**
- * GstPadLinkFunction
+ * GstPadLinkFunction:
  * @pad: the #GstPad that is linked.
  * @peer: the peer #GstPad of the link
  *
@@ -415,7 +408,7 @@
  */
 typedef GstPadLinkReturn	(*GstPadLinkFunction)		(GstPad *pad, GstPad *peer);
 /**
- * GstPadUnlinkFunction
+ * GstPadUnlinkFunction:
  * @pad: the #GstPad that is linked.
  *
  * Function signature to handle a unlinking the pad prom its peer.
@@ -553,7 +546,7 @@
 #define GST_PAD_PROBE_INFO_SIZE(d)         ((d)->size)
 
 /**
- * GstPadProbeCallback
+ * GstPadProbeCallback:
  * @pad: the #GstPad that is blocked
  * @info: #GstPadProbeInfo
  * @user_data: the gpointer to optional user data.
@@ -608,6 +601,9 @@
  * @GST_PAD_FLAG_PROXY_ALLOCATION: the default query handler will forward
  *                      allocation queries to the internally linked pads
  *                      instead of discarding them.
+ * @GST_PAD_FLAG_PROXY_SCHEDULING: the default query handler will forward
+ *                      scheduling queries to the internally linked pads
+ *                      instead of discarding them.
  * @GST_PAD_FLAG_LAST: offset to define more flags
  *
  * Pad state flags
@@ -623,6 +619,7 @@
   GST_PAD_FLAG_FIXED_CAPS       = (GST_OBJECT_FLAG_LAST << 7),
   GST_PAD_FLAG_PROXY_CAPS       = (GST_OBJECT_FLAG_LAST << 8),
   GST_PAD_FLAG_PROXY_ALLOCATION = (GST_OBJECT_FLAG_LAST << 9),
+  GST_PAD_FLAG_PROXY_SCHEDULING = (GST_OBJECT_FLAG_LAST << 10),
   /* padding */
   GST_PAD_FLAG_LAST        = (GST_OBJECT_FLAG_LAST << 16)
 } GstPadFlags;
@@ -772,6 +769,10 @@
 #define GST_PAD_SET_PROXY_ALLOCATION(pad)   (GST_OBJECT_FLAG_SET (pad, GST_PAD_FLAG_PROXY_ALLOCATION))
 #define GST_PAD_UNSET_PROXY_ALLOCATION(pad) (GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_PROXY_ALLOCATION))
 
+#define GST_PAD_IS_PROXY_SCHEDULING(pad)    (GST_OBJECT_FLAG_IS_SET (pad, GST_PAD_FLAG_PROXY_SCHEDULING))
+#define GST_PAD_SET_PROXY_SCHEDULING(pad)   (GST_OBJECT_FLAG_SET (pad, GST_PAD_FLAG_PROXY_SCHEDULING))
+#define GST_PAD_UNSET_PROXY_SCHEDULING(pad) (GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_PROXY_SCHEDULING))
+
 /**
  * GST_PAD_GET_STREAM_LOCK:
  * @pad: a #GstPad
@@ -926,7 +927,6 @@
 /* capsnego function for linked/unlinked pads */
 GstCaps *		gst_pad_get_current_caps                (GstPad * pad);
 gboolean		gst_pad_has_current_caps                (GstPad * pad);
-gboolean		gst_pad_set_caps			(GstPad * pad, GstCaps *caps);
 
 /* capsnego for linked pads */
 GstCaps *		gst_pad_get_allowed_caps		(GstPad * pad);
@@ -953,7 +953,7 @@
 
 /* pad tasks */
 gboolean		gst_pad_start_task			(GstPad *pad, GstTaskFunction func,
-								 gpointer data);
+								 gpointer user_data, GDestroyNotify notify);
 gboolean		gst_pad_pause_task			(GstPad *pad);
 gboolean		gst_pad_stop_task			(GstPad *pad);
 
diff --git a/gst/gstpadtemplate.c b/gst/gstpadtemplate.c
index a8f1716..a2dd97c 100644
--- a/gst/gstpadtemplate.c
+++ b/gst/gstpadtemplate.c
@@ -160,11 +160,9 @@
   gobject_class->set_property = gst_pad_template_set_property;
 
   /**
-   * GstPadTemplate:name-template
+   * GstPadTemplate:name-template:
    *
    * The name template of the pad template.
-   *
-   * Since: 0.10.21
    */
   g_object_class_install_property (gobject_class, PROP_NAME_TEMPLATE,
       g_param_spec_string ("name-template", "Name template",
@@ -172,11 +170,9 @@
           G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
 
   /**
-   * GstPadTemplate:direction
+   * GstPadTemplate:direction:
    *
    * The direction of the pad described by the pad template.
-   *
-   * Since: 0.10.21
    */
   g_object_class_install_property (gobject_class, PROP_DIRECTION,
       g_param_spec_enum ("direction", "Direction",
@@ -185,11 +181,9 @@
           G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
 
   /**
-   * GstPadTemplate:presence
+   * GstPadTemplate:presence:
    *
    * When the pad described by the pad template will become available.
-   *
-   * Since: 0.10.21
    */
   g_object_class_install_property (gobject_class, PROP_PRESENCE,
       g_param_spec_enum ("presence", "Presence",
@@ -198,11 +192,9 @@
           G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
 
   /**
-   * GstPadTemplate:caps
+   * GstPadTemplate:caps:
    *
    * The capabilities of the pad described by the pad template.
-   *
-   * Since: 0.10.21
    */
   g_object_class_install_property (gobject_class, PROP_CAPS,
       g_param_spec_boxed ("caps", "Caps",
diff --git a/gst/gstpadtemplate.h b/gst/gstpadtemplate.h
index 7bbbf16..90f9b25 100644
--- a/gst/gstpadtemplate.h
+++ b/gst/gstpadtemplate.h
@@ -126,6 +126,7 @@
   GstPadPresence   presence;
   GstCaps	  *caps;
 
+  /*< private >*/
   gpointer _gst_reserved[GST_PADDING];
 };
 
@@ -135,6 +136,7 @@
   /* signal callbacks */
   void (*pad_created)	(GstPadTemplate *templ, GstPad *pad);
 
+  /*< private >*/
   gpointer _gst_reserved[GST_PADDING];
 };
 
diff --git a/gst/gstparamspecs.c b/gst/gstparamspecs.c
index bed692d..ba16fcd 100644
--- a/gst/gstparamspecs.c
+++ b/gst/gstparamspecs.c
@@ -163,8 +163,6 @@
  * instance_init function.
  *
  * Returns: (transfer full): a newly created parameter specification
- *
- * Since: 0.10.14
  */
 GParamSpec *
 gst_param_spec_fraction (const gchar * name, const gchar * nick,
diff --git a/gst/gstparamspecs.h b/gst/gstparamspecs.h
index 0e22f40..e7e5fd5 100644
--- a/gst/gstparamspecs.h
+++ b/gst/gstparamspecs.h
@@ -39,8 +39,6 @@
  *
  * Use this flag on GObject properties of GstElements to indicate that
  * they can be changed when the element is in the READY or lower state.
- *
- * Since: 0.10.23
  */
 #define GST_PARAM_MUTABLE_READY  (1 << (G_PARAM_USER_SHIFT + 2))
 
@@ -50,8 +48,6 @@
  * Use this flag on GObject properties of GstElements to indicate that
  * they can be changed when the element is in the PAUSED or lower state.
  * This flag implies GST_PARAM_MUTABLE_READY.
- *
- * Since: 0.10.23
  */
 #define GST_PARAM_MUTABLE_PAUSED  (1 << (G_PARAM_USER_SHIFT + 3))
 
@@ -61,8 +57,6 @@
  * Use this flag on GObject properties of GstElements to indicate that
  * they can be changed when the element is in the PLAYING or lower state.
  * This flag implies GST_PARAM_MUTABLE_PAUSED.
- *
- * Since: 0.10.23
  */
 #define GST_PARAM_MUTABLE_PLAYING  (1 << (G_PARAM_USER_SHIFT + 4))
 
diff --git a/gst/gstparse.c b/gst/gstparse.c
index 3e6714d..75662d0 100644
--- a/gst/gstparse.c
+++ b/gst/gstparse.c
@@ -96,8 +96,6 @@
  *
  * Returns: (transfer full): a newly-allocated parse context. Free with
  *     gst_parse_context_free() when no longer needed.
- *
- * Since: 0.10.20
  */
 GstParseContext *
 gst_parse_context_new (void)
@@ -119,8 +117,6 @@
  * @context: (transfer full): a #GstParseContext
  *
  * Frees a parse context previously allocated with gst_parse_context_new().
- *
- * Since: 0.10.20
  */
 void
 gst_parse_context_free (GstParseContext * context)
@@ -145,8 +141,6 @@
  * Returns: (transfer full) (array zero-terminated=1) (element-type gchar*): a
  *     NULL-terminated array of element factory name strings of missing
  *     elements. Free with g_strfreev() when no longer needed.
- *
- * Since: 0.10.20
  */
 gchar **
 gst_parse_context_get_missing_elements (GstParseContext * context)
@@ -181,14 +175,21 @@
 _gst_parse_escape (const gchar * str)
 {
   GString *gstr = NULL;
+  gboolean in_quotes;
 
   g_return_val_if_fail (str != NULL, NULL);
 
   gstr = g_string_sized_new (strlen (str));
 
+  in_quotes = FALSE;
+
   while (*str) {
-    if (*str == ' ')
+    if (*str == '"' && (!in_quotes || (in_quotes && *(str - 1) != '\\')))
+      in_quotes = !in_quotes;
+
+    if (*str == ' ' && !in_quotes)
       g_string_append_c (gstr, '\\');
+
     g_string_append_c (gstr, *str);
     str++;
   }
@@ -230,8 +231,6 @@
  *   or a partially-constructed bin or element will be returned and @error will
  *   be set (unless you passed #GST_PARSE_FLAG_FATAL_ERRORS in @flags, then
  *   %NULL will always be returned on failure)
- *
- * Since: 0.10.20
  */
 GstElement *
 gst_parse_launchv_full (const gchar ** argv, GstParseContext * context,
@@ -252,6 +251,7 @@
   argvp = argv;
   while (*argvp) {
     arg = *argvp;
+    GST_DEBUG ("escaping argument %s", arg);
     tmp = _gst_parse_escape (arg);
     g_string_append (str, tmp);
     g_free (tmp);
@@ -307,8 +307,6 @@
  * Returns: (transfer full): a new element on success, %NULL on failure. If
  *    more than one toplevel element is specified by the @pipeline_description,
  *    all elements are put into a #GstPipeline, which then is returned.
- *
- * Since: 0.10.20
  */
 GstElement *
 gst_parse_launch_full (const gchar * pipeline_description,
diff --git a/gst/gstparse.h b/gst/gstparse.h
index 4025031..630c3ce 100644
--- a/gst/gstparse.h
+++ b/gst/gstparse.h
@@ -66,8 +66,6 @@
  *      in some cases)
  *
  * Parsing options.
- *
- * Since: 0.10.20
  */
 typedef enum
 {
@@ -81,8 +79,6 @@
  * GstParseContext:
  *
  * Opaque structure.
- *
- * Since: 0.10.20
  */
 typedef struct _GstParseContext GstParseContext;
 
diff --git a/gst/gstpipeline.c b/gst/gstpipeline.c
index 38eb09d..c15f003 100644
--- a/gst/gstpipeline.c
+++ b/gst/gstpipeline.c
@@ -155,13 +155,11 @@
   gobject_class->get_property = gst_pipeline_get_property;
 
   /**
-   * GstPipeline:delay
+   * GstPipeline:delay:
    *
    * The expected delay needed for elements to spin up to the
    * PLAYING state expressed in nanoseconds.
    * see gst_pipeline_set_delay() for more information on this option.
-   *
-   * Since: 0.10.5
    **/
   g_object_class_install_property (gobject_class, PROP_DELAY,
       g_param_spec_uint64 ("delay", "Delay",
@@ -175,8 +173,6 @@
    * Whether or not to automatically flush all messages on the
    * pipeline's bus when going from READY to NULL state. Please see
    * gst_pipeline_set_auto_flush_bus() for more information on this option.
-   *
-   * Since: 0.10.4
    **/
   g_object_class_install_property (gobject_class, PROP_AUTO_FLUSH_BUS,
       g_param_spec_boolean ("auto-flush-bus", "Auto Flush Bus",
@@ -279,12 +275,12 @@
 /* set the start_time to 0, this will cause us to select a new base_time and
  * make the running_time start from 0 again. */
 static void
-reset_start_time (GstPipeline * pipeline)
+reset_start_time (GstPipeline * pipeline, GstClockTime start_time)
 {
   GST_OBJECT_LOCK (pipeline);
   if (GST_ELEMENT_START_TIME (pipeline) != GST_CLOCK_TIME_NONE) {
     GST_DEBUG_OBJECT (pipeline, "reset start_time to 0");
-    GST_ELEMENT_START_TIME (pipeline) = 0;
+    GST_ELEMENT_START_TIME (pipeline) = start_time;
     pipeline->priv->last_start_time = -1;
   } else {
     GST_DEBUG_OBJECT (pipeline, "application asked to not reset stream_time");
@@ -476,7 +472,8 @@
       break;
     case GST_STATE_CHANGE_READY_TO_PAUSED:
     {
-      reset_start_time (pipeline);
+      /* READY to PAUSED starts running_time from 0 */
+      reset_start_time (pipeline, 0);
       break;
     }
     case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
@@ -544,17 +541,15 @@
   GstPipeline *pipeline = GST_PIPELINE_CAST (bin);
 
   switch (GST_MESSAGE_TYPE (message)) {
-    case GST_MESSAGE_ASYNC_DONE:
+    case GST_MESSAGE_RESET_TIME:
     {
-      gboolean reset_time;
+      GstClockTime running_time;
 
-      gst_message_parse_async_done (message, &reset_time);
+      gst_message_parse_reset_time (message, &running_time);
 
       /* reset our running time if we need to distribute a new base_time to the
        * children. */
-      if (reset_time)
-        reset_start_time (pipeline);
-
+      reset_start_time (pipeline, running_time);
       break;
     }
     case GST_MESSAGE_CLOCK_LOST:
@@ -749,8 +744,6 @@
  * used.
  *
  * MT safe.
- *
- * Since: 0.10.5
  */
 void
 gst_pipeline_set_delay (GstPipeline * pipeline, GstClockTime delay)
@@ -772,8 +765,6 @@
  * Returns: The configured delay.
  *
  * MT safe.
- *
- * Since: 0.10.5
  */
 GstClockTime
 gst_pipeline_get_delay (GstPipeline * pipeline)
@@ -809,8 +800,6 @@
  * automatic flushing is disabled else memory leaks will be introduced.
  *
  * MT safe.
- *
- * Since: 0.10.4
  */
 void
 gst_pipeline_set_auto_flush_bus (GstPipeline * pipeline, gboolean auto_flush)
@@ -833,8 +822,6 @@
  * going from READY to NULL state or not.
  *
  * MT safe.
- *
- * Since: 0.10.4
  */
 gboolean
 gst_pipeline_get_auto_flush_bus (GstPipeline * pipeline)
diff --git a/gst/gstplugin.c b/gst/gstplugin.c
index a7542fc..0ee39a3 100644
--- a/gst/gstplugin.c
+++ b/gst/gstplugin.c
@@ -194,8 +194,6 @@
  * via gst_init_get_option_group()) before calling this function.
  *
  * Returns: TRUE if the plugin was registered correctly, otherwise FALSE.
- *
- * Since: 0.10.16
  */
 gboolean
 gst_plugin_register_static (gint major_version, gint minor_version,
@@ -261,9 +259,6 @@
  * via gst_init_get_option_group()) before calling this function.
  *
  * Returns: TRUE if the plugin was registered correctly, otherwise FALSE.
- *
- * Since: 0.10.24
- *
  */
 gboolean
 gst_plugin_register_static_full (gint major_version, gint minor_version,
@@ -791,6 +786,11 @@
     CHECK_PLUGIN_DESC_FIELD (plugin->orig_desc, package, filename);
     CHECK_PLUGIN_DESC_FIELD (plugin->orig_desc, origin, filename);
 
+    if (plugin->orig_desc->name != NULL && plugin->orig_desc->name[0] == '"') {
+      g_warning ("Invalid plugin name '%s' - fix your GST_PLUGIN_DEFINE "
+          "(remove quotes around plugin name)", plugin->orig_desc->name);
+    }
+
     if (plugin->orig_desc->release_datetime != NULL &&
         !check_release_datetime (plugin->orig_desc->release_datetime)) {
       GST_ERROR ("GstPluginDesc for '%s' has invalid datetime '%s'",
@@ -1035,8 +1035,6 @@
  * stored. This is the case when the registry is getting rebuilt.
  *
  * Returns: (transfer none): The cached data as a #GstStructure or %NULL.
- *
- * Since: 0.10.24
  */
 const GstStructure *
 gst_plugin_get_cache_data (GstPlugin * plugin)
@@ -1055,8 +1053,6 @@
  * the @plugin.
  *
  * The cache is flushed every time the registry is rebuilt.
- *
- * Since: 0.10.24
  */
 void
 gst_plugin_set_cache_data (GstPlugin * plugin, GstStructure * cache_data)
@@ -1733,8 +1729,6 @@
  * library and makes visualisations available as GStreamer elements, or a
  * codec loader which exposes elements and/or caps dependent on what external
  * codec libraries are currently installed.
- *
- * Since: 0.10.22
  */
 void
 gst_plugin_add_dependency (GstPlugin * plugin, const gchar ** env_vars,
@@ -1806,8 +1800,6 @@
  * Convenience wrapper function for gst_plugin_add_dependency() which
  * takes simple strings as arguments instead of string arrays, with multiple
  * arguments separated by predefined delimiters (see above).
- *
- * Since: 0.10.22
  */
 void
 gst_plugin_add_dependency_simple (GstPlugin * plugin,
diff --git a/gst/gstplugin.h b/gst/gstplugin.h
index 8d5f6c7..6807186 100644
--- a/gst/gstplugin.h
+++ b/gst/gstplugin.h
@@ -95,8 +95,6 @@
  *         the directory
  *
  * Flags used in connection with gst_plugin_add_dependency().
- *
- * Since: 0.10.22
  */
 typedef enum {
   GST_PLUGIN_DEPENDENCY_FLAG_NONE = 0,
@@ -131,9 +129,6 @@
  * user data to be passed to init function (useful for bindings).
  *
  * Returns: %TRUE if plugin initialised successfully
- *
- * Since: 0.10.24
- *
  */
 /* FIXME 0.11: Merge with GstPluginInitFunc */
 typedef gboolean (*GstPluginInitFullFunc) (GstPlugin *plugin, gpointer user_data);
@@ -154,7 +149,7 @@
  *     subset thereof), or NULL. Allowed are the following formats:
  *     "YYYY-MM-DD" and "YYY-MM-DDTHH:MMZ" (with 'T' a separator and 'Z'
  *     indicating UTC/Zulu time). This field should be set via the
- *     GST_PACKAGE_RELEASE_DATETIME preprocessor macro (Since: 0.10.31)
+ *     GST_PACKAGE_RELEASE_DATETIME preprocessor macro.
  *
  * A plugin should export a variable of this type called plugin_desc. The plugin
  * loader will use the data provided there to initialize the plugin.
diff --git a/gst/gstpluginfeature.c b/gst/gstpluginfeature.c
index 3e1228e..f22f2b4 100644
--- a/gst/gstpluginfeature.c
+++ b/gst/gstpluginfeature.c
@@ -229,8 +229,6 @@
  *
  * Returns: (transfer full) (element-type Gst.PluginFeature): a copy of @list,
  *     with each feature's reference count incremented.
- *
- * Since: 0.10.26
  */
 GList *
 gst_plugin_feature_list_copy (GList * list)
@@ -264,8 +262,6 @@
  *     plugin features
  *
  * Debug the plugin feature names in @list.
- *
- * Since: 0.10.31
  */
 void
 gst_plugin_feature_list_debug (GList * list)
@@ -374,8 +370,6 @@
  * equal but the name of p1 comes before the name of p2; zero if the rank
  * and names are equal; positive value if the rank of p1 < the rank of p2 or the
  * ranks are equal but the name of p2 comes after the name of p1
- *
- * Since: 0.10.31
  */
 gint
 gst_plugin_feature_rank_compare_func (gconstpointer p1, gconstpointer p2)
diff --git a/gst/gstpluginfeature.h b/gst/gstpluginfeature.h
index a372281..69ba44d 100644
--- a/gst/gstpluginfeature.h
+++ b/gst/gstpluginfeature.h
@@ -124,8 +124,6 @@
  *     plugin features
  *
  * Debug the plugin feature names in @list.
- *
- * Since: 0.10.31
  */
 #ifndef GST_DISABLE_GST_DEBUG
 #define GST_PLUGIN_FEATURE_LIST_DEBUG(list) gst_plugin_feature_list_debug(list)
diff --git a/gst/gstpluginloader.c b/gst/gstpluginloader.c
index a51fa89..4109192 100644
--- a/gst/gstpluginloader.c
+++ b/gst/gstpluginloader.c
@@ -457,7 +457,9 @@
 
   /* Find the gst-plugin-scanner: first try the env-var if it is set,
    * otherwise use the installed version */
-  env = g_getenv ("GST_PLUGIN_SCANNER");
+  env = g_getenv ("GST_PLUGIN_SCANNER_1_0");
+  if (env == NULL)
+    env = g_getenv ("GST_PLUGIN_SCANNER");
 
   if (env != NULL && *env != '\0') {
     GST_LOG ("Trying GST_PLUGIN_SCANNER env var: %s", env);
diff --git a/gst/gstpoll.c b/gst/gstpoll.c
index 77be7e3..5a0a886 100644
--- a/gst/gstpoll.c
+++ b/gst/gstpoll.c
@@ -547,8 +547,6 @@
  *
  * Returns: (transfer full): a new #GstPoll, or %NULL in case of an error.
  *     Free with gst_poll_free().
- *
- * Since: 0.10.18
  */
 GstPoll *
 gst_poll_new (gboolean controllable)
@@ -622,8 +620,6 @@
  *
  * Returns: (transfer full): a new #GstPoll, or %NULL in case of an error.
  *     Free with gst_poll_free().
- *
- * Since: 0.10.23
  */
 GstPoll *
 gst_poll_new_timer (void)
@@ -646,8 +642,6 @@
  * @set: (transfer full): a file descriptor set.
  *
  * Free a file descriptor set.
- *
- * Since: 0.10.18
  */
 void
 gst_poll_free (GstPoll * set)
@@ -689,8 +683,6 @@
  *
  * Get a GPollFD for the reading part of the control socket. This is useful when
  * integrating with a GSource and GMainLoop.
- *
- * Since: 0.10.32
  */
 void
 gst_poll_get_read_gpollfd (GstPoll * set, GPollFD * fd)
@@ -717,8 +709,6 @@
  *
  * Initializes @fd. Alternatively you can initialize it with
  * #GST_POLL_FD_INIT.
- *
- * Since: 0.10.18
  */
 void
 gst_poll_fd_init (GstPollFD * fd)
@@ -765,7 +755,7 @@
 #endif
     MARK_REBUILD (set);
   } else {
-    GST_WARNING ("%p: couldn't find fd !", set);
+    GST_WARNING ("%p: fd already added !", set);
   }
 
   return TRUE;
@@ -779,8 +769,6 @@
  * Add a file descriptor to the file descriptor set.
  *
  * Returns: %TRUE if the file descriptor was successfully added to the set.
- *
- * Since: 0.10.18
  */
 gboolean
 gst_poll_add_fd (GstPoll * set, GstPollFD * fd)
@@ -808,8 +796,6 @@
  * Remove a file descriptor from the file descriptor set.
  *
  * Returns: %TRUE if the file descriptor was successfully removed from the set.
- *
- * Since: 0.10.18
  */
 gboolean
 gst_poll_remove_fd (GstPoll * set, GstPollFD * fd)
@@ -859,8 +845,6 @@
  * writability.
  *
  * Returns: %TRUE if the descriptor was successfully updated.
- *
- * Since: 0.10.18
  */
 gboolean
 gst_poll_fd_ctl_write (GstPoll * set, GstPollFD * fd, gboolean active)
@@ -940,8 +924,6 @@
  * readability.
  *
  * Returns: %TRUE if the descriptor was successfully updated.
- *
- * Since: 0.10.18
  */
 gboolean
 gst_poll_fd_ctl_read (GstPoll * set, GstPollFD * fd, gboolean active)
@@ -974,8 +956,6 @@
  * The reason why this is needed is because the underlying implementation
  * might not allow querying the fd more than once between calls to one of
  * the re-enabling operations.
- *
- * Since: 0.10.18
  */
 void
 gst_poll_fd_ignored (GstPoll * set, GstPollFD * fd)
@@ -1009,8 +989,6 @@
  * Check if @fd in @set has closed the connection.
  *
  * Returns: %TRUE if the connection was closed.
- *
- * Since: 0.10.18
  */
 gboolean
 gst_poll_fd_has_closed (const GstPoll * set, GstPollFD * fd)
@@ -1054,8 +1032,6 @@
  * Check if @fd in @set has an error.
  *
  * Returns: %TRUE if the descriptor has an error.
- *
- * Since: 0.10.18
  */
 gboolean
 gst_poll_fd_has_error (const GstPoll * set, GstPollFD * fd)
@@ -1129,8 +1105,6 @@
  * Check if @fd in @set has data to be read.
  *
  * Returns: %TRUE if the descriptor has data to be read.
- *
- * Since: 0.10.18
  */
 gboolean
 gst_poll_fd_can_read (const GstPoll * set, GstPollFD * fd)
@@ -1158,8 +1132,6 @@
  * Check if @fd in @set can be used for writing.
  *
  * Returns: %TRUE if the descriptor can be used for writing.
- *
- * Since: 0.10.18
  */
 gboolean
 gst_poll_fd_can_write (const GstPoll * set, GstPollFD * fd)
@@ -1214,8 +1186,6 @@
  * Returns: The number of #GstPollFD in @set that have activity or 0 when no
  * activity was detected after @timeout. If an error occurs, -1 is returned
  * and errno is set.
- *
- * Since: 0.10.18
  */
 gint
 gst_poll_wait (GstPoll * set, GstClockTime timeout)
@@ -1470,8 +1440,6 @@
  * gst_poll_set_flushing().
  *
  * Returns: %TRUE if the controllability of @set could be updated.
- *
- * Since: 0.10.18
  */
 gboolean
 gst_poll_set_controllable (GstPoll * set, gboolean controllable)
@@ -1493,8 +1461,6 @@
  * used after adding or removing descriptors to @set.
  *
  * If @set is not controllable, then this call will have no effect.
- *
- * Since: 0.10.18
  */
 void
 gst_poll_restart (GstPoll * set)
@@ -1517,8 +1483,6 @@
  * to gst_poll_wait() will return -1, with errno set to EBUSY.
  *
  * Unsetting the flushing state will restore normal operation of @set.
- *
- * Since: 0.10.18
  */
 void
 gst_poll_set_flushing (GstPoll * set, gboolean flushing)
@@ -1553,8 +1517,6 @@
  *
  * Returns: %TRUE on success. %FALSE when @set is not controllable or when the
  * byte could not be written.
- *
- * Since: 0.10.23
  */
 gboolean
 gst_poll_write_control (GstPoll * set)
@@ -1579,8 +1541,6 @@
  *
  * Returns: %TRUE on success. %FALSE when @set is not controllable or when there
  * was no byte to read.
- *
- * Since: 0.10.23
  */
 gboolean
 gst_poll_read_control (GstPoll * set)
diff --git a/gst/gstpoll.h b/gst/gstpoll.h
index 0bec885..b066276 100644
--- a/gst/gstpoll.h
+++ b/gst/gstpoll.h
@@ -58,8 +58,6 @@
  * used. This macro can used be to initialize a variable, but it cannot
  * be assigned to a variable. In that case you have to use
  * gst_poll_fd_init().
- *
- * Since: 0.10.18
  */
 #define GST_POLL_FD_INIT  { -1, -1 }
 
diff --git a/gst/gstpreset.c b/gst/gstpreset.c
index 3277f21..fb20fe8 100644
--- a/gst/gstpreset.c
+++ b/gst/gstpreset.c
@@ -919,8 +919,6 @@
  *
  * Returns: (transfer full) (array zero-terminated=1) (element-type gchar*):
  *     list with names, ue g_strfreev() after usage.
- *
- * Since: 0.10.20
  */
 gchar **
 gst_preset_get_preset_names (GstPreset * preset)
@@ -938,8 +936,6 @@
  *
  * Returns: (transfer full) (array zero-terminated=1) (element-type gchar*): an
  *   array of property names which should be freed with g_strfreev() after use.
- *
- * Since: 0.10.20
  */
 gchar **
 gst_preset_get_property_names (GstPreset * preset)
@@ -957,8 +953,6 @@
  * Load the given preset.
  *
  * Returns: %TRUE for success, %FALSE if e.g. there is no preset with that @name
- *
- * Since: 0.10.20
  */
 gboolean
 gst_preset_load_preset (GstPreset * preset, const gchar * name)
@@ -978,8 +972,6 @@
  * is already a preset by this @name it will be overwritten.
  *
  * Returns: %TRUE for success, %FALSE
- *
- * Since: 0.10.20
  */
 gboolean
 gst_preset_save_preset (GstPreset * preset, const gchar * name)
@@ -1000,8 +992,6 @@
  * overwritten.
  *
  * Returns: %TRUE for success, %FALSE if e.g. there is no preset with @old_name
- *
- * Since: 0.10.20
  */
 gboolean
 gst_preset_rename_preset (GstPreset * preset, const gchar * old_name,
@@ -1023,8 +1013,6 @@
  * Delete the given preset.
  *
  * Returns: %TRUE for success, %FALSE if e.g. there is no preset with that @name
- *
- * Since: 0.10.20
  */
 gboolean
 gst_preset_delete_preset (GstPreset * preset, const gchar * name)
@@ -1047,8 +1035,6 @@
  * @value will unset an existing value.
  *
  * Returns: %TRUE for success, %FALSE if e.g. there is no preset with that @name
- *
- * Since: 0.10.20
  */
 gboolean
 gst_preset_set_meta (GstPreset * preset, const gchar * name, const gchar * tag,
@@ -1073,8 +1059,6 @@
  *
  * Returns: %TRUE for success, %FALSE if e.g. there is no preset with that @name
  * or no value for the given @tag
- *
- * Since: 0.10.20
  */
 gboolean
 gst_preset_get_meta (GstPreset * preset, const gchar * name, const gchar * tag,
@@ -1097,8 +1081,6 @@
  * system presets.
  *
  * Returns: %TRUE for success, %FALSE if the dir already has been set
- *
- * Since: 0.10.36
  */
 gboolean
 gst_preset_set_app_dir (const gchar * app_dir)
@@ -1119,8 +1101,6 @@
  * application.
  *
  * Returns: the directory or %NULL, don't free or modify the string
- *
- * Since: 0.10.36
  */
 const gchar *
 gst_preset_get_app_dir (void)
diff --git a/gst/gstquark.c b/gst/gstquark.c
index 2d55fa3..dc439ed 100644
--- a/gst/gstquark.c
+++ b/gst/gstquark.c
@@ -41,7 +41,7 @@
   "latency", "uri", "object", "taglist", "GstEventSegment",
   "GstEventBufferSize", "GstEventQOS", "GstEventSeek", "GstEventLatency",
   "GstMessageError", "GstMessageWarning", "GstMessageInfo",
-  "GstMessageBuffering", "GstMessageState", "GstMessageClockProvide",
+  "GstMessageBuffering", "GstMessageStateChanged", "GstMessageClockProvide",
   "GstMessageClockLost", "GstMessageNewClock", "GstMessageStructureChange",
   "GstMessageSegmentStart", "GstMessageSegmentDone", "GstMessageDuration",
   "GstMessageAsyncDone", "GstMessageRequestState", "GstMessageStreamStatus",
@@ -61,8 +61,11 @@
   "GstEventTocSelect", "uid", "GstQueryToc", GST_ELEMENT_METADATA_LONGNAME,
   GST_ELEMENT_METADATA_KLASS, GST_ELEMENT_METADATA_DESCRIPTION,
   GST_ELEMENT_METADATA_AUTHOR, "toc", "toc-entry", "updated", "extend-uid",
-  "uid", "tags", "sub-entries", "info", "info-structure",
-  "time-structure", "GstMessageTag", "GstEventTag"
+  "uid", "tags", "sub-entries", "info", "GstMessageTag", "GstEventTag",
+  "GstMessageResetTime",
+  "GstMessageToc", "GstEventTocGlobal", "GstEventTocCurrent",
+  "GstEventSegmentDone",
+  "GstEventStreamStart", "stream-id"
 };
 
 GQuark _priv_gst_quark_table[GST_QUARK_MAX];
diff --git a/gst/gstquark.h b/gst/gstquark.h
index 969ce79..e77af84 100644
--- a/gst/gstquark.h
+++ b/gst/gstquark.h
@@ -89,7 +89,7 @@
   GST_QUARK_MESSAGE_WARNING = 60,
   GST_QUARK_MESSAGE_INFO = 61,
   GST_QUARK_MESSAGE_BUFFERING = 62,
-  GST_QUARK_MESSAGE_STATE = 63,
+  GST_QUARK_MESSAGE_STATE_CHANGED = 63,
   GST_QUARK_MESSAGE_CLOCK_PROVIDE = 64,
   GST_QUARK_MESSAGE_CLOCK_LOST = 65,
   GST_QUARK_MESSAGE_NEW_CLOCK = 66,
@@ -179,11 +179,16 @@
   GST_QUARK_TAGS = 150,
   GST_QUARK_SUB_ENTRIES = 151,
   GST_QUARK_INFO = 152,
-  GST_QUARK_INFO_STRUCTURE = 153,
-  GST_QUARK_TIME_STRUCTURE = 154,
-  GST_QUARK_MESSAGE_TAG = 155,
-  GST_QUARK_EVENT_TAG = 156,
-  GST_QUARK_MAX = 157
+  GST_QUARK_MESSAGE_TAG = 153,
+  GST_QUARK_EVENT_TAG = 154,
+  GST_QUARK_MESSAGE_RESET_TIME = 155,
+  GST_QUARK_MESSAGE_TOC = 156,
+  GST_QUARK_EVENT_TOC_GLOBAL = 157,
+  GST_QUARK_EVENT_TOC_CURRENT = 158,
+  GST_QUARK_EVENT_SEGMENT_DONE = 159,
+  GST_QUARK_EVENT_STREAM_START = 160,
+  GST_QUARK_STREAM_ID = 161,
+  GST_QUARK_MAX = 162
 } GstQuarkId;
 
 extern GQuark _priv_gst_quark_table[GST_QUARK_MAX];
diff --git a/gst/gstquery.c b/gst/gstquery.c
index 5fadc9d..021c527 100644
--- a/gst/gstquery.c
+++ b/gst/gstquery.c
@@ -110,7 +110,6 @@
   {GST_QUERY_ACCEPT_CAPS, "accept-caps", 0},
   {GST_QUERY_CAPS, "caps", 0},
   {GST_QUERY_DRAIN, "drain", 0},
-  {GST_QUERY_TOC, "toc", 0},
 
   {0, NULL, 0}
 };
@@ -202,7 +201,7 @@
     gst_structure_free (s);
   }
 
-  g_slice_free1 (GST_MINI_OBJECT_SIZE (query), query);
+  g_slice_free1 (sizeof (GstQueryImpl), query);
 }
 
 static GstQuery *
@@ -220,17 +219,6 @@
   return copy;
 }
 
-static void
-gst_query_init (GstQueryImpl * query, gsize size, GstQueryType type)
-{
-  gst_mini_object_init (GST_MINI_OBJECT_CAST (query), _gst_query_type, size);
-
-  query->query.mini_object.copy = (GstMiniObjectCopyFunction) _gst_query_copy;
-  query->query.mini_object.free = (GstMiniObjectFreeFunction) _gst_query_free;
-
-  GST_QUERY_TYPE (query) = type;
-}
-
 /**
  * gst_query_new_position:
  * @format: the default #GstFormat for the new query
@@ -398,8 +386,6 @@
  * Free-function: gst_query_unref
  *
  * Returns: (transfer full): a #GstQuery
- *
- * Since: 0.10.12
  */
 GstQuery *
 gst_query_new_latency (void)
@@ -425,8 +411,6 @@
  * @max_latency: the maximal latency of the upstream elements
  *
  * Answer a latency query by setting the requested values in the given format.
- *
- * Since: 0.10.12
  */
 void
 gst_query_set_latency (GstQuery * query, gboolean live,
@@ -451,8 +435,6 @@
  * @max_latency: (out) (allow-none): the storage for the max latency or NULL
  *
  * Parse a latency query answer.
- *
- * Since: 0.10.12
  */
 void
 gst_query_parse_latency (GstQuery * query, gboolean * live,
@@ -702,8 +684,12 @@
             &query->query.mini_object.refcount))
       goto had_parent;
   }
-  gst_query_init (query, sizeof (GstQueryImpl), type);
 
+  gst_mini_object_init (GST_MINI_OBJECT_CAST (query), 0, _gst_query_type,
+      (GstMiniObjectCopyFunction) _gst_query_copy, NULL,
+      (GstMiniObjectFreeFunction) _gst_query_free);
+
+  GST_QUERY_TYPE (query) = type;
   GST_QUERY_STRUCTURE (query) = structure;
 
   return GST_QUERY_CAST (query);
@@ -711,7 +697,7 @@
   /* ERRORS */
 had_parent:
   {
-    g_slice_free1 (GST_MINI_OBJECT_SIZE (query), query);
+    g_slice_free1 (sizeof (GstQueryImpl), query);
     g_warning ("structure is already owned by another object");
     return NULL;
   }
@@ -881,8 +867,6 @@
  * Free-function: gst_query_unref
  *
  * Returns: (transfer full): a new #GstQuery
- *
- * Since: 0.10.4
  */
 GstQuery *
 gst_query_new_formats (void)
@@ -951,8 +935,6 @@
  *
  * Set the formats query result fields in @query. The number of formats passed
  * in the @formats array must be equal to @n_formats.
- *
- * Since: 0.10.4
  */
 void
 gst_query_set_formatsv (GstQuery * query, gint n_formats,
@@ -981,8 +963,6 @@
  * @n_formats: (out) (allow-none): the number of formats in this query.
  *
  * Parse the number of formats in the formats @query.
- *
- * Since: 0.10.4
  */
 void
 gst_query_parse_n_formats (GstQuery * query, guint * n_formats)
@@ -1047,8 +1027,6 @@
  * Free-function: gst_query_unref
  *
  * Returns: (transfer full): a new #GstQuery
- *
- * Since: 0.10.20
  */
 GstQuery *
 gst_query_new_buffering (GstFormat format)
@@ -1083,8 +1061,6 @@
  *
  * Set the percentage of buffered data. This is a value between 0 and 100.
  * The @busy indicator is %TRUE when the buffering is in progress.
- *
- * Since: 0.10.20
  */
 void
 gst_query_set_buffering_percent (GstQuery * query, gboolean busy, gint percent)
@@ -1109,8 +1085,6 @@
  *
  * Get the percentage of buffered data. This is a value between 0 and 100.
  * The @busy indicator is %TRUE when the buffering is in progress.
- *
- * Since: 0.10.20
  */
 void
 gst_query_parse_buffering_percent (GstQuery * query, gboolean * busy,
@@ -1138,8 +1112,6 @@
  * @buffering_left: amount of buffering time left
  *
  * Configures the buffering stats values in @query.
- *
- * Since: 0.10.20
  */
 void
 gst_query_set_buffering_stats (GstQuery * query, GstBufferingMode mode,
@@ -1167,8 +1139,6 @@
  * @buffering_left: (out) (allow-none): amount of buffering time left, or NULL
  *
  * Extracts the buffering stats values from @query.
- *
- * Since: 0.10.20
  */
 void
 gst_query_parse_buffering_stats (GstQuery * query,
@@ -1205,8 +1175,6 @@
  * @estimated_total: estimated total amount of download time
  *
  * Set the available query result fields in @query.
- *
- * Since: 0.10.20
  */
 void
 gst_query_set_buffering_range (GstQuery * query, GstFormat format,
@@ -1238,8 +1206,6 @@
  * Parse an available query, writing the format into @format, and
  * other results into the passed parameters, if the respective parameters
  * are non-NULL
- *
- * Since: 0.10.20
  */
 void
 gst_query_parse_buffering_range (GstQuery * query, GstFormat * format,
@@ -1283,8 +1249,6 @@
  * start position of the array should be inferior to @start.
  *
  * Returns: a #gboolean indicating if the range was added or not.
- *
- * Since: 0.10.31
  */
 gboolean
 gst_query_add_buffering_range (GstQuery * query, gint64 start, gint64 stop)
@@ -1327,8 +1291,6 @@
  * buffered-ranges array of the query's structure.
  *
  * Returns: the range array size as a #guint.
- *
- * Since: 0.10.31
  */
 guint
 gst_query_get_n_buffering_ranges (GstQuery * query)
@@ -1357,8 +1319,6 @@
  * at the @index of the buffered ranges array.
  *
  * Returns: a #gboolean indicating if the parsing succeeded.
- *
- * Since: 0.10.31
  */
 gboolean
 gst_query_parse_nth_buffering_range (GstQuery * query, guint index,
@@ -1397,8 +1357,6 @@
  * Free-function: gst_query_unref
  *
  * Returns: (transfer full): a new #GstQuery
- *
- * Since: 0.10.22
  */
 GstQuery *
 gst_query_new_uri (void)
@@ -1420,8 +1378,6 @@
  * @uri: the URI to set
  *
  * Answer a URI query by setting the requested URI.
- *
- * Since: 0.10.22
  */
 void
 gst_query_set_uri (GstQuery * query, const gchar * uri)
@@ -1445,8 +1401,6 @@
  * Parse an URI query, writing the URI into @uri as a newly
  * allocated string, if the respective parameters are non-NULL.
  * Free the string with g_free() after usage.
- *
- * Since: 0.10.22
  */
 void
 gst_query_parse_uri (GstQuery * query, gchar ** uri)
@@ -1593,12 +1547,14 @@
  * gst_query_parse_nth_allocation_pool:
  * @query: A valid #GstQuery of type GST_QUERY_ALLOCATION.
  * @index: index to parse
- * @pool: (out) (allow-none) (transfer none): the #GstBufferPool
+ * @pool: (out) (allow-none) (transfer full): the #GstBufferPool
  * @size: (out) (allow-none): the size
  * @min_buffers: (out) (allow-none): the min buffers
  * @max_buffers: (out) (allow-none): the max buffers
  *
  * Get the pool parameters in @query.
+ *
+ * Unref @pool with gst_object_unref() when it's not needed any more.
  */
 void
 gst_query_parse_nth_allocation_pool (GstQuery * query, guint index,
@@ -1666,27 +1622,48 @@
   g_array_index (array, AllocationPool, index) = ap;
 }
 
+typedef struct
+{
+  GType api;
+  GstStructure *params;
+} AllocationMeta;
+
+static void
+allocation_meta_free (AllocationMeta * am)
+{
+  if (am->params)
+    gst_structure_free (am->params);
+}
+
 /**
  * gst_query_add_allocation_meta:
  * @query: a GST_QUERY_ALLOCATION type query #GstQuery
  * @api: the metadata API
+ * @params: (transfer none) (allow-none): API specific parameters
  *
- * Add @api as aone of the supported metadata API to @query.
+ * Add @api with @params as one of the supported metadata API to @query.
  */
 void
-gst_query_add_allocation_meta (GstQuery * query, GType api)
+gst_query_add_allocation_meta (GstQuery * query, GType api,
+    const GstStructure * params)
 {
   GArray *array;
   GstStructure *structure;
+  AllocationMeta am;
 
   g_return_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_ALLOCATION);
   g_return_if_fail (api != 0);
   g_return_if_fail (gst_query_is_writable (query));
 
   structure = GST_QUERY_STRUCTURE (query);
-  array = ensure_array (structure, GST_QUARK (META), sizeof (GType), NULL);
+  array =
+      ensure_array (structure, GST_QUARK (META), sizeof (AllocationMeta),
+      (GDestroyNotify) allocation_meta_free);
 
-  g_array_append_val (array, api);
+  am.api = api;
+  am.params = (params ? gst_structure_copy (params) : NULL);
+
+  g_array_append_val (array, am);
 }
 
 /**
@@ -1707,7 +1684,9 @@
   g_return_val_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_ALLOCATION, 0);
 
   structure = GST_QUERY_STRUCTURE (query);
-  array = ensure_array (structure, GST_QUARK (META), sizeof (GType), NULL);
+  array =
+      ensure_array (structure, GST_QUARK (META), sizeof (AllocationMeta),
+      (GDestroyNotify) allocation_meta_free);
 
   return array->len;
 }
@@ -1716,6 +1695,7 @@
  * gst_query_parse_nth_allocation_meta:
  * @query: a GST_QUERY_ALLOCATION type query #GstQuery
  * @index: position in the metadata API array to read
+ * @params: (out) (allow-none): API specific flags
  *
  * Parse an available query and get the metadata API
  * at @index of the metadata API array.
@@ -1723,19 +1703,28 @@
  * Returns: a #GType of the metadata API at @index.
  */
 GType
-gst_query_parse_nth_allocation_meta (GstQuery * query, guint index)
+gst_query_parse_nth_allocation_meta (GstQuery * query, guint index,
+    const GstStructure ** params)
 {
   GArray *array;
   GstStructure *structure;
+  AllocationMeta *am;
 
   g_return_val_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_ALLOCATION, 0);
 
   structure = GST_QUERY_STRUCTURE (query);
-  array = ensure_array (structure, GST_QUARK (META), sizeof (GType), NULL);
+  array =
+      ensure_array (structure, GST_QUARK (META), sizeof (AllocationMeta),
+      (GDestroyNotify) allocation_meta_free);
 
   g_return_val_if_fail (index < array->len, 0);
 
-  return g_array_index (array, GType, index);
+  am = &g_array_index (array, AllocationMeta, index);
+
+  if (params)
+    *params = am->params;
+
+  return am->api;
 }
 
 /**
@@ -1755,23 +1744,28 @@
   g_return_if_fail (gst_query_is_writable (query));
 
   structure = GST_QUERY_STRUCTURE (query);
-  array = ensure_array (structure, GST_QUARK (META), sizeof (GType), NULL);
+  array =
+      ensure_array (structure, GST_QUARK (META), sizeof (AllocationMeta),
+      (GDestroyNotify) allocation_meta_free);
   g_return_if_fail (index < array->len);
 
   g_array_remove_index (array, index);
 }
 
 /**
- * gst_query_has_allocation_meta:
+ * gst_query_find_allocation_meta:
  * @query: a GST_QUERY_ALLOCATION type query #GstQuery
  * @api: the metadata API
+ * @index: (out) (allow-none): the index
  *
- * Check if @query has metadata @api set.
+ * Check if @query has metadata @api set. When this function returns TRUE,
+ * @index will contain the index where the requested API and the flags can be
+ * found.
  *
  * Returns: TRUE when @api is in the list of metadata.
  */
 gboolean
-gst_query_has_allocation_meta (GstQuery * query, GType api)
+gst_query_find_allocation_meta (GstQuery * query, GType api, guint * index)
 {
   GArray *array;
   GstStructure *structure;
@@ -1781,12 +1775,18 @@
   g_return_val_if_fail (api != 0, FALSE);
 
   structure = GST_QUERY_STRUCTURE (query);
-  array = ensure_array (structure, GST_QUARK (META), sizeof (GType), NULL);
+  array =
+      ensure_array (structure, GST_QUARK (META), sizeof (AllocationMeta),
+      (GDestroyNotify) allocation_meta_free);
 
   len = array->len;
   for (i = 0; i < len; i++) {
-    if (g_array_index (array, GType, i) == api)
+    AllocationMeta *am = &g_array_index (array, AllocationMeta, i);
+    if (am->api == api) {
+      if (index)
+        *index = i;
       return TRUE;
+    }
   }
   return FALSE;
 }
@@ -1801,14 +1801,14 @@
 allocation_param_free (AllocationParam * ap)
 {
   if (ap->allocator)
-    gst_allocator_unref (ap->allocator);
+    gst_object_unref (ap->allocator);
 }
 
 /**
  * gst_query_add_allocation_param:
  * @query: a GST_QUERY_ALLOCATION type query #GstQuery
- * @allocator: the memory allocator
- * @params: a #GstAllocationParams
+ * @allocator: (transfer none) (allow-none): the memory allocator
+ * @params: (transfer none) (allow-none): a #GstAllocationParams
  *
  * Add @allocator and its @params as a supported memory allocator.
  */
@@ -1829,7 +1829,7 @@
       sizeof (AllocationParam), (GDestroyNotify) allocation_param_free);
 
   if ((ap.allocator = allocator))
-    gst_allocator_ref (allocator);
+    gst_object_ref (allocator);
   if (params)
     ap.params = *params;
   else
@@ -1869,8 +1869,8 @@
  * gst_query_parse_nth_allocation_param:
  * @query: a GST_QUERY_ALLOCATION type query #GstQuery
  * @index: position in the allocator array to read
- * @allocator: (transfer none): variable to hold the result
- * @params: parameters for the allocator
+ * @allocator: (out) (transfer none) (allow-none): variable to hold the result
+ * @params: (out) (allow-none): parameters for the allocator
  *
  * Parse an available query and get the alloctor and its params
  * at @index of the allocator array.
@@ -1894,7 +1894,7 @@
 
   if (allocator)
     if ((*allocator = ap->allocator))
-      gst_allocator_ref (*allocator);
+      gst_object_ref (*allocator);
   if (params)
     *params = ap->params;
 }
@@ -1903,8 +1903,8 @@
  * gst_query_set_nth_allocation_param:
  * @query: a GST_QUERY_ALLOCATION type query #GstQuery
  * @index: position in the allocator array to set
- * @allocator: (transfer full): new allocator to set
- * @params: parameters for the allocator
+ * @allocator: (transfer none) (allow-none): new allocator to set
+ * @params: (transfer none) (allow-none): parameters for the allocator
  *
  * Parse an available query and get the alloctor and its params
  * at @index of the allocator array.
@@ -1928,7 +1928,7 @@
   allocation_param_free (old);
 
   if ((ap.allocator = allocator))
-    gst_allocator_ref (allocator);
+    gst_object_ref (allocator);
   if (params)
     ap.params = *params;
   else
@@ -2166,6 +2166,13 @@
           GST_QUARK (CAPS)));
 }
 
+/**
+ * gst_query_set_accept_caps_result:
+ * @query: a GST_QUERY_ACCEPT_CAPS type query #GstQuery
+ * @result: the result to set
+ *
+ * Set @result as the result for the @query.
+ */
 void
 gst_query_set_accept_caps_result (GstQuery * query, gboolean result)
 {
@@ -2179,6 +2186,13 @@
       GST_QUARK (RESULT), G_TYPE_BOOLEAN, result, NULL);
 }
 
+/**
+ * gst_query_parse_accept_caps_result:
+ * @query: a GST_QUERY_ACCEPT_CAPS type query #GstQuery
+ * @result: location for the result
+ *
+ * Parse the result from @query and store in @result.
+ */
 void
 gst_query_parse_accept_caps_result (GstQuery * query, gboolean * result)
 {
@@ -2293,6 +2307,7 @@
           GST_QUARK (CAPS)));
 }
 
+#if 0
 void
 gst_query_intersect_caps_result (GstQuery * query, GstCaps * filter,
     GstCapsIntersectMode mode)
@@ -2304,6 +2319,7 @@
   gst_query_set_caps_result (query, res);
   gst_caps_unref (res);
 }
+#endif
 
 /**
  * gst_query_new_drain:
@@ -2325,93 +2341,3 @@
 
   return query;
 }
-
-/**
- * gst_query_new_toc:
- *
- * Constructs a new query TOC query object. Use gst_query_unref()
- * when done with it. A TOC query is used to query the full TOC with
- * the UID marker for TOC extending (to insert some new entries).
- *
- * Returns: A #GstQuery.
- */
-GstQuery *
-gst_query_new_toc (void)
-{
-  GstQuery *query;
-  GstStructure *structure;
-
-  structure = gst_structure_new_id_empty (GST_QUARK (QUERY_TOC));
-  query = gst_query_new_custom (GST_QUERY_TOC, structure);
-
-  return query;
-}
-
-/**
- * gst_query_set_toc:
- * @query: a #GstQuery with query type GST_QUERY_TOC.
- * @toc: the GstToc to set.
- * @extend_uid: UID which can be used for TOC extending (may be NULL),
- * 0 means root TOC level.
- *
- * Answer a TOC query by setting appropriate #GstToc structure.
- */
-void
-gst_query_set_toc (GstQuery * query, GstToc * toc, const gchar * extend_uid)
-{
-  GstStructure *structure;
-  GstStructure *old_structure;
-
-  g_return_if_fail (query != NULL);
-  g_return_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_TOC);
-  g_return_if_fail (toc != NULL);
-
-  structure = __gst_toc_to_structure (toc);
-
-  g_return_if_fail (structure != NULL);
-
-  /* that shouldn't be happen in normal usage */
-  old_structure = GST_QUERY_STRUCTURE (query);
-  if (old_structure) {
-    gst_structure_set_parent_refcount (old_structure, NULL);
-    gst_structure_free (old_structure);
-  }
-
-  if (extend_uid != NULL)
-    __gst_toc_structure_set_extend_uid (structure, extend_uid);
-
-  gst_structure_set_parent_refcount (structure, &(query->mini_object.refcount));
-  GST_QUERY_STRUCTURE (query) = structure;
-}
-
-/**
- * gst_query_parse_toc:
- * @query: a #GstQuery.
- * @toc: (out): the storage for the received TOC (may be NULL).
- * @extend_uid: (out): the storage for the received extend UID marker (may be NULL),
- * 0 means root TOC level.
- *
- * Parse a TOC query, writing the TOC into @toc as a newly
- * allocated #GstToc and extend UID into @extend_uid, if the respective parameters
- * are non-NULL. Use @extend_uid value to insert new entries into the TOC (@extend_uid will
- * act as root entry for newly inserted entries).
- * Free @toc with gst_toc_free() and @extend_uid with g_free() after usage.
- */
-void
-gst_query_parse_toc (GstQuery * query, GstToc ** toc, gchar ** extend_uid)
-{
-  const GstStructure *structure;
-
-  g_return_if_fail (query != NULL);
-  g_return_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_TOC);
-
-  structure = gst_query_get_structure (query);
-
-  g_return_if_fail (structure != NULL);
-
-  if (toc != NULL)
-    *toc = __gst_toc_from_structure (structure);
-
-  if (extend_uid != NULL)
-    *extend_uid = __gst_toc_structure_get_extend_uid (structure);
-}
diff --git a/gst/gstquery.h b/gst/gstquery.h
index c060ce0..5c88f55 100644
--- a/gst/gstquery.h
+++ b/gst/gstquery.h
@@ -33,6 +33,7 @@
 #include <gst/gststructure.h>
 #include <gst/gstformat.h>
 #include <gst/gstpad.h>
+#include <gst/gstallocator.h>
 #include <gst/gsttoc.h>
 
 G_BEGIN_DECLS
@@ -92,18 +93,14 @@
  * @GST_QUERY_SEGMENT: segment start/stop positions
  * @GST_QUERY_CONVERT: convert values between formats
  * @GST_QUERY_FORMATS: query supported formats for convert
- * @GST_QUERY_BUFFERING: query available media for efficient seeking. Since
- * 0.10.20.
- * @GST_QUERY_CUSTOM: a custom application or element defined query. Since
- * 0.10.22.
- * @GST_QUERY_URI: query the URI of the source or sink. Since 0.10.22.
+ * @GST_QUERY_BUFFERING: query available media for efficient seeking.
+ * @GST_QUERY_CUSTOM: a custom application or element defined query.
+ * @GST_QUERY_URI: query the URI of the source or sink.
  * @GST_QUERY_ALLOCATION: the buffer allocation properties
  * @GST_QUERY_SCHEDULING: the scheduling properties
  * @GST_QUERY_ACCEPT_CAPS: the accept caps query
  * @GST_QUERY_CAPS: the caps query
  * @GST_QUERY_DRAIN: wait till all serialized data is consumed downstream
- * @GST_QUERY_TOC: query the full table of contents (TOC) with the marker
- * for an entry which can be used to extend received TOC. Since 0.10.37.
  *
  * Standard predefined Query types
  */
@@ -127,8 +124,7 @@
   GST_QUERY_SCHEDULING   = GST_QUERY_MAKE_TYPE (150, FLAG(UPSTREAM)),
   GST_QUERY_ACCEPT_CAPS  = GST_QUERY_MAKE_TYPE (160, FLAG(BOTH)),
   GST_QUERY_CAPS         = GST_QUERY_MAKE_TYPE (170, FLAG(BOTH)),
-  GST_QUERY_DRAIN        = GST_QUERY_MAKE_TYPE (180, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
-  GST_QUERY_TOC          = GST_QUERY_MAKE_TYPE (190, FLAG(BOTH))
+  GST_QUERY_DRAIN        = GST_QUERY_MAKE_TYPE (180, FLAG(DOWNSTREAM) | FLAG(SERIALIZED))
 } GstQueryType;
 #undef FLAG
 
@@ -150,8 +146,6 @@
  * @query: the query to query
  *
  * Get a constant string representation of the #GstQueryType of the query.
- *
- * Since: 0.10.4
  */
 #define GST_QUERY_TYPE_NAME(query) (gst_query_type_get_name(GST_QUERY_TYPE(query)))
 
@@ -430,11 +424,12 @@
                                                       const GstAllocationParams *params);
 
 /* metadata */
-void            gst_query_add_allocation_meta        (GstQuery *query, GType api);
+void            gst_query_add_allocation_meta        (GstQuery *query, GType api, const GstStructure *params);
 guint           gst_query_get_n_allocation_metas     (GstQuery *query);
-GType           gst_query_parse_nth_allocation_meta  (GstQuery *query, guint index);
+GType           gst_query_parse_nth_allocation_meta  (GstQuery *query, guint index,
+                                                      const GstStructure **params);
 void            gst_query_remove_nth_allocation_meta (GstQuery *query, guint index);
-gboolean        gst_query_has_allocation_meta        (GstQuery *query, GType api);
+gboolean        gst_query_find_allocation_meta       (GstQuery *query, GType api, guint *index);
 
 
 /* scheduling query */
@@ -475,16 +470,9 @@
 void            gst_query_set_caps_result          (GstQuery *query, GstCaps *caps);
 void            gst_query_parse_caps_result        (GstQuery *query, GstCaps **caps);
 
-void            gst_query_intersect_caps_result    (GstQuery *query, GstCaps *filter,
-                                                    GstCapsIntersectMode mode);
 /* drain query */
 GstQuery *      gst_query_new_drain                (void) G_GNUC_MALLOC;
 
-/* TOC query */
-GstQuery *      gst_query_new_toc                 (void);
-void            gst_query_set_toc                 (GstQuery *query, GstToc *toc, const gchar *extend_uid);
-void            gst_query_parse_toc               (GstQuery *query, GstToc **toc, gchar **extend_uid);
-
 G_END_DECLS
 
 #endif /* __GST_QUERY_H__ */
diff --git a/gst/gstregistry.c b/gst/gstregistry.c
index c77cffe..85b174d 100644
--- a/gst/gstregistry.c
+++ b/gst/gstregistry.c
@@ -1121,10 +1121,9 @@
             filename, file_size, file_mtime)) {
       g_warning ("External plugin loader failed. This most likely means that "
           "the plugin loader helper binary was not found or could not be run. "
-          "%s", (g_getenv ("GST_PLUGIN_PATH") != NULL) ?
-          "If you are running an uninstalled GStreamer setup, you might need "
-          "to update your gst-uninstalled script so that the "
-          "GST_PLUGIN_SCANNER environment variable gets set." : "");
+          "You might need to set the GST_PLUGIN_SCANNER environment variable "
+          "if your setup is unusual. This should normally not be required "
+          "though.");
       context->helper_state = REGISTRY_SCAN_HELPER_DISABLED;
     }
   }
@@ -1553,7 +1552,9 @@
 
   /* GST_PLUGIN_PATH specifies a list of directories to scan for
    * additional plugins.  These take precedence over the system plugins */
-  plugin_path = g_getenv ("GST_PLUGIN_PATH");
+  plugin_path = g_getenv ("GST_PLUGIN_PATH_1_0");
+  if (plugin_path == NULL)
+    plugin_path = g_getenv ("GST_PLUGIN_PATH");
   if (plugin_path) {
     char **list;
     int i;
@@ -1571,7 +1572,9 @@
   /* GST_PLUGIN_SYSTEM_PATH specifies a list of plugins that are always
    * loaded by default.  If not set, this defaults to the system-installed
    * path, and the plugins installed in the user's home directory */
-  plugin_path = g_getenv ("GST_PLUGIN_SYSTEM_PATH");
+  plugin_path = g_getenv ("GST_PLUGIN_SYSTEM_PATH_1_0");
+  if (plugin_path == NULL)
+    plugin_path = g_getenv ("GST_PLUGIN_SYSTEM_PATH");
   if (plugin_path == NULL) {
     char *home_plugins;
 
@@ -1661,7 +1664,10 @@
   gboolean have_cache = TRUE;
 
   default_registry = gst_registry_get ();
-  registry_file = g_strdup (g_getenv ("GST_REGISTRY"));
+
+  registry_file = g_strdup (g_getenv ("GST_REGISTRY_1_0"));
+  if (registry_file == NULL)
+    registry_file = g_strdup (g_getenv ("GST_REGISTRY"));
   if (registry_file == NULL) {
     registry_file = g_build_filename (g_get_user_cache_dir (),
         "gstreamer-" GST_API_VERSION, "registry." TARGET_CPU ".bin", NULL);
@@ -1721,8 +1727,6 @@
  *
  * Returns: %TRUE if GStreamer will use the child helper process when
  * rebuilding the registry.
- *
- * Since: 0.10.10
  */
 gboolean
 gst_registry_fork_is_enabled (void)
@@ -1737,8 +1741,6 @@
  * Applications might want to disable/enable spawning of a child helper process
  * when rebuilding the registry. See gst_registry_fork_is_enabled() for more
  * information.
- *
- * Since: 0.10.10
  */
 void
 gst_registry_fork_set_enabled (gboolean enabled)
@@ -1768,8 +1770,6 @@
  *
  * Returns: %TRUE if the registry has been updated successfully (does not
  *          imply that there were changes), otherwise %FALSE.
- *
- * Since: 0.10.12
  */
 gboolean
 gst_update_registry (void)
@@ -1808,8 +1808,6 @@
  * every time a feature is added or removed from the registry.
  *
  * Returns: the feature list cookie.
- *
- * Since: 0.10.26
  */
 guint32
 gst_registry_get_feature_list_cookie (GstRegistry * registry)
diff --git a/gst/gstsample.c b/gst/gstsample.c
index 4a7551b..618d328 100644
--- a/gst/gstsample.c
+++ b/gst/gstsample.c
@@ -74,15 +74,15 @@
   if (sample->caps)
     gst_caps_unref (sample->caps);
 
-  g_slice_free1 (GST_MINI_OBJECT_SIZE (sample), sample);
+  g_slice_free1 (sizeof (GstSample), sample);
 }
 
 /**
  * gst_sample_new:
- * @buffer: a #GstBuffer
- * @caps: a #GstCaps
- * @segment: a #GstSegment
- * @info: a #GstStructure
+ * @buffer: (transfer none) (allow-none): a #GstBuffer, or NULL
+ * @caps: (transfer none) (allow-none): a #GstCaps, or NULL
+ * @segment: transfer none) (allow-none): a #GstSegment, or NULL
+ * @info: (transfer full) (allow-none): a #GstStructure, or NULL
  *
  * Create a new #GstSample with the provided details.
  *
@@ -90,8 +90,6 @@
  *
  * Returns: (transfer full): the new #GstSample. gst_sample_unref()
  *     after usage.
- *
- * Since: 0.10.24
  */
 GstSample *
 gst_sample_new (GstBuffer * buffer, GstCaps * caps, const GstSegment * segment,
@@ -103,11 +101,9 @@
 
   GST_LOG ("new %p", sample);
 
-  gst_mini_object_init (GST_MINI_OBJECT_CAST (sample), _gst_sample_type,
-      sizeof (GstSample));
-
-  sample->mini_object.copy = (GstMiniObjectCopyFunction) _gst_sample_copy;
-  sample->mini_object.free = (GstMiniObjectFreeFunction) _gst_sample_free;
+  gst_mini_object_init (GST_MINI_OBJECT_CAST (sample), 0, _gst_sample_type,
+      (GstMiniObjectCopyFunction) _gst_sample_copy, NULL,
+      (GstMiniObjectFreeFunction) _gst_sample_free);
 
   sample->buffer = buffer ? gst_buffer_ref (buffer) : NULL;
   sample->caps = caps ? gst_caps_ref (caps) : NULL;
diff --git a/gst/gstsample.h b/gst/gstsample.h
index 45cd7ee..97a3843 100644
--- a/gst/gstsample.h
+++ b/gst/gstsample.h
@@ -42,7 +42,7 @@
  *
  * The opaque structure of a #GstSample. A sample contains a typed memory
  * block and the associated timing information. It is mainly used to
- * exchange buffers with and application.
+ * exchange buffers with an application.
  */
 typedef struct _GstSample GstSample;
 
diff --git a/gst/gstsegment.c b/gst/gstsegment.c
index 0e5cc17..0badbca 100644
--- a/gst/gstsegment.c
+++ b/gst/gstsegment.c
@@ -52,11 +52,10 @@
  * with a start value of 0 and a stop/duration of -1, which is undefined. The default
  * rate and applied_rate is 1.0.
  *
- * If the segment is used for managing seeks, the segment duration should be set with
- * gst_segment_set_duration(). The public duration field contains the duration of the
- * segment. When using the segment for seeking, the start and time members should
- * normally be left to their default 0 value. The stop position is left to -1 unless
- * explicitly configured to a different value after a seek event.
+ * The public duration field contains the duration of the segment. When using
+ * the segment for seeking, the start and time members should normally be left
+ * to their default 0 value. The stop position is left to -1 unless explicitly
+ * configured to a different value after a seek event.
  *
  * The current position in the segment should be set by changing the position
  * member in the structure.
@@ -64,7 +63,7 @@
  * For elements that perform seeks, the current segment should be updated with the
  * gst_segment_do_seek() and the values from the seek event. This method will update
  * all the segment fields. The position field will contain the new playback position.
- * If the cur_type was different from GST_SEEK_TYPE_NONE, playback continues from
+ * If the start_type was different from GST_SEEK_TYPE_NONE, playback continues from
  * the position position, possibly with updated flags or rate.
  *
  * For elements that want to use #GstSegment to track the playback region,
@@ -93,8 +92,6 @@
  * Free-function: gst_segment_free
  *
  * Returns: (transfer full): a new #GstSegment, free with gst_segment_free().
- *
- * Since: 0.10.20
  */
 GstSegment *
 gst_segment_copy (const GstSegment * segment)
@@ -177,6 +174,7 @@
   segment->applied_rate = 1.0;
   segment->format = format;
   segment->base = 0;
+  segment->offset = 0;
   segment->start = 0;
   segment->stop = -1;
   segment->time = 0;
@@ -243,13 +241,6 @@
 
   position = segment->position;
 
-  if (flags & GST_SEEK_FLAG_FLUSH) {
-    /* flush resets the running_time */
-    base = 0;
-  } else {
-    base = gst_segment_to_running_time (segment, format, position);
-  }
-
   /* segment->start is never invalid */
   switch (start_type) {
     case GST_SEEK_TYPE_NONE:
@@ -314,13 +305,13 @@
     }
   }
 
-  segment->rate = rate;
-  segment->applied_rate = 1.0;
-  segment->base = base;
-  segment->flags = (GstSegmentFlags) flags;
-  segment->start = start;
-  segment->stop = stop;
-  segment->time = start;
+  if (flags & GST_SEEK_FLAG_FLUSH) {
+    /* flush resets the running_time */
+    base = 0;
+  } else {
+    /* remember the elapsed time */
+    base = gst_segment_to_running_time (segment, format, position);
+  }
 
   if (update_start && rate > 0.0) {
     position = start;
@@ -335,11 +326,39 @@
         position = 0;
     }
   }
+
   /* set update arg to reflect update of position */
   if (update)
     *update = position != segment->position;
 
-  /* update new position */
+  /* update new values */
+  /* be explicit about our GstSeekFlag -> GstSegmentFlag conversion */
+  segment->flags = GST_SEGMENT_FLAG_NONE;
+  if ((flags & GST_SEEK_FLAG_FLUSH) != 0)
+    segment->flags |= GST_SEGMENT_FLAG_RESET;
+  if ((flags & GST_SEEK_FLAG_SKIP) != 0)
+    segment->flags |= GST_SEGMENT_FLAG_SKIP;
+  if ((flags & GST_SEEK_FLAG_SEGMENT) != 0)
+    segment->flags |= GST_SEGMENT_FLAG_SEGMENT;
+
+  segment->rate = rate;
+  segment->applied_rate = 1.0;
+
+  segment->base = base;
+  if (rate > 0.0)
+    segment->offset = position - start;
+  else {
+    if (stop != -1)
+      segment->offset = stop - position;
+    else if (segment->duration != -1)
+      segment->offset = segment->duration - position;
+    else
+      segment->offset = 0;
+  }
+
+  segment->start = start;
+  segment->stop = stop;
+  segment->time = start;
   segment->position = position;
 
   return TRUE;
@@ -379,26 +398,20 @@
   g_return_val_if_fail (segment != NULL, -1);
   g_return_val_if_fail (segment->format == format, -1);
 
-  /* if we have the position for the same format as the segment, we can compare
-   * the start and stop values, otherwise we assume 0 and -1 */
-  if (G_LIKELY (segment->format == format)) {
-    start = segment->start;
-    stop = segment->stop;
-    time = segment->time;
-  } else {
-    start = 0;
-    stop = -1;
-    time = 0;
-  }
+  stop = segment->stop;
 
   /* outside of the segment boundary stop */
   if (G_UNLIKELY (stop != -1 && position > stop))
     return -1;
 
+  start = segment->start;
+
   /* before the segment boundary */
   if (G_UNLIKELY (position < start))
     return -1;
 
+  time = segment->time;
+
   /* time must be known */
   if (G_UNLIKELY (time == -1))
     return -1;
@@ -436,8 +449,7 @@
  * @position: the position in the segment
  *
  * Translate @position to the total running time using the currently configured
- * and previously accumulated segments. Position is a value between @segment
- * start and stop time.
+ * segment. Position is a value between @segment start and stop time.
  *
  * This function is typically used by elements that need to synchronize to the
  * global clock in a pipeline. The runnning time is a constantly increasing value
@@ -454,7 +466,7 @@
     guint64 position)
 {
   guint64 result;
-  guint64 start, stop, base;
+  guint64 start, stop;
   gdouble abs_rate;
 
   if (G_UNLIKELY (position == -1))
@@ -463,22 +475,17 @@
   g_return_val_if_fail (segment != NULL, -1);
   g_return_val_if_fail (segment->format == format, -1);
 
-  /* if we have the position for the same format as the segment, we can compare
-   * the start and stop values, otherwise we assume 0 and -1 */
-  if (G_LIKELY (segment->format == format)) {
-    start = segment->start;
-    stop = segment->stop;
-    base = segment->base;
-  } else {
-    start = 0;
-    stop = -1;
-    base = 0;
-  }
+  start = segment->start;
+
+  if (segment->rate > 0.0)
+    start += segment->offset;
 
   /* before the segment boundary */
   if (G_UNLIKELY (position < start))
     return -1;
 
+  stop = segment->stop;
+
   if (G_LIKELY (segment->rate > 0.0)) {
     /* outside of the segment boundary stop */
     if (G_UNLIKELY (stop != -1 && position > stop))
@@ -489,7 +496,11 @@
   } else {
     /* cannot continue if no stop position set or outside of
      * the segment. */
-    if (G_UNLIKELY (stop == -1 || position > stop))
+    if (G_UNLIKELY (stop == -1))
+      return -1;
+
+    stop -= segment->offset;
+    if (G_UNLIKELY (position > stop))
       return -1;
 
     /* bring to uncorrected position in segment */
@@ -503,7 +514,7 @@
     result /= abs_rate;
 
   /* correct for base of the segment */
-  result += base;
+  result += segment->base;
 
   return result;
 }
@@ -585,8 +596,6 @@
  *
  * Returns: the position in the segment for @running_time. This function returns
  * -1 when @running_time is -1 or when it is not inside @segment.
- *
- * Since: 0.10.24
  */
 guint64
 gst_segment_to_position (const GstSegment * segment, GstFormat format,
@@ -602,17 +611,7 @@
   g_return_val_if_fail (segment != NULL, -1);
   g_return_val_if_fail (segment->format == format, FALSE);
 
-  /* if we have the position for the same format as the segment, we can compare
-   * the start and stop values, otherwise we assume 0 and -1 */
-  if (G_LIKELY (segment->format == format)) {
-    start = segment->start;
-    stop = segment->stop;
-    base = segment->base;
-  } else {
-    start = 0;
-    stop = -1;
-    base = 0;
-  }
+  base = segment->base;
 
   /* this running_time was for a previous segment */
   if (running_time < base)
@@ -626,6 +625,9 @@
   if (G_UNLIKELY (abs_rate != 1.0))
     result = ceil (result * abs_rate);
 
+  start = segment->start;
+  stop = segment->stop;
+
   if (G_LIKELY (segment->rate > 0.0)) {
     /* bring to corrected position in segment */
     result += start;
@@ -657,8 +659,6 @@
  *
  * Returns: %TRUE if the segment could be updated successfully. If %FALSE is
  * returned, @running_time is -1 or not in @segment.
- *
- * Since: 0.10.24
  */
 gboolean
 gst_segment_set_running_time (GstSegment * segment, GstFormat format,
diff --git a/gst/gstsegment.h b/gst/gstsegment.h
index 9d3a8d1..580106b 100644
--- a/gst/gstsegment.h
+++ b/gst/gstsegment.h
@@ -58,18 +58,17 @@
  * @GST_SEEK_FLAG_SEGMENT: perform a segment seek.
  * @GST_SEEK_FLAG_SKIP: when doing fast foward or fast reverse playback, allow
  *                     elements to skip frames instead of generating all
- *                     frames. Since 0.10.22.
+ *                     frames.
  * @GST_SEEK_FLAG_SNAP_BEFORE: go to a location before the requested position,
  *                     if KEY_UNIT this means the keyframe at or before the
  *                     requested position the one at or before the seek target.
- *                     Since 0.10.37.
  * @GST_SEEK_FLAG_SNAP_AFTER: go to a location after the requested position,
  *                     if KEY_UNIT this means the keyframe at of after the
- *                     requested position. Since 0.10.37.
+ *                     requested position.
  * @GST_SEEK_FLAG_SNAP_NEAREST: go to a position near the requested position,
  *                     if KEY_UNIT this means the keyframe closest to the
  *                     requested position, if both keyframes are at an equal
- *                     distance, behaves like SNAP_BEFORE. Since 0.10.37.
+ *                     distance, behaves like SNAP_BEFORE.
  *
  * Flags to be used with gst_element_seek() or gst_event_new_seek(). All flags
  * can be used together.
@@ -126,14 +125,17 @@
  * @GST_SEGMENT_FLAG_RESET: reset the pipeline running_time to the segment
  *                          running_time
  * @GST_SEGMENT_FLAG_SKIP: perform skip playback
+ * @GST_SEGMENT_FLAG_SEGMENT: send SEGMENT_DONE instead of EOS
  *
  * Flags for the GstSegment structure. Currently mapped to the corresponding
  * values of the seek flags.
  */
+/* Note: update gst_segment_do_seek() when adding new flags here */
 typedef enum {
   GST_SEGMENT_FLAG_NONE            = GST_SEEK_FLAG_NONE,
   GST_SEGMENT_FLAG_RESET           = GST_SEEK_FLAG_FLUSH,
-  GST_SEGMENT_FLAG_SKIP            = GST_SEEK_FLAG_SKIP
+  GST_SEGMENT_FLAG_SKIP            = GST_SEEK_FLAG_SKIP,
+  GST_SEGMENT_FLAG_SEGMENT         = GST_SEEK_FLAG_SEGMENT
 } GstSegmentFlags;
 
 /**
@@ -142,7 +144,8 @@
  * @rate: the rate of the segment
  * @applied_rate: the already applied rate to the segment
  * @format: the format of the segment values
- * @base: the base time of the segment
+ * @base: the base of the segment
+ * @offset: the offset to apply to @start or @stop
  * @start: the start of the segment
  * @stop: the stop of the segment
  * @time: the stream time of the segment
@@ -161,6 +164,7 @@
 
   GstFormat       format;
   guint64         base;
+  guint64         offset;
   guint64         start;
   guint64         stop;
   guint64         time;
diff --git a/gst/gststructure.c b/gst/gststructure.c
index fdc65e1..56b66bc 100644
--- a/gst/gststructure.c
+++ b/gst/gststructure.c
@@ -543,8 +543,6 @@
  * Sets the field with the given GQuark @field to @value.  If the field
  * does not exist, it is created.  If the field exists, the previous
  * value is replaced and freed.
- *
- * Since: 0.10.31
  */
 void
 gst_structure_id_take_value (GstStructure * structure, GQuark field,
@@ -566,8 +564,6 @@
  * Sets the field with the given name @field to @value.  If the field
  * does not exist, it is created.  If the field exists, the previous
  * value is replaced and freed. The function will take ownership of @value.
- *
- * Since: 0.10.31
  */
 void
 gst_structure_take_value (GstStructure * structure, const gchar * fieldname,
@@ -689,8 +685,6 @@
  * setting of the structure if the caller already knows the associated
  * quark values.
  * The last variable argument must be NULL.
- *
- * Since: 0.10.10
  */
 void
 gst_structure_id_set (GstStructure * structure, GQuark field, ...)
@@ -711,8 +705,6 @@
  * @varargs: variable arguments
  *
  * va_list form of gst_structure_id_set().
- *
- * Since: 0.10.10
  */
 void
 gst_structure_id_set_valist (GstStructure * structure,
@@ -740,8 +732,6 @@
  * Free-function: gst_structure_free
  *
  * Returns: (transfer full): a new #GstStructure
- *
- * Since: 0.10.24
  */
 GstStructure *
 gst_structure_new_id (GQuark name_quark, GQuark field_quark, ...)
@@ -1176,8 +1166,6 @@
  * Check if @structure contains a field named @field.
  *
  * Returns: TRUE if the structure contains a field with the given name
- *
- * Since: 0.10.26
  */
 gboolean
 gst_structure_id_has_field (const GstStructure * structure, GQuark field)
@@ -1221,8 +1209,6 @@
  * Check if @structure contains a field named @field and with GType @type.
  *
  * Returns: TRUE if the structure contains a field with the given name and type
- *
- * Since: 0.10.26
  */
 gboolean
 gst_structure_id_has_field_typed (const GstStructure * structure,
@@ -1347,8 +1333,6 @@
  * Returns: %TRUE if the value could be set correctly. If there was no field
  * with @fieldname or the existing field did not contain a uint, this function
  * returns %FALSE.
- *
- * Since: 0.10.15
  */
 gboolean
 gst_structure_get_uint (const GstStructure * structure,
@@ -1432,8 +1416,6 @@
  * Returns: TRUE if the value could be set correctly. If there was no field
  * with @fieldname or the existing field did not contain a data, this function
  * returns FALSE.
- *
- * Since: 0.10.31
  */
 gboolean
 gst_structure_get_date_time (const GstStructure * structure,
@@ -1699,6 +1681,8 @@
       {"datetime", GST_TYPE_DATE_TIME}
       ,
       {"bitmask", GST_TYPE_BITMASK}
+      ,
+      {"taglist", GST_TYPE_TAG_LIST}
     };
     _num = G_N_ELEMENTS (dyn_abbrs);
     /* permanently allocate and copy the array now */
@@ -2552,8 +2536,6 @@
  * @target string if that field is not fixed yet.
  *
  * Returns: TRUE if the structure could be fixated
- *
- * Since: 0.10.30
  */
 gboolean
 gst_structure_fixate_field_string (GstStructure * structure,
@@ -2735,7 +2717,7 @@
   guint _flags = (flags);                                                     \
   GType _value_type = G_VALUE_TYPE (_value);                                  \
   GTypeValueTable *_vtable = g_type_value_table_peek (_value_type);           \
-  gchar *_lcopy_format = _vtable->lcopy_format;                               \
+  const gchar *_lcopy_format = _vtable->lcopy_format;                         \
   GTypeCValue _cvalues[G_VALUE_COLLECT_FORMAT_MAX_LENGTH] = { { 0, }, };      \
   guint _n_values = 0;                                                        \
                                                                               \
@@ -2763,8 +2745,6 @@
  * gst_structure_get() for more details.
  *
  * Returns: TRUE, or FALSE if there was a problem reading any of the fields
- *
- * Since: 0.10.24
  */
 gboolean
 gst_structure_get_valist (const GstStructure * structure,
@@ -2806,13 +2786,13 @@
 /* ERRORS */
 no_such_field:
   {
-    GST_WARNING ("Expected field '%s' in structure: %" GST_PTR_FORMAT,
+    GST_INFO ("Expected field '%s' in structure: %" GST_PTR_FORMAT,
         field_name, structure);
     return FALSE;
   }
 wrong_type:
   {
-    GST_WARNING ("Expected field '%s' in structure to be of type '%s', but "
+    GST_INFO ("Expected field '%s' in structure to be of type '%s', but "
         "field was of type '%s': %" GST_PTR_FORMAT, field_name,
         GST_STR_NULL (g_type_name (expected_type)),
         G_VALUE_TYPE_NAME (gst_structure_get_value (structure, field_name)),
@@ -2832,8 +2812,6 @@
  * gst_structure_id_get() for more details.
  *
  * Returns: TRUE, or FALSE if there was a problem reading any of the fields
- *
- * Since: 0.10.24
  */
 gboolean
 gst_structure_id_get_valist (const GstStructure * structure,
@@ -2875,13 +2853,13 @@
 /* ERRORS */
 no_such_field:
   {
-    GST_WARNING ("Expected field '%s' in structure: %" GST_PTR_FORMAT,
+    GST_DEBUG ("Expected field '%s' in structure: %" GST_PTR_FORMAT,
         GST_STR_NULL (g_quark_to_string (field_id)), structure);
     return FALSE;
   }
 wrong_type:
   {
-    GST_WARNING ("Expected field '%s' in structure to be of type '%s', but "
+    GST_DEBUG ("Expected field '%s' in structure to be of type '%s', but "
         "field was of type '%s': %" GST_PTR_FORMAT,
         g_quark_to_string (field_id),
         GST_STR_NULL (g_type_name (expected_type)),
@@ -2910,8 +2888,6 @@
  * Returns: FALSE if there was a problem reading any of the fields (e.g.
  *     because the field requested did not exist, or was of a type other
  *     than the type specified), otherwise TRUE.
- *
- * Since: 0.10.24
  */
 gboolean
 gst_structure_get (const GstStructure * structure, const char *first_fieldname,
@@ -2955,8 +2931,6 @@
  * Returns: FALSE if there was a problem reading any of the fields (e.g.
  *     because the field requested did not exist, or was of a type other
  *     than the type specified), otherwise TRUE.
- *
- * Since: 0.10.24
  */
 gboolean
 gst_structure_id_get (const GstStructure * structure, GQuark first_field_id,
@@ -2999,8 +2973,6 @@
  * Tests if the two #GstStructure are equal.
  *
  * Returns: TRUE if the two structures have the same name and field.
- *
- * Since: 0.10.36
  **/
 gboolean
 gst_structure_is_equal (const GstStructure * structure1,
@@ -3072,8 +3044,6 @@
  * Interesects @struct1 and @struct2 and returns the intersection.
  *
  * Returns: Intersection of @struct1 and @struct2
- *
- * Since: 0.10.36
  */
 GstStructure *
 gst_structure_intersect (const GstStructure * struct1,
@@ -3143,8 +3113,6 @@
  * would not be empty.
  *
  * Returns: %TRUE if intersection would not be empty
- *
- * Since: 0.10.36
  */
 gboolean
 gst_structure_can_intersect (const GstStructure * struct1,
@@ -3196,8 +3164,6 @@
  * @subset has a value that is a subset of the value in @superset.
  *
  * Returns: %TRUE if @subset is a subset of @superset
- *
- * Since: 0.10.36
  */
 gboolean
 gst_structure_is_subset (const GstStructure * subset,
diff --git a/gst/gstsystemclock.c b/gst/gstsystemclock.c
index 9cac9ee..8385e1a 100644
--- a/gst/gstsystemclock.c
+++ b/gst/gstsystemclock.c
@@ -304,9 +304,7 @@
     clock = g_object_new (GST_TYPE_SYSTEM_CLOCK,
         "name", "GstSystemClock", NULL);
 
-    /* we created the global clock; take ownership so
-     * we can hand out instances later */
-    gst_object_ref_sink (clock);
+    g_assert (!g_object_is_floating (G_OBJECT (clock)));
 
     _the_system_clock = clock;
     g_mutex_unlock (&_gst_sysclock_mutex);
diff --git a/gst/gsttaglist.c b/gst/gsttaglist.c
index 5658fe7..7de389f 100644
--- a/gst/gsttaglist.c
+++ b/gst/gsttaglist.c
@@ -52,21 +52,16 @@
 
 #define GST_TAG_IS_VALID(tag)           (gst_tag_get_info (tag) != NULL)
 
-/* FIXME 0.11: make taglists refcounted maybe? */
-/* a tag list is basically a structure, but we don't make this fact public */
 typedef struct _GstTagListImpl
 {
   GstTagList taglist;
 
   GstStructure *structure;
+  GstTagScope scope;
 } GstTagListImpl;
 
-#define GST_TAG_LIST_STRUCTURE(taglist) ((GstTagListImpl*)(taglist))->structure
-
-
-/* FIXME 0.11: use GParamSpecs or something similar for tag registrations,
- * possibly even gst_tag_register(). Especially value ranges might be
- * useful for some tags. */
+#define GST_TAG_LIST_STRUCTURE(taglist)  ((GstTagListImpl*)(taglist))->structure
+#define GST_TAG_LIST_SCOPE(taglist)  ((GstTagListImpl*)(taglist))->scope
 
 typedef struct
 {
@@ -387,7 +382,7 @@
       G_TYPE_STRING, _("application name"),
       _("Application used to create the media"), NULL);
   gst_tag_register_static (GST_TAG_APPLICATION_DATA, GST_TAG_FLAG_META,
-      GST_TYPE_BUFFER, _("application data"),
+      GST_TYPE_SAMPLE, _("application data"),
       _("Arbitrary application data to be serialized into the media"), NULL);
   gst_tag_register_static (GST_TAG_IMAGE_ORIENTATION, GST_TAG_FLAG_META,
       G_TYPE_STRING, _("image orientation"),
@@ -580,7 +575,7 @@
 }
 
 /**
- * gst_tag_get_nick
+ * gst_tag_get_nick:
  * @tag: the tag
  *
  * Returns the human-readable name of this tag, You must not change or free
@@ -662,17 +657,6 @@
   return info->merge_func == NULL;
 }
 
-static void
-gst_tag_list_init (GstTagList * taglist, gsize size)
-{
-  gst_mini_object_init (GST_MINI_OBJECT_CAST (taglist),
-      gst_tag_list_get_type (), size);
-
-  taglist->mini_object.copy = (GstMiniObjectCopyFunction) __gst_tag_list_copy;
-  taglist->mini_object.dispose = NULL;
-  taglist->mini_object.free = (GstMiniObjectFreeFunction) __gst_tag_list_free;
-}
-
 /* takes ownership of the structure */
 static GstTagList *
 gst_tag_list_new_internal (GstStructure * s)
@@ -683,9 +667,12 @@
 
   tag_list = (GstTagList *) g_slice_new (GstTagListImpl);
 
-  gst_tag_list_init (tag_list, sizeof (GstTagListImpl));
+  gst_mini_object_init (GST_MINI_OBJECT_CAST (tag_list), 0, GST_TYPE_TAG_LIST,
+      (GstMiniObjectCopyFunction) __gst_tag_list_copy, NULL,
+      (GstMiniObjectFreeFunction) __gst_tag_list_free);
 
   GST_TAG_LIST_STRUCTURE (tag_list) = s;
+  GST_TAG_LIST_SCOPE (tag_list) = GST_TAG_SCOPE_STREAM;
 
 #ifdef DEBUG_REFCOUNT
   GST_CAT_TRACE (GST_CAT_TAGS, "created taglist %p", tag_list);
@@ -700,13 +687,12 @@
   g_return_if_fail (GST_IS_TAG_LIST (list));
 
 #ifdef DEBUG_REFCOUNT
-  GST_CAT_TRACE (GST_CAT_TAGS, "freeing caps %p", list);
+  GST_CAT_TRACE (GST_CAT_TAGS, "freeing taglist %p", list);
 #endif
 
   gst_structure_free (GST_TAG_LIST_STRUCTURE (list));
 
-  /* why not just pass sizeof (GstTagListImpl) here? */
-  g_slice_free1 (GST_MINI_OBJECT_SIZE (list), list);
+  g_slice_free1 (sizeof (GstTagListImpl), list);
 }
 
 static GstTagList *
@@ -757,8 +743,6 @@
  *
  * Returns: (transfer full): a new #GstTagList. Free with gst_tag_list_unref()
  *     when no longer needed.
- *
- * Since: 0.10.24
  */
 GstTagList *
 gst_tag_list_new (const gchar * tag, ...)
@@ -787,8 +771,6 @@
  *
  * Returns: (transfer full): a new #GstTagList. Free with gst_tag_list_unref()
  *     when no longer needed.
- *
- * Since: 0.10.24
  */
 GstTagList *
 gst_tag_list_new_valist (va_list var_args)
@@ -805,6 +787,40 @@
 }
 
 /**
+ * gst_tag_list_set_scope:
+ * @list: a #GstTagList
+ * @scope: new scope for @list
+ *
+ * Sets the scope of @list to @scope. By default the scope
+ * of a taglist is #GST_TAG_SCOPE_STREAM.
+ *
+ */
+void
+gst_tag_list_set_scope (GstTagList * list, GstTagScope scope)
+{
+  g_return_if_fail (GST_IS_TAG_LIST (list));
+  g_return_if_fail (gst_tag_list_is_writable (list));
+
+  GST_TAG_LIST_SCOPE (list) = scope;
+}
+
+/**
+ * gst_tag_list_get_scope:
+ * @list: a #GstTagList
+ *
+ * Gets the scope of @list.
+ *
+ * Returns: The scope of @list
+ */
+GstTagScope
+gst_tag_list_get_scope (const GstTagList * list)
+{
+  g_return_val_if_fail (GST_IS_TAG_LIST (list), GST_TAG_SCOPE_STREAM);
+
+  return GST_TAG_LIST_SCOPE (list);
+}
+
+/**
  * gst_tag_list_to_string:
  * @list: a #GstTagList
  *
@@ -812,8 +828,6 @@
  *
  * Returns: a newly-allocated string, or NULL in case of an error. The
  *    string must be freed with g_free() when no longer needed.
- *
- * Since: 0.10.36
  */
 gchar *
 gst_tag_list_to_string (const GstTagList * list)
@@ -830,8 +844,6 @@
  * Deserializes a tag list.
  *
  * Returns: a new #GstTagList, or NULL in case of an error.
- *
- * Since: 0.10.36
  */
 GstTagList *
 gst_tag_list_new_from_string (const gchar * str)
@@ -887,8 +899,6 @@
  * Checks if the given taglist is empty.
  *
  * Returns: TRUE if the taglist is empty, otherwise FALSE.
- *
- * Since: 0.10.11
  */
 gboolean
 gst_tag_list_is_empty (const GstTagList * list)
@@ -928,8 +938,6 @@
  * Checks if the two given taglists are equal.
  *
  * Returns: TRUE if the taglists are equal, otherwise FALSE
- *
- * Since: 0.10.36
  */
 gboolean
 gst_tag_list_is_equal (const GstTagList * list1, const GstTagList * list2)
@@ -993,6 +1001,14 @@
     }
   }
 
+  if (G_UNLIKELY (!G_VALUE_HOLDS (value, info->type) &&
+          !GST_VALUE_HOLDS_LIST (value))) {
+    g_warning ("tag '%s' should hold value of type '%s', but value of "
+        "type '%s' passed", info->nick, g_type_name (info->type),
+        g_type_name (G_VALUE_TYPE (value)));
+    return;
+  }
+
   tag_quark = info->name_quark;
 
   if (info->merge_func
@@ -1291,8 +1307,6 @@
  * @value: GValue for this tag
  *
  * Sets the GValue for a given tag using the specified mode.
- *
- * Since: 0.10.24
  */
 void
 gst_tag_list_add_value (GstTagList * list, GstTagMergeMode mode,
@@ -1715,7 +1729,7 @@
  * to retrieve the first string associated with this tag unmodified.
  *
  * The resulting string in @value will be in UTF-8 encoding and should be
- * freed by the caller using g_free when no longer needed. Since 0.10.24 the
+ * freed by the caller using g_free when no longer needed. The
  * returned string is also guaranteed to be non-NULL and non-empty.
  *
  * Free-function: g_free
@@ -1734,7 +1748,7 @@
  * list.
  *
  * The resulting string in @value will be in UTF-8 encoding and should be
- * freed by the caller using g_free when no longer needed. Since 0.10.24 the
+ * freed by the caller using g_free when no longer needed. The
  * returned string is also guaranteed to be non-NULL and non-empty.
  *
  * Free-function: g_free
@@ -1862,8 +1876,6 @@
  *
  * Returns: TRUE, if a datetime was copied, FALSE if the tag didn't exist in
  *              thegiven list or if it was #NULL.
- *
- * Since: 0.10.31
  */
 gboolean
 gst_tag_list_get_date_time (const GstTagList * list, const gchar * tag,
@@ -1900,8 +1912,6 @@
  *
  * Returns: TRUE, if a value was copied, FALSE if the tag didn't exist in the
  *              given list or if it was #NULL.
- *
- * Since: 0.10.31
  */
 gboolean
 gst_tag_list_get_date_time_index (const GstTagList * list,
@@ -1920,71 +1930,71 @@
 }
 
 /**
- * gst_tag_list_get_buffer:
+ * gst_tag_list_get_sample:
  * @list: a #GstTagList to get the tag from
  * @tag: tag to read out
- * @value: (out callee-allocates) (transfer full): address of a GstBuffer
+ * @sample: (out callee-allocates) (transfer full): address of a GstSample
  *     pointer variable to store the result into
  *
- * Copies the first buffer for the given tag in the taglist into the variable
- * pointed to by @value. Free the buffer with gst_buffer_unref() when it is
- * no longer needed.
+ * Copies the first sample for the given tag in the taglist into the variable
+ * pointed to by @sample. Free the sample with gst_sample_unref() when it is
+ * no longer needed. You can retrieve the buffer from the sample using
+ * gst_sample_get_buffer() and the associated caps (if any) with
+ * gst_sample_get_caps().
  *
- * Free-function: gst_buffer_unref
+ * Free-function: gst_sample_unref
  *
- * Returns: TRUE, if a buffer was copied, FALSE if the tag didn't exist in the
- *              given list or if it was #NULL.
- *
- * Since: 0.10.23
+ * Returns: TRUE, if a sample was returned, FALSE if the tag didn't exist in
+ *              the given list or if it was #NULL.
  */
 gboolean
-gst_tag_list_get_buffer (const GstTagList * list, const gchar * tag,
-    GstBuffer ** value)
+gst_tag_list_get_sample (const GstTagList * list, const gchar * tag,
+    GstSample ** sample)
 {
   GValue v = { 0, };
 
   g_return_val_if_fail (GST_IS_TAG_LIST (list), FALSE);
   g_return_val_if_fail (tag != NULL, FALSE);
-  g_return_val_if_fail (value != NULL, FALSE);
+  g_return_val_if_fail (sample != NULL, FALSE);
 
   if (!gst_tag_list_copy_value (&v, list, tag))
     return FALSE;
-  *value = g_value_dup_boxed (&v);
+  *sample = g_value_dup_boxed (&v);
   g_value_unset (&v);
-  return (*value != NULL);
+  return (*sample != NULL);
 }
 
 /**
- * gst_tag_list_get_buffer_index:
+ * gst_tag_list_get_sample_index:
  * @list: a #GstTagList to get the tag from
  * @tag: tag to read out
  * @index: number of entry to read out
- * @value: (out callee-allocates) (transfer full): address of a GstBuffer
+ * @sample: (out callee-allocates) (transfer full): address of a GstSample
  *     pointer variable to store the result into
  *
- * Gets the buffer that is at the given index for the given tag in the given
- * list and copies it into the variable pointed to by @value. Free the buffer
- * with gst_buffer_unref() when it is no longer needed.
+ * Gets the sample that is at the given index for the given tag in the given
+ * list and copies it into the variable pointed to by @smple. Free the sample
+ * with gst_sample_unref() when it is no longer needed. You can retrieve the
+ * buffer from the sample using gst_sample_get_buffer() and the associated
+ * caps (if any) with gst_sample_get_caps().
  *
- * Free-function: gst_buffer_unref
+ * Free-function: gst_sample_unref
  *
- * Returns: TRUE, if a buffer was copied, FALSE if the tag didn't exist in the
+ * Returns: TRUE, if a sample was copied, FALSE if the tag didn't exist in the
  *              given list or if it was #NULL.
- *
- * Since: 0.10.23
  */
 gboolean
-gst_tag_list_get_buffer_index (const GstTagList * list,
-    const gchar * tag, guint index, GstBuffer ** value)
+gst_tag_list_get_sample_index (const GstTagList * list,
+    const gchar * tag, guint index, GstSample ** sample)
 {
   const GValue *v;
 
   g_return_val_if_fail (GST_IS_TAG_LIST (list), FALSE);
   g_return_val_if_fail (tag != NULL, FALSE);
-  g_return_val_if_fail (value != NULL, FALSE);
+  g_return_val_if_fail (sample != NULL, FALSE);
 
   if ((v = gst_tag_list_get_value_index (list, tag, index)) == NULL)
     return FALSE;
-  *value = g_value_dup_boxed (v);
-  return (*value != NULL);
+  *sample = g_value_dup_boxed (v);
+  return (*sample != NULL);
 }
diff --git a/gst/gsttaglist.h b/gst/gsttaglist.h
index 7940a31..e6f1648 100644
--- a/gst/gsttaglist.h
+++ b/gst/gsttaglist.h
@@ -211,10 +211,27 @@
 gboolean               gst_tag_is_fixed        (const gchar * tag);
 
 /* tag lists */
+
+/**
+ * GstTagEventScope:
+ * @GST_TAG_SCOPE_STREAM: tags specific to this single stream
+ * @GST_TAG_SCOPE_GLOBAL: global tags for the complete medium
+ *
+ * GstTagScope specifies if a taglist applies to the complete
+ * medium or only to one single stream.
+ */
+typedef enum {
+  GST_TAG_SCOPE_STREAM,
+  GST_TAG_SCOPE_GLOBAL
+} GstTagScope;
+
 GstTagList * gst_tag_list_new_empty         (void) G_GNUC_MALLOC;
 GstTagList * gst_tag_list_new               (const gchar * tag, ...) G_GNUC_MALLOC;
 GstTagList * gst_tag_list_new_valist        (va_list var_args) G_GNUC_MALLOC;
 
+void         gst_tag_list_set_scope         (GstTagList * list, GstTagScope scope);
+GstTagScope  gst_tag_list_get_scope         (const GstTagList * list);
+
 gchar      * gst_tag_list_to_string         (const GstTagList * list) G_GNUC_MALLOC;
 GstTagList * gst_tag_list_new_from_string   (const gchar      * str) G_GNUC_MALLOC;
 
@@ -347,13 +364,13 @@
                                              const gchar      * tag,
                                              guint              index,
                                              GstDateTime     ** value);
-gboolean     gst_tag_list_get_buffer        (const GstTagList * list,
+gboolean     gst_tag_list_get_sample        (const GstTagList * list,
                                              const gchar      * tag,
-                                             GstBuffer       ** value);
-gboolean     gst_tag_list_get_buffer_index  (const GstTagList * list,
+                                             GstSample       ** sample);
+gboolean     gst_tag_list_get_sample_index  (const GstTagList * list,
                                              const gchar      * tag,
                                              guint              index,
-                                             GstBuffer       ** value);
+                                             GstSample       ** sample);
 
 /* refcounting */
 /**
@@ -468,8 +485,6 @@
  * commonly used title, as used for sorting (string)
  *
  * The title as it should be sorted, e.g. 'Doll House, The'
- *
- * Since: 0.10.15
  */
 #define GST_TAG_TITLE_SORTNAME         "title-sortname"
 /**
@@ -488,8 +503,6 @@
  *
  * The artist name as it should be sorted, e.g. 'Hendrix, Jimi' or
  * 'Guitar Heroes, The'
- *
- * Since: 0.10.15
  */
 #define GST_TAG_ARTIST_SORTNAME        "artist-sortname"
 /**
@@ -506,32 +519,24 @@
  * album containing this data, as used for sorting (string)
  *
  * The album name as it should be sorted, e.g. 'Jazz Guitar, The'
- *
- * Since: 0.10.15
  */
 #define GST_TAG_ALBUM_SORTNAME         "album-sortname"
 /**
  * GST_TAG_ALBUM_ARTIST:
  *
  * The artist of the entire album, as it should be displayed.
- *
- * Since: 0.10.25
  */
 #define GST_TAG_ALBUM_ARTIST           "album-artist"
 /**
  * GST_TAG_ALBUM_ARTIST_SORTNAME:
  *
  * The artist of the entire album, as it should be sorted.
- *
- * Since: 0.10.25
  */
 #define GST_TAG_ALBUM_ARTIST_SORTNAME  "album-artist-sortname"
 /**
  * GST_TAG_COMPOSER:
  *
  * person(s) who composed the recording (string)
- *
- * Since: 0.10.15
  */
 #define GST_TAG_COMPOSER               "composer"
 /**
@@ -544,8 +549,6 @@
  * GST_TAG_DATE_TIME:
  *
  * date and time the data was created (#GstDateTime structure)
- *
- * Since: 0.10.31
  */
 #define GST_TAG_DATE_TIME              "datetime"
 /**
@@ -571,8 +574,6 @@
  *
  * This tag is used for unknown Vorbis comment tags,
  * unknown APE tags and certain ID3v2 comment fields.
- *
- * Since: 0.10.10
  */
 #define GST_TAG_EXTENDED_COMMENT       "extended-comment"
 /**
@@ -610,8 +611,6 @@
  * GST_TAG_HOMEPAGE:
  *
  * Homepage for this media (i.e. artist or movie homepage) (string)
- *
- * Since: 0.10.23
  */
 #define GST_TAG_HOMEPAGE               "homepage"
 /**
@@ -648,8 +647,6 @@
  * GST_TAG_COPYRIGHT_URI:
  *
  * URI to location where copyright details can be found (string)
- *
- * Since: 0.10.14
  */
 #define GST_TAG_COPYRIGHT_URI          "copyright-uri"
 /**
@@ -661,8 +658,6 @@
  *
  * Note: do not use this field to describe the encoding application. Use
  * #GST_TAG_APPLICATION_NAME or #GST_TAG_COMMENT for that.
- *
- * Since: 0.10.33
  */
 #define GST_TAG_ENCODED_BY             "encoded-by"
 /**
@@ -681,8 +676,6 @@
  * GST_TAG_LICENSE_URI:
  *
  * URI to location where license details can be found (string)
- *
- * Since: 0.10.14
  */
 #define GST_TAG_LICENSE_URI            "license-uri"
 /**
@@ -719,16 +712,12 @@
  * GST_TAG_SUBTITLE_CODEC:
  *
  * codec/format the subtitle data is stored in (string)
- *
- * Since: 0.10.23
  */
 #define GST_TAG_SUBTITLE_CODEC         "subtitle-codec"
 /**
  * GST_TAG_CONTAINER_FORMAT:
  *
  * container format the data is stored in (string)
- *
- * Since: 0.10.24
  */
 #define GST_TAG_CONTAINER_FORMAT       "container-format"
 /**
@@ -802,8 +791,6 @@
  * GST_TAG_REFERENCE_LEVEL:
  *
  * reference level of track and album gain values (double)
- *
- * Since: 0.10.12
  */
 #define GST_TAG_REFERENCE_LEVEL        "replaygain-reference-level"
 /**
@@ -823,8 +810,6 @@
  * Free-form name of the language the content is in, if a language code
  * is not available. This tag should not be set in addition to a language
  * code. It is undefined what language or locale the language name is in.
- *
- * Since: 0.10.37
  */
 #define GST_TAG_LANGUAGE_NAME          "language-name"
 /**
@@ -832,8 +817,6 @@
  *
  * image (sample) (sample taglist should specify the content type and preferably
  * also set "image-type" field as #GstTagImageType)
- *
- * Since: 0.10.6
  */
 #define GST_TAG_IMAGE                  "image"
 /**
@@ -841,8 +824,6 @@
  *
  * image that is meant for preview purposes, e.g. small icon-sized version
  * (sample) (sample taglist should specify the content type)
- *
- * Since: 0.10.7
  */
 #define GST_TAG_PREVIEW_IMAGE          "preview-image"
 
@@ -852,8 +833,6 @@
  * generic file attachment (sample) (sample taglist should specify the content
  * type and if possible set "filename" to the file name of the
  * attachment)
- *
- * Since: 0.10.21
  */
 #define GST_TAG_ATTACHMENT             "attachment"
 
@@ -861,8 +840,6 @@
  * GST_TAG_BEATS_PER_MINUTE:
  *
  * number of beats per minute in audio (double)
- *
- * Since: 0.10.12
  */
 #define GST_TAG_BEATS_PER_MINUTE       "beats-per-minute"
 
@@ -870,8 +847,6 @@
  * GST_TAG_KEYWORDS:
  *
  * comma separated keywords describing the content (string).
- *
- * Since: 0.10.21
  */
 #define GST_TAG_KEYWORDS               "keywords"
 
@@ -880,8 +855,6 @@
  *
  * human readable descriptive location of where the media has been recorded or
  * produced. (string).
- *
- * Since: 0.10.21
  */
 #define GST_TAG_GEO_LOCATION_NAME               "geo-location-name"
 
@@ -891,8 +864,6 @@
  * geo latitude location of where the media has been recorded or produced in
  * degrees according to WGS84 (zero at the equator, negative values for southern
  * latitudes) (double).
- *
- * Since: 0.10.21
  */
 #define GST_TAG_GEO_LOCATION_LATITUDE               "geo-location-latitude"
 
@@ -902,8 +873,6 @@
  * geo longitude location of where the media has been recorded or produced in
  * degrees according to WGS84 (zero at the prime meridian in Greenwich/UK,
  * negative values for western longitudes). (double).
- *
- * Since: 0.10.21
  */
 #define GST_TAG_GEO_LOCATION_LONGITUDE               "geo-location-longitude"
 
@@ -912,24 +881,18 @@
  *
  * geo elevation of where the media has been recorded or produced in meters
  * according to WGS84 (zero is average sea level) (double).
- *
- * Since: 0.10.21
  */
 #define GST_TAG_GEO_LOCATION_ELEVATION               "geo-location-elevation"
 /**
  * GST_TAG_GEO_LOCATION_COUNTRY:
  *
  * The country (english name) where the media has been produced (string).
- *
- * Since: 0.10.29
  */
 #define GST_TAG_GEO_LOCATION_COUNTRY                 "geo-location-country"
 /**
  * GST_TAG_GEO_LOCATION_CITY:
  *
  * The city (english name) where the media has been produced (string).
- *
- * Since: 0.10.29
  */
 #define GST_TAG_GEO_LOCATION_CITY                    "geo-location-city"
 /**
@@ -940,8 +903,6 @@
  *
  * This tag has been added as this is how it is handled/named in XMP's
  * Iptc4xmpcore schema.
- *
- * Since: 0.10.29
  */
 #define GST_TAG_GEO_LOCATION_SUBLOCATION             "geo-location-sublocation"
 /**
@@ -949,8 +910,6 @@
  *
  * Represents the expected error on the horizontal positioning in
  * meters (double).
- *
- * Since: 0.10.31
  */
 #define GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR   "geo-location-horizontal-error"
 /**
@@ -960,8 +919,6 @@
  * Represented in m/s. (double)
  *
  * See also #GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION
- *
- * Since 0.10.30
  */
 #define GST_TAG_GEO_LOCATION_MOVEMENT_SPEED       "geo-location-movement-speed"
 /**
@@ -972,8 +929,6 @@
  * 0 means the geographic north, and increases clockwise (double from 0 to 360)
  *
  * See also #GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION
- *
- * Since: 0.10.30
  */
 #define GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION "geo-location-movement-direction"
 /**
@@ -984,56 +939,42 @@
  * 0 means the geographic north, and increases clockwise (double from 0 to 360)
  *
  * See also #GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION
- *
- * Since: 0.10.30
  */
 #define GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION  "geo-location-capture-direction"
 /**
  * GST_TAG_SHOW_NAME:
  *
  * Name of the show, used for displaying (string)
- *
- * Since: 0.10.26
  */
 #define GST_TAG_SHOW_NAME                         "show-name"
 /**
  * GST_TAG_SHOW_SORTNAME:
  *
  * Name of the show, used for sorting (string)
- *
- * Since: 0.10.26
  */
 #define GST_TAG_SHOW_SORTNAME                     "show-sortname"
 /**
  * GST_TAG_SHOW_EPISODE_NUMBER:
  *
  * Number of the episode within a season/show (unsigned integer)
- *
- * Since: 0.10.26
  */
 #define GST_TAG_SHOW_EPISODE_NUMBER               "show-episode-number"
 /**
  * GST_TAG_SHOW_SEASON_NUMBER:
  *
  * Number of the season of a show/series (unsigned integer)
- *
- * Since: 0.10.26
  */
 #define GST_TAG_SHOW_SEASON_NUMBER                "show-season-number"
 /**
  * GST_TAG_LYRICS:
  *
  * The lyrics of the media (string)
- *
- * Since: 0.10.26
  */
 #define GST_TAG_LYRICS                            "lyrics"
 /**
  * GST_TAG_COMPOSER_SORTNAME:
  *
  * The composer's name, used for sorting (string)
- *
- * Since: 0.10.26
  */
 #define GST_TAG_COMPOSER_SORTNAME                 "composer-sortname"
 /**
@@ -1041,8 +982,6 @@
  *
  * Groups together media that are related and spans multiple tracks. An
  * example are multiple pieces of a concerto. (string)
- *
- * Since: 0.10.26
  */
 #define GST_TAG_GROUPING                          "grouping"
 /**
@@ -1051,43 +990,33 @@
  * Rating attributed by a person (likely the application user).
  * The higher the value, the more the user likes this media
  * (unsigned int from 0 to 100)
- *
- * Since: 0.10.29
  */
 #define GST_TAG_USER_RATING                       "user-rating"
 /**
  * GST_TAG_DEVICE_MANUFACTURER:
  *
  * Manufacturer of the device used to create the media (string)
- *
- * Since: 0.10.30
  */
 #define GST_TAG_DEVICE_MANUFACTURER               "device-manufacturer"
 /**
  * GST_TAG_DEVICE_MODEL:
  *
  * Model of the device used to create the media (string)
- *
- * Since: 0.10.30
  */
 #define GST_TAG_DEVICE_MODEL                      "device-model"
 /**
  * GST_TAG_APPLICATION_NAME:
  *
  * Name of the application used to create the media (string)
- *
- * Since: 0.10.31
  */
 #define GST_TAG_APPLICATION_NAME                  "application-name"
 /**
  * GST_TAG_APPLICATION_DATA:
  *
- * Arbitrary application data (buffer)
+ * Arbitrary application data (sample)
  *
- * Some formats allow application's to add their own arbitrary data
- * into files. This data is application's dependent.
- *
- * Since: 0.10.31
+ * Some formats allow applications to add their own arbitrary data
+ * into files. This data is application dependent.
  */
 #define GST_TAG_APPLICATION_DATA          "application-data"
 /**
@@ -1112,8 +1041,6 @@
  *
  * Rotations indicated by the values are in clockwise direction and
  * 'flip' means an horizontal mirroring.
- *
- * Since: 0.10.30
  */
 #define GST_TAG_IMAGE_ORIENTATION            "image-orientation"
 
diff --git a/gst/gsttagsetter.c b/gst/gsttagsetter.c
index b538c59..80d920c 100644
--- a/gst/gsttagsetter.c
+++ b/gst/gsttagsetter.c
@@ -89,35 +89,14 @@
 #define GST_TAG_DATA_LOCK(data) g_mutex_lock(&data->lock)
 #define GST_TAG_DATA_UNLOCK(data) g_mutex_unlock(&data->lock)
 
-GType
-gst_tag_setter_get_type (void)
+G_DEFINE_INTERFACE_WITH_CODE (GstTagSetter, gst_tag_setter, GST_TYPE_ELEMENT,
+    gst_tag_key = g_quark_from_static_string ("gst-tag-setter-data");
+    );
+
+static void
+gst_tag_setter_default_init (GstTagSetterInterface * klass)
 {
-  static volatile gsize tag_setter_type = 0;
-
-  if (g_once_init_enter (&tag_setter_type)) {
-    GType _type;
-    static const GTypeInfo tag_setter_info = {
-      sizeof (GstTagSetterInterface),   /* class_size */
-      NULL,                     /* base_init */
-      NULL,                     /* base_finalize */
-      NULL,
-      NULL,                     /* class_finalize */
-      NULL,                     /* class_data */
-      0,
-      0,
-      NULL
-    };
-
-    _type = g_type_register_static (G_TYPE_INTERFACE, "GstTagSetter",
-        &tag_setter_info, 0);
-
-    g_type_interface_add_prerequisite (_type, GST_TYPE_ELEMENT);
-
-    gst_tag_key = g_quark_from_static_string ("GST_TAG_SETTER");
-    g_once_init_leave (&tag_setter_type, _type);
-  }
-
-  return tag_setter_type;
+  /* nothing to do here, it's a dummy interface */
 }
 
 static void
@@ -167,8 +146,6 @@
  *
  * Reset the internal taglist. Elements should call this from within the
  * state-change handler.
- *
- * Since: 0.10.22
  */
 void
 gst_tag_setter_reset_tags (GstTagSetter * setter)
@@ -334,8 +311,6 @@
  * @value: GValue to set for the tag
  *
  * Adds the given tag / GValue pair on the setter using the given merge mode.
- *
- * Since: 0.10.24
  */
 void
 gst_tag_setter_add_tag_value (GstTagSetter * setter,
diff --git a/gst/gsttask.c b/gst/gsttask.c
index 96c687b..34d4ffb 100644
--- a/gst/gsttask.c
+++ b/gst/gsttask.c
@@ -92,9 +92,13 @@
 struct _GstTaskPrivate
 {
   /* callbacks for managing the thread of this task */
-  GstTaskThreadCallbacks thr_callbacks;
-  gpointer thr_user_data;
-  GDestroyNotify thr_notify;
+  GstTaskThreadFunc enter_func;
+  gpointer enter_user_data;
+  GDestroyNotify enter_notify;
+
+  GstTaskThreadFunc leave_func;
+  gpointer leave_user_data;
+  GDestroyNotify leave_notify;
 
   /* configured pool */
   GstTaskPool *pool;
@@ -203,10 +207,14 @@
 
   GST_DEBUG ("task %p finalize", task);
 
-  if (priv->thr_notify)
-    priv->thr_notify (priv->thr_user_data);
-  priv->thr_notify = NULL;
-  priv->thr_user_data = NULL;
+  if (priv->enter_notify)
+    priv->enter_notify (priv->enter_user_data);
+
+  if (priv->leave_notify)
+    priv->leave_notify (priv->leave_user_data);
+
+  if (task->notify)
+    task->notify (task->user_data);
 
   gst_object_unref (priv->pool);
 
@@ -273,9 +281,9 @@
   task->thread = tself;
   GST_OBJECT_UNLOCK (task);
 
-  /* fire the enter_thread callback when we need to */
-  if (priv->thr_callbacks.enter_thread)
-    priv->thr_callbacks.enter_thread (task, tself, priv->thr_user_data);
+  /* fire the enter_func callback when we need to */
+  if (priv->enter_func)
+    priv->enter_func (task, tself, priv->enter_user_data);
 
   /* locking order is TASK_LOCK, LOCK */
   g_rec_mutex_lock (lock);
@@ -305,7 +313,7 @@
       GST_OBJECT_UNLOCK (task);
     }
 
-    task->func (task->data);
+    task->func (task->user_data);
   }
 done:
   g_rec_mutex_unlock (lock);
@@ -314,11 +322,11 @@
   task->thread = NULL;
 
 exit:
-  if (priv->thr_callbacks.leave_thread) {
-    /* fire the leave_thread callback when we need to. We need to do this before
+  if (priv->leave_func) {
+    /* fire the leave_func callback when we need to. We need to do this before
      * we signal the task and with the task lock released. */
     GST_OBJECT_UNLOCK (task);
-    priv->thr_callbacks.leave_thread (task, tself, priv->thr_user_data);
+    priv->leave_func (task, tself, priv->leave_user_data);
     GST_OBJECT_LOCK (task);
   }
   /* now we allow messing with the lock again by setting the running flag to
@@ -365,10 +373,11 @@
 /**
  * gst_task_new:
  * @func: The #GstTaskFunction to use
- * @data: (closure): User data to pass to @func
+ * @user_data: User data to pass to @func
+ * @notify: the function to call when @user_data is no longer needed.
  *
  * Create a new Task that will repeatedly call the provided @func
- * with @data as a parameter. Typically the task will run in
+ * with @user_data as a parameter. Typically the task will run in
  * a new thread.
  *
  * The function cannot be changed after the task has been created. You
@@ -386,13 +395,14 @@
  * MT safe.
  */
 GstTask *
-gst_task_new (GstTaskFunction func, gpointer data)
+gst_task_new (GstTaskFunction func, gpointer user_data, GDestroyNotify notify)
 {
   GstTask *task;
 
   task = g_object_newv (GST_TYPE_TASK, 0, NULL);
   task->func = func;
-  task->data = data;
+  task->user_data = user_data;
+  task->notify = notify;
 
   GST_DEBUG ("Created task %p", task);
 
@@ -443,8 +453,6 @@
  *
  * Returns: (transfer full): the #GstTaskPool used by @task. gst_object_unref()
  * after usage.
- *
- * Since: 0.10.24
  */
 GstTaskPool *
 gst_task_get_pool (GstTask * task)
@@ -472,8 +480,6 @@
  * will be created by @task will now use @pool.
  *
  * MT safe.
- *
- * Since: 0.10.24
  */
 void
 gst_task_set_pool (GstTask * task, GstTaskPool * pool)
@@ -498,56 +504,79 @@
     gst_object_unref (old);
 }
 
-
 /**
- * gst_task_set_thread_callbacks:
+ * gst_task_set_enter_callback:
  * @task: The #GstTask to use
- * @callbacks: (in): a #GstTaskThreadCallbacks pointer
- * @user_data: (closure): user data passed to the callbacks
+ * @enter_func: (in): a #GstTaskThreadFunc
+ * @user_data: user data passed to @enter_func
  * @notify: called when @user_data is no longer referenced
  *
- * Set callbacks which will be executed when a new thread is needed, the thread
- * function is entered and left and when the thread is joined.
- *
- * By default a thread for @task will be created from a default thread pool.
- *
- * Objects can use custom GThreads or can perform additional configuration of
- * the threads (such as changing the thread priority) by installing callbacks.
- *
- * MT safe.
- *
- * Since: 0.10.24
+ * Call @enter_func when the task function of @task is entered. @user_data will
+ * be passed to @enter_func and @notify will be called when @user_data is no
+ * longer referenced.
  */
 void
-gst_task_set_thread_callbacks (GstTask * task,
-    GstTaskThreadCallbacks * callbacks, gpointer user_data,
-    GDestroyNotify notify)
+gst_task_set_enter_callback (GstTask * task, GstTaskThreadFunc enter_func,
+    gpointer user_data, GDestroyNotify notify)
 {
   GDestroyNotify old_notify;
 
   g_return_if_fail (task != NULL);
   g_return_if_fail (GST_IS_TASK (task));
-  g_return_if_fail (callbacks != NULL);
 
   GST_OBJECT_LOCK (task);
-  old_notify = task->priv->thr_notify;
+  if ((old_notify = task->priv->enter_notify)) {
+    gpointer old_data = task->priv->enter_user_data;
 
-  if (old_notify) {
-    gpointer old_data;
-
-    old_data = task->priv->thr_user_data;
-
-    task->priv->thr_user_data = NULL;
-    task->priv->thr_notify = NULL;
+    task->priv->enter_user_data = NULL;
+    task->priv->enter_notify = NULL;
     GST_OBJECT_UNLOCK (task);
 
     old_notify (old_data);
 
     GST_OBJECT_LOCK (task);
   }
-  task->priv->thr_callbacks = *callbacks;
-  task->priv->thr_user_data = user_data;
-  task->priv->thr_notify = notify;
+  task->priv->enter_func = enter_func;
+  task->priv->enter_user_data = user_data;
+  task->priv->enter_notify = notify;
+  GST_OBJECT_UNLOCK (task);
+}
+
+/**
+ * gst_task_set_leave_callback:
+ * @task: The #GstTask to use
+ * @leave_func: (in): a #GstTaskThreadFunc
+ * @user_data: user data passed to @leave_func
+ * @notify: called when @user_data is no longer referenced
+ *
+ * Call @leave_func when the task function of @task is left. @user_data will
+ * be passed to @leave_func and @notify will be called when @user_data is no
+ * longer referenced.
+ */
+void
+gst_task_set_leave_callback (GstTask * task, GstTaskThreadFunc leave_func,
+    gpointer user_data, GDestroyNotify notify)
+{
+  GDestroyNotify old_notify;
+
+  g_return_if_fail (task != NULL);
+  g_return_if_fail (GST_IS_TASK (task));
+
+  GST_OBJECT_LOCK (task);
+  if ((old_notify = task->priv->leave_notify)) {
+    gpointer old_data = task->priv->leave_user_data;
+
+    task->priv->leave_user_data = NULL;
+    task->priv->leave_notify = NULL;
+    GST_OBJECT_UNLOCK (task);
+
+    old_notify (old_data);
+
+    GST_OBJECT_LOCK (task);
+  }
+  task->priv->leave_func = leave_func;
+  task->priv->leave_user_data = user_data;
+  task->priv->leave_notify = notify;
   GST_OBJECT_UNLOCK (task);
 }
 
@@ -621,8 +650,6 @@
  * MT safe.
  *
  * Returns: %TRUE if the state could be changed.
- *
- * Since: 0.10.24
  */
 gboolean
 gst_task_set_state (GstTask * task, GstTaskState state)
diff --git a/gst/gsttask.h b/gst/gsttask.h
index 5c1600e..6464d86 100644
--- a/gst/gsttask.h
+++ b/gst/gsttask.h
@@ -30,12 +30,12 @@
 
 /**
  * GstTaskFunction:
- * @data: user data passed to the function
+ * @user_data: user data passed to the function
  *
  * A function that will repeatedly be called in the thread created by
  * a #GstTask.
  */
-typedef void         (*GstTaskFunction)          (void *data);
+typedef void         (*GstTaskFunction)          (gpointer user_data);
 
 /* --- standard type macros --- */
 #define GST_TYPE_TASK                   (gst_task_get_type ())
@@ -110,23 +110,14 @@
 #define GST_TASK_GET_LOCK(task)         (GST_TASK_CAST(task)->lock)
 
 /**
- * GstTaskThreadCallbacks:
- * @enter_thread: a thread is entered, this callback is called when the new
- *   thread enters its function.
- * @leave_thread: a thread is exiting, this is called when the thread is about
- *   to leave its function
+ * GstTaskThreadFunc:
+ * @task: The #GstTask
+ * @thread: The #GThread
+ * @user_data: user data
  *
  * Custom GstTask thread callback functions that can be installed.
- *
- * Since: 0.10.24
  */
-typedef struct {
-  /* manage the lifetime of the thread */
-  void      (*enter_thread)     (GstTask *task, GThread *thread, gpointer user_data);
-  void      (*leave_thread)     (GstTask *task, GThread *thread, gpointer user_data);
-  /*< private >*/
-  gpointer     _gst_reserved[GST_PADDING];
-} GstTaskThreadCallbacks;
+typedef void (*GstTaskThreadFunc) (GstTask *task, GThread *thread, gpointer user_data);
 
 /**
  * GstTask:
@@ -134,7 +125,8 @@
  * @cond: used to pause/resume the task
  * @lock: The lock taken when iterating the task function
  * @func: the function executed by this task
- * @data: data passed to the task function
+ * @user_data: user_data passed to the task function
+ * @notify: GDestroyNotify for @user_data
  * @running: a flag indicating that the task is running
  *
  * The #GstTask object.
@@ -149,7 +141,8 @@
   GRecMutex       *lock;
 
   GstTaskFunction  func;
-  gpointer         data;
+  gpointer         user_data;
+  GDestroyNotify   notify;
 
   gboolean         running;
 
@@ -175,16 +168,22 @@
 
 GType           gst_task_get_type       (void);
 
-GstTask*        gst_task_new            (GstTaskFunction func, gpointer data);
+GstTask*        gst_task_new            (GstTaskFunction func,
+                                         gpointer user_data, GDestroyNotify notify);
+
 void            gst_task_set_lock       (GstTask *task, GRecMutex *mutex);
 
 GstTaskPool *   gst_task_get_pool       (GstTask *task);
 void            gst_task_set_pool       (GstTask *task, GstTaskPool *pool);
 
-void            gst_task_set_thread_callbacks  (GstTask *task,
-                                                GstTaskThreadCallbacks *callbacks,
-                                                gpointer user_data,
-                                                GDestroyNotify notify);
+void            gst_task_set_enter_callback  (GstTask *task,
+                                              GstTaskThreadFunc enter_func,
+                                              gpointer user_data,
+                                              GDestroyNotify notify);
+void            gst_task_set_leave_callback  (GstTask *task,
+                                              GstTaskThreadFunc leave_func,
+                                              gpointer user_data,
+                                              GDestroyNotify notify);
 
 GstTaskState    gst_task_get_state      (GstTask *task);
 gboolean        gst_task_set_state      (GstTask *task, GstTaskState state);
diff --git a/gst/gsttaskpool.c b/gst/gsttaskpool.c
index d5981e6..ba7413b 100644
--- a/gst/gsttaskpool.c
+++ b/gst/gsttaskpool.c
@@ -159,8 +159,6 @@
  * GThreadPool for threads.
  *
  * Returns: (transfer full): a new #GstTaskPool. gst_object_unref() after usage.
- *
- * Since: 0.10.24
  */
 GstTaskPool *
 gst_task_pool_new (void)
@@ -180,8 +178,6 @@
  * Prepare the taskpool for accepting gst_task_pool_push() operations.
  *
  * MT safe.
- *
- * Since: 0.10.24
  */
 void
 gst_task_pool_prepare (GstTaskPool * pool, GError ** error)
@@ -204,8 +200,6 @@
  * to ensure proper cleanup of internal data structures in test suites.
  *
  * MT safe.
- *
- * Since: 0.10.24
  */
 void
 gst_task_pool_cleanup (GstTaskPool * pool)
@@ -223,17 +217,15 @@
 /**
  * gst_task_pool_push:
  * @pool: a #GstTaskPool
- * @func: the function to call
+ * @func: (scope async): the function to call
  * @user_data: (closure): data to pass to @func
  * @error: return location for an error
  *
  * Start the execution of a new thread from @pool.
  *
- * Returns: a pointer that should be used for the gst_task_pool_join
- * function. This pointer can be NULL, you must check @error to detect
- * errors.
- *
- * Since: 0.10.24
+ * Returns: (transfer none): a pointer that should be used for the
+ * gst_task_pool_join function. This pointer can be NULL, you must
+ * check @error to detect errors.
  */
 gpointer
 gst_task_pool_push (GstTaskPool * pool, GstTaskPoolFunction func,
@@ -265,8 +257,6 @@
  *
  * Join a task and/or return it to the pool. @id is the id obtained from 
  * gst_task_pool_push().
- *
- * Since: 0.10.24
  */
 void
 gst_task_pool_join (GstTaskPool * pool, gpointer id)
diff --git a/gst/gsttaskpool.h b/gst/gsttaskpool.h
index 6f2ac66..4eccbfb 100644
--- a/gst/gsttaskpool.h
+++ b/gst/gsttaskpool.h
@@ -40,13 +40,11 @@
 
 /**
  * GstTaskPoolFunction:
- * @data: user data for the task function
+ * @user_data: user data for the task function
  *
  * Task function, see gst_task_pool_push().
- *
- * Since: 0.10.24
  */
-typedef void   (*GstTaskPoolFunction)          (void *data);
+typedef void   (*GstTaskPoolFunction)          (void *user_data);
 
 /**
  * GstTaskPool:
diff --git a/gst/gsttoc.c b/gst/gsttoc.c
index b79717b..0a15156 100644
--- a/gst/gsttoc.c
+++ b/gst/gsttoc.c
@@ -22,7 +22,7 @@
 /**
  * SECTION:gsttoc
  * @short_description: Generic table of contents support
- * @see_also: #GstStructure, #GstEvent, #GstMessage, #GstQuery, #GstPad
+ * @see_also: #GstStructure, #GstEvent, #GstMessage, #GstQuery
  *
  * #GstToc functions are used to create/free #GstToc and #GstTocEntry structures.
  * Also they are used to convert #GstToc into #GstStructure and vice versa.
@@ -72,135 +72,234 @@
 #include "gstpad.h"
 #include "gstquark.h"
 
-G_DEFINE_BOXED_TYPE (GstToc, gst_toc,
-    (GBoxedCopyFunc) gst_toc_copy, (GBoxedFreeFunc) gst_toc_free);
-G_DEFINE_BOXED_TYPE (GstTocEntry, gst_toc_entry,
-    (GBoxedCopyFunc) gst_toc_entry_copy, (GBoxedFreeFunc) gst_toc_entry_free);
+struct _GstTocEntry
+{
+  GstMiniObject mini_object;
+
+  GstToc *toc;
+  GstTocEntry *parent;
+
+  gchar *uid;
+  GstTocEntryType type;
+  GstClockTime start, stop;
+  GList *subentries;
+  GstTagList *tags;
+};
+
+struct _GstToc
+{
+  GstMiniObject mini_object;
+
+  GstTocScope scope;
+  GList *entries;
+  GstTagList *tags;
+};
+
+#undef gst_toc_copy
+static GstToc *gst_toc_copy (const GstToc * toc);
+static void gst_toc_free (GstToc * toc);
+#undef gst_toc_entry_copy
+static GstTocEntry *gst_toc_entry_copy (const GstTocEntry * toc);
+static void gst_toc_entry_free (GstTocEntry * toc);
+
+GST_DEFINE_MINI_OBJECT_TYPE (GstToc, gst_toc);
+GST_DEFINE_MINI_OBJECT_TYPE (GstTocEntry, gst_toc_entry);
 
 /**
  * gst_toc_new:
+ * @scope: scope of this TOC
  *
- * Create new #GstToc structure.
+ * Create a new #GstToc structure.
  *
- * Returns: newly allocated #GstToc structure, free it with gst_toc_free().
- *
- * Since: 0.10.37
+ * Returns: (transfer full): newly allocated #GstToc structure, free it
+ *     with gst_toc_unref().
  */
 GstToc *
-gst_toc_new (void)
+gst_toc_new (GstTocScope scope)
 {
   GstToc *toc;
 
+  g_return_val_if_fail (scope == GST_TOC_SCOPE_GLOBAL ||
+      scope == GST_TOC_SCOPE_CURRENT, NULL);
+
   toc = g_slice_new0 (GstToc);
+
+  gst_mini_object_init (GST_MINI_OBJECT_CAST (toc), 0, GST_TYPE_TOC,
+      (GstMiniObjectCopyFunction) gst_toc_copy, NULL,
+      (GstMiniObjectFreeFunction) gst_toc_free);
+
+  toc->scope = scope;
   toc->tags = gst_tag_list_new_empty ();
-  toc->info = gst_structure_new_id_empty (GST_QUARK (INFO_STRUCTURE));
 
   return toc;
 }
 
 /**
+ * gst_toc_get_scope:
+ * @toc: a #GstToc instance
+ *
+ * Returns: scope of @toc
+ */
+GstTocScope
+gst_toc_get_scope (const GstToc * toc)
+{
+  g_return_val_if_fail (toc != NULL, GST_TOC_SCOPE_GLOBAL);
+
+  return toc->scope;
+}
+
+/**
+ * gst_toc_set_tags:
+ * @toc: A #GstToc instance
+ * @tags: (allow-none) (transfer full): A #GstTagList or %NULL
+ *
+ * Set a #GstTagList with tags for the complete @toc.
+ */
+void
+gst_toc_set_tags (GstToc * toc, GstTagList * tags)
+{
+  g_return_if_fail (toc != NULL);
+  g_return_if_fail (gst_mini_object_is_writable (GST_MINI_OBJECT_CAST (toc)));
+
+  if (toc->tags)
+    gst_tag_list_unref (toc->tags);
+  toc->tags = tags;
+}
+
+/**
+ * gst_toc_merge_tags:
+ * @toc: A #GstToc instance
+ * @tags: (allow-none): A #GstTagList or %NULL
+ * @mode: A #GstTagMergeMode
+ *
+ * Merge @tags into the existing tags of @toc using @mode.
+ */
+void
+gst_toc_merge_tags (GstToc * toc, GstTagList * tags, GstTagMergeMode mode)
+{
+  g_return_if_fail (toc != NULL);
+  g_return_if_fail (gst_mini_object_is_writable (GST_MINI_OBJECT_CAST (toc)));
+
+  if (!toc->tags) {
+    toc->tags = gst_tag_list_ref (tags);
+  } else {
+    GstTagList *tmp = gst_tag_list_merge (toc->tags, tags, mode);
+    gst_tag_list_unref (toc->tags);
+    toc->tags = tmp;
+  }
+}
+
+/**
+ * gst_toc_get_tags:
+ * @toc: A #GstToc instance
+ *
+ * Gets the tags for @toc.
+ *
+ * Returns: (transfer none): A #GstTagList for @entry
+ */
+GstTagList *
+gst_toc_get_tags (const GstToc * toc)
+{
+  g_return_val_if_fail (toc != NULL, NULL);
+
+  return toc->tags;
+}
+
+/**
+ * gst_toc_append_entry:
+ * @toc: A #GstToc instance
+ * @entry: (transfer full): A #GstTocEntry
+ *
+ * Appends the #GstTocEntry @entry to @toc.
+ */
+void
+gst_toc_append_entry (GstToc * toc, GstTocEntry * entry)
+{
+  g_return_if_fail (toc != NULL);
+  g_return_if_fail (gst_mini_object_is_writable (GST_MINI_OBJECT_CAST (toc)));
+  g_return_if_fail (gst_mini_object_is_writable (GST_MINI_OBJECT_CAST (entry)));
+  g_return_if_fail (entry->toc == NULL);
+  g_return_if_fail (entry->parent == NULL);
+
+  toc->entries = g_list_append (toc->entries, entry);
+  entry->toc = toc;
+
+  GST_LOG ("appended %s entry with uid %s to toc %p",
+      gst_toc_entry_type_get_nick (entry->type), entry->uid, toc);
+
+  gst_toc_dump (toc);
+}
+
+/**
+ * gst_toc_get_entries:
+ * @toc: A #GstToc instance
+ *
+ * Gets the list of #GstTocEntry of @toc.
+ *
+ * Returns: (transfer none) (element-type Gst.TocEntry): A #GList of #GstTocEntry for @entry
+ */
+GList *
+gst_toc_get_entries (const GstToc * toc)
+{
+  g_return_val_if_fail (toc != NULL, NULL);
+
+  return toc->entries;
+}
+
+static GstTocEntry *
+gst_toc_entry_new_internal (GstTocEntryType type, const gchar * uid)
+{
+  GstTocEntry *entry;
+
+  entry = g_slice_new0 (GstTocEntry);
+
+  gst_mini_object_init (GST_MINI_OBJECT_CAST (entry), 0, GST_TYPE_TOC_ENTRY,
+      (GstMiniObjectCopyFunction) gst_toc_entry_copy, NULL,
+      (GstMiniObjectFreeFunction) gst_toc_entry_free);
+
+  entry->uid = g_strdup (uid);
+  entry->type = type;
+  entry->tags = NULL;
+  entry->start = entry->stop = GST_CLOCK_TIME_NONE;
+
+  return entry;
+}
+
+/**
  * gst_toc_entry_new:
  * @type: entry type.
  * @uid: unique ID (UID) in the whole TOC.
  *
  * Create new #GstTocEntry structure.
  *
- * Returns: newly allocated #GstTocEntry structure, free it with gst_toc_entry_free().
- *
- * Since: 0.10.37
+ * Returns: newly allocated #GstTocEntry structure, free it with gst_toc_entry_unref().
  */
 GstTocEntry *
 gst_toc_entry_new (GstTocEntryType type, const gchar * uid)
 {
-  GstTocEntry *entry;
-
   g_return_val_if_fail (uid != NULL, NULL);
 
-  entry = g_slice_new0 (GstTocEntry);
-  entry->uid = g_strdup (uid);
-  entry->type = type;
-  entry->tags = gst_tag_list_new_empty ();
-  entry->info = gst_structure_new_id_empty (GST_QUARK (INFO_STRUCTURE));
-
-  return entry;
+  return gst_toc_entry_new_internal (type, uid);
 }
 
-/**
- * gst_toc_entry_new_with_pad:
- * @type: entry type.
- * @uid: unique ID (UID) in the whole TOC.
- * @pad: #GstPad related to this entry.
- *
- * Create new #GstTocEntry structure with #GstPad related.
- *
- * Returns: newly allocated #GstTocEntry structure, free it with gst_toc_entry_free()
- * when done.
- *
- * Since: 0.10.37
- */
-GstTocEntry *
-gst_toc_entry_new_with_pad (GstTocEntryType type, const gchar * uid,
-    GstPad * pad)
-{
-  GstTocEntry *entry;
-
-  g_return_val_if_fail (uid != NULL, NULL);
-
-  entry = g_slice_new0 (GstTocEntry);
-  entry->uid = g_strdup (uid);
-  entry->type = type;
-  entry->tags = gst_tag_list_new_empty ();
-  entry->info = gst_structure_new_id_empty (GST_QUARK (INFO_STRUCTURE));
-
-  if (pad != NULL && GST_IS_PAD (pad))
-    entry->pads = g_list_append (entry->pads, gst_object_ref (pad));
-
-  return entry;
-}
-
-/**
- * gst_toc_free:
- * @toc: #GstToc structure to free.
- *
- * Free unused #GstToc structure.
- *
- * Since: 0.10.37
- */
-void
+static void
 gst_toc_free (GstToc * toc)
 {
-  g_return_if_fail (toc != NULL);
-
-  g_list_foreach (toc->entries, (GFunc) gst_toc_entry_free, NULL);
+  g_list_foreach (toc->entries, (GFunc) gst_mini_object_unref, NULL);
   g_list_free (toc->entries);
 
   if (toc->tags != NULL)
     gst_tag_list_unref (toc->tags);
 
-  if (toc->info != NULL)
-    gst_structure_free (toc->info);
-
   g_slice_free (GstToc, toc);
 }
 
-/**
- * gst_toc_entry_free:
- * @entry: #GstTocEntry structure to free.
- *
- * Free unused #GstTocEntry structure. Note that #GstTocEntry.uid will
- * be freed with g_free() and all #GstPad objects in the #GstTocEntry.pads
- * list will be unrefed with gst_object_unref().
- *
- * Since: 0.10.37
- */
-void
+static void
 gst_toc_entry_free (GstTocEntry * entry)
 {
-  GList *cur;
-
   g_return_if_fail (entry != NULL);
 
-  g_list_foreach (entry->subentries, (GFunc) gst_toc_entry_free, NULL);
+  g_list_foreach (entry->subentries, (GFunc) gst_mini_object_unref, NULL);
   g_list_free (entry->subentries);
 
   g_free (entry->uid);
@@ -208,448 +307,33 @@
   if (entry->tags != NULL)
     gst_tag_list_unref (entry->tags);
 
-  if (entry->info != NULL)
-    gst_structure_free (entry->info);
-
-  cur = entry->pads;
-  while (cur != NULL) {
-    if (GST_IS_PAD (cur->data))
-      gst_object_unref (cur->data);
-    cur = cur->next;
-  }
-
-  g_list_free (entry->pads);
-
   g_slice_free (GstTocEntry, entry);
 }
 
-static GstStructure *
-gst_toc_structure_new (GstTagList * tags, GstStructure * info)
-{
-  GstStructure *ret;
-
-  ret = gst_structure_new_id_empty (GST_QUARK (TOC));
-
-  if (tags != NULL) {
-    gst_structure_id_set (ret, GST_QUARK (TAGS), GST_TYPE_TAG_LIST, tags, NULL);
-  }
-
-  if (info != NULL) {
-    gst_structure_id_set (ret, GST_QUARK (INFO), GST_TYPE_STRUCTURE, info,
-        NULL);
-  }
-
-  return ret;
-}
-
-static GstStructure *
-gst_toc_entry_structure_new (GstTocEntryType type, const gchar * uid,
-    GstTagList * tags, GstStructure * info)
-{
-  GstStructure *ret;
-
-  ret = gst_structure_new_id_empty (GST_QUARK (TOC_ENTRY));
-
-  gst_structure_id_set (ret, GST_QUARK (TYPE), GST_TYPE_TOC_ENTRY_TYPE, type,
-      NULL);
-  gst_structure_id_set (ret, GST_QUARK (UID), G_TYPE_STRING, uid, NULL);
-
-  if (tags != NULL) {
-    gst_structure_id_set (ret, GST_QUARK (TAGS), GST_TYPE_TAG_LIST, tags, NULL);
-  }
-
-  if (info != NULL) {
-    gst_structure_id_set (ret, GST_QUARK (INFO), GST_TYPE_STRUCTURE, info,
-        NULL);
-  }
-
-  return ret;
-}
-
-static guint
-gst_toc_entry_structure_n_subentries (const GstStructure * entry)
-{
-  if (G_UNLIKELY (!gst_structure_id_has_field_typed (entry,
-              GST_QUARK (SUB_ENTRIES), GST_TYPE_ARRAY)))
-    return 0;
-  else
-    return gst_value_array_get_size ((gst_structure_id_get_value (entry,
-                GST_QUARK (SUB_ENTRIES))));
-}
-
-static const GstStructure *
-gst_toc_entry_structure_nth_subentry (const GstStructure * entry, guint nth)
-{
-  guint count;
-  const GValue *array;
-
-  count = gst_toc_entry_structure_n_subentries (entry);
-
-  if (count < nth)
-    return NULL;
-
-  if (G_UNLIKELY (!gst_structure_id_has_field_typed (entry,
-              GST_QUARK (SUB_ENTRIES), GST_TYPE_ARRAY)))
-    return NULL;
-  else {
-    array =
-        gst_value_array_get_value (gst_structure_id_get_value (entry,
-            GST_QUARK (SUB_ENTRIES)), nth);
-    return gst_value_get_structure (array);
-  }
-}
-
 static GstTocEntry *
-gst_toc_entry_from_structure (const GstStructure * entry, guint level)
+gst_toc_entry_find_sub_entry (const GstTocEntry * entry, const gchar * uid)
 {
-  GstTocEntry *ret, *subentry;
-  const GValue *val;
-  const GstStructure *subentry_struct;
-  GstTagList *list;
-  GstStructure *st;
-  gint count, i;
-  const gchar *uid;
-  guint chapters_count = 0, editions_count = 0;
-
-  g_return_val_if_fail (entry != NULL, NULL);
-  g_return_val_if_fail (gst_structure_id_has_field_typed (entry,
-          GST_QUARK (UID), G_TYPE_STRING), NULL);
-  g_return_val_if_fail (gst_structure_id_has_field_typed (entry,
-          GST_QUARK (TYPE), GST_TYPE_TOC_ENTRY_TYPE), NULL);
-
-  val = gst_structure_id_get_value (entry, GST_QUARK (UID));
-  uid = g_value_get_string (val);
-
-  ret = gst_toc_entry_new (GST_TOC_ENTRY_TYPE_CHAPTER, uid);
-
-  gst_structure_get_enum (entry, g_quark_to_string (GST_QUARK (TYPE)),
-      GST_TYPE_TOC_ENTRY_TYPE, (gint *) & (ret->type));
-
-  if (gst_structure_id_has_field_typed (entry,
-          GST_QUARK (SUB_ENTRIES), GST_TYPE_ARRAY)) {
-    count = gst_toc_entry_structure_n_subentries (entry);
-
-    for (i = 0; i < count; ++i) {
-      subentry_struct = gst_toc_entry_structure_nth_subentry (entry, i);
-      subentry = gst_toc_entry_from_structure (subentry_struct, level + 1);
-
-      /* skip empty editions */
-      if (G_UNLIKELY (subentry->type == GST_TOC_ENTRY_TYPE_EDITION
-              && subentry->subentries == NULL)) {
-        g_warning
-            ("Empty edition found while deserializing TOC from GstStructure, skipping");
-        continue;
-      }
-
-      if (subentry->type == GST_TOC_ENTRY_TYPE_EDITION)
-        ++editions_count;
-      else
-        ++chapters_count;
-
-      /* check for mixed content */
-      if (G_UNLIKELY (chapters_count > 0 && editions_count > 0)) {
-        g_critical
-            ("Mixed editions and chapters in the TOC contents, the TOC is broken");
-        gst_toc_entry_free (subentry);
-        gst_toc_entry_free (ret);
-        return NULL;
-      }
-
-      if (G_UNLIKELY (subentry == NULL)) {
-        gst_toc_entry_free (ret);
-        return NULL;
-      }
-
-      ret->subentries = g_list_prepend (ret->subentries, subentry);
-    }
-
-    ret->subentries = g_list_reverse (ret->subentries);
-  }
-
-  if (gst_structure_id_has_field_typed (entry, GST_QUARK (TAGS),
-          GST_TYPE_TAG_LIST)) {
-    val = gst_structure_id_get_value (entry, GST_QUARK (TAGS));
-
-    if (G_LIKELY (GST_IS_TAG_LIST (g_value_get_boxed (val)))) {
-      list = gst_tag_list_copy (GST_TAG_LIST (g_value_get_boxed (val)));
-      gst_tag_list_unref (ret->tags);
-      ret->tags = list;
-    }
-  }
-
-  if (gst_structure_id_has_field_typed (entry,
-          GST_QUARK (INFO), GST_TYPE_STRUCTURE)) {
-    val = gst_structure_id_get_value (entry, GST_QUARK (INFO));
-
-    if (G_LIKELY (GST_IS_STRUCTURE (gst_value_get_structure (val)))) {
-      st = gst_structure_copy (gst_value_get_structure (val));
-      gst_structure_free (ret->info);
-      ret->info = st;
-    }
-  }
-
-  return ret;
-}
-
-GstToc *
-__gst_toc_from_structure (const GstStructure * toc)
-{
-  GstToc *ret;
-  GstTocEntry *subentry;
-  const GstStructure *subentry_struct;
-  const GValue *val;
-  GstTagList *list;
-  GstStructure *st;
-  guint count, i;
-  guint editions_count = 0, chapters_count = 0;
-
-  g_return_val_if_fail (toc != NULL, NULL);
-
-  ret = gst_toc_new ();
-
-  if (gst_structure_id_has_field_typed (toc,
-          GST_QUARK (SUB_ENTRIES), GST_TYPE_ARRAY)) {
-    count = gst_toc_entry_structure_n_subentries (toc);
-
-    for (i = 0; i < count; ++i) {
-      subentry_struct = gst_toc_entry_structure_nth_subentry (toc, i);
-      subentry = gst_toc_entry_from_structure (subentry_struct, 0);
-
-      /* skip empty editions */
-      if (G_UNLIKELY (subentry->type == GST_TOC_ENTRY_TYPE_EDITION
-              && subentry->subentries == NULL)) {
-        g_warning
-            ("Empty edition found while deserializing TOC from GstStructure, skipping");
-        continue;
-      }
-
-      /* check for success */
-      if (G_UNLIKELY (subentry == NULL)) {
-        g_critical ("Couldn't serialize deserializing TOC from GstStructure");
-        gst_toc_free (ret);
-        return NULL;
-      }
-
-      if (subentry->type == GST_TOC_ENTRY_TYPE_EDITION)
-        ++editions_count;
-      else
-        ++chapters_count;
-
-      /* check for mixed content */
-      if (G_UNLIKELY (chapters_count > 0 && editions_count > 0)) {
-        g_critical
-            ("Mixed editions and chapters in the TOC contents, the TOC is broken");
-        gst_toc_entry_free (subentry);
-        gst_toc_free (ret);
-        return NULL;
-      }
-
-      ret->entries = g_list_prepend (ret->entries, subentry);
-    }
-
-    ret->entries = g_list_reverse (ret->entries);
-  }
-
-  if (gst_structure_id_has_field_typed (toc, GST_QUARK (TAGS),
-          GST_TYPE_TAG_LIST)) {
-    val = gst_structure_id_get_value (toc, GST_QUARK (TAGS));
-
-    if (G_LIKELY (GST_IS_TAG_LIST (g_value_get_boxed (val)))) {
-      list = gst_tag_list_copy (GST_TAG_LIST (g_value_get_boxed (val)));
-      gst_tag_list_unref (ret->tags);
-      ret->tags = list;
-    }
-  }
-
-  if (gst_structure_id_has_field_typed (toc,
-          GST_QUARK (INFO), GST_TYPE_STRUCTURE)) {
-    val = gst_structure_id_get_value (toc, GST_QUARK (INFO));
-
-    if (G_LIKELY (GST_IS_STRUCTURE (gst_value_get_structure (val)))) {
-      st = gst_structure_copy (gst_value_get_structure (val));
-      gst_structure_free (ret->info);
-      ret->info = st;
-    }
-  }
-
-  if (G_UNLIKELY (ret->entries == NULL)) {
-    gst_toc_free (ret);
-    return NULL;
-  }
-
-  return ret;
-}
-
-static GstStructure *
-gst_toc_entry_to_structure (const GstTocEntry * entry, guint level)
-{
-  GstStructure *ret, *subentry_struct;
-  GstTocEntry *subentry;
   GList *cur;
-  GValue subentries_val = { 0 };
-  GValue entry_val = { 0 };
-  guint chapters_count = 0, editions_count = 0;
+  GstTocEntry *subentry, *subsubentry;
 
   g_return_val_if_fail (entry != NULL, NULL);
-
-  ret =
-      gst_toc_entry_structure_new (entry->type, entry->uid, entry->tags,
-      entry->info);
-
-  g_value_init (&subentries_val, GST_TYPE_ARRAY);
-  g_value_init (&entry_val, GST_TYPE_STRUCTURE);
+  g_return_val_if_fail (uid != NULL, NULL);
 
   cur = entry->subentries;
   while (cur != NULL) {
     subentry = cur->data;
 
-    if (subentry->type == GST_TOC_ENTRY_TYPE_EDITION)
-      ++editions_count;
-    else
-      ++chapters_count;
+    if (g_strcmp0 (subentry->uid, uid) == 0)
+      return subentry;
 
-    /* check for mixed content */
-    if (G_UNLIKELY (chapters_count > 0 && editions_count > 0)) {
-      g_critical
-          ("Mixed editions and chapters in the TOC contents, the TOC is broken");
-      gst_structure_free (ret);
-      g_value_unset (&entry_val);
-      g_value_unset (&subentries_val);
-      return NULL;
-    }
-
-    /* skip empty editions */
-    if (G_UNLIKELY (subentry->type == GST_TOC_ENTRY_TYPE_EDITION
-            && subentry->subentries == NULL)) {
-      g_warning
-          ("Empty edition found while serializing TOC to GstStructure, skipping");
-      cur = cur->next;
-      continue;
-    }
-
-    subentry_struct = gst_toc_entry_to_structure (subentry, level + 1);
-
-    /* check for success */
-    if (G_UNLIKELY (subentry_struct == NULL)) {
-      gst_structure_free (ret);
-      g_value_unset (&subentries_val);
-      g_value_unset (&entry_val);
-      return NULL;
-    }
-
-    /* skip empty editions */
-    if (G_UNLIKELY (subentry->type == GST_TOC_ENTRY_TYPE_EDITION
-            && subentry->subentries == NULL)) {
-      g_warning
-          ("Empty edition found while serializing TOC to GstStructure, skipping");
-      cur = cur->next;
-      continue;
-    }
-
-    gst_value_set_structure (&entry_val, subentry_struct);
-    gst_value_array_append_value (&subentries_val, &entry_val);
-    gst_structure_free (subentry_struct);
+    subsubentry = gst_toc_entry_find_sub_entry (subentry, uid);
+    if (subsubentry != NULL)
+      return subsubentry;
 
     cur = cur->next;
   }
 
-  gst_structure_id_set_value (ret, GST_QUARK (SUB_ENTRIES), &subentries_val);
-
-  g_value_unset (&subentries_val);
-  g_value_unset (&entry_val);
-  return ret;
-}
-
-GstStructure *
-__gst_toc_to_structure (const GstToc * toc)
-{
-  GValue val = { 0 };
-  GValue subentries_val = { 0 };
-  GstStructure *ret, *subentry_struct;
-  GstTocEntry *subentry;
-  GList *cur;
-  guint editions_count = 0, chapters_count = 0;
-
-  g_return_val_if_fail (toc != NULL, NULL);
-  g_return_val_if_fail (toc->entries != NULL, NULL);
-
-  ret = gst_toc_structure_new (toc->tags, toc->info);
-
-  g_value_init (&val, GST_TYPE_STRUCTURE);
-  g_value_init (&subentries_val, GST_TYPE_ARRAY);
-  cur = toc->entries;
-
-  while (cur != NULL) {
-    subentry = cur->data;
-
-    if (subentry->type == GST_TOC_ENTRY_TYPE_EDITION)
-      ++editions_count;
-    else
-      ++chapters_count;
-
-    /* check for mixed content */
-    if (G_UNLIKELY (chapters_count > 0 && editions_count > 0)) {
-      g_critical
-          ("Mixed editions and chapters in the TOC contents, the TOC is broken");
-      gst_structure_free (ret);
-      g_value_unset (&val);
-      g_value_unset (&subentries_val);
-      return NULL;
-    }
-
-    /* skip empty editions */
-    if (G_UNLIKELY (subentry->type == GST_TOC_ENTRY_TYPE_EDITION
-            && subentry->subentries == NULL)) {
-      g_warning
-          ("Empty edition found while serializing TOC to GstStructure, skipping");
-      cur = cur->next;
-      continue;
-    }
-
-    subentry_struct = gst_toc_entry_to_structure (subentry, 0);
-
-    /* check for success */
-    if (G_UNLIKELY (subentry_struct == NULL)) {
-      g_critical ("Couldn't serialize TOC to GstStructure");
-      gst_structure_free (ret);
-      g_value_unset (&val);
-      g_value_unset (&subentries_val);
-      return NULL;
-    }
-
-    gst_value_set_structure (&val, subentry_struct);
-    gst_value_array_append_value (&subentries_val, &val);
-    gst_structure_free (subentry_struct);
-
-    cur = cur->next;
-  }
-
-  gst_structure_id_set_value (ret, GST_QUARK (SUB_ENTRIES), &subentries_val);
-
-  g_value_unset (&val);
-  g_value_unset (&subentries_val);
-  return ret;
-}
-
-static gboolean
-gst_toc_check_entry_for_uid (const GstTocEntry * entry, const gchar * uid)
-{
-  GList *cur;
-
-  g_return_val_if_fail (entry != NULL, FALSE);
-  g_return_val_if_fail (uid != NULL, FALSE);
-
-  if (g_strcmp0 (entry->uid, uid) == 0)
-    return TRUE;
-
-  cur = entry->subentries;
-  while (cur != NULL) {
-    if (gst_toc_check_entry_for_uid (cur->data, uid))
-      return TRUE;
-    cur = cur->next;
-  }
-
-  return FALSE;
+  return NULL;
 }
 
 /**
@@ -659,22 +343,27 @@
  *
  * Find #GstTocEntry with given @uid in the @toc.
  *
- * Returns: #GstTocEntry with specified @uid from the @toc, or NULL if not found.
- *
- * Since: 0.10.37
+ * Returns: (transfer none): #GstTocEntry with specified @uid from the @toc, or NULL if not found.
  */
 GstTocEntry *
 gst_toc_find_entry (const GstToc * toc, const gchar * uid)
 {
   GList *cur;
+  GstTocEntry *entry, *subentry;
 
   g_return_val_if_fail (toc != NULL, NULL);
   g_return_val_if_fail (uid != NULL, NULL);
 
   cur = toc->entries;
   while (cur != NULL) {
-    if (gst_toc_check_entry_for_uid (cur->data, uid))
-      return cur->data;
+    entry = cur->data;
+
+    if (g_strcmp0 (entry->uid, uid) == 0)
+      return entry;
+
+    subentry = gst_toc_entry_find_sub_entry (entry, uid);
+    if (subentry != NULL)
+      return subentry;
     cur = cur->next;
   }
 
@@ -688,42 +377,29 @@
  * Copy #GstTocEntry with all subentries (deep copy).
  *
  * Returns: newly allocated #GstTocEntry in case of success, NULL otherwise;
- * free it when done with gst_toc_entry_free().
- *
- * Since: 0.10.37
+ * free it when done with gst_toc_entry_unref().
  */
-GstTocEntry *
+static GstTocEntry *
 gst_toc_entry_copy (const GstTocEntry * entry)
 {
   GstTocEntry *ret, *sub;
-  GList *cur;
   GstTagList *list;
-  GstStructure *st;
+  GList *cur;
 
   g_return_val_if_fail (entry != NULL, NULL);
 
   ret = gst_toc_entry_new (entry->type, entry->uid);
 
-  if (GST_IS_STRUCTURE (entry->info)) {
-    st = gst_structure_copy (entry->info);
-    gst_structure_free (ret->info);
-    ret->info = st;
-  }
+  ret->start = entry->start;
+  ret->stop = entry->stop;
 
   if (GST_IS_TAG_LIST (entry->tags)) {
     list = gst_tag_list_copy (entry->tags);
-    gst_tag_list_unref (ret->tags);
+    if (ret->tags)
+      gst_tag_list_unref (ret->tags);
     ret->tags = list;
   }
 
-  cur = entry->pads;
-  while (cur != NULL) {
-    if (GST_IS_PAD (cur->data))
-      ret->pads = g_list_prepend (ret->pads, gst_object_ref (cur->data));
-    cur = cur->next;
-  }
-  ret->pads = g_list_reverse (ret->pads);
-
   cur = entry->subentries;
   while (cur != NULL) {
     sub = gst_toc_entry_copy (cur->data);
@@ -746,27 +422,18 @@
  *
  * Returns: newly allocated #GstToc in case of success, NULL otherwise;
  * free it when done with gst_toc_free().
- *
- * Since: 0.10.37
  */
-GstToc *
+static GstToc *
 gst_toc_copy (const GstToc * toc)
 {
   GstToc *ret;
   GstTocEntry *entry;
   GList *cur;
   GstTagList *list;
-  GstStructure *st;
 
   g_return_val_if_fail (toc != NULL, NULL);
 
-  ret = gst_toc_new ();
-
-  if (GST_IS_STRUCTURE (toc->info)) {
-    st = gst_structure_copy (toc->info);
-    gst_structure_free (ret->info);
-    ret->info = st;
-  }
+  ret = gst_toc_new (toc->scope);
 
   if (GST_IS_TAG_LIST (toc->tags)) {
     list = gst_tag_list_copy (toc->tags);
@@ -784,49 +451,29 @@
     cur = cur->next;
   }
   ret->entries = g_list_reverse (ret->entries);
-
   return ret;
 }
 
 /**
- * gst_toc_entry_set_start_stop:
+ * gst_toc_entry_set_start_stop_times:
  * @entry: #GstTocEntry to set values.
  * @start: start value to set.
  * @stop: stop value to set.
  *
  * Set @start and @stop values for the @entry.
- *
- * Since: 0.10.37
  */
 void
-gst_toc_entry_set_start_stop (GstTocEntry * entry, gint64 start, gint64 stop)
+gst_toc_entry_set_start_stop_times (GstTocEntry * entry, gint64 start,
+    gint64 stop)
 {
-  const GValue *val;
-  GstStructure *structure = NULL;
-
   g_return_if_fail (entry != NULL);
-  g_return_if_fail (GST_IS_STRUCTURE (entry->info));
 
-  if (gst_structure_id_has_field_typed (entry->info, GST_QUARK (TIME),
-          GST_TYPE_STRUCTURE)) {
-    val = gst_structure_id_get_value (entry->info, GST_QUARK (TIME));
-    structure = gst_structure_copy (gst_value_get_structure (val));
-  }
-
-  if (structure == NULL)
-    structure = gst_structure_new_id_empty (GST_QUARK (TIME_STRUCTURE));
-
-  gst_structure_id_set (structure, GST_QUARK (START),
-      G_TYPE_INT64, start, GST_QUARK (STOP), G_TYPE_INT64, stop, NULL);
-
-  gst_structure_id_set (entry->info, GST_QUARK (TIME),
-      GST_TYPE_STRUCTURE, structure, NULL);
-
-  gst_structure_free (structure);
+  entry->start = start;
+  entry->stop = stop;
 }
 
 /**
- * gst_toc_entry_get_start_stop:
+ * gst_toc_entry_get_start_stop_times:
  * @entry: #GstTocEntry to get values from.
  * @start: (out): the storage for the start value, leave #NULL if not need.
  * @stop: (out): the storage for the stop value, leave #NULL if not need.
@@ -835,46 +482,19 @@
  *
  * Returns: TRUE if all non-NULL storage pointers were filled with appropriate values,
  * FALSE otherwise.
- *
- * Since: 0.10.37
  */
 gboolean
-gst_toc_entry_get_start_stop (const GstTocEntry * entry, gint64 * start,
+gst_toc_entry_get_start_stop_times (const GstTocEntry * entry, gint64 * start,
     gint64 * stop)
 {
   gboolean ret = TRUE;
-  const GValue *val;
-  const GstStructure *structure;
 
   g_return_val_if_fail (entry != NULL, FALSE);
-  g_return_val_if_fail (GST_IS_STRUCTURE (entry->info), FALSE);
 
-  if (!gst_structure_id_has_field_typed (entry->info,
-          GST_QUARK (TIME), GST_TYPE_STRUCTURE))
-    return FALSE;
-
-  val = gst_structure_id_get_value (entry->info, GST_QUARK (TIME));
-  structure = gst_value_get_structure (val);
-
-  if (start != NULL) {
-    if (gst_structure_id_has_field_typed (structure,
-            GST_QUARK (START), G_TYPE_INT64))
-      *start =
-          g_value_get_int64 (gst_structure_id_get_value (structure,
-              GST_QUARK (START)));
-    else
-      ret = FALSE;
-  }
-
-  if (stop != NULL) {
-    if (gst_structure_id_has_field_typed (structure,
-            GST_QUARK (STOP), G_TYPE_INT64))
-      *stop =
-          g_value_get_int64 (gst_structure_id_get_value (structure,
-              GST_QUARK (STOP)));
-    else
-      ret = FALSE;
-  }
+  if (start != NULL)
+    *start = entry->start;
+  if (stop != NULL)
+    *stop = entry->stop;
 
   return ret;
 }
@@ -885,67 +505,252 @@
  *
  * Converts @type to a string representation.
  *
- * Returns: Returns the human-readable @type. Can be NULL if an error occurred.
- * Since: 0.11.92
+ * Returns: Returns a human-readable string for @type. This string is
+ *    only for debugging purpose and should not be displayed in a user
+ *    interface.
  */
 const gchar *
 gst_toc_entry_type_get_nick (GstTocEntryType type)
 {
-  const gchar *entry_types[] = { "chapter", "edition" };
-
-  g_return_val_if_fail ((gint) type >= 0
-      && (gint) type < G_N_ELEMENTS (entry_types), NULL);
-  return entry_types[type];
+  switch (type) {
+    case GST_TOC_ENTRY_TYPE_ANGLE:
+      return "angle";
+    case GST_TOC_ENTRY_TYPE_VERSION:
+      return "version";
+    case GST_TOC_ENTRY_TYPE_EDITION:
+      return "edition";
+    case GST_TOC_ENTRY_TYPE_TITLE:
+      return "title";
+    case GST_TOC_ENTRY_TYPE_TRACK:
+      return "track";
+    case GST_TOC_ENTRY_TYPE_CHAPTER:
+      return "chapter";
+    default:
+      break;
+  }
+  return "invalid";
 }
 
+/**
+ * gst_toc_entry_get_entry_type:
+ * @entry: a #GstTocEntry
+ *
+ * Returns: @entry's entry type
+ */
+GstTocEntryType
+gst_toc_entry_get_entry_type (const GstTocEntry * entry)
+{
+  g_return_val_if_fail (entry != NULL, GST_TOC_ENTRY_TYPE_INVALID);
+
+  return entry->type;
+}
+
+/**
+ * gst_toc_entry_is_alternative:
+ * @entry: a #GstTocEntry
+ *
+ * Returns: %TRUE if @entry's type is an alternative type, otherwise %FALSE
+ */
 gboolean
-__gst_toc_structure_get_updated (const GstStructure * toc)
+gst_toc_entry_is_alternative (const GstTocEntry * entry)
 {
-  const GValue *val;
+  g_return_val_if_fail (entry != NULL, FALSE);
 
-  g_return_val_if_fail (GST_IS_STRUCTURE (toc), FALSE);
-
-  if (G_LIKELY (gst_structure_id_has_field_typed (toc,
-              GST_QUARK (UPDATED), G_TYPE_BOOLEAN))) {
-    val = gst_structure_id_get_value (toc, GST_QUARK (UPDATED));
-    return g_value_get_boolean (val);
-  }
-
-  return FALSE;
+  return GST_TOC_ENTRY_TYPE_IS_ALTERNATIVE (entry->type);
 }
 
+/**
+ * gst_toc_entry_is_sequence:
+ * @entry: a #GstTocEntry
+ *
+ * Returns: %TRUE if @entry's type is a sequence type, otherwise %FALSE
+ */
+gboolean
+gst_toc_entry_is_sequence (const GstTocEntry * entry)
+{
+  g_return_val_if_fail (entry != NULL, FALSE);
+
+  return GST_TOC_ENTRY_TYPE_IS_SEQUENCE (entry->type);
+}
+
+/**
+ * gst_toc_entry_get_uid:
+ * @entry: A #GstTocEntry instance
+ *
+ * Gets the UID of @entry.
+ *
+ * Returns: (transfer none): The UID of @entry
+ */
+const gchar *
+gst_toc_entry_get_uid (const GstTocEntry * entry)
+{
+  g_return_val_if_fail (entry != NULL, NULL);
+
+  return entry->uid;
+}
+
+/**
+ * gst_toc_entry_append_sub_entry:
+ * @entry: A #GstTocEntry instance
+ * @subentry: (transfer full): A #GstTocEntry
+ *
+ * Appends the #GstTocEntry @subentry to @entry.
+ */
+void
+gst_toc_entry_append_sub_entry (GstTocEntry * entry, GstTocEntry * subentry)
+{
+  g_return_if_fail (entry != NULL);
+  g_return_if_fail (subentry != NULL);
+  g_return_if_fail (gst_mini_object_is_writable (GST_MINI_OBJECT_CAST (entry)));
+  g_return_if_fail (gst_mini_object_is_writable (GST_MINI_OBJECT_CAST
+          (subentry)));
+  g_return_if_fail (subentry->toc == NULL);
+  g_return_if_fail (subentry->parent == NULL);
+
+  entry->subentries = g_list_append (entry->subentries, subentry);
+  subentry->toc = entry->toc;
+  subentry->parent = entry;
+
+  GST_LOG ("appended %s subentry with uid %s to entry %s",
+      gst_toc_entry_type_get_nick (subentry->type), subentry->uid, entry->uid);
+}
+
+/**
+ * gst_toc_entry_get_uid:
+ * @entry: A #GstTocEntry instance
+ *
+ * Gets the sub-entries of @entry.
+ *
+ * Returns: (transfer none) (element-type Gst.TocEntry): A #GList of #GstTocEntry of @entry
+ */
+GList *
+gst_toc_entry_get_sub_entries (const GstTocEntry * entry)
+{
+  g_return_val_if_fail (entry != NULL, NULL);
+
+  return entry->subentries;
+}
+
+/**
+ * gst_toc_entry_set_tags:
+ * @entry: A #GstTocEntry instance
+ * @tags: (allow-none) (transfer full): A #GstTagList or %NULL
+ *
+ * Set a #GstTagList with tags for the complete @entry.
+ */
+void
+gst_toc_entry_set_tags (GstTocEntry * entry, GstTagList * tags)
+{
+  g_return_if_fail (entry != NULL);
+  g_return_if_fail (gst_mini_object_is_writable (GST_MINI_OBJECT_CAST (entry)));
+
+  if (entry->tags)
+    gst_tag_list_unref (entry->tags);
+  entry->tags = tags;
+}
+
+/**
+ * gst_toc_entry_merge_tags:
+ * @entry: A #GstTocEntry instance
+ * @tags: (allow-none): A #GstTagList or %NULL
+ * @mode: A #GstTagMergeMode
+ *
+ * Merge @tags into the existing tags of @entry using @mode.
+ */
+void
+gst_toc_entry_merge_tags (GstTocEntry * entry, GstTagList * tags,
+    GstTagMergeMode mode)
+{
+  g_return_if_fail (entry != NULL);
+  g_return_if_fail (gst_mini_object_is_writable (GST_MINI_OBJECT_CAST (entry)));
+
+  if (!entry->tags) {
+    entry->tags = gst_tag_list_ref (tags);
+  } else {
+    GstTagList *tmp = gst_tag_list_merge (entry->tags, tags, mode);
+    gst_tag_list_unref (entry->tags);
+    entry->tags = tmp;
+  }
+}
+
+/**
+ * gst_toc_entry_get_tags:
+ * @entry: A #GstTocEntry instance
+ *
+ * Gets the tags for @entry.
+ *
+ * Returns: (transfer none): A #GstTagList for @entry
+ */
+GstTagList *
+gst_toc_entry_get_tags (const GstTocEntry * entry)
+{
+  g_return_val_if_fail (entry != NULL, NULL);
+
+  return entry->tags;
+}
+
+/**
+ * gst_toc_entry_get_toc:
+ * @entry: A #GstTocEntry instance
+ *
+ * Gets the parent #GstToc of @entry.
+ *
+ * Returns: (transfer none): The parent #GstToc of @entry
+ */
+GstToc *
+gst_toc_entry_get_toc (GstTocEntry * entry)
+{
+  g_return_val_if_fail (entry != NULL, NULL);
+
+  return entry->toc;
+}
+
+/**
+ * gst_toc_entry_get_parent:
+ * @entry: A #GstTocEntry instance
+ *
+ * Gets the parent #GstTocEntry of @entry.
+ *
+ * Returns: (transfer none): The parent #GstTocEntry of @entry
+ */
+GstTocEntry *
+gst_toc_entry_get_parent (GstTocEntry * entry)
+{
+  g_return_val_if_fail (entry != NULL, NULL);
+
+  return entry->parent;
+}
+
+#ifndef GST_DISABLE_GST_DEBUG
+static void
+gst_toc_dump_entries (GList * entries, guint depth)
+{
+  GList *e;
+  gchar *indent;
+
+  indent = g_malloc0 (depth + 1);
+  memset (indent, ' ', depth);
+  for (e = entries; e != NULL; e = e->next) {
+    GstTocEntry *entry = e->data;
+
+    GST_TRACE ("%s+ %s (%s), %" GST_TIME_FORMAT " - %" GST_TIME_FORMAT ", "
+        "tags: %" GST_PTR_FORMAT, indent, entry->uid,
+        gst_toc_entry_type_get_nick (entry->type),
+        GST_TIME_ARGS (entry->start), GST_TIME_ARGS (entry->stop), entry->tags);
+
+    if (entry->subentries != NULL)
+      gst_toc_dump_entries (entry->subentries, depth + 2);
+  }
+  g_free (indent);
+}
+#endif
+
 void
-__gst_toc_structure_set_updated (GstStructure * toc, gboolean updated)
+gst_toc_dump (GstToc * toc)
 {
-  g_return_if_fail (toc != NULL);
-
-  gst_structure_id_set (toc, GST_QUARK (UPDATED), G_TYPE_BOOLEAN, updated,
-      NULL);
-}
-
-gchar *
-__gst_toc_structure_get_extend_uid (const GstStructure * toc)
-{
-  const GValue *val;
-
-  g_return_val_if_fail (GST_IS_STRUCTURE (toc), NULL);
-
-  if (G_LIKELY (gst_structure_id_has_field_typed (toc,
-              GST_QUARK (EXTEND_UID), G_TYPE_STRING))) {
-    val = gst_structure_id_get_value (toc, GST_QUARK (EXTEND_UID));
-    return g_strdup (g_value_get_string (val));
-  }
-
-  return NULL;
-}
-
-void
-__gst_toc_structure_set_extend_uid (GstStructure * toc,
-    const gchar * extend_uid)
-{
-  g_return_if_fail (toc != NULL);
-  g_return_if_fail (extend_uid != NULL);
-
-  gst_structure_id_set (toc, GST_QUARK (EXTEND_UID), G_TYPE_STRING, extend_uid,
-      NULL);
+#ifndef GST_DISABLE_GST_DEBUG
+  GST_TRACE ("        Toc %p, scope: %s, tags: %" GST_PTR_FORMAT, toc,
+      (toc->scope == GST_TOC_SCOPE_GLOBAL) ? "global" : "current", toc->tags);
+  gst_toc_dump_entries (toc->entries, 2);
+#endif
 }
diff --git a/gst/gsttoc.h b/gst/gsttoc.h
index d59cf84..9439cca 100644
--- a/gst/gsttoc.h
+++ b/gst/gsttoc.h
@@ -23,6 +23,7 @@
 #define __GST_TOC_H__
 
 #include <gst/gstconfig.h>
+#include <gst/gstminiobject.h>
 #include <gst/gststructure.h>
 #include <gst/gsttaglist.h>
 #include <gst/gstformat.h>
@@ -36,83 +37,104 @@
 typedef struct _GstToc GstToc;
 
 /**
- * GstTocEntryType:
- * @GST_TOC_ENTRY_TYPE_CHAPTER: a chapter type entry.
- * @GST_TOC_ENTRY_TYPE_EDITION: an edition entry (angle or alternative in other terms).
+ * GstTocScope:
+ * @GST_TOC_SCOPE_GLOBAL: global TOC representing all selectable options
+ *     (this is what applications are usually interested in)
+ * @GST_TOC_SCOPE_CURRENT: TOC for the currently active/selected stream
+ *     (this is a TOC representing the current stream from start to EOS,
+ *     and is what a TOC writer / muxer is usually interested in; it will
+ *     usually be a subset of the global TOC, e.g. just the chapters of
+ *     the current title, or the chapters selected for playback from the
+ *     current title)
  *
- * The different types of TOC entry.
+ * The scope of a TOC.
  */
 typedef enum {
-  GST_TOC_ENTRY_TYPE_CHAPTER     = 0,
-  GST_TOC_ENTRY_TYPE_EDITION     = 1
+  GST_TOC_SCOPE_GLOBAL = 1,
+  GST_TOC_SCOPE_CURRENT = 2
+} GstTocScope;
+
+/**
+ * GstTocEntryType:
+ * @GST_TOC_ENTRY_TYPE_ANGLE: entry is an angle (i.e. an alternative)
+ * @GST_TOC_ENTRY_TYPE_VERSION: entry is a version (i.e. alternative)
+ * @GST_TOC_ENTRY_TYPE_EDITION: entry is an edition (i.e. alternative)
+ * @GST_TOC_ENTRY_TYPE_INVALID: invalid entry type value
+ * @GST_TOC_ENTRY_TYPE_TITLE: entry is a title (i.e. a part of a sequence)
+ * @GST_TOC_ENTRY_TYPE_TRACK: entry is a track (i.e. a part of a sequence)
+ * @GST_TOC_ENTRY_TYPE_CHAPTER: entry is a chapter (i.e. a part of a sequence)
+ *
+ * The different types of TOC entries (see #GstTocEntry).
+ *
+ * There are two types of TOC entries: alternatives or parts in a sequence.
+ */
+typedef enum {
+  GST_TOC_ENTRY_TYPE_ANGLE       = -3,
+  GST_TOC_ENTRY_TYPE_VERSION     = -2,
+  GST_TOC_ENTRY_TYPE_EDITION     = -1,
+  GST_TOC_ENTRY_TYPE_INVALID     = 0,
+  GST_TOC_ENTRY_TYPE_TITLE       = 1,
+  GST_TOC_ENTRY_TYPE_TRACK       = 2,
+  GST_TOC_ENTRY_TYPE_CHAPTER     = 3,
 } GstTocEntryType;
 
-/**
- * GstTocEntry:
- * @uid: unique (for a whole TOC) id of the entry. This value should be persistent and
- * should not be changed while updating TOC. @uid should be handled as "opaque" value
- * without meaning (e.g. applications should not assume the /editionX/chapterY/chapter/Z structure,
- * other demuxers could do something else), it should help to track updates of certain entries.
- * @type: #GstTocEntryType of this entry.
- * @subentries: list of #GstTocEntry children.
- * @pads: list of #GstPad objects, related to this #GstTocEntry.
- * @tags: tags related to this entry.
- * @info: extra information related to this entry.
- *
- * Definition of TOC entry structure.
- */
-struct _GstTocEntry {
-  gchar *uid;
-  GstTocEntryType type;
-  GList *subentries;
-  GList *pads;
-  GstTagList *tags;
-  GstStructure *info;
-
-  /*< private >*/
-  gpointer _gst_reserved[GST_PADDING];
-};
-
-/* FIXME: pad member should be GstPad type, but that's
- * impossible due to recursive includes */
-
-/**
- * GstToc:
- * @entries: list of #GstTocEntry entries of the TOC.
- * @tags: tags related to the whole TOC.
- * @info: extra information related to the TOC.
- *
- * Definition of TOC structure.
- */
-struct _GstToc {
-  GList *entries;
-  GstTagList *tags;
-  GstStructure *info;
-
-  /*< private >*/
-  gpointer _gst_reserved[GST_PADDING];
-};
+#define GST_TOC_ENTRY_TYPE_IS_ALTERNATIVE(entry_type)  (entry_type < 0)
+#define GST_TOC_ENTRY_TYPE_IS_SEQUENCE(entry_type)     (entry_type > 0)
 
 /* functions to return type structures */
 GType           gst_toc_get_type                (void);
 GType           gst_toc_entry_get_type          (void);
 
-/* functions to create new structures */
-GstToc *        gst_toc_new                     (void);
+/* functions to create, ref and unref/free TOCs */
+GstToc *           gst_toc_new                     (GstTocScope scope);
+
+GstTocScope        gst_toc_get_scope               (const GstToc *toc);
+
+void               gst_toc_set_tags                (GstToc *toc, GstTagList * tags);
+void               gst_toc_merge_tags              (GstToc *toc, GstTagList *tags, GstTagMergeMode mode);
+GstTagList *       gst_toc_get_tags                (const GstToc *toc);
+
+void               gst_toc_append_entry               (GstToc *toc, GstTocEntry *entry);
+GList *            gst_toc_get_entries             (const GstToc *toc);
+
+void               gst_toc_dump                    (GstToc *toc);
+
+#define gst_toc_ref(toc)            (GstToc*)gst_mini_object_ref(GST_MINI_OBJECT_CAST(toc))
+#define gst_toc_unref(toc)          gst_mini_object_unref(GST_MINI_OBJECT_CAST(toc))
+#define gst_toc_copy(toc)           (GstToc*)gst_mini_object_copy(GST_MINI_OBJECT_CAST(toc))
+#define gst_toc_make_writable(toc)  (GstToc*)gst_mini_object_make_writable(GST_MINI_OBJECT_CAST(toc))
+
+/* functions to create, ref and unref/free TOC entries */
 GstTocEntry *   gst_toc_entry_new               (GstTocEntryType type, const gchar *uid);
-GstTocEntry *   gst_toc_entry_new_with_pad      (GstTocEntryType type, const gchar *uid, GstPad * pad);
 
-/* functions to free structures */
-void            gst_toc_entry_free              (GstTocEntry *entry);
-void            gst_toc_free                    (GstToc *toc);
+#define gst_toc_entry_ref(entry)            (GstTocEntry*)gst_mini_object_ref(GST_MINI_OBJECT_CAST(entry))
+#define gst_toc_entry_unref(entry)          gst_mini_object_unref(GST_MINI_OBJECT_CAST(entry))
+#define gst_toc_entry_copy(entry)           (GstTocEntry*)gst_mini_object_copy(GST_MINI_OBJECT_CAST(entry))
+#define gst_toc_entry_make_writable(entry)  (GstTocEntry*)gst_mini_object_make_writable(GST_MINI_OBJECT_CAST(entry))
 
-GstTocEntry *   gst_toc_find_entry              (const GstToc *toc, const gchar *uid);
-GstTocEntry *   gst_toc_entry_copy              (const GstTocEntry *entry);
-GstToc      *   gst_toc_copy                    (const GstToc *toc);
+GstTocEntry *      gst_toc_find_entry                    (const GstToc *toc, const gchar *uid);
 
-void            gst_toc_entry_set_start_stop    (GstTocEntry *entry, gint64 start, gint64 stop);
-gboolean        gst_toc_entry_get_start_stop    (const GstTocEntry *entry, gint64 *start, gint64 *stop);
-const gchar *   gst_toc_entry_type_get_nick     (GstTocEntryType type);
+GstTocEntryType    gst_toc_entry_get_entry_type          (const GstTocEntry *entry);
+const gchar *      gst_toc_entry_get_uid                 (const GstTocEntry *entry);
+
+void               gst_toc_entry_append_sub_entry           (GstTocEntry *entry, GstTocEntry *subentry);
+GList *            gst_toc_entry_get_sub_entries         (const GstTocEntry *entry);
+
+void               gst_toc_entry_set_tags                (GstTocEntry *entry, GstTagList *tags);
+void               gst_toc_entry_merge_tags              (GstTocEntry *entry, GstTagList *tags, GstTagMergeMode mode);
+GstTagList *       gst_toc_entry_get_tags                (const GstTocEntry *entry);
+
+gboolean           gst_toc_entry_is_alternative          (const GstTocEntry *entry);
+gboolean           gst_toc_entry_is_sequence             (const GstTocEntry *entry);
+
+void               gst_toc_entry_set_start_stop_times    (GstTocEntry *entry, gint64 start, gint64 stop);
+gboolean           gst_toc_entry_get_start_stop_times    (const GstTocEntry *entry, gint64 *start, gint64 *stop);
+
+GstToc *           gst_toc_entry_get_toc                 (GstTocEntry *entry);
+GstTocEntry *      gst_toc_entry_get_parent              (GstTocEntry *entry);
+
+
+const gchar *      gst_toc_entry_type_get_nick     (GstTocEntryType type);
 
 G_END_DECLS
 
diff --git a/gst/gsttocsetter.c b/gst/gsttocsetter.c
index 85bbaa2..2721b51 100644
--- a/gst/gsttocsetter.c
+++ b/gst/gsttocsetter.c
@@ -50,58 +50,30 @@
 #include <gobject/gvaluecollector.h>
 #include <string.h>
 
-GST_DEBUG_CATEGORY_STATIC (gst_toc_interface_debug);
-#define GST_CAT_DEFAULT tag_toc_interface_debug
-
 static GQuark gst_toc_key;
 
+G_DEFINE_INTERFACE_WITH_CODE (GstTocSetter, gst_toc_setter, GST_TYPE_ELEMENT,
+    gst_toc_key = g_quark_from_static_string ("gst-toc-setter-data"););
+
+static void
+gst_toc_setter_default_init (GstTocSetterInterface * klass)
+{
+  /* nothing to do here, it's a dummy interface */
+}
+
 typedef struct
 {
   GstToc *toc;
   GMutex lock;
 } GstTocData;
 
-GType
-gst_toc_setter_get_type (void)
-{
-  static volatile gsize toc_setter_type = 0;
-
-  if (g_once_init_enter (&toc_setter_type)) {
-    GType _type;
-    static const GTypeInfo toc_setter_info = {
-      sizeof (GstTocSetterIFace),       /* class_size */
-      NULL,                     /* base_init */
-      NULL,                     /* base_finalize */
-      NULL,
-      NULL,                     /* class_finalize */
-      NULL,                     /* class_data */
-      0,
-      0,
-      NULL
-    };
-
-    GST_DEBUG_CATEGORY_INIT (gst_toc_interface_debug, "GstTocInterface", 0,
-        "interfaces for the TOC");
-
-    _type = g_type_register_static (G_TYPE_INTERFACE, "GstTocSetter",
-        &toc_setter_info, 0);
-
-    g_type_interface_add_prerequisite (_type, GST_TYPE_ELEMENT);
-
-    gst_toc_key = g_quark_from_static_string ("GST_TOC_SETTER");
-    g_once_init_leave (&toc_setter_type, _type);
-  }
-
-  return toc_setter_type;
-}
-
 static void
 gst_toc_data_free (gpointer p)
 {
   GstTocData *data = (GstTocData *) p;
 
   if (data->toc)
-    gst_toc_free (data->toc);
+    gst_toc_unref (data->toc);
 
   g_mutex_clear (&data->lock);
 
@@ -134,29 +106,18 @@
 }
 
 /**
- * gst_toc_setter_reset_toc:
+ * gst_toc_setter_reset:
  * @setter: a #GstTocSetter.
  *
  * Reset the internal TOC. Elements should call this from within the
  * state-change handler.
- *
- * Since: 0.10.37
  */
 void
-gst_toc_setter_reset_toc (GstTocSetter * setter)
+gst_toc_setter_reset (GstTocSetter * setter)
 {
-  GstTocData *data;
-
   g_return_if_fail (GST_IS_TOC_SETTER (setter));
 
-  data = gst_toc_setter_get_data (setter);
-
-  g_mutex_lock (&data->lock);
-  if (data->toc) {
-    gst_toc_free (data->toc);
-    data->toc = NULL;
-  }
-  g_mutex_unlock (&data->lock);
+  gst_toc_setter_set_toc (setter, NULL);
 }
 
 /**
@@ -164,39 +125,14 @@
  * @setter: a #GstTocSetter.
  *
  * Return current TOC the setter uses. The TOC should not be
- * modified or freed.
+ * modified without making it writable first.
  *
- * This function is not thread-safe. Use gst_toc_setter_get_toc_copy() instead.
  *
- * Returns: a current snapshot of the TOC used in the setter
- *          or NULL if none is used.
- *
- * Since: 0.10.37
- */
-const GstToc *
-gst_toc_setter_get_toc (GstTocSetter * setter)
-{
-  g_return_val_if_fail (GST_IS_TOC_SETTER (setter), NULL);
-
-  return gst_toc_setter_get_data (setter)->toc;
-}
-
-/**
- * gst_toc_setter_get_toc_copy:
- * @setter: a #GstTocSetter.
- *
- * Return current TOC the setter uses. The difference between this
- * function and gst_toc_setter_get_toc() is that this function returns deep
- * copy of the TOC, so you can modify it in any way. This function is thread-safe.
- * Free it when done with gst_toc_free().
- *
- * Returns: a copy of the current snapshot of the TOC used in the setter
- *          or NULL if none is used.
- *
- * Since: 0.10.37
+ * Returns: (transfer full): TOC set, or NULL. Unref with gst_toc_unref()
+ *     when no longer needed
  */
 GstToc *
-gst_toc_setter_get_toc_copy (GstTocSetter * setter)
+gst_toc_setter_get_toc (GstTocSetter * setter)
 {
   GstTocData *data;
   GstToc *ret = NULL;
@@ -207,7 +143,7 @@
   g_mutex_lock (&data->lock);
 
   if (data->toc != NULL)
-    ret = gst_toc_copy (data->toc);
+    ret = gst_toc_ref (data->toc);
 
   g_mutex_unlock (&data->lock);
 
@@ -217,15 +153,13 @@
 /**
  * gst_toc_setter_set_toc:
  * @setter: a #GstTocSetter.
- * @toc: a #GstToc to set.
+ * @toc: (allow-none): a #GstToc to set.
  *
  * Set the given TOC on the setter. Previously setted TOC will be
- * freed before setting a new one.
- *
- * Since: 0.10.37
+ * unrefed before setting a new one.
  */
 void
-gst_toc_setter_set_toc (GstTocSetter * setter, const GstToc * toc)
+gst_toc_setter_set_toc (GstTocSetter * setter, GstToc * toc)
 {
   GstTocData *data;
 
@@ -234,129 +168,13 @@
   data = gst_toc_setter_get_data (setter);
 
   g_mutex_lock (&data->lock);
-  if (data->toc)
-    gst_toc_free (data->toc);
 
-  data->toc = gst_toc_copy (toc);
+  if (data->toc != toc) {
+    if (data->toc)
+      gst_toc_unref (data->toc);
 
-  g_mutex_unlock (&data->lock);
-}
-
-/**
- * gst_toc_setter_get_toc_entry:
- * @setter: a #GstTocSetter.
- * @uid: UID to find entry with.
- *
- * Return #GstTocEntry (if any) with given @uid. Returned entry should
- * not be modified or freed.
- *
- * This function is not thread-safe. Use gst_toc_setter_get_toc_entry_copy() instead.
- *
- * Returns: a TOC entry with given @uid from the TOC in the setter
- *          or NULL if none entry with such @uid was found.
- *
- * Since: 0.10.37
- */
-const GstTocEntry *
-gst_toc_setter_get_toc_entry (GstTocSetter * setter, const gchar * uid)
-{
-  GstTocData *data;
-  const GstTocEntry *ret;
-
-  g_return_val_if_fail (GST_IS_TOC_SETTER (setter), NULL);
-  g_return_val_if_fail (uid != NULL, NULL);
-
-  data = gst_toc_setter_get_data (setter);
-
-  g_mutex_lock (&data->lock);
-
-  ret = gst_toc_find_entry (data->toc, uid);
-
-  g_mutex_unlock (&data->lock);
-
-  return ret;
-}
-
-/**
- * gst_toc_setter_get_toc_entry_copy:
- * @setter: a #GstTocSetter.
- * @uid: UID to find entry with.
- *
- * Return #GstTocEntry (if any) with given @uid. It perform a deep copying,
- * so you can modify returned value. Free it when done with gst_toc_entry_free().
- * This function is thread-safe.
- *
- * Returns: a TOC entry with given @uid from the TOC in the setter
- *          or NULL if none entry with such @uid was found.
- *
- * Since: 0.10.37
- */
-GstTocEntry *
-gst_toc_setter_get_toc_entry_copy (GstTocSetter * setter, const gchar * uid)
-{
-  GstTocData *data;
-  GstTocEntry *ret = NULL;
-  const GstTocEntry *search;
-
-  g_return_val_if_fail (GST_IS_TOC_SETTER (setter), NULL);
-  g_return_val_if_fail (uid != NULL, NULL);
-
-  data = gst_toc_setter_get_data (setter);
-
-  g_mutex_lock (&data->lock);
-
-  search = gst_toc_find_entry (data->toc, uid);
-  if (search != NULL)
-    ret = gst_toc_entry_copy (search);
-
-  g_mutex_unlock (&data->lock);
-
-  return ret;
-}
-
-/**
- * gst_toc_setter_add_toc_entry:
- * @setter: a #GstTocSetter.
- * @parent_uid: UID of the parent entry to append given @entry. Use 0 for the TOC root level.
- * @entry: #GstTocEntry to append.
- *
- * Try to find entry with given @parent_uid and append an @entry to that #GstTocEntry.
- *
- * Returns: TRUE if entry with @parent_uid was found, FALSE otherwise.
- *
- * Since: 0.10.37
- */
-gboolean
-gst_toc_setter_add_toc_entry (GstTocSetter * setter, const gchar * parent_uid,
-    const GstTocEntry * entry)
-{
-  GstTocData *data;
-  GstTocEntry *parent;
-  GstTocEntry *copy_entry;
-  gboolean ret = FALSE;
-
-  g_return_val_if_fail (GST_IS_TOC_SETTER (setter), FALSE);
-  g_return_val_if_fail (parent_uid != NULL, FALSE);
-  g_return_val_if_fail (entry != NULL, FALSE);
-
-  data = gst_toc_setter_get_data (setter);
-
-  g_mutex_lock (&data->lock);
-
-  copy_entry = gst_toc_entry_copy (entry);
-
-  if (g_strcmp0 (parent_uid, "0") == 0)
-    data->toc->entries = g_list_append (data->toc->entries, copy_entry);
-  else {
-    parent = gst_toc_find_entry (data->toc, parent_uid);
-
-    if (parent != NULL) {
-      parent->subentries = g_list_append (parent->subentries, copy_entry);
-      ret = TRUE;
-    }
+    data->toc = (toc) ? gst_toc_ref (toc) : NULL;
   }
 
   g_mutex_unlock (&data->lock);
-
-  return ret;
 }
diff --git a/gst/gsttocsetter.h b/gst/gsttocsetter.h
index 2174e0d..9c59fa5 100644
--- a/gst/gsttocsetter.h
+++ b/gst/gsttocsetter.h
@@ -25,26 +25,27 @@
 #include <gst/gst.h>
 
 G_BEGIN_DECLS
-#define GST_TYPE_TOC_SETTER		        (gst_toc_setter_get_type ())
-#define GST_TOC_SETTER(obj)		        (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_TOC_SETTER, GstTocSetter))
-#define GST_IS_TOC_SETTER(obj)		    (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_TOC_SETTER))
-#define GST_TOC_SETTER_GET_IFACE(obj)	(G_TYPE_INSTANCE_GET_INTERFACE ((obj), GST_TYPE_TOC_SETTER, GstTocSetterIFace))
+
+#define GST_TYPE_TOC_SETTER              (gst_toc_setter_get_type ())
+#define GST_TOC_SETTER(obj)              (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_TOC_SETTER, GstTocSetter))
+#define GST_IS_TOC_SETTER(obj)           (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_TOC_SETTER))
+#define GST_TOC_SETTER_GET_IFACE(obj)    (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GST_TYPE_TOC_SETTER, GstTocSetterInterface))
 /**
  * GstTocSetter:
  *
  * Opaque #GstTocSetter data structure.
  */
 typedef struct _GstTocSetter GstTocSetter;
-typedef struct _GstTocSetterIFace GstTocSetterIFace;
+typedef struct _GstTocSetterInterface GstTocSetterInterface;
 
 /**
- * GstTocSetterIFace:
+ * GstTocSetterInterface:
  * @g_iface: parent interface type.
  *
- * #GstTocSetterIFace interface.
+ * #GstTocSetterInterface interface.
  */
 
-struct _GstTocSetterIFace
+struct _GstTocSetterInterface
 {
   GTypeInterface g_iface;
 
@@ -53,15 +54,15 @@
   /* virtual table */
 };
 
-GType               gst_toc_setter_get_type (void);
-void                gst_toc_setter_reset_toc (GstTocSetter *setter);
-const GstToc *      gst_toc_setter_get_toc (GstTocSetter *setter);
-GstToc *            gst_toc_setter_get_toc_copy (GstTocSetter *setter);
-void                gst_toc_setter_set_toc (GstTocSetter *setter, const GstToc *toc);
-const GstTocEntry * gst_toc_setter_get_toc_entry (GstTocSetter *setter, const gchar *uid);
-GstTocEntry *       gst_toc_setter_get_toc_entry_copy (GstTocSetter *setter, const gchar *uid);
-gboolean            gst_toc_setter_add_toc_entry (GstTocSetter *setter, const gchar *parent_uid, const GstTocEntry *entry);
+GType         gst_toc_setter_get_type (void);
+
+void          gst_toc_setter_reset   (GstTocSetter *setter);
+
+GstToc *      gst_toc_setter_get_toc (GstTocSetter *setter);
+
+void          gst_toc_setter_set_toc (GstTocSetter *setter, GstToc *toc);
 
 G_END_DECLS
+
 #endif /* __GST_TOC_SETTER_H__ */
 
diff --git a/gst/gsttrace.c b/gst/gsttrace.c
index d4fd262..1d28c7e 100644
--- a/gst/gsttrace.c
+++ b/gst/gsttrace.c
@@ -165,8 +165,8 @@
 
         if (type == GST_TYPE_CAPS) {
           extra = gst_caps_to_string (data);
-          refcount = GST_MINI_OBJECT_REFCOUNT_VALUE (data);
         }
+        refcount = GST_MINI_OBJECT_REFCOUNT_VALUE (data);
       }
 
       if (extra) {
diff --git a/gst/gsttrace.h b/gst/gsttrace.h
index ca70a83..9cbf210 100644
--- a/gst/gsttrace.h
+++ b/gst/gsttrace.h
@@ -30,7 +30,7 @@
 
 /**
  * GstAllocTraceFlags:
- * @GST_ALLOC_TRACE_NONE: No tracing specified or desired. Since 0.10.36.
+ * @GST_ALLOC_TRACE_NONE: No tracing specified or desired.
  * @GST_ALLOC_TRACE_LIVE: Trace number of non-freed memory.
  * @GST_ALLOC_TRACE_MEM_LIVE: Trace pointers of unfreed memory.
  *
diff --git a/gst/gsttypefind.c b/gst/gsttypefind.c
index 24c4730..302cca8 100644
--- a/gst/gsttypefind.c
+++ b/gst/gsttypefind.c
@@ -42,8 +42,7 @@
 
 /**
  * gst_type_find_register:
- * @plugin: A #GstPlugin, or NULL for a static typefind function (note that
- *    passing NULL only works in GStreamer 0.10.16 and later)
+ * @plugin: A #GstPlugin, or NULL for a static typefind function
  * @name: The name for registering
  * @rank: The rank (or importance) of this typefind function
  * @func: The #GstTypeFindFunction to use
@@ -178,8 +177,6 @@
  * the values passed have the correct type (in terms of width in bytes when
  * passed to the vararg function - this applies particularly to gdouble and
  * guint64 arguments).
- *
- * Since: 0.10.20
  */
 void
 gst_type_find_suggest_simple (GstTypeFind * find, guint probability,
diff --git a/gst/gsttypefind.h b/gst/gsttypefind.h
index 9e66b6d..0a987e4 100644
--- a/gst/gsttypefind.h
+++ b/gst/gsttypefind.h
@@ -36,15 +36,15 @@
 /**
  * GstTypeFindFunction:
  * @find: A #GstTypeFind structure
- * @data: optionnal data to pass to the function
+ * @user_data: optionnal data to pass to the function
  *
  * A function that will be called by typefinding.
  */
-typedef void (* GstTypeFindFunction) (GstTypeFind *find, gpointer data);
+typedef void (* GstTypeFindFunction) (GstTypeFind *find, gpointer user_data);
 
 /**
  * GstTypeFindProbability:
- * @GST_TYPE_FIND_NONE: type undetected. Since 0.10.36.
+ * @GST_TYPE_FIND_NONE: type undetected.
  * @GST_TYPE_FIND_MINIMUM: unlikely typefind.
  * @GST_TYPE_FIND_POSSIBLE: possible type detected.
  * @GST_TYPE_FIND_LIKELY: likely a type was detected.
diff --git a/gst/gsttypefindfactory.c b/gst/gsttypefindfactory.c
index c8f9d60..26424d1 100644
--- a/gst/gsttypefindfactory.c
+++ b/gst/gsttypefindfactory.c
@@ -144,7 +144,7 @@
  * list using gst_plugin_feature_list_free().
  *
  * The returned factories are sorted by highest rank first, and then by
- * factory name. (behaviour change since 0.10.26)
+ * factory name.
  *
  * Free-function: gst_plugin_feature_list_free
  *
diff --git a/gst/gsturi.c b/gst/gsturi.c
index 90e7461..b51bd4a 100644
--- a/gst/gsturi.c
+++ b/gst/gsturi.c
@@ -42,6 +42,7 @@
 #endif
 
 #include "gst_private.h"
+#include "gst.h"
 #include "gsturi.h"
 #include "gstinfo.h"
 #include "gstregistry.h"
@@ -313,7 +314,7 @@
 
   gst_uri_protocol_check_internal (protocol, &endptr);
 
-  return *endptr == '\0' && ((gsize) (endptr - protocol)) >= 3;
+  return *endptr == '\0' && ((gsize) (endptr - protocol)) >= 2;
 }
 
 /**
@@ -334,7 +335,7 @@
 
   gst_uri_protocol_check_internal (uri, &endptr);
 
-  return *endptr == ':' && ((gsize) (endptr - uri)) >= 3;
+  return *endptr == ':' && ((gsize) (endptr - uri)) >= 2;
 }
 
 /**
@@ -367,8 +368,6 @@
  * Checks if the protocol of a given valid URI matches @protocol.
  *
  * Returns: %TRUE if the protocol matches.
- *
- * Since: 0.10.4
  */
 gboolean
 gst_uri_has_protocol (const gchar * uri, const gchar * protocol)
@@ -398,9 +397,9 @@
  *
  * Free-function: g_free
  *
- * Returns: (transfer full) (array zero-terminated=1): the location for this
- *     URI. Returns NULL if the URI isn't valid. If the URI does not contain
- *     a location, an empty string is returned.
+ * Returns: (transfer full): the location for this URI. Returns NULL if the
+ *     URI isn't valid. If the URI does not contain a location, an empty
+ *     string is returned.
  */
 gchar *
 gst_uri_get_location (const gchar * uri)
@@ -439,15 +438,14 @@
 /**
  * gst_uri_construct:
  * @protocol: Protocol for URI
- * @location: (array zero-terminated=1) (transfer none): Location for URI
+ * @location: (transfer none): Location for URI
  *
  * Constructs a URI for a given valid protocol and location.
  *
  * Free-function: g_free
  *
- * Returns: (transfer full) (array zero-terminated=1): a new string for this
- *     URI. Returns NULL if the given URI protocol is not valid, or the given
- *     location is NULL.
+ * Returns: (transfer full): a new string for this URI. Returns NULL if the
+ *     given URI protocol is not valid, or the given location is NULL.
  */
 gchar *
 gst_uri_construct (const gchar * protocol, const gchar * location)
@@ -538,8 +536,6 @@
  * gst_element_make_from_uri() is guaranteed to work.
  *
  * Returns: TRUE
- *
- * Since: 0.10.13
 */
 gboolean
 gst_uri_protocol_is_supported (const GstURIType type, const gchar * protocol)
@@ -562,6 +558,7 @@
  * @type: Whether to create a source or a sink
  * @uri: URI to create an element for
  * @elementname: (allow-none): Name of created element, can be NULL.
+ * @error: (allow-none): address where to store error information, or NULL.
  *
  * Creates an element for handling the given URI.
  *
@@ -569,38 +566,55 @@
  */
 GstElement *
 gst_element_make_from_uri (const GstURIType type, const gchar * uri,
-    const gchar * elementname)
+    const gchar * elementname, GError ** error)
 {
   GList *possibilities, *walk;
   gchar *protocol;
   GstElement *ret = NULL;
 
+  g_return_val_if_fail (gst_is_initialized (), NULL);
   g_return_val_if_fail (GST_URI_TYPE_IS_VALID (type), NULL);
   g_return_val_if_fail (gst_uri_is_valid (uri), NULL);
+  g_return_val_if_fail (error == NULL || *error == NULL, NULL);
 
   GST_DEBUG ("type:%d, uri:%s, elementname:%s", type, uri, elementname);
 
   protocol = gst_uri_get_protocol (uri);
   possibilities = get_element_factories_from_uri_protocol (type, protocol);
-  g_free (protocol);
 
   if (!possibilities) {
     GST_DEBUG ("No %s for URI '%s'", type == GST_URI_SINK ? "sink" : "source",
         uri);
+    /* The error message isn't great, but we don't expect applications to
+     * show that error to users, but call the missing plugins functions */
+    g_set_error (error, GST_URI_ERROR, GST_URI_ERROR_UNSUPPORTED_PROTOCOL,
+        _("No URI handler for the %s protocol found"), protocol);
+    g_free (protocol);
     return NULL;
   }
+  g_free (protocol);
 
   possibilities = g_list_sort (possibilities, (GCompareFunc) sort_by_rank);
   walk = possibilities;
   while (walk) {
-    if ((ret =
-            gst_element_factory_create (GST_ELEMENT_FACTORY_CAST (walk->data),
-                elementname)) != NULL) {
+    GstElementFactory *factory = walk->data;
+    GError *uri_err = NULL;
+
+    ret = gst_element_factory_create (factory, elementname);
+    if (ret != NULL) {
       GstURIHandler *handler = GST_URI_HANDLER (ret);
 
-      if (gst_uri_handler_set_uri (handler, uri, NULL))
+      if (gst_uri_handler_set_uri (handler, uri, &uri_err))
         break;
-      GST_WARNING ("element %s didn't accept the URI", GST_ELEMENT_NAME (ret));
+
+      GST_WARNING ("%s didn't accept URI '%s': %s", GST_OBJECT_NAME (ret), uri,
+          uri_err->message);
+
+      if (error != NULL && *error == NULL)
+        g_propagate_error (error, uri_err);
+      else
+        g_error_free (uri_err);
+
       gst_object_unref (ret);
       ret = NULL;
     }
@@ -610,6 +624,11 @@
 
   GST_LOG_OBJECT (ret, "created %s for URL '%s'",
       type == GST_URI_SINK ? "sink" : "source", uri);
+
+  /* if the first handler didn't work, but we found another one that works */
+  if (ret != NULL)
+    g_clear_error (error);
+
   return ret;
 }
 
@@ -647,9 +666,9 @@
  * Gets the list of protocols supported by @handler. This list may not be
  * modified.
  *
- * Returns: (transfer none) (array zero-terminated=1) (element-type utf8): the
- *     supported protocols. Returns NULL if the @handler isn't implemented
- *     properly, or the @handler doesn't support any protocols.
+ * Returns: (transfer none) (element-type utf8): the supported protocols.
+ *     Returns NULL if the @handler isn't implemented properly, or the @handler
+ *     doesn't support any protocols.
  */
 const gchar *const *
 gst_uri_handler_get_protocols (GstURIHandler * handler)
@@ -741,7 +760,7 @@
       }
 
       if (!found_protocol) {
-        g_set_error (error, GST_URI_ERROR, GST_URI_ERROR_BAD_PROTOCOL,
+        g_set_error (error, GST_URI_ERROR, GST_URI_ERROR_UNSUPPORTED_PROTOCOL,
             _("URI scheme '%s' not supported"), protocol);
         g_free (protocol);
         return FALSE;
@@ -830,8 +849,6 @@
  * will be canonicalised so that it doesn't contain any './' or '../' segments.
  *
  * On Windows #filename should be in UTF-8 encoding.
- *
- * Since: 0.10.33
  */
 gchar *
 gst_filename_to_uri (const gchar * filename, GError ** error)
diff --git a/gst/gsturi.h b/gst/gsturi.h
index 539bbcb..d140c3d 100644
--- a/gst/gsturi.h
+++ b/gst/gsturi.h
@@ -40,7 +40,7 @@
 
 /**
  * GstURIError:
- * @GST_URI_ERROR_BAD_PROTOCOL: The protocol is not supported
+ * @GST_URI_ERROR_UNSUPPORTED_PROTOCOL: The protocol is not supported
  * @GST_URI_ERROR_BAD_URI: There was a problem with the URI
  * @GST_URI_ERROR_BAD_STATE: Could not set or change the URI because the
  *     URI handler was in a state where that is not possible or not permitted
@@ -51,7 +51,7 @@
  */
 typedef enum
 {
-  GST_URI_ERROR_BAD_PROTOCOL,
+  GST_URI_ERROR_UNSUPPORTED_PROTOCOL,
   GST_URI_ERROR_BAD_URI,
   GST_URI_ERROR_BAD_STATE,
   GST_URI_ERROR_BAD_REFERENCE
@@ -138,7 +138,8 @@
 
 GstElement *    gst_element_make_from_uri       (const GstURIType type,
                                                  const gchar *    uri,
-                                                 const gchar *    elementname) G_GNUC_MALLOC;
+                                                 const gchar *    elementname,
+                                                 GError      **   error) G_GNUC_MALLOC;
 
 /* accessing the interface */
 GType                 gst_uri_handler_get_type (void);
diff --git a/gst/gstutils.c b/gst/gstutils.c
index 5c15341..d94ec7c 100644
--- a/gst/gstutils.c
+++ b/gst/gstutils.c
@@ -697,8 +697,6 @@
  * Returns: A constantly incrementing 32-bit unsigned integer, which might
  * overflow back to 0 at some point. Use gst_util_seqnum_compare() to make sure
  * you handle wraparound correctly.
- *
- * Since: 0.10.22
  */
 guint32
 gst_util_seqnum_next (void)
@@ -718,8 +716,6 @@
  *
  * Returns: A negative number if @s1 is before @s2, 0 if they are equal, or a
  * positive number if @s1 is after @s2.
- *
- * Since: 0.10.22
  */
 gint32
 gst_util_seqnum_compare (guint32 s1, guint32 s2)
@@ -735,96 +731,6 @@
 
 #include "gstpad.h"
 
-static void
-string_append_indent (GString * str, gint count)
-{
-  gint xx;
-
-  for (xx = 0; xx < count; xx++)
-    g_string_append_c (str, ' ');
-}
-
-/**
- * gst_print_pad_caps:
- * @buf: the buffer to print the caps in
- * @indent: initial indentation
- * @pad: (transfer none): the pad to print the caps from
- *
- * Write the pad capabilities in a human readable format into
- * the given GString.
- */
-void
-gst_print_pad_caps (GString * buf, gint indent, GstPad * pad)
-{
-  GstCaps *caps;
-
-  caps = gst_pad_get_current_caps (pad);
-
-  if (!caps) {
-    string_append_indent (buf, indent);
-    g_string_printf (buf, "%s:%s has no capabilities",
-        GST_DEBUG_PAD_NAME (pad));
-  } else {
-    char *s;
-
-    s = gst_caps_to_string (caps);
-    g_string_append (buf, s);
-    g_free (s);
-
-    gst_caps_unref (caps);
-  }
-}
-
-/**
- * gst_print_element_args:
- * @buf: the buffer to print the args in
- * @indent: initial indentation
- * @element: (transfer none): the element to print the args of
- *
- * Print the element argument in a human readable format in the given
- * GString.
- */
-void
-gst_print_element_args (GString * buf, gint indent, GstElement * element)
-{
-  guint width;
-  GValue value = { 0, };        /* the important thing is that value.type = 0 */
-  gchar *str = NULL;
-  GParamSpec *spec, **specs, **walk;
-
-  specs = g_object_class_list_properties (G_OBJECT_GET_CLASS (element), NULL);
-
-  width = 0;
-  for (walk = specs; *walk; walk++) {
-    spec = *walk;
-    if (width < strlen (spec->name))
-      width = strlen (spec->name);
-  }
-
-  for (walk = specs; *walk; walk++) {
-    spec = *walk;
-
-    if (spec->flags & G_PARAM_READABLE) {
-      g_value_init (&value, spec->value_type);
-      g_object_get_property (G_OBJECT (element), spec->name, &value);
-      str = g_strdup_value_contents (&value);
-      g_value_unset (&value);
-    } else {
-      str = g_strdup ("Parameter not readable.");
-    }
-
-    string_append_indent (buf, indent);
-    g_string_append (buf, spec->name);
-    string_append_indent (buf, 2 + width - strlen (spec->name));
-    g_string_append (buf, str);
-    g_string_append_c (buf, '\n');
-
-    g_free (str);
-  }
-
-  g_free (specs);
-}
-
 /**
  * gst_element_create_all_pads:
  * @element: (transfer none): a #GstElement to create pads for
@@ -1068,7 +974,7 @@
  * gst_element_get_compatible_pad:
  * @element: (transfer none): a #GstElement in which the pad should be found.
  * @pad: (transfer none): the #GstPad to find a compatible one for.
- * @caps: the #GstCaps to use as a filter.
+ * @caps: (allow-none): the #GstCaps to use as a filter.
  *
  * Looks for an unlinked pad to which the given pad can link. It is not
  * guaranteed that linking the pads will work, though it should work in most
@@ -1254,8 +1160,6 @@
  *
  * Returns: (transfer none): a string with the name of the state
  *    result.
- *
- * Since: 0.10.11
  */
 const gchar *
 gst_element_state_change_return_get_name (GstStateChangeReturn state_ret)
@@ -1342,8 +1246,6 @@
  * Checks if the factory can sink all possible capabilities.
  *
  * Returns: %TRUE if the caps are fully compatible.
- *
- * Since: 0.10.33
  */
 gboolean
 gst_element_factory_can_sink_all_caps (GstElementFactory * factory,
@@ -1361,8 +1263,6 @@
  * Checks if the factory can src all possible capabilities.
  *
  * Returns: %TRUE if the caps are fully compatible.
- *
- * Since: 0.10.33
  */
 gboolean
 gst_element_factory_can_src_all_caps (GstElementFactory * factory,
@@ -1380,8 +1280,6 @@
  * Checks if the factory can sink any possible capability.
  *
  * Returns: %TRUE if the caps have a common subset.
- *
- * Since: 0.10.33
  */
 gboolean
 gst_element_factory_can_sink_any_caps (GstElementFactory * factory,
@@ -1399,8 +1297,6 @@
  * Checks if the factory can src any possible capability.
  *
  * Returns: %TRUE if the caps have a common subset.
- *
- * Since: 0.10.33
  */
 gboolean
 gst_element_factory_can_src_any_caps (GstElementFactory * factory,
@@ -1627,8 +1523,6 @@
  * This is a convenience function for gst_pad_link_full().
  *
  * Returns: TRUE if the pads could be linked, FALSE otherwise.
- *
- * Since: 0.10.30
  */
 gboolean
 gst_element_link_pads_full (GstElement * src, const gchar * srcpadname,
@@ -2339,7 +2233,7 @@
 }
 
 /**
- * gst_element_seek_simple
+ * gst_element_seek_simple:
  * @element: a #GstElement to seek on
  * @format: a #GstFormat to execute the seek in, such as #GST_FORMAT_TIME
  * @seek_flags: seek options; playback applications will usually want to use
@@ -2366,8 +2260,6 @@
  *
  * Returns: %TRUE if the seek operation succeeded. Flushing seeks will trigger a
  * preroll, which will emit %GST_MESSAGE_ASYNC_DONE.
- *
- * Since: 0.10.7
  */
 gboolean
 gst_element_seek_simple (GstElement * element, GstFormat format,
@@ -2385,11 +2277,12 @@
  * @pad: the pad to use
  *
  * A helper function you can use that sets the FIXED_CAPS flag
- * This way the default getcaps function will always return the negotiated caps
+ * This way the default CAPS query will always return the negotiated caps
  * or in case the pad is not negotiated, the padtemplate caps.
  *
- * Use this function on a pad that, once gst_pad_set_caps() has been called
- * on it, cannot be renegotiated to something else.
+ * The negotiated caps are the caps of the last CAPS event that passed on the
+ * pad. Use this function on a pad that, once it negotiated to a CAPS, cannot
+ * be renegotiated to something else.
  */
 void
 gst_pad_use_fixed_caps (GstPad * pad)
@@ -2605,7 +2498,7 @@
 gboolean
 gst_pad_proxy_query_caps (GstPad * pad, GstQuery * query)
 {
-  GstCaps *templ, *intersected;
+  GstCaps *filter, *templ, *result;
   QueryCapsData data;
 
   g_return_val_if_fail (GST_IS_PAD (pad), FALSE);
@@ -2616,18 +2509,20 @@
       GST_DEBUG_PAD_NAME (pad));
 
   data.query = query;
-  /* value to hold the return, by default it holds ANY */
-  data.ret = gst_caps_new_any ();
+
+  /* value to hold the return, by default it holds the filter or ANY */
+  gst_query_parse_caps (query, &filter);
+  data.ret = filter ? gst_caps_ref (filter) : gst_caps_new_any ();
 
   gst_pad_forward (pad, (GstPadForwardFunction) query_caps_func, &data);
 
   templ = gst_pad_get_pad_template_caps (pad);
-  intersected = gst_caps_intersect (data.ret, templ);
+  result = gst_caps_intersect (data.ret, templ);
   gst_caps_unref (data.ret);
   gst_caps_unref (templ);
 
-  gst_query_set_caps_result (query, intersected);
-  gst_caps_unref (intersected);
+  gst_query_set_caps_result (query, result);
+  gst_caps_unref (result);
 
   return TRUE;
 }
@@ -2882,8 +2777,9 @@
  * downstream in the preffered order. @filter might be %NULL but
  * if it is not %NULL the returned caps will be a subset of @filter.
  *
- * Returns: the caps of the peer pad with incremented ref-count. This function
- * returns %NULL when there is no peer pad.
+ * Returns: the caps of the peer pad with incremented ref-count. When there is
+ * no peer pad, this function returns @filter or, when @filter is %NULL, ANY
+ * caps.
  */
 GstCaps *
 gst_pad_peer_query_caps (GstPad * pad, GstCaps * filter)
@@ -3044,8 +2940,6 @@
  * pad when it is not needed any longer.
  *
  * Returns: (transfer full): unlinked pad of the given direction, or NULL.
- *
- * Since: 0.10.20
  */
 GstPad *
 gst_bin_find_unlinked_pad (GstBin * bin, GstPadDirection direction)
@@ -3105,9 +2999,8 @@
  * and want them all ghosted, you will have to create the ghost pads
  * yourself).
  *
- * Returns: (transfer floating): a newly-created bin, or NULL if an error occurred.
- *
- * Since: 0.10.3
+ * Returns: (transfer floating) (type Gst.Bin): a newly-created bin,
+ *   or %NULL if an error occurred.
  */
 GstElement *
 gst_parse_bin_from_description (const gchar * bin_description,
@@ -3137,9 +3030,8 @@
  * and want them all ghosted, you will have to create the ghost pads
  * yourself).
  *
- * Returns: (transfer full): a newly-created bin, or NULL if an error occurred.
- *
- * Since: 0.10.20
+ * Returns: (transfer full) (type Gst.Bin): a newly-created bin, or
+ *   %NULL if an error occurred.
  */
 GstElement *
 gst_parse_bin_from_description_full (const gchar * bin_description,
@@ -3200,8 +3092,6 @@
  * The timestamp should not be interpreted in any other way.
  *
  * Returns: the timestamp
- *
- * Since: 0.10.16
  */
 GstClockTime
 gst_util_get_timestamp (void)
@@ -3238,8 +3128,6 @@
  * The complexity of this search function is O(log (num_elements)).
  *
  * Returns: (transfer none): The address of the found element or %NULL if nothing was found
- *
- * Since: 0.10.23
  */
 gpointer
 gst_util_array_binary_search (gpointer array, guint num_elements,
@@ -3320,8 +3208,6 @@
  * and @b.
  *
  * Returns: Greatest common divisor of @a and @b
- *
- * Since: 0.10.26
  */
 gint
 gst_util_greatest_common_divisor (gint a, gint b)
@@ -3345,8 +3231,6 @@
  * and @b.
  *
  * Returns: Greatest common divisor of @a and @b
- *
- * Since: 0.11.0
  */
 gint64
 gst_util_greatest_common_divisor_int64 (gint64 a, gint64 b)
@@ -3369,8 +3253,6 @@
  * @dest: (out): pointer to a #gdouble for the result
  *
  * Transforms a fraction to a #gdouble.
- *
- * Since: 0.10.26
  */
 void
 gst_util_fraction_to_double (gint src_n, gint src_d, gdouble * dest)
@@ -3398,8 +3280,6 @@
  *
  * Transforms a #gdouble to a fraction and simplifies
  * the result.
- *
- * Since: 0.10.26
  */
 void
 gst_util_double_to_fraction (gdouble src, gint * dest_n, gint * dest_d)
@@ -3499,8 +3379,6 @@
  * the result in @res_n and @res_d.
  *
  * Returns: %FALSE on overflow, %TRUE otherwise.
- *
- * Since: 0.10.26
  */
 gboolean
 gst_util_fraction_multiply (gint a_n, gint a_d, gint b_n, gint b_d,
@@ -3558,8 +3436,6 @@
  * the result in @res_n and @res_d.
  *
  * Returns: %FALSE on overflow, %TRUE otherwise.
- *
- * Since: 0.10.26
  */
 gboolean
 gst_util_fraction_add (gint a_n, gint a_d, gint b_n, gint b_d, gint * res_n,
@@ -3625,8 +3501,6 @@
  * -1 if a < b, 0 if a = b and 1 if a > b.
  *
  * Returns: -1 if a < b; 0 if a = b; 1 if a > b.
- *
- * Since: 0.10.31
  */
 gint
 gst_util_fraction_compare (gint a_n, gint a_d, gint b_n, gint b_d)
@@ -3661,3 +3535,172 @@
   /* Should not happen because a_d and b_d are not 0 */
   g_return_val_if_reached (0);
 }
+
+/** gst_pad_create_stream_id:
+ * @pad: A source #GstPad
+ * @parent: Parent #GstElement of @pad
+ * @stream_id: (allow-none): The stream-id
+ * @var_args: parameters for the @stream_id format string
+ *
+ * Creates a stream-id for the source #GstPad @pad by combining the
+ * upstream information with the optional @stream_id of the stream
+ * of @pad. @pad must have a parent #GstElement and which must have zero
+ * or one sinkpad. @stream_id can only be %NULL if the parent element
+ * of @pad has only a single source pad.
+ *
+ * This function generates an unique stream-id by getting the upstream
+ * stream-start event stream ID and appending @stream_id 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.
+ *
+ * Returns: A stream-id for @pad. g_free() after usage.
+ */
+gchar *
+gst_pad_create_stream_id_printf_valist (GstPad * pad, GstElement * parent,
+    const gchar * stream_id, va_list var_args)
+{
+  GstEvent *upstream_event;
+  gchar *upstream_stream_id = NULL, *new_stream_id;
+  GstPad *sinkpad;
+
+  g_return_val_if_fail (GST_IS_PAD (pad), NULL);
+  g_return_val_if_fail (GST_PAD_IS_SRC (pad), NULL);
+  g_return_val_if_fail (GST_IS_ELEMENT (parent), NULL);
+
+  g_return_val_if_fail (parent->numsinkpads <= 1, NULL);
+
+  /* If the element has multiple source pads it must
+   * 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);
+
+  /* First try to get the upstream stream-start stream-id from the sinkpad.
+   * This will only work for non-source elements */
+  sinkpad = gst_element_get_static_pad (parent, "sink");
+  if (sinkpad) {
+    upstream_event =
+        gst_pad_get_sticky_event (sinkpad, GST_EVENT_STREAM_START, 0);
+    if (upstream_event) {
+      const gchar *tmp;
+
+      gst_event_parse_stream_start (upstream_event, &tmp);
+      if (tmp)
+        upstream_stream_id = g_strdup (tmp);
+      gst_event_unref (upstream_event);
+    }
+    gst_object_unref (sinkpad);
+  }
+
+  /* The only case where we don't have an upstream start-start event
+   * here is for source elements */
+  if (!upstream_stream_id) {
+    GstQuery *query;
+
+    /* Try to generate one from the URI query and
+     * if it fails take a random number instead */
+    query = gst_query_new_uri ();
+    if (gst_element_query (parent, query)) {
+      GChecksum *cs;
+      gchar *uri;
+
+      gst_query_parse_uri (query, &uri);
+
+      /* And then generate an SHA256 sum of the URI */
+      cs = g_checksum_new (G_CHECKSUM_SHA256);
+      g_checksum_update (cs, (const guchar *) uri, strlen (uri));
+      g_free (uri);
+      upstream_stream_id = g_strdup (g_checksum_get_string (cs));
+      g_checksum_free (cs);
+    } else {
+      /* Just get some random number if the URI query fails */
+      GST_WARNING_OBJECT (pad, "Creating random stream-id, consider "
+          "implementing a deterministic way of creating a stream-id");
+      upstream_stream_id =
+          g_strdup_printf ("%08x%08x%08x%08x", g_random_int (), g_random_int (),
+          g_random_int (), g_random_int ());
+    }
+
+    gst_query_unref (query);
+  }
+
+  if (stream_id) {
+    gchar *expanded = g_strdup_vprintf (stream_id, var_args);
+    new_stream_id = g_strconcat (upstream_stream_id, "/", expanded, NULL);
+    g_free (expanded);
+  } else {
+    new_stream_id = g_strdup (upstream_stream_id);
+  }
+
+  g_free (upstream_stream_id);
+
+  return new_stream_id;
+}
+
+/** gst_pad_create_stream_id:
+ * @pad: A source #GstPad
+ * @parent: Parent #GstElement of @pad
+ * @stream_id: (allow-none): The stream-id
+ * @...: parameters for the @stream_id format string
+ *
+ * Creates a stream-id for the source #GstPad @pad by combining the
+ * upstream information with the optional @stream_id of the stream
+ * of @pad. @pad must have a parent #GstElement and which must have zero
+ * or one sinkpad. @stream_id can only be %NULL if the parent element
+ * of @pad has only a single source pad.
+ *
+ * This function generates an unique stream-id by getting the upstream
+ * stream-start event stream ID and appending @stream_id 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.
+ *
+ * Returns: A stream-id for @pad. g_free() after usage.
+ */
+gchar *
+gst_pad_create_stream_id_printf (GstPad * pad, GstElement * parent,
+    const gchar * stream_id, ...)
+{
+  va_list var_args;
+  gchar *new_stream_id;
+
+  va_start (var_args, stream_id);
+  new_stream_id =
+      gst_pad_create_stream_id_printf_valist (pad, parent, stream_id, var_args);
+  va_end (var_args);
+
+  return new_stream_id;
+}
+
+/** gst_pad_create_stream_id:
+ * @pad: A source #GstPad
+ * @parent: Parent #GstElement of @pad
+ * @stream_id: (allow-none): The stream-id
+ *
+ * Creates a stream-id for the source #GstPad @pad by combining the
+ * upstream information with the optional @stream_id of the stream
+ * of @pad. @pad must have a parent #GstElement and which must have zero
+ * or one sinkpad. @stream_id can only be %NULL if the parent element
+ * of @pad has only a single source pad.
+ *
+ * This function generates an unique stream-id by getting the upstream
+ * stream-start event stream ID and appending @stream_id 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.
+ *
+ * Returns: A stream-id for @pad. g_free() after usage.
+ */
+gchar *
+gst_pad_create_stream_id (GstPad * pad, GstElement * parent,
+    const gchar * stream_id)
+{
+  return gst_pad_create_stream_id_printf (pad, parent, stream_id, NULL);
+}
diff --git a/gst/gstutils.h b/gst/gstutils.h
index e562457..269b375 100644
--- a/gst/gstutils.h
+++ b/gst/gstutils.h
@@ -26,6 +26,7 @@
 #define __GST_UTILS_H__
 
 #include <glib.h>
+#include <gst/gstconfig.h>
 #include <gst/gstbin.h>
 #include <gst/gstparse.h>
 
@@ -74,9 +75,6 @@
 guint32         gst_util_seqnum_next            (void);
 gint32          gst_util_seqnum_compare         (guint32 s1, guint32 s2);
 
-void            gst_print_pad_caps              (GString *buf, gint indent, GstPad *pad);
-void            gst_print_element_args          (GString *buf, gint indent, GstElement *element);
-
 
 /**
  * GST_CALL_PARENT:
@@ -114,20 +112,36 @@
 #define _GST_PUT(__data, __idx, __size, __shift, __num) \
     (((guint8 *) (__data))[__idx] = (((guint##__size) (__num)) >> (__shift)) & 0xff)
 
+#if GST_HAVE_UNALIGNED_ACCESS
+static inline guint16 __gst_fast_read16(const guint8 *v) {
+  return *(const guint16*)(v);
+}
+static inline guint32 __gst_fast_read32(const guint8 *v) {
+  return *(const guint32*)(v);
+}
+static inline guint64 __gst_fast_read64(const guint8 *v) {
+  return *(const guint64*)(v);
+}
+static inline guint16 __gst_fast_read_swap16(const guint8 *v) {
+  return GUINT16_SWAP_LE_BE(*(const guint16*)(v));
+}
+static inline guint32 __gst_fast_read_swap32(const guint8 *v) {
+  return GUINT32_SWAP_LE_BE(*(const guint32*)(v));
+}
+static inline guint64 __gst_fast_read_swap64(const guint8 *v) {
+  return GUINT64_SWAP_LE_BE(*(const guint64*)(v));
+}
+# define _GST_FAST_READ(s, d) __gst_fast_read##s((const guint8 *)(d))
+# define _GST_FAST_READ_SWAP(s, d) __gst_fast_read_swap##s((const guint8 *)(d))
+#endif
+
+
 /**
  * GST_READ_UINT64_BE:
  * @data: memory location
  *
  * Read a 64 bit unsigned integer value in big endian format from the memory buffer.
  */
-#define GST_READ_UINT64_BE(data)        (_GST_GET (data, 0, 64, 56) | \
-                                         _GST_GET (data, 1, 64, 48) | \
-                                         _GST_GET (data, 2, 64, 40) | \
-                                         _GST_GET (data, 3, 64, 32) | \
-                                         _GST_GET (data, 4, 64, 24) | \
-                                         _GST_GET (data, 5, 64, 16) | \
-                                         _GST_GET (data, 6, 64,  8) | \
-                                         _GST_GET (data, 7, 64,  0))
 
 /**
  * GST_READ_UINT64_LE:
@@ -135,14 +149,33 @@
  *
  * Read a 64 bit unsigned integer value in little endian format from the memory buffer.
  */
-#define GST_READ_UINT64_LE(data)        (_GST_GET (data, 7, 64, 56) | \
-                                         _GST_GET (data, 6, 64, 48) | \
-                                         _GST_GET (data, 5, 64, 40) | \
-                                         _GST_GET (data, 4, 64, 32) | \
-                                         _GST_GET (data, 3, 64, 24) | \
-                                         _GST_GET (data, 2, 64, 16) | \
-                                         _GST_GET (data, 1, 64,  8) | \
-                                         _GST_GET (data, 0, 64,  0))
+#if GST_HAVE_UNALIGNED_ACCESS
+# if (G_BYTE_ORDER == G_BIG_ENDIAN)
+#  define GST_READ_UINT64_BE(data)      _GST_FAST_READ (64, data)
+#  define GST_READ_UINT64_LE(data)      _GST_FAST_READ_SWAP (64, data)
+# else
+#  define GST_READ_UINT64_BE(data)      _GST_FAST_READ_SWAP (64, data)
+#  define GST_READ_UINT64_LE(data)      _GST_FAST_READ (64, data)
+# endif
+#else
+# define GST_READ_UINT64_BE(data)	(_GST_GET (data, 0, 64, 56) | \
+					 _GST_GET (data, 1, 64, 48) | \
+					 _GST_GET (data, 2, 64, 40) | \
+					 _GST_GET (data, 3, 64, 32) | \
+					 _GST_GET (data, 4, 64, 24) | \
+					 _GST_GET (data, 5, 64, 16) | \
+					 _GST_GET (data, 6, 64,  8) | \
+					 _GST_GET (data, 7, 64,  0))
+
+# define GST_READ_UINT64_LE(data)	(_GST_GET (data, 7, 64, 56) | \
+					 _GST_GET (data, 6, 64, 48) | \
+					 _GST_GET (data, 5, 64, 40) | \
+					 _GST_GET (data, 4, 64, 32) | \
+					 _GST_GET (data, 3, 64, 24) | \
+					 _GST_GET (data, 2, 64, 16) | \
+					 _GST_GET (data, 1, 64,  8) | \
+					 _GST_GET (data, 0, 64,  0))
+#endif
 
 /**
  * GST_READ_UINT32_BE:
@@ -150,10 +183,6 @@
  *
  * Read a 32 bit unsigned integer value in big endian format from the memory buffer.
  */
-#define GST_READ_UINT32_BE(data)        (_GST_GET (data, 0, 32, 24) | \
-                                         _GST_GET (data, 1, 32, 16) | \
-                                         _GST_GET (data, 2, 32,  8) | \
-                                         _GST_GET (data, 3, 32,  0))
 
 /**
  * GST_READ_UINT32_LE:
@@ -161,18 +190,31 @@
  *
  * Read a 32 bit unsigned integer value in little endian format from the memory buffer.
  */
-#define GST_READ_UINT32_LE(data)        (_GST_GET (data, 3, 32, 24) | \
-                                         _GST_GET (data, 2, 32, 16) | \
-                                         _GST_GET (data, 1, 32,  8) | \
-                                         _GST_GET (data, 0, 32,  0))
+#if GST_HAVE_UNALIGNED_ACCESS
+# if (G_BYTE_ORDER == G_BIG_ENDIAN)
+#  define GST_READ_UINT32_BE(data)      _GST_FAST_READ (32, data)
+#  define GST_READ_UINT32_LE(data)      _GST_FAST_READ_SWAP (32, data)
+# else
+#  define GST_READ_UINT32_BE(data)      _GST_FAST_READ_SWAP (32, data)
+#  define GST_READ_UINT32_LE(data)      _GST_FAST_READ (32, data)
+# endif
+#else
+# define GST_READ_UINT32_BE(data)	(_GST_GET (data, 0, 32, 24) | \
+					 _GST_GET (data, 1, 32, 16) | \
+					 _GST_GET (data, 2, 32,  8) | \
+					 _GST_GET (data, 3, 32,  0))
+
+# define GST_READ_UINT32_LE(data)	(_GST_GET (data, 3, 32, 24) | \
+					 _GST_GET (data, 2, 32, 16) | \
+					 _GST_GET (data, 1, 32,  8) | \
+					 _GST_GET (data, 0, 32,  0))
+#endif
 
 /**
  * GST_READ_UINT24_BE:
  * @data: memory location
  *
  * Read a 24 bit unsigned integer value in big endian format from the memory buffer.
- *
- * Since: 0.10.22
  */
 #define GST_READ_UINT24_BE(data)        (_GST_GET (data, 0, 32, 16) | \
                                          _GST_GET (data, 1, 32,  8) | \
@@ -183,8 +225,6 @@
  * @data: memory location
  *
  * Read a 24 bit unsigned integer value in little endian format from the memory buffer.
- *
- * Since: 0.10.22
  */
 #define GST_READ_UINT24_LE(data)        (_GST_GET (data, 2, 32, 16) | \
                                          _GST_GET (data, 1, 32,  8) | \
@@ -196,17 +236,27 @@
  *
  * Read a 16 bit unsigned integer value in big endian format from the memory buffer.
  */
-#define GST_READ_UINT16_BE(data)        (_GST_GET (data, 0, 16,  8) | \
-                                         _GST_GET (data, 1, 16,  0))
-
 /**
  * GST_READ_UINT16_LE:
  * @data: memory location
  *
  * Read a 16 bit unsigned integer value in little endian format from the memory buffer.
  */
-#define GST_READ_UINT16_LE(data)        (_GST_GET (data, 1, 16,  8) | \
-                                         _GST_GET (data, 0, 16,  0))
+#if GST_HAVE_UNALIGNED_ACCESS
+# if (G_BYTE_ORDER == G_BIG_ENDIAN)
+#  define GST_READ_UINT16_BE(data)      _GST_FAST_READ (16, data)
+#  define GST_READ_UINT16_LE(data)      _GST_FAST_READ_SWAP (16, data)
+# else
+#  define GST_READ_UINT16_BE(data)      _GST_FAST_READ_SWAP (16, data)
+#  define GST_READ_UINT16_LE(data)      _GST_FAST_READ (16, data)
+# endif
+#else
+# define GST_READ_UINT16_BE(data)	(_GST_GET (data, 0, 16,  8) | \
+					 _GST_GET (data, 1, 16,  0))
+
+# define GST_READ_UINT16_LE(data)	(_GST_GET (data, 1, 16,  8) | \
+					 _GST_GET (data, 0, 16,  0))
+#endif
 
 /**
  * GST_READ_UINT8:
@@ -286,8 +336,6 @@
  * @num: value to store
  *
  * Store a 24 bit unsigned integer value in big endian format into the memory buffer.
- *
- * Since: 0.10.22
  */
 #define GST_WRITE_UINT24_BE(data, num)  do { \
                                           _GST_PUT (data, 0, 32,  16, num); \
@@ -301,8 +349,6 @@
  * @num: value to store
  *
  * Store a 24 bit unsigned integer value in little endian format into the memory buffer.
- *
- * Since: 0.10.22
  */
 #define GST_WRITE_UINT24_LE(data, num)  do { \
                                           _GST_PUT (data, 0, 32,  0, num); \
@@ -356,9 +402,6 @@
  * Swap byte order of a 32-bit floating point value (float).
  *
  * Returns: @in byte-swapped.
- *
- * Since: 0.10.22
- *
  */
 #ifdef _FOOL_GTK_DOC_
 G_INLINE_FUNC gfloat GFLOAT_SWAP_LE_BE (gfloat in);
@@ -385,9 +428,6 @@
  * Swap byte order of a 64-bit floating point value (double).
  *
  * Returns: @in byte-swapped.
- *
- * Since: 0.10.22
- *
  */
 #ifdef _FOOL_GTK_DOC_
 G_INLINE_FUNC gdouble GDOUBLE_SWAP_LE_BE (gdouble in);
@@ -413,9 +453,6 @@
  *
  * Convert 64-bit floating point value (double) from native byte order into
  * little endian byte order.
- *
- * Since: 0.10.22
- *
  */
 /**
  * GDOUBLE_TO_BE:
@@ -423,9 +460,6 @@
  *
  * Convert 64-bit floating point value (double) from native byte order into
  * big endian byte order.
- *
- * Since: 0.10.22
- *
  */
 /**
  * GDOUBLE_FROM_LE:
@@ -433,9 +467,6 @@
  *
  * Convert 64-bit floating point value (double) from little endian byte order
  * into native byte order.
- *
- * Since: 0.10.22
- *
  */
 /**
  * GDOUBLE_FROM_BE:
@@ -443,9 +474,6 @@
  *
  * Convert 64-bit floating point value (double) from big endian byte order
  * into native byte order.
- *
- * Since: 0.10.22
- *
  */
 
 /**
@@ -454,9 +482,6 @@
  *
  * Convert 32-bit floating point value (float) from native byte order into
  * little endian byte order.
- *
- * Since: 0.10.22
- *
  */
 /**
  * GFLOAT_TO_BE:
@@ -464,9 +489,6 @@
  *
  * Convert 32-bit floating point value (float) from native byte order into
  * big endian byte order.
- *
- * Since: 0.10.22
- *
  */
 /**
  * GFLOAT_FROM_LE:
@@ -474,9 +496,6 @@
  *
  * Convert 32-bit floating point value (float) from little endian byte order
  * into native byte order.
- *
- * Since: 0.10.22
- *
  */
 /**
  * GFLOAT_FROM_BE:
@@ -484,9 +503,6 @@
  *
  * Convert 32-bit floating point value (float) from big endian byte order
  * into native byte order.
- *
- * Since: 0.10.22
- *
  */
 
 #if G_BYTE_ORDER == G_LITTLE_ENDIAN
@@ -519,9 +535,6 @@
  * Read a 32 bit float value in little endian format from the memory buffer.
  *
  * Returns: The floating point value read from @data
- *
- * Since: 0.10.22
- *
  */
 #ifdef _FOOL_GTK_DOC_
 G_INLINE_FUNC gfloat GST_READ_FLOAT_LE (const guint8 *data);
@@ -547,9 +560,6 @@
  * Read a 32 bit float value in big endian format from the memory buffer.
  *
  * Returns: The floating point value read from @data
- *
- * Since: 0.10.22
- *
  */
 #ifdef _FOOL_GTK_DOC_
 G_INLINE_FUNC gfloat GST_READ_FLOAT_BE (const guint8 *data);
@@ -575,9 +585,6 @@
  * Read a 64 bit double value in little endian format from the memory buffer.
  *
  * Returns: The double-precision floating point value read from @data
- *
- * Since: 0.10.22
- *
  */
 #ifdef _FOOL_GTK_DOC_
 G_INLINE_FUNC gdouble GST_READ_DOUBLE_LE (const guint8 *data);
@@ -603,9 +610,6 @@
  * Read a 64 bit double value in big endian format from the memory buffer.
  *
  * Returns: The double-precision floating point value read from @data
- *
- * Since: 0.10.22
- *
  */
 #ifdef _FOOL_GTK_DOC_
 G_INLINE_FUNC gdouble GST_READ_DOUBLE_BE (const guint8 *data);
@@ -630,9 +634,6 @@
  * @num: value to store
  *
  * Store a 32 bit float value in little endian format into the memory buffer.
- *
- * Since: 0.10.22
- *
  */
 #ifdef _FOOL_GTK_DOC_
 G_INLINE_FUNC void GST_WRITE_FLOAT_LE (guint8 *data, gfloat num);
@@ -657,9 +658,6 @@
  * @num: value to store
  *
  * Store a 32 bit float value in big endian format into the memory buffer.
- *
- * Since: 0.10.22
- *
  */
 #ifdef _FOOL_GTK_DOC_
 G_INLINE_FUNC void GST_WRITE_FLOAT_BE (guint8 *data, gfloat num);
@@ -684,9 +682,6 @@
  * @num: value to store
  *
  * Store a 64 bit double value in little endian format into the memory buffer.
- *
- * Since: 0.10.22
- *
  */
 #ifdef _FOOL_GTK_DOC_
 G_INLINE_FUNC void GST_WRITE_DOUBLE_LE (guint8 *data, gdouble num);
@@ -711,9 +706,6 @@
  * @num: value to store
  *
  * Store a 64 bit double value in big endian format into the memory buffer.
- *
- * Since: 0.10.22
- *
  */
 #ifdef _FOOL_GTK_DOC_
 G_INLINE_FUNC void GST_WRITE_DOUBLE_BE (guint8 *data, gdouble num);
@@ -782,8 +774,6 @@
  * @num: integer value to round down
  *
  * Rounds an integer value down to the next multiple of 2.
- *
- * Since: 0.10.12
  */
 #define GST_ROUND_DOWN_2(num)  ((num)&(~1))
 /**
@@ -791,8 +781,6 @@
  * @num: integer value to round down
  *
  * Rounds an integer value down to the next multiple of 4.
- *
- * Since: 0.10.12
  */
 #define GST_ROUND_DOWN_4(num)  ((num)&(~3))
 /**
@@ -800,8 +788,6 @@
  * @num: integer value to round down
  *
  * Rounds an integer value down to the next multiple of 8.
- *
- * Since: 0.10.12
  */
 #define GST_ROUND_DOWN_8(num)  ((num)&(~7))
 /**
@@ -809,8 +795,6 @@
  * @num: integer value to round down
  *
  * Rounds an integer value down to the next multiple of 16.
- *
- * Since: 0.10.12
  */
 #define GST_ROUND_DOWN_16(num) ((num)&(~15))
 /**
@@ -818,8 +802,6 @@
  * @num: integer value to round down
  *
  * Rounds an integer value down to the next multiple of 32.
- *
- * Since: 0.10.12
  */
 #define GST_ROUND_DOWN_32(num) ((num)&(~31))
 /**
@@ -827,8 +809,6 @@
  * @num: integer value to round down
  *
  * Rounds an integer value down to the next multiple of 64.
- *
- * Since: 0.10.12
  */
 #define GST_ROUND_DOWN_64(num) ((num)&(~63))
 
@@ -908,6 +888,10 @@
 GstCaps *               gst_pad_peer_query_caps         (GstPad * pad, GstCaps *filter);
 gboolean                gst_pad_peer_query_accept_caps  (GstPad * pad, GstCaps *caps);
 
+gchar *                 gst_pad_create_stream_id               (GstPad * pad, GstElement * parent, const gchar *stream_id);
+gchar *                 gst_pad_create_stream_id_printf        (GstPad * pad, GstElement * parent, const gchar *stream_id, ...);
+gchar *                 gst_pad_create_stream_id_printf_valist (GstPad * pad, GstElement * parent, const gchar *stream_id, va_list var_args);
+
 /* bin functions */
 void                    gst_bin_add_many                (GstBin *bin, GstElement *element_1, ...) G_GNUC_NULL_TERMINATED;
 void                    gst_bin_remove_many             (GstBin *bin, GstElement *element_1, ...) G_GNUC_NULL_TERMINATED;
@@ -933,8 +917,6 @@
  * @GST_SEARCH_MODE_AFTER : Search for an exact match or the element just after.
  *
  * The different search modes.
- *
- * Since: 0.10.23
  */
 typedef enum {
   GST_SEARCH_MODE_EXACT = 0,
diff --git a/gst/gstvalue.c b/gst/gstvalue.c
index c9f344b..da46859 100644
--- a/gst/gstvalue.c
+++ b/gst/gstvalue.c
@@ -507,8 +507,6 @@
  * The result will be put into @dest and will either be a list that will not
  * contain any duplicates, or a non-list type (if @value1 and @value2
  * were equal).
- *
- * Since: 0.10.32
  */
 void
 gst_value_list_merge (GValue * dest, const GValue * value1,
@@ -1189,8 +1187,6 @@
  * @step: the step of the range
  *
  * Sets @value to the range specified by @start, @end and @step.
- *
- * Since: 0.11.0
  */
 void
 gst_value_set_int64_range_step (GValue * value, gint64 start, gint64 end,
@@ -1214,8 +1210,6 @@
  * @end: the end of the range
  *
  * Sets @value to the range specified by @start and @end.
- *
- * Since: 0.10.31
  */
 void
 gst_value_set_int64_range (GValue * value, gint64 start, gint64 end)
@@ -1230,8 +1224,6 @@
  * Gets the minimum of the range specified by @value.
  *
  * Returns: the minimum of the range
- *
- * Since: 0.10.31
  */
 gint64
 gst_value_get_int64_range_min (const GValue * value)
@@ -1248,8 +1240,6 @@
  * Gets the maximum of the range specified by @value.
  *
  * Returns: the maxumum of the range
- *
- * Since: 0.10.31
  */
 gint64
 gst_value_get_int64_range_max (const GValue * value)
@@ -1266,8 +1256,6 @@
  * Gets the step of the range specified by @value.
  *
  * Returns: the step of the range
- *
- * Since: 0.11.0
  */
 gint64
 gst_value_get_int64_range_step (const GValue * value)
@@ -1910,8 +1898,6 @@
  * @structure: the structure to set the value to
  *
  * Sets the contents of @value to @structure.  The actual
- *
- * Since: 0.10.15
  */
 void
 gst_value_set_structure (GValue * value, const GstStructure * structure)
@@ -1930,8 +1916,6 @@
  * Gets the contents of @value.
  *
  * Returns: (transfer none): the contents of @value
- *
- * Since: 0.10.15
  */
 const GstStructure *
 gst_value_get_structure (const GValue * value)
@@ -1974,18 +1958,56 @@
   return FALSE;
 }
 
+/**************
+ * GstTagList *
+ **************/
+
+static gboolean
+gst_value_deserialize_tag_list (GValue * dest, const gchar * s)
+{
+  GstTagList *taglist;
+
+  if (*s != '"') {
+    taglist = gst_tag_list_new_from_string (s);
+  } else {
+    gchar *str = gst_string_unwrap (s);
+
+    if (G_UNLIKELY (!str))
+      return FALSE;
+
+    taglist = gst_tag_list_new_from_string (str);
+    g_free (str);
+  }
+
+  if (G_LIKELY (taglist != NULL)) {
+    g_value_take_boxed (dest, taglist);
+    return TRUE;
+  }
+  return FALSE;
+}
+
+static gchar *
+gst_value_serialize_tag_list (const GValue * value)
+{
+  GstTagList *taglist = g_value_get_boxed (value);
+
+  return gst_string_take_and_wrap (gst_tag_list_to_string (taglist));
+}
+
+
 /*************
  * GstBuffer *
  *************/
 
 static gint
-gst_value_compare_buffer (const GValue * value1, const GValue * value2)
+compare_buffer (GstBuffer * buf1, GstBuffer * buf2)
 {
-  GstBuffer *buf1 = gst_value_get_buffer (value1);
-  GstBuffer *buf2 = gst_value_get_buffer (value2);
   gsize size1, size2;
   GstMapInfo info1, info2;
-  gint result = GST_VALUE_UNORDERED;
+  gint result, mret;
+
+  if (buf1 == buf2)
+    return GST_VALUE_EQUAL;
 
   size1 = gst_buffer_get_size (buf1);
   size2 = gst_buffer_get_size (buf2);
@@ -2000,19 +2022,33 @@
     return GST_VALUE_UNORDERED;
 
   if (!gst_buffer_map (buf2, &info2, GST_MAP_READ)) {
-    gst_buffer_unmap (buf1, &info2);
+    gst_buffer_unmap (buf1, &info1);
     return GST_VALUE_UNORDERED;
   }
 
-  if (memcmp (info1.data, info2.data, info1.size) == 0)
+  mret = memcmp (info1.data, info2.data, info1.size);
+  if (mret == 0)
     result = GST_VALUE_EQUAL;
+  else if (mret < 0)
+    result = GST_VALUE_LESS_THAN;
+  else
+    result = GST_VALUE_GREATER_THAN;
 
-  gst_buffer_unmap (buf2, &info1);
-  gst_buffer_unmap (buf1, &info2);
+  gst_buffer_unmap (buf1, &info1);
+  gst_buffer_unmap (buf2, &info2);
 
   return result;
 }
 
+static gint
+gst_value_compare_buffer (const GValue * value1, const GValue * value2)
+{
+  GstBuffer *buf1 = gst_value_get_buffer (value1);
+  GstBuffer *buf2 = gst_value_get_buffer (value2);
+
+  return compare_buffer (buf1, buf2);
+}
+
 static gchar *
 gst_value_serialize_buffer (const GValue * value)
 {
@@ -2094,6 +2130,20 @@
   }
 }
 
+/*************
+ * GstSample *
+ *************/
+
+/* This function is mostly used for comparing image/buffer tags in taglists */
+static gint
+gst_value_compare_sample (const GValue * value1, const GValue * value2)
+{
+  GstBuffer *buf1 = gst_sample_get_buffer (gst_value_get_sample (value1));
+  GstBuffer *buf2 = gst_sample_get_buffer (gst_value_get_sample (value2));
+
+  /* FIXME: should we take into account anything else such as caps? */
+  return compare_buffer (buf1, buf2);
+}
 
 /***********
  * boolean *
@@ -3149,13 +3199,16 @@
   return FALSE;
 }
 
+#define INT64_RANGE_MIN_VAL(v) (INT64_RANGE_MIN (v) * INT64_RANGE_STEP (v))
+#define INT64_RANGE_MAX_VAL(v) (INT64_RANGE_MAX (v) * INT64_RANGE_STEP (v))
+
 static gboolean
 gst_value_intersect_int64_int64_range (GValue * dest, const GValue * src1,
     const GValue * src2)
 {
-  if (INT64_RANGE_MIN (src2) * INT64_RANGE_STEP (src2) <= src1->data[0].v_int &&
-      INT64_RANGE_MAX (src2) * INT64_RANGE_STEP (src2) >= src1->data[0].v_int &&
-      src1->data[0].v_int % INT64_RANGE_STEP (src2) == 0) {
+  if (INT64_RANGE_MIN_VAL (src2) <= src1->data[0].v_int64 &&
+      INT64_RANGE_MAX_VAL (src2) >= src1->data[0].v_int64 &&
+      src1->data[0].v_int64 % INT64_RANGE_STEP (src2) == 0) {
     if (dest)
       gst_value_init_and_copy (dest, src1);
     return TRUE;
@@ -5208,7 +5261,6 @@
 {
   const GstDateTime *date1 = (const GstDateTime *) g_value_get_boxed (value1);
   const GstDateTime *date2 = (const GstDateTime *) g_value_get_boxed (value2);
-  gint ret;
 
   if (date1 == date2)
     return GST_VALUE_EQUAL;
@@ -5220,64 +5272,37 @@
     return GST_VALUE_LESS_THAN;
   }
 
-  ret = priv_gst_date_time_compare (date1, date2);
-
-  if (ret == 0)
-    return GST_VALUE_EQUAL;
-  else if (ret < 0)
-    return GST_VALUE_LESS_THAN;
-  else
-    return GST_VALUE_GREATER_THAN;
+  /* returns GST_VALUE_* */
+  return __gst_date_time_compare (date1, date2);
 }
 
 static gchar *
 gst_value_serialize_date_time (const GValue * val)
 {
   GstDateTime *date = (GstDateTime *) g_value_get_boxed (val);
-  gfloat offset;
-  gint tzhour, tzminute;
 
   if (date == NULL)
     return g_strdup ("null");
 
-  offset = gst_date_time_get_time_zone_offset (date);
-
-  tzhour = (gint) ABS (offset);
-  tzminute = (gint) ((ABS (offset) - tzhour) * 60);
-
-  return g_strdup_printf ("\"%04d-%02d-%02dT%02d:%02d:%02d.%06d"
-      "%c%02d%02d\"", gst_date_time_get_year (date),
-      gst_date_time_get_month (date), gst_date_time_get_day (date),
-      gst_date_time_get_hour (date), gst_date_time_get_minute (date),
-      gst_date_time_get_second (date), gst_date_time_get_microsecond (date),
-      offset >= 0 ? '+' : '-', tzhour, tzminute);
+  return __gst_date_time_serialize (date, TRUE);
 }
 
 static gboolean
 gst_value_deserialize_date_time (GValue * dest, const gchar * s)
 {
-  gint year, month, day, hour, minute, second, usecond;
-  gchar signal;
-  gint offset = 0;
-  gfloat tzoffset = 0;
-  gint ret;
+  GstDateTime *datetime;
 
   if (!s || strcmp (s, "null") == 0) {
     return FALSE;
   }
 
-  ret = sscanf (s, "%04d-%02d-%02dT%02d:%02d:%02d.%06d%c%04d",
-      &year, &month, &day, &hour, &minute, &second, &usecond, &signal, &offset);
-  if (ret >= 9) {
-    tzoffset = (offset / 100) + ((offset % 100) / 60.0);
-    if (signal == '-')
-      tzoffset = -tzoffset;
-  } else
-    return FALSE;
-
-  g_value_take_boxed (dest, gst_date_time_new (tzoffset, year, month, day, hour,
-          minute, second + (usecond / 1000000.0)));
-  return TRUE;
+  datetime = gst_date_time_new_from_iso8601_string (s);
+  if (datetime != NULL) {
+    g_value_take_boxed (dest, datetime);
+    return TRUE;
+  }
+  GST_WARNING ("Failed to deserialize date time string '%s'", s);
+  return FALSE;
 }
 
 static void
@@ -5766,6 +5791,17 @@
   {
     static GstValueTable gst_value = {
       0,
+      gst_value_compare_sample,
+      NULL,
+      NULL,
+    };
+
+    gst_value.type = GST_TYPE_SAMPLE;
+    gst_value_register (&gst_value);
+  }
+  {
+    static GstValueTable gst_value = {
+      0,
       gst_value_compare_fraction,
       gst_value_serialize_fraction,
       gst_value_deserialize_fraction,
@@ -5810,6 +5846,17 @@
   {
     static GstValueTable gst_value = {
       0,
+      NULL,
+      gst_value_serialize_tag_list,
+      gst_value_deserialize_tag_list,
+    };
+
+    gst_value.type = GST_TYPE_TAG_LIST;
+    gst_value_register (&gst_value);
+  }
+  {
+    static GstValueTable gst_value = {
+      0,
       gst_value_compare_date,
       gst_value_serialize_date,
       gst_value_deserialize_date,
diff --git a/gst/gstvalue.h b/gst/gstvalue.h
index 38413b9..4ea492f 100644
--- a/gst/gstvalue.h
+++ b/gst/gstvalue.h
@@ -98,8 +98,6 @@
  * @x: the #GValue to check
  *
  * Checks if the given #GValue contains a #GST_TYPE_INT64_RANGE value.
- *
- * Since: 0.10.31
  */
 #define GST_VALUE_HOLDS_INT64_RANGE(x)    (G_VALUE_HOLDS((x), gst_int64_range_get_type ()))
 
@@ -148,8 +146,6 @@
  * @x: the #GValue to check
  *
  * Checks if the given #GValue contains a #GST_TYPE_STRUCTURE value.
- *
- * Since: 0.10.15
  */
 #define GST_VALUE_HOLDS_STRUCTURE(x)            (G_VALUE_HOLDS((x), GST_TYPE_STRUCTURE))
 
@@ -182,8 +178,6 @@
  * @x: the #GValue to check
  *
  * Checks if the given #GValue contains a #GST_TYPE_DATE_TIME value.
- *
- * Since: 0.10.31
  */
 #define GST_VALUE_HOLDS_DATE_TIME(x)    (G_VALUE_HOLDS((x), gst_date_time_get_type ()))
 
@@ -210,8 +204,6 @@
  * a #GValue type that represents an #gint64 range
  *
  * Returns: the #GType of GstInt64Range
- *
- * Since: 0.10.31
  */
 #define GST_TYPE_INT64_RANGE             gst_int64_range_get_type ()
 
@@ -277,7 +269,6 @@
  * a boxed #GValue type for #GstDateTime that represents a date and time.
  *
  * Returns: the #GType of GstDateTime
- * Since: 0.10.31
  */
 
 #define GST_TYPE_DATE_TIME               gst_date_time_get_type ()
diff --git a/gst/gstversion.h.in b/gst/gstversion.h.in
index eb3f75d..9ba49f3 100644
--- a/gst/gstversion.h.in
+++ b/gst/gstversion.h.in
@@ -74,8 +74,6 @@
  *
  * Check whether a GStreamer version equal to or greater than
  * major.minor.micro is present.
- *
- * Since: 0.10.18
  */
 #define	GST_CHECK_VERSION(major,minor,micro)	\
     (GST_VERSION_MAJOR > (major) || \
diff --git a/gst/math-compat.h b/gst/math-compat.h
index aa123db..d160c2c 100644
--- a/gst/math-compat.h
+++ b/gst/math-compat.h
@@ -36,15 +36,18 @@
 
 #define __GST_MATH_COMPAT_NEED_RINT
 #define __GST_MATH_COMPAT_NEED_RINTF
+#define __GST_MATH_COMPAT_NEED_ISNAN
 
 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
 #undef __GST_MATH_COMPAT_NEED_RINT
 #undef __GST_MATH_COMPAT_NEED_RINTF
+#undef __GST_MATH_COMPAT_NEED_ISNAN
 #endif
 
 #if defined(_POSIX_VERSION) && _POSIX_VERSION >= 200112L
 #undef __GST_MATH_COMPAT_NEED_RINT
 #undef __GST_MATH_COMPAT_NEED_RINTF
+#undef __GST_MATH_COMPAT_NEED_ISNAN
 #endif
 
 #ifndef M_PI
@@ -71,6 +74,12 @@
   return floorf (x + 0.5);
 }
 
+static inline gboolean
+__gst_math_compat_isnan (double x)
+{
+  return x != x;
+}
+
 #if defined (__GST_MATH_COMPAT_NEED_RINT) && !defined (rint)
 #define rint(x) __gst_math_compat_rint(x)
 #endif
@@ -79,6 +88,10 @@
 #define rintf(x) __gst_math_compat_rintf(x)
 #endif
 
+#if defined (__GST_MATH_COMPAT_NEED_ISNAN) && !defined (isnan)
+#define isnan(x) __gst_math_compat_isnan (x)
+#endif
+
 #ifndef NAN
 #if G_BYTE_ORDER == G_BIG_ENDIAN
 #define __GST_NAN_BYTES        { 0x7f, 0xc0, 0, 0 }
diff --git a/gst/parse/Makefile.in b/gst/parse/Makefile.in
index 17fcfe4..b578d9e 100644
--- a/gst/parse/Makefile.in
+++ b/gst/parse/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -207,7 +207,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/gst/parse/grammar.tab.h b/gst/parse/grammar.tab.h
index 764695b..6889bea 100644
--- a/gst/parse/grammar.tab.h
+++ b/gst/parse/grammar.tab.h
@@ -54,7 +54,7 @@
 {
 
 /* Line 2068 of yacc.c  */
-#line 623 "./grammar.y"
+#line 624 "./grammar.y"
 
     gchar *s;
     chain_t *c;
diff --git a/gst/parse/grammar.y b/gst/parse/grammar.y
index 30c37a9..0a62adb 100644
--- a/gst/parse/grammar.y
+++ b/gst/parse/grammar.y
@@ -287,7 +287,7 @@
 }
 
 static void gst_parse_new_child(GstChildProxy *child_proxy, GObject *object,
-                                gpointer data);
+    const gchar * name, gpointer data);
 
 static void
 gst_parse_add_delayed_set (GstElement *element, gchar *name, gchar *value_str)
@@ -326,8 +326,9 @@
   }
 }
 
-static void gst_parse_new_child(GstChildProxy *child_proxy, GObject *object,
-                                gpointer data)
+static void
+gst_parse_new_child(GstChildProxy *child_proxy, GObject *object,
+    const gchar * name, gpointer data)
 {
   DelayedSet *set = (DelayedSet *) data;
   GParamSpec *pspec;
@@ -336,7 +337,7 @@
   GType value_type;
 
   GST_CAT_LOG_OBJECT (GST_CAT_PIPELINE, child_proxy, "new child %s, checking property %s",
-      GST_OBJECT_NAME(object), set->name);
+      name, set->name);
 
   if (gst_child_proxy_lookup (G_OBJECT (child_proxy), set->name, &target, &pspec)) {
     gboolean got_value = FALSE;
@@ -397,7 +398,7 @@
   if (element == NULL)
     goto out;
 
-  /* parse the string, so the property name is null-terminated an pos points
+  /* parse the string, so the property name is null-terminated and pos points
      to the beginning of the value */
   while (!g_ascii_isspace (*pos) && (*pos != '=')) pos++;
   if (*pos == '=') {
@@ -811,7 +812,8 @@
 	|	PARSE_URL chain		      { $$ = $2;
 						if ($$->front) {
 						  GstElement *element =
-							  gst_element_make_from_uri (GST_URI_SRC, $1, NULL);
+							  gst_element_make_from_uri (GST_URI_SRC, $1, NULL, NULL);
+						  /* FIXME: get and parse error properly */
 						  if (!element) {
 						    SET_ERROR (graph->error, GST_PARSE_ERROR_NO_SUCH_ELEMENT,
 							    _("no source element for URI \"%s\""), $1);
@@ -829,7 +831,8 @@
 						g_free ($1);
 					      }
 	|	link PARSE_URL		      { GstElement *element =
-							  gst_element_make_from_uri (GST_URI_SINK, $2, NULL);
+							  gst_element_make_from_uri (GST_URI_SINK, $2, NULL, NULL);
+						/* FIXME: get and parse error properly */
 						if (!element) {
 						  SET_ERROR (graph->error, GST_PARSE_ERROR_NO_SUCH_ELEMENT,
 							  _("no sink element for URI \"%s\""), $2);
diff --git a/gst/parse/types.h b/gst/parse/types.h
index 3b2e4fd..79a14c6 100644
--- a/gst/parse/types.h
+++ b/gst/parse/types.h
@@ -44,12 +44,12 @@
 #endif
 
 #ifdef __GST_PARSE_TRACE
-gchar  *__gst_parse_strdup (gchar *org);
-void	__gst_parse_strfree (gchar *str);
-link_t *__gst_parse_link_new ();
-void	__gst_parse_link_free (link_t *data);
-chain_t *__gst_parse_chain_new ();
-void	__gst_parse_chain_free (chain_t *data);
+G_GNUC_INTERNAL  gchar  *__gst_parse_strdup (gchar *org);
+G_GNUC_INTERNAL  void	__gst_parse_strfree (gchar *str);
+G_GNUC_INTERNAL  link_t *__gst_parse_link_new ();
+G_GNUC_INTERNAL  void	__gst_parse_link_free (link_t *data);
+G_GNUC_INTERNAL  chain_t *__gst_parse_chain_new ();
+G_GNUC_INTERNAL  void	__gst_parse_chain_free (chain_t *data);
 #  define gst_parse_strdup __gst_parse_strdup
 #  define gst_parse_strfree __gst_parse_strfree
 #  define gst_parse_link_new __gst_parse_link_new
@@ -76,6 +76,8 @@
   walk = str;
   in_quotes = FALSE;
 
+  GST_DEBUG ("unescaping %s", str);
+
   while (*walk) {
     if (*walk == '\\' && !in_quotes) {
       walk++;
@@ -95,7 +97,9 @@
   *str = '\0';
 }
 
-GstElement *priv_gst_parse_launch (const gchar *, GError **,
-    GstParseContext *, GstParseFlags);
+G_GNUC_INTERNAL GstElement *priv_gst_parse_launch (const gchar      * str,
+                                                   GError          ** err,
+                                                   GstParseContext  * ctx,
+                                                   GstParseFlags      flags);
 
 #endif /* __GST_PARSE_TYPES_H__ */
diff --git a/gstreamer.doap b/gstreamer.doap
index 9e70e16..5830674 100644
--- a/gstreamer.doap
+++ b/gstreamer.doap
@@ -40,6 +40,16 @@
 
  <release>
   <Version>
+   <revision>0.11.93</revision>
+   <branch>0.11</branch>
+   <name>Balrog Boogie</name>
+   <created>2012-08-08</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.11.93.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>0.11.92</revision>
    <branch>0.11</branch>
    <name>High Hopes</name>
diff --git a/gstreamer.spec b/gstreamer.spec
index 0c60a04..97531d3 100644
--- a/gstreamer.spec
+++ b/gstreamer.spec
@@ -1,17 +1,17 @@
 %define		gstreamer	gstreamer011
 %define		majorminor	1.0
 
-%define 	_glib2		2.31.14
+%define 	_glib2		2.32.0
 
 Name: 		%{gstreamer}
-Version: 	0.11.92
+Version: 	0.11.93
 Release: 	1
 Summary: 	GStreamer streaming media framework runtime
 
 Group: 		Applications/Multimedia
 License: 	LGPL
 URL:		http://gstreamer.freedesktop.org/
-Source: 	http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-%{version}.tar.bz2
+Source: 	http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-%{version}.tar.xz
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires: 	glib2-devel >= %{_glib2}
diff --git a/gstreamer.spec.in b/gstreamer.spec.in
index 66d2e80..907aab9 100644
--- a/gstreamer.spec.in
+++ b/gstreamer.spec.in
@@ -11,7 +11,7 @@
 Group: 		Applications/Multimedia
 License: 	LGPL
 URL:		http://gstreamer.freedesktop.org/
-Source: 	http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-%{version}.tar.bz2
+Source: 	http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-%{version}.tar.xz
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires: 	glib2-devel >= %{_glib2}
diff --git a/libs/Makefile.in b/libs/Makefile.in
index 90abb56..21cff6c 100644
--- a/libs/Makefile.in
+++ b/libs/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -207,7 +207,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/libs/gst/Makefile.in b/libs/gst/Makefile.in
index 9e2ee97..67d6d43 100644
--- a/libs/gst/Makefile.in
+++ b/libs/gst/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -206,7 +206,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/libs/gst/base/Makefile.in b/libs/gst/base/Makefile.in
index 474b77e..6ed8dbe 100644
--- a/libs/gst/base/Makefile.in
+++ b/libs/gst/base/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -250,7 +250,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/libs/gst/base/gstadapter.c b/libs/gst/base/gstadapter.c
index 2e61430..899cb98 100644
--- a/libs/gst/base/gstadapter.c
+++ b/libs/gst/base/gstadapter.c
@@ -82,7 +82,7 @@
  * Also check the GST_BUFFER_FLAG_DISCONT flag on the buffer. Some elements might
  * need to clear the adapter after a discontinuity.
  *
- * Since 0.10.24, the adapter will keep track of the timestamps of the buffers
+ * The adapter will keep track of the timestamps of the buffers
  * that were pushed. The last seen timestamp before the current position
  * can be queried with gst_adapter_prev_timestamp(). This function can
  * optionally return the amount of bytes between the start of the buffer that
@@ -426,8 +426,8 @@
  *
  * Returns #NULL if @size bytes are not available.
  *
- * Returns: (transfer none) (array length=size): a pointer to the first
- *     @size bytes of data, or NULL
+ * Returns: (transfer none) (array length=size) (element-type guint8):
+ *     a pointer to the first @size bytes of data, or NULL
  */
 gconstpointer
 gst_adapter_map (GstAdapter * adapter, gsize size)
@@ -527,7 +527,8 @@
 /**
  * gst_adapter_copy:
  * @adapter: a #GstAdapter
- * @dest: (out caller-allocates) (array length=size): the memory to copy into
+ * @dest: (out caller-allocates) (array length=size) (element-type guint8):
+ *     the memory to copy into
  * @offset: the bytes offset in the adapter to start from
  * @size: the number of bytes to copy
  *
@@ -537,8 +538,6 @@
  * The array @dest should be large enough to contain @size bytes.
  * The user should check that the adapter has (@offset + @size) bytes
  * available before calling this function.
- *
- * Since: 0.10.12
  */
 void
 gst_adapter_copy (GstAdapter * adapter, gpointer dest, gsize offset, gsize size)
@@ -684,8 +683,8 @@
  *
  * Free-function: g_free
  *
- * Returns: (transfer full) (array length=nbytes): oven-fresh hot data, or
- *     #NULL if @nbytes bytes are not available
+ * Returns: (transfer full) (array length=nbytes) (element-type guint8):
+ *     oven-fresh hot data, or #NULL if @nbytes bytes are not available
  */
 gpointer
 gst_adapter_take (GstAdapter * adapter, gsize nbytes)
@@ -725,8 +724,6 @@
  *
  * Returns: (transfer full): a #GstBuffer containing the first @nbytes of
  *     the adapter, or #NULL if @nbytes bytes are not available
- *
- * Since: 0.10.6
  */
 GstBuffer *
 gst_adapter_take_buffer (GstAdapter * adapter, gsize nbytes)
@@ -804,8 +801,6 @@
  * Returns: (element-type Gst.Buffer) (transfer full): a #GList of buffers
  *     containing the first @nbytes of the adapter, or #NULL if @nbytes bytes
  *     are not available
- *
- * Since: 0.10.31
  */
 GList *
 gst_adapter_take_list (GstAdapter * adapter, gsize nbytes)
@@ -969,8 +964,6 @@
  * enough data (offset+size bytes) in the adapter.
  *
  * Returns: offset of the first match, or -1 if no match was found.
- *
- * Since: 0.10.30
  */
 gsize
 gst_adapter_masked_scan_uint32_peek (GstAdapter * adapter, guint32 mask,
@@ -1106,8 +1099,6 @@
  * gst_adapter_masked_scan_uint32 (adapter, 0xffff0000, 0x02030000, 0, 4);
  * // -> returns -1
  * </programlisting>
- *
- * Since: 0.10.24
  */
 gsize
 gst_adapter_masked_scan_uint32 (GstAdapter * adapter, guint32 mask,
diff --git a/libs/gst/base/gstbaseparse.c b/libs/gst/base/gstbaseparse.c
index e2f9d97..102ca72 100644
--- a/libs/gst/base/gstbaseparse.c
+++ b/libs/gst/base/gstbaseparse.c
@@ -337,6 +337,9 @@
   gboolean detecting;
   GList *detect_buffers;
   guint detect_buffers_size;
+
+  /* if TRUE, a STREAM_START event needs to be pushed */
+  gboolean push_stream_start;
 };
 
 typedef struct _GstBaseParseSeek
@@ -635,8 +638,6 @@
  * sure gst_base_parse_frame_free() only frees the contents but not
  * the actual frame. Use this function to initialise a #GstBaseParseFrame
  * allocated on the stack.
- *
- * Since: 0.10.33
  */
 void
 gst_base_parse_frame_init (GstBaseParseFrame * frame)
@@ -660,8 +661,6 @@
  *
  * Returns: a newly-allocated #GstBaseParseFrame. Free with
  *     gst_base_parse_frame_free() when no longer needed.
- *
- * Since: 0.10.33
  */
 GstBaseParseFrame *
 gst_base_parse_frame_new (GstBuffer * buffer, GstBaseParseFrameFlags flags,
@@ -1242,8 +1241,6 @@
  * Default implementation of "convert" vmethod in #GstBaseParse class.
  *
  * Returns: TRUE if conversion was successful.
- *
- * Since: 0.10.33
  */
 gboolean
 gst_base_parse_convert_default (GstBaseParse * parse,
@@ -1407,8 +1404,7 @@
       parse->priv->max_bitrate);
 
   if (taglist != NULL) {
-    gst_pad_push_event (parse->srcpad, gst_event_new_tag ("GstParser",
-            taglist));
+    gst_pad_push_event (parse->srcpad, gst_event_new_tag (taglist));
   }
 }
 
@@ -1512,8 +1508,6 @@
  * to the new entry, etc.
  *
  * Returns: #gboolean indicating whether entry was added
- *
- * Since: 0.10.33
  */
 gboolean
 gst_base_parse_add_index_entry (GstBaseParse * parse, guint64 offset,
@@ -1843,12 +1837,6 @@
 
   g_return_val_if_fail (frame != NULL, GST_FLOW_ERROR);
 
-  /* some one-time start-up */
-  if (G_UNLIKELY (!parse->priv->framecount)) {
-    gst_base_parse_check_seekability (parse);
-    gst_base_parse_check_upstream (parse);
-  }
-
   buffer = frame->buffer;
   offset = frame->offset;
 
@@ -1922,8 +1910,6 @@
  * This must be called with sinkpad STREAM_LOCK held.
  *
  * Returns: #GstFlowReturn
- *
- * Since: 0.10.33
  */
 GstFlowReturn
 gst_base_parse_push_frame (GstBaseParse * parse, GstBaseParseFrame * frame)
@@ -2139,8 +2125,6 @@
  * caller retains ownership of @frame.
  *
  * Returns: a #GstFlowReturn that should be escalated to caller (of caller)
- *
- * Since: 0.11.1
  */
 GstFlowReturn
 gst_base_parse_finish_frame (GstBaseParse * parse, GstBaseParseFrame * frame,
@@ -2157,6 +2141,14 @@
   GST_LOG_OBJECT (parse, "finished frame at offset %" G_GUINT64_FORMAT ", "
       "flushing size %d", frame->offset, size);
 
+  /* some one-time start-up */
+  if (G_UNLIKELY (parse->priv->framecount == 0)) {
+    gst_base_parse_check_seekability (parse);
+    gst_base_parse_check_upstream (parse);
+  }
+
+  parse->priv->flushed += size;
+
   if (parse->priv->scanning && frame->buffer) {
     if (!parse->priv->scanned_frame) {
       parse->priv->scanned_frame = gst_base_parse_frame_copy (frame);
@@ -2164,8 +2156,6 @@
     goto exit;
   }
 
-  parse->priv->flushed += size;
-
   /* either PUSH or PULL mode arranges for adapter data */
   /* ensure output buffer */
   if (!frame->out_buffer) {
@@ -2758,8 +2748,7 @@
  * pull and scan for next frame starting from current offset
  * ajusts sync, drain and offset going along */
 static GstFlowReturn
-gst_base_parse_scan_frame (GstBaseParse * parse, GstBaseParseClass * klass,
-    gboolean full)
+gst_base_parse_scan_frame (GstBaseParse * parse, GstBaseParseClass * klass)
 {
   GstBuffer *buffer;
   GstFlowReturn ret = GST_FLOW_OK;
@@ -2858,6 +2847,21 @@
   parse = GST_BASE_PARSE (gst_pad_get_parent (pad));
   klass = GST_BASE_PARSE_GET_CLASS (parse);
 
+  GST_DEBUG_OBJECT (parse, "hello");
+
+  if (G_UNLIKELY (parse->priv->push_stream_start)) {
+    gchar *stream_id;
+
+    stream_id =
+        gst_pad_create_stream_id (parse->srcpad, GST_ELEMENT_CAST (parse),
+        NULL);
+
+    GST_DEBUG_OBJECT (parse, "Pushing STREAM_START");
+    gst_pad_push_event (parse->srcpad, gst_event_new_stream_start (stream_id));
+    parse->priv->push_stream_start = FALSE;
+    g_free (stream_id);
+  }
+
   /* reverse playback:
    * first fragment (closest to stop time) is handled normally below,
    * then we pull in fragments going backwards */
@@ -2870,7 +2874,7 @@
     }
   }
 
-  ret = gst_base_parse_scan_frame (parse, klass, TRUE);
+  ret = gst_base_parse_scan_frame (parse, klass);
   if (ret != GST_FLOW_OK)
     goto done;
 
@@ -2911,7 +2915,7 @@
 
     if (ret == GST_FLOW_EOS) {
       /* handle end-of-stream/segment */
-      if (parse->segment.flags & GST_SEEK_FLAG_SEGMENT) {
+      if (parse->segment.flags & GST_SEGMENT_FLAG_SEGMENT) {
         gint64 stop;
 
         if ((stop = parse->segment.stop) == -1)
@@ -2923,6 +2927,8 @@
             (GST_ELEMENT_CAST (parse),
             gst_message_new_segment_done (GST_OBJECT_CAST (parse),
                 GST_FORMAT_TIME, stop));
+        gst_pad_push_event (parse->srcpad,
+            gst_event_new_segment_done (GST_FORMAT_TIME, stop));
       } else {
         /* If we STILL have zero frames processed, fire an error */
         if (parse->priv->framecount == 0) {
@@ -2985,8 +2991,10 @@
   if (!gst_pad_activate_mode (sinkpad, GST_PAD_MODE_PULL, TRUE))
     goto baseparse_push;
 
+  parse->priv->push_stream_start = TRUE;
+
   return gst_pad_start_task (sinkpad, (GstTaskFunction) gst_base_parse_loop,
-      sinkpad);
+      sinkpad, NULL);
   /* fallback */
 baseparse_push:
   {
@@ -3084,8 +3092,6 @@
  * duration.  Alternatively, if @interval is non-zero (default), then stream
  * duration is determined based on estimated bitrate, and updated every @interval
  * frames.
- *
- * Since: 0.10.33
  */
 void
 gst_base_parse_set_duration (GstBaseParse * parse,
@@ -3133,8 +3139,6 @@
  * is used to estimate the total duration of the stream and to estimate
  * a seek position, if there's no index and the format is syncable
  * (see gst_base_parse_set_syncable()).
- *
- * Since: 0.10.33
  */
 void
 gst_base_parse_set_average_bitrate (GstBaseParse * parse, guint bitrate)
@@ -3151,8 +3155,6 @@
  *
  * Subclass can use this function to tell the base class that it needs to
  * give at least #min_size buffers.
- *
- * Since: 0.10.33
  */
 void
 gst_base_parse_set_min_frame_size (GstBaseParse * parse, guint min_size)
@@ -3176,8 +3178,6 @@
  * location, a corresponding decoder might need an initial @lead_in and a
  * following @lead_out number of frames to ensure the desired segment is
  * entirely filled upon decoding.
- *
- * Since: 0.10.33
  */
 void
 gst_base_parse_set_frame_rate (GstBaseParse * parse, guint fps_num,
@@ -3226,8 +3226,6 @@
  * Set if frames carry timing information which the subclass can (generally)
  * parse and provide.  In particular, intrinsic (rather than estimated) time
  * can be obtained following a seek.
- *
- * Since: 0.10.33
  */
 void
 gst_base_parse_set_has_timing_info (GstBaseParse * parse, gboolean has_timing)
@@ -3244,8 +3242,6 @@
  * Set if frame starts can be identified. This is set by default and
  * determines whether seeking based on bitrate averages
  * is possible for a format/stream.
- *
- * Since: 0.10.33
  */
 void
 gst_base_parse_set_syncable (GstBaseParse * parse, gboolean syncable)
@@ -3266,8 +3262,6 @@
  * callbacks will be invoked, but @pre_push_frame will still be invoked,
  * so subclass can perform as much or as little is appropriate for
  * passthrough semantics in @pre_push_frame.
- *
- * Since: 0.10.33
  */
 void
 gst_base_parse_set_passthrough (GstBaseParse * parse, gboolean passthrough)
@@ -3285,8 +3279,6 @@
  * Sets the minimum and maximum (which may likely be equal) latency introduced
  * by the parsing process.  If there is such a latency, which depends on the
  * particular parsing of the format, it typically corresponds to 1 frame duration.
- *
- * Since: 0.10.36
  */
 void
 gst_base_parse_set_latency (GstBaseParse * parse, GstClockTime min_latency,
@@ -3514,7 +3506,7 @@
   parse->priv->offset = *pos;
   /* mark as scanning so frames don't get processed all the way */
   parse->priv->scanning = TRUE;
-  ret = gst_base_parse_scan_frame (parse, klass, FALSE);
+  ret = gst_base_parse_scan_frame (parse, klass);
   parse->priv->scanning = FALSE;
   /* retrieve frame found during scan */
   sframe = parse->priv->scanned_frame;
@@ -3749,28 +3741,24 @@
   gdouble rate;
   GstFormat format;
   GstSeekFlags flags;
-  GstSeekType cur_type = GST_SEEK_TYPE_NONE, stop_type;
+  GstSeekType start_type = GST_SEEK_TYPE_NONE, stop_type;
   gboolean flush, update, res = TRUE, accurate;
-  gint64 cur, stop, seekpos, seekstop;
+  gint64 start, stop, seekpos, seekstop;
   GstSegment seeksegment = { 0, };
   GstClockTime start_ts;
 
   gst_event_parse_seek (event, &rate, &format, &flags,
-      &cur_type, &cur, &stop_type, &stop);
+      &start_type, &start, &stop_type, &stop);
 
   GST_DEBUG_OBJECT (parse, "seek to format %s, rate %f, "
       "start type %d at %" GST_TIME_FORMAT ", end type %d at %"
       GST_TIME_FORMAT, gst_format_get_name (format), rate,
-      cur_type, GST_TIME_ARGS (cur), stop_type, GST_TIME_ARGS (stop));
+      start_type, GST_TIME_ARGS (start), stop_type, GST_TIME_ARGS (stop));
 
   /* no negative rates in push mode */
   if (rate < 0.0 && parse->priv->pad_mode == GST_PAD_MODE_PUSH)
     goto negative_rate;
 
-  if (cur_type != GST_SEEK_TYPE_SET ||
-      (stop_type != GST_SEEK_TYPE_SET && stop_type != GST_SEEK_TYPE_NONE))
-    goto wrong_type;
-
   /* 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 */
@@ -3778,6 +3766,10 @@
   if (format != GST_FORMAT_TIME || res)
     goto done;
 
+  if (start_type != GST_SEEK_TYPE_SET ||
+      (stop_type != GST_SEEK_TYPE_SET && stop_type != GST_SEEK_TYPE_NONE))
+    goto wrong_type;
+
   /* get flush flag */
   flush = flags & GST_SEEK_FLAG_FLUSH;
 
@@ -3787,7 +3779,7 @@
 
   GST_DEBUG_OBJECT (parse, "configuring seek");
   gst_segment_do_seek (&seeksegment, rate, format, flags,
-      cur_type, cur, stop_type, stop, &update);
+      start_type, start, stop_type, stop, &update);
 
   /* accurate seeking implies seek tables are used to obtain position,
    * and the requested segment is maintained exactly, not adjusted any way */
@@ -3916,7 +3908,7 @@
 
     /* Start streaming thread if paused */
     gst_pad_start_task (parse->sinkpad,
-        (GstTaskFunction) gst_base_parse_loop, parse->sinkpad);
+        (GstTaskFunction) gst_base_parse_loop, parse->sinkpad, NULL);
 
     GST_PAD_STREAM_UNLOCK (parse->sinkpad);
 
@@ -3997,6 +3989,10 @@
 
   gst_event_parse_tag (event, &taglist);
 
+  /* We only care about stream tags here */
+  if (gst_tag_list_get_scope (taglist) != GST_TAG_SCOPE_STREAM)
+    return;
+
   if (gst_tag_list_get_uint (taglist, GST_TAG_MINIMUM_BITRATE, &tmp)) {
     GST_DEBUG_OBJECT (parse, "upstream min bitrate %d", tmp);
     parse->priv->post_min_bitrate = FALSE;
diff --git a/libs/gst/base/gstbaseparse.h b/libs/gst/base/gstbaseparse.h
index d1793ac..5be3c93 100644
--- a/libs/gst/base/gstbaseparse.h
+++ b/libs/gst/base/gstbaseparse.h
@@ -39,8 +39,6 @@
  * @obj: base parse instance
  *
  * Gives the pointer to the source #GstPad object of the element.
- *
- * Since: 0.10.33
  */
 #define GST_BASE_PARSE_SRC_PAD(obj)    (GST_BASE_PARSE_CAST (obj)->srcpad)
 
@@ -49,8 +47,6 @@
  * @obj: base parse instance
  *
  * Gives the pointer to the sink #GstPad object of the element.
- *
- * Since: 0.10.33
  */
 #define GST_BASE_PARSE_SINK_PAD(obj)    (GST_BASE_PARSE_CAST (obj)->sinkpad)
 
@@ -60,8 +56,6 @@
  * A #GstFlowReturn that can be returned from parse_frame to
  * indicate that no output buffer was generated, or from pre_push_frame to
  * to forego pushing buffer.
- *
- * Since: 0.10.33
  */
 #define GST_BASE_PARSE_FLOW_DROPPED     GST_FLOW_CUSTOM_SUCCESS
 
@@ -74,8 +68,6 @@
  * @parse: base parse instance
  *
  * Obtains current sync status.
- *
- * Since: 0.10.33
  */
 #define GST_BASE_PARSE_LOST_SYNC(parse) (!!(GST_BASE_PARSE_CAST(parse)->flags & GST_BASE_PARSE_FLAG_LOST_SYNC))
 
@@ -85,8 +77,6 @@
  *
  * Obtains current drain status (ie. whether EOS has been received and
  * the parser is now processing the frames at the end of the stream)
- *
- * Since: 0.10.33
  */
 #define GST_BASE_PARSE_DRAINING(parse)  (!!(GST_BASE_PARSE_CAST(parse)->flags & GST_BASE_PARSE_FLAG_DRAINING))
 
@@ -110,8 +100,6 @@
  *    when the first non-queued frame is finished
  *
  * Flags to be used in a #GstBaseParseFrame.
- *
- * Since: 0.10.33
  */
 typedef enum {
   GST_BASE_PARSE_FRAME_FLAG_NONE         = 0,
@@ -143,8 +131,6 @@
  * than global parameters).  Some of these may apply to each parsing stage, others
  * only to some a particular one.  These parameters are effectively zeroed at start
  * of each frame's processing, i.e. parsing virtual method invocation sequence.
- *
- * Since: 0.10.33
  */
 typedef struct {
   GstBuffer * buffer;
@@ -226,7 +212,7 @@
  * @detect:         Optional.
  *                   Called until it doesn't return GST_FLOW_OK anymore for
  *                   the first buffers. Can be used by the subclass to detect
- *                   the stream format. Since: 0.10.36
+ *                   the stream format.
  *
  * Subclasses can override any of the available virtual methods or not, as
  * needed. At minimum @check_valid_frame and @parse_frame needs to be
diff --git a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c
index d1e9e70..db7ee02 100644
--- a/libs/gst/base/gstbasesink.c
+++ b/libs/gst/base/gstbasesink.c
@@ -20,7 +20,7 @@
  */
 
 /**
- * SECTION:gstbasesink
+ * SECTION:gstbasesink:
  * @short_description: Base class for sink elements
  * @see_also: #GstBaseTransform, #GstBaseSrc
  *
@@ -67,12 +67,12 @@
  * After synchronisation the virtual method #GstBaseSinkClass.render() will be
  * called. Subclasses should minimally implement this method.
  *
- * Since 0.10.3 subclasses that synchronise on the clock in the
- * #GstBaseSinkClass.render() method are supported as well. These classes
- * typically receive a buffer in the render method and can then potentially
- * block on the clock while rendering. A typical example is an audiosink.
- * Since 0.10.11 these subclasses can use gst_base_sink_wait_preroll() to
- * perform the blocking wait.
+ * Subclasses that synchronise on the clock in the #GstBaseSinkClass.render()
+ * method are supported as well. These classes typically receive a buffer in
+ * the render method and can then potentially block on the clock while
+ * rendering. A typical example is an audiosink.
+ * These subclasses can use gst_base_sink_wait_preroll() to perform the
+ * blocking wait.
  *
  * Upon receiving the EOS event in the PLAYING state, #GstBaseSink will wait
  * for the clock to reach the time indicated by the stop time of the last
@@ -131,9 +131,9 @@
  * information can then be used by upstream elements to reduce their processing
  * rate, for example.
  *
- * Since 0.10.15 the #GstBaseSink:async property can be used to instruct the
- * sink to never perform an ASYNC state change. This feature is mostly usable
- * when dealing with non-synchronized streams or sparse streams.
+ * The #GstBaseSink:async property can be used to instruct the sink to never
+ * perform an ASYNC state change. This feature is mostly usable when dealing
+ * with non-synchronized streams or sparse streams.
  *
  * Last reviewed on 2007-08-29 (0.10.15)
  */
@@ -261,8 +261,6 @@
   /* for throttling and QoS */
   GstClockTime earliest_in_time;
   GstClockTime throttle_time;
-
-  gboolean reset_time;
 };
 
 #define DO_RUNNING_AVG(avg,val,size) (((val) + ((size)-1) * (avg)) / (size))
@@ -432,27 +430,23 @@
           "Generate Quality-of-Service events upstream", DEFAULT_QOS,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
   /**
-   * GstBaseSink:async
+   * GstBaseSink:async:
    *
    * If set to #TRUE, the basesink will perform asynchronous state changes.
    * When set to #FALSE, the sink will not signal the parent when it prerolls.
    * Use this option when dealing with sparse streams or when synchronisation is
    * not required.
-   *
-   * Since: 0.10.15
    */
   g_object_class_install_property (gobject_class, PROP_ASYNC,
       g_param_spec_boolean ("async", "Async",
           "Go asynchronously to PAUSED", DEFAULT_ASYNC,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
   /**
-   * GstBaseSink:ts-offset
+   * GstBaseSink:ts-offset:
    *
    * Controls the final synchronisation, a negative value will render the buffer
    * earlier while a positive value delays playback. This property can be
    * used to fix synchronisation in bad files.
-   *
-   * Since: 0.10.15
    */
   g_object_class_install_property (gobject_class, PROP_TS_OFFSET,
       g_param_spec_int64 ("ts-offset", "TS Offset",
@@ -460,14 +454,12 @@
           DEFAULT_TS_OFFSET, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   /**
-   * GstBaseSink:enable-last-sample
+   * GstBaseSink:enable-last-sample:
    *
    * Enable the last-sample property. If FALSE, basesink doesn't keep a
    * reference to the last buffer arrived and the last-sample property is always
    * set to NULL. This can be useful if you need buffers to be released as soon
    * as possible, eg. if you're using a buffer pool.
-   *
-   * Since: 0.10.30
    */
   g_object_class_install_property (gobject_class, PROP_ENABLE_LAST_SAMPLE,
       g_param_spec_boolean ("enable-last-sample", "Enable Last Buffer",
@@ -475,24 +467,20 @@
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   /**
-   * GstBaseSink:last-sample
+   * GstBaseSink:last-sample:
    *
    * The last buffer that arrived in the sink and was used for preroll or for
    * rendering. This property can be used to generate thumbnails. This property
    * can be NULL when the sink has not yet received a bufer.
-   *
-   * Since: 0.10.15
    */
   g_object_class_install_property (gobject_class, PROP_LAST_SAMPLE,
       g_param_spec_boxed ("last-sample", "Last Sample",
           "The last sample received in the sink", GST_TYPE_SAMPLE,
           G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
   /**
-   * GstBaseSink:blocksize
+   * GstBaseSink:blocksize:
    *
    * The amount of bytes to pull when operating in pull mode.
-   *
-   * Since: 0.10.22
    */
   /* FIXME 0.11: blocksize property should be int, otherwise min>max.. */
   g_object_class_install_property (gobject_class, PROP_BLOCKSIZE,
@@ -500,26 +488,22 @@
           "Size in bytes to pull per buffer (0 = default)", 0, G_MAXUINT,
           DEFAULT_BLOCKSIZE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
   /**
-   * GstBaseSink:render-delay
+   * GstBaseSink:render-delay:
    *
    * The additional delay between synchronisation and actual rendering of the
    * media. This property will add additional latency to the device in order to
    * make other sinks compensate for the delay.
-   *
-   * Since: 0.10.22
    */
   g_object_class_install_property (gobject_class, PROP_RENDER_DELAY,
       g_param_spec_uint64 ("render-delay", "Render Delay",
           "Additional render delay of the sink in nanoseconds", 0, G_MAXUINT64,
           DEFAULT_RENDER_DELAY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
   /**
-   * GstBaseSink:throttle-time
+   * GstBaseSink:throttle-time:
    *
    * The time to insert between buffers. This property can be used to control
    * the maximum amount of buffers per second to render. Setting this property
    * to a value bigger than 0 will make the sink create THROTTLE QoS events.
-   *
-   * Since: 0.10.33
    */
   g_object_class_install_property (gobject_class, PROP_THROTTLE_TIME,
       g_param_spec_uint64 ("throttle-time", "Throttle time",
@@ -682,8 +666,6 @@
  * possible. If @sync is TRUE, the timestamps of the incomming
  * buffers will be used to schedule the exact render time of its
  * contents.
- *
- * Since: 0.10.4
  */
 void
 gst_base_sink_set_sync (GstBaseSink * sink, gboolean sync)
@@ -703,8 +685,6 @@
  * clock.
  *
  * Returns: TRUE if the sink is configured to synchronize against the clock.
- *
- * Since: 0.10.4
  */
 gboolean
 gst_base_sink_get_sync (GstBaseSink * sink)
@@ -729,8 +709,6 @@
  * used to decide if a buffer should be dropped or not based on the
  * buffer timestamp and the current clock time. A value of -1 means
  * an unlimited time.
- *
- * Since: 0.10.4
  */
 void
 gst_base_sink_set_max_lateness (GstBaseSink * sink, gint64 max_lateness)
@@ -752,8 +730,6 @@
  * Returns: The maximum time in nanoseconds that a buffer can be late
  * before it is dropped and not rendered. A value of -1 means an
  * unlimited time.
- *
- * Since: 0.10.4
  */
 gint64
 gst_base_sink_get_max_lateness (GstBaseSink * sink)
@@ -775,8 +751,6 @@
  * @enabled: the new qos value.
  *
  * Configures @sink to send Quality-of-Service events upstream.
- *
- * Since: 0.10.5
  */
 void
 gst_base_sink_set_qos_enabled (GstBaseSink * sink, gboolean enabled)
@@ -794,8 +768,6 @@
  * upstream.
  *
  * Returns: TRUE if the sink is configured to perform Quality-of-Service.
- *
- * Since: 0.10.5
  */
 gboolean
 gst_base_sink_is_qos_enabled (GstBaseSink * sink)
@@ -818,8 +790,6 @@
  * disabled, the sink will immediately go to PAUSED instead of waiting for a
  * preroll buffer. This feature is useful if the sink does not synchronize
  * against the clock or when it is dealing with sparse streams.
- *
- * Since: 0.10.15
  */
 void
 gst_base_sink_set_async_enabled (GstBaseSink * sink, gboolean enabled)
@@ -841,8 +811,6 @@
  *
  * Returns: TRUE if the sink is configured to perform asynchronous state
  * changes.
- *
- * Since: 0.10.15
  */
 gboolean
 gst_base_sink_is_async_enabled (GstBaseSink * sink)
@@ -865,8 +833,6 @@
  * render buffers earlier than their timestamp. A positive value will delay
  * rendering. This function can be used to fix playback of badly timestamped
  * buffers.
- *
- * Since: 0.10.15
  */
 void
 gst_base_sink_set_ts_offset (GstBaseSink * sink, GstClockTimeDiff offset)
@@ -886,8 +852,6 @@
  * Get the synchronisation offset of @sink.
  *
  * Returns: The synchronisation offset.
- *
- * Since: 0.10.15
  */
 GstClockTimeDiff
 gst_base_sink_get_ts_offset (GstBaseSink * sink)
@@ -917,8 +881,6 @@
  * Returns: (transfer full): a #GstSample. gst_sample_unref() after usage.
  *     This function returns NULL when no buffer has arrived in the sink yet
  *     or when the sink is not in PAUSED or PLAYING.
- *
- * Since: 0.10.15
  */
 GstSample *
 gst_base_sink_get_last_sample (GstBaseSink * sink)
@@ -984,8 +946,6 @@
  *
  * Configures @sink to store the last received sample in the last-sample
  * property.
- *
- * Since: 0.10.30
  */
 void
 gst_base_sink_set_last_sample_enabled (GstBaseSink * sink, gboolean enabled)
@@ -1009,8 +969,6 @@
  * the last-sample property.
  *
  * Returns: TRUE if the sink is configured to store the last received sample.
- *
- * Since: 0.10.30
  */
 gboolean
 gst_base_sink_is_last_sample_enabled (GstBaseSink * sink)
@@ -1027,8 +985,6 @@
  * Get the currently configured latency.
  *
  * Returns: The configured latency.
- *
- * Since: 0.10.12
  */
 GstClockTime
 gst_base_sink_get_latency (GstBaseSink * sink)
@@ -1062,8 +1018,6 @@
  * This function is mostly used by subclasses.
  *
  * Returns: TRUE if the query succeeded.
- *
- * Since: 0.10.12
  */
 gboolean
 gst_base_sink_query_latency (GstBaseSink * sink, gboolean * live,
@@ -1159,8 +1113,6 @@
  * other sinks will adjust their latency to delay the rendering of their media.
  *
  * This function is usually called by subclasses.
- *
- * Since: 0.10.21
  */
 void
 gst_base_sink_set_render_delay (GstBaseSink * sink, GstClockTime delay)
@@ -1191,8 +1143,6 @@
  * information about the render delay.
  *
  * Returns: the render delay of @sink.
- *
- * Since: 0.10.21
  */
 GstClockTime
 gst_base_sink_get_render_delay (GstBaseSink * sink)
@@ -1215,8 +1165,6 @@
  *
  * Set the number of bytes that the sink will pull when it is operating in pull
  * mode.
- *
- * Since: 0.10.22
  */
 /* FIXME 0.11: blocksize property should be int, otherwise min>max.. */
 void
@@ -1238,8 +1186,6 @@
  * mode.
  *
  * Returns: the number of bytes @sink will pull in pull mode.
- *
- * Since: 0.10.22
  */
 /* FIXME 0.11: blocksize property should be int, otherwise min>max.. */
 guint
@@ -1264,8 +1210,6 @@
  * Set the time that will be inserted between rendered buffers. This
  * can be used to control the maximum buffers per second that the sink
  * will render. 
- *
- * Since: 0.10.33
  */
 void
 gst_base_sink_set_throttle_time (GstBaseSink * sink, guint64 throttle)
@@ -1286,8 +1230,6 @@
  * maximum buffers per second.
  *
  * Returns: the number of nanoseconds @sink will put between frames.
- *
- * Since: 0.10.33
  */
 guint64
 gst_base_sink_get_throttle_time (GstBaseSink * sink)
@@ -1408,7 +1350,6 @@
   gboolean post_paused = FALSE;
   gboolean post_async_done = FALSE;
   gboolean post_playing = FALSE;
-  gboolean reset_time;
 
   /* we are certainly not playing async anymore now */
   basesink->playing_async = FALSE;
@@ -1418,8 +1359,6 @@
   next = GST_STATE_NEXT (basesink);
   pending = GST_STATE_PENDING (basesink);
   post_pending = pending;
-  reset_time = basesink->priv->reset_time;
-  basesink->priv->reset_time = FALSE;
 
   switch (pending) {
     case GST_STATE_PLAYING:
@@ -1470,7 +1409,8 @@
   if (post_async_done) {
     GST_DEBUG_OBJECT (basesink, "posting async-done message");
     gst_element_post_message (GST_ELEMENT_CAST (basesink),
-        gst_message_new_async_done (GST_OBJECT_CAST (basesink), reset_time));
+        gst_message_new_async_done (GST_OBJECT_CAST (basesink),
+            GST_CLOCK_TIME_NONE));
   }
   if (post_playing) {
     GST_DEBUG_OBJECT (basesink, "posting PLAYING state change message");
@@ -1556,16 +1496,30 @@
     current->start_start = segment->start;
 
   if (current->format == GST_FORMAT_TIME) {
-    end = current->start + current->amount;
+    /* calculate the running-time when the step operation should stop */
+    if (current->amount != -1)
+      end = current->start + current->amount;
+    else
+      end = -1;
+
     if (!current->flush) {
+      gint64 position;
+
       /* update the segment clipping regions for non-flushing seeks */
       if (segment->rate > 0.0) {
-        segment->stop = gst_segment_to_position (segment, GST_FORMAT_TIME, end);
-        segment->position = segment->stop;
-      } else {
-        gint64 position;
+        if (end != -1)
+          position = gst_segment_to_position (segment, GST_FORMAT_TIME, end);
+        else
+          position = segment->stop;
 
-        position = gst_segment_to_position (segment, GST_FORMAT_TIME, end);
+        segment->stop = position;
+        segment->position = position;
+      } else {
+        if (end != -1)
+          position = gst_segment_to_position (segment, GST_FORMAT_TIME, end);
+        else
+          position = segment->start;
+
         segment->time = position;
         segment->start = position;
         segment->position = position;
@@ -1577,14 +1531,9 @@
   GST_DEBUG_OBJECT (sink, "step started at running_time %" GST_TIME_FORMAT,
       GST_TIME_ARGS (current->start));
 
-  if (current->amount == -1) {
-    GST_DEBUG_OBJECT (sink, "step amount == -1, stop stepping");
-    current->valid = FALSE;
-  } else {
-    GST_DEBUG_OBJECT (sink, "step amount: %" G_GUINT64_FORMAT ", format: %s, "
-        "rate: %f", current->amount, gst_format_get_name (current->format),
-        current->rate);
-  }
+  GST_DEBUG_OBJECT (sink, "step amount: %" G_GUINT64_FORMAT ", format: %s, "
+      "rate: %f", current->amount, gst_format_get_name (current->format),
+      current->rate);
 }
 
 static void
@@ -1655,6 +1604,10 @@
 {
   gboolean step_end = FALSE;
 
+  /* stepping never stops */
+  if (current->amount == -1)
+    return FALSE;
+
   /* see if we need to skip this buffer because of stepping */
   switch (current->format) {
     case GST_FORMAT_TIME:
@@ -1749,7 +1702,6 @@
     gboolean * stepped, GstStepInfo * step, gboolean * step_end)
 {
   GstBaseSinkClass *bclass;
-  GstBuffer *buffer;
   GstClockTime start, stop;     /* raw start/stop timestamps */
   guint64 cstart, cstop;        /* clipped raw timestamps */
   guint64 rstart, rstop;        /* clipped timestamps converted to running time */
@@ -1762,8 +1714,12 @@
   priv = basesink->priv;
   segment = &basesink->segment;
 
+  bclass = GST_BASE_SINK_GET_CLASS (basesink);
+
+again:
   /* start with nothing */
   start = stop = GST_CLOCK_TIME_NONE;
+  eos = FALSE;
 
   if (G_UNLIKELY (GST_IS_EVENT (obj))) {
     GstEvent *event = GST_EVENT_CAST (obj);
@@ -1797,32 +1753,40 @@
         eos = TRUE;
         goto eos_done;
       }
+      case GST_EVENT_GAP:
+      {
+        GstClockTime timestamp, duration;
+        gst_event_parse_gap (event, &timestamp, &duration);
+
+        if (GST_CLOCK_TIME_IS_VALID (timestamp)) {
+          start = timestamp;
+          if (GST_CLOCK_TIME_IS_VALID (duration))
+            stop = start + duration;
+        }
+        *do_sync = TRUE;
+        break;
+      }
       default:
         /* other events do not need syncing */
         return FALSE;
     }
-  }
-
-  eos = FALSE;
-
-again:
-  /* else do buffer sync code */
-  buffer = GST_BUFFER_CAST (obj);
-
-  bclass = GST_BASE_SINK_GET_CLASS (basesink);
-
-  /* just get the times to see if we need syncing, if the start returns -1 we
-   * don't sync. */
-  if (bclass->get_times)
-    bclass->get_times (basesink, buffer, &start, &stop);
-
-  if (!GST_CLOCK_TIME_IS_VALID (start)) {
-    /* we don't need to sync but we still want to get the timestamps for
-     * tracking the position */
-    gst_base_sink_default_get_times (basesink, buffer, &start, &stop);
-    *do_sync = FALSE;
   } else {
-    *do_sync = TRUE;
+    /* else do buffer sync code */
+    GstBuffer *buffer = GST_BUFFER_CAST (obj);
+
+    /* just get the times to see if we need syncing, if the start returns -1 we
+     * don't sync. */
+    if (bclass->get_times)
+      bclass->get_times (basesink, buffer, &start, &stop);
+
+    if (!GST_CLOCK_TIME_IS_VALID (start)) {
+      /* we don't need to sync but we still want to get the timestamps for
+       * tracking the position */
+      gst_base_sink_default_get_times (basesink, buffer, &start, &stop);
+      *do_sync = FALSE;
+    } else {
+      *do_sync = TRUE;
+    }
   }
 
   GST_DEBUG_OBJECT (basesink, "got times start: %" GST_TIME_FORMAT
@@ -1969,8 +1933,6 @@
  * return and is not adjusted with any latency or offset configured in the
  * sink.
  *
- * Since: 0.10.20
- *
  * Returns: #GstClockReturn
  */
 GstClockReturn
@@ -2003,8 +1965,8 @@
   /* FIXME: Casting to GstClockEntry only works because the types
    * are the same */
   if (G_LIKELY (sink->priv->cached_clock_id != NULL
-          && GST_CLOCK_ENTRY_CLOCK ((GstClockEntry *) sink->
-              priv->cached_clock_id) == clock)) {
+          && GST_CLOCK_ENTRY_CLOCK ((GstClockEntry *) sink->priv->
+              cached_clock_id) == clock)) {
     if (!gst_clock_single_shot_id_reinit (clock, sink->priv->cached_clock_id,
             time)) {
       gst_clock_id_unref (sink->priv->cached_clock_id);
@@ -2070,8 +2032,6 @@
  *
  * Returns: #GST_FLOW_OK if the preroll completed and processing can
  * continue. Any other return value should be returned from the render vmethod.
- *
- * Since: 0.10.11
  */
 GstFlowReturn
 gst_base_sink_wait_preroll (GstBaseSink * sink)
@@ -2117,8 +2077,6 @@
  *
  * Returns: #GST_FLOW_OK if the preroll completed and processing can
  * continue. Any other return value should be returned from the render vmethod.
- *
- * Since: 0.10.22
  */
 GstFlowReturn
 gst_base_sink_do_preroll (GstBaseSink * sink, GstMiniObject * obj)
@@ -2204,27 +2162,27 @@
 }
 
 /**
- * gst_base_sink_wait_eos:
+ * gst_base_sink_wait:
  * @sink: the sink
  * @time: the running_time to be reached
  * @jitter: (out) (allow-none): the jitter to be filled with time diff, or NULL
  *
- * This function will block until @time is reached. It is usually called by
- * subclasses that use their own internal synchronisation but want to let the
- * EOS be handled by the base class.
+ * This function will wait for preroll to complete and will then block until @time
+ * is reached. It is usually called by subclasses that use their own internal
+ * synchronisation but want to let some synchronization (like EOS) be handled
+ * by the base class.
  *
- * This function should only be called with the PREROLL_LOCK held, like when
- * receiving an EOS event in the ::event vmethod.
+ * This function should only be called with the PREROLL_LOCK held (like when
+ * receiving an EOS event in the ::event vmethod or when handling buffers in
+ * ::render).
  *
- * The @time argument should be the running_time of when the EOS should happen
+ * The @time argument should be the running_time of when the timeout should happen
  * and will be adjusted with any latency and offset configured in the sink.
  *
  * Returns: #GstFlowReturn
- *
- * Since: 0.10.15
  */
 GstFlowReturn
-gst_base_sink_wait_eos (GstBaseSink * sink, GstClockTime time,
+gst_base_sink_wait (GstBaseSink * sink, GstClockTime time,
     GstClockTimeDiff * jitter)
 {
   GstClockReturn status;
@@ -2824,8 +2782,13 @@
       gst_segment_init (&basesink->segment, GST_FORMAT_UNDEFINED);
     }
   }
-  basesink->priv->reset_time = reset_time;
   GST_OBJECT_UNLOCK (basesink);
+
+  if (reset_time) {
+    GST_DEBUG_OBJECT (basesink, "posting reset-time message");
+    gst_element_post_message (GST_ELEMENT_CAST (basesink),
+        gst_message_new_reset_time (GST_OBJECT_CAST (basesink), 0));
+  }
 }
 
 static GstFlowReturn
@@ -2904,6 +2867,19 @@
       gst_element_post_message (GST_ELEMENT_CAST (basesink), message);
       break;
     }
+    case GST_EVENT_STREAM_START:
+    {
+      GstMessage *message;
+      guint32 seqnum;
+
+      seqnum = gst_event_get_seqnum (event);
+      GST_DEBUG_OBJECT (basesink, "Now posting STREAM_START (seqnum:%d)",
+          seqnum);
+      message = gst_message_new_stream_start (GST_OBJECT_CAST (basesink));
+      gst_message_set_seqnum (message, seqnum);
+      gst_element_post_message (GST_ELEMENT_CAST (basesink), message);
+      break;
+    }
     case GST_EVENT_CAPS:
     {
       GstCaps *caps;
@@ -2946,6 +2922,19 @@
               gst_tag_list_copy (taglist)));
       break;
     }
+    case GST_EVENT_TOC:
+    {
+      GstToc *toc;
+      gboolean updated;
+
+      gst_event_parse_toc (event, &toc, &updated);
+
+      gst_element_post_message (GST_ELEMENT_CAST (basesink),
+          gst_message_new_toc (GST_OBJECT_CAST (basesink), toc, updated));
+
+      gst_toc_unref (toc);
+      break;
+    }
     case GST_EVENT_SINK_MESSAGE:
     {
       GstMessage *msg = NULL;
@@ -3352,7 +3341,7 @@
     guint i, len;
     GstBuffer *buffer;
 
-    GST_INFO_OBJECT (pad, "chaining each group in list as a merged buffer");
+    GST_INFO_OBJECT (pad, "chaining each buffer in list");
 
     len = gst_buffer_list_length (list);
 
@@ -3402,8 +3391,8 @@
    *     seek format, adjust by the relative seek offset and then convert back to
    *     the processing format
    */
-  GstSeekType cur_type, stop_type;
-  gint64 cur, stop;
+  GstSeekType start_type, stop_type;
+  gint64 start, stop;
   GstSeekFlags flags;
   GstFormat seek_format;
   gdouble rate;
@@ -3411,24 +3400,24 @@
   gboolean res = TRUE;
 
   gst_event_parse_seek (event, &rate, &seek_format, &flags,
-      &cur_type, &cur, &stop_type, &stop);
+      &start_type, &start, &stop_type, &stop);
 
   if (seek_format == segment->format) {
     gst_segment_do_seek (segment, rate, seek_format, flags,
-        cur_type, cur, stop_type, stop, &update);
+        start_type, start, stop_type, stop, &update);
     return TRUE;
   }
 
-  if (cur_type != GST_SEEK_TYPE_NONE) {
-    /* FIXME: Handle seek_cur & seek_end by converting the input segment vals */
+  if (start_type != GST_SEEK_TYPE_NONE) {
+    /* FIXME: Handle seek_end by converting the input segment vals */
     res =
-        gst_pad_query_convert (sink->sinkpad, seek_format, cur, segment->format,
-        &cur);
-    cur_type = GST_SEEK_TYPE_SET;
+        gst_pad_query_convert (sink->sinkpad, seek_format, start,
+        segment->format, &start);
+    start_type = GST_SEEK_TYPE_SET;
   }
 
   if (res && stop_type != GST_SEEK_TYPE_NONE) {
-    /* FIXME: Handle seek_cur & seek_end by converting the input segment vals */
+    /* FIXME: Handle seek_end by converting the input segment vals */
     res =
         gst_pad_query_convert (sink->sinkpad, seek_format, stop,
         segment->format, &stop);
@@ -3436,7 +3425,7 @@
   }
 
   /* And finally, configure our output segment in the desired format */
-  gst_segment_do_seek (segment, rate, segment->format, flags, cur_type, cur,
+  gst_segment_do_seek (segment, rate, segment->format, flags, start_type, start,
       stop_type, stop, &update);
 
   if (!res)
@@ -3459,9 +3448,9 @@
   gdouble rate;
   GstFormat seek_format, dest_format;
   GstSeekFlags flags;
-  GstSeekType cur_type, stop_type;
+  GstSeekType start_type, stop_type;
   gboolean seekseg_configured = FALSE;
-  gint64 cur, stop;
+  gint64 start, stop;
   gboolean update, res = TRUE;
   GstSegment seeksegment;
 
@@ -3470,7 +3459,7 @@
   if (event) {
     GST_DEBUG_OBJECT (sink, "performing seek with event %p", event);
     gst_event_parse_seek (event, &rate, &seek_format, &flags,
-        &cur_type, &cur, &stop_type, &stop);
+        &start_type, &start, &stop_type, &stop);
 
     flush = flags & GST_SEEK_FLAG_FLUSH;
   } else {
@@ -3510,7 +3499,7 @@
         /* The seek format matches our processing format, no need to ask the
          * the subclass to configure the segment. */
         gst_segment_do_seek (&seeksegment, rate, seek_format, flags,
-            cur_type, cur, stop_type, stop, &update);
+            start_type, start, stop_type, stop, &update);
       }
     }
     /* Else, no seek event passed, so we're just (re)starting the
@@ -3551,7 +3540,7 @@
   if (res) {
     gst_segment_copy_into (&seeksegment, &sink->segment);
 
-    if (sink->segment.flags & GST_SEEK_FLAG_SEGMENT) {
+    if (sink->segment.flags & GST_SEGMENT_FLAG_SEGMENT) {
       gst_element_post_message (GST_ELEMENT (sink),
           gst_message_new_segment_start (GST_OBJECT (sink),
               sink->segment.format, sink->segment.position));
@@ -3720,10 +3709,13 @@
     gst_pad_pause_task (pad);
     if (result == GST_FLOW_EOS) {
       /* perform EOS logic */
-      if (basesink->segment.flags & GST_SEEK_FLAG_SEGMENT) {
+      if (basesink->segment.flags & GST_SEGMENT_FLAG_SEGMENT) {
         gst_element_post_message (GST_ELEMENT_CAST (basesink),
             gst_message_new_segment_done (GST_OBJECT_CAST (basesink),
                 basesink->segment.format, basesink->segment.position));
+        gst_base_sink_event (pad, parent,
+            gst_event_new_segment_done (basesink->segment.format,
+                basesink->segment.position));
       } else {
         gst_base_sink_event (pad, parent, gst_event_new_eos ());
       }
@@ -3814,7 +3806,7 @@
   if (active) {
     /* start task */
     result = gst_pad_start_task (basesink->sinkpad,
-        (GstTaskFunction) gst_base_sink_loop, basesink->sinkpad);
+        (GstTaskFunction) gst_base_sink_loop, basesink->sinkpad, NULL);
   } else {
     /* step 2, make sure streaming finishes */
     result = gst_pad_stop_task (basesink->sinkpad);
@@ -3963,8 +3955,7 @@
     GST_DEBUG_OBJECT (basesink, "fixated to: %" GST_PTR_FORMAT, caps);
 
     if (gst_caps_is_fixed (caps)) {
-      if (!gst_pad_send_event (GST_BASE_SINK_PAD (basesink),
-              gst_event_new_caps (caps)))
+      if (!gst_pad_set_caps (GST_BASE_SINK_PAD (basesink), caps))
         goto could_not_set_caps;
 
       result = TRUE;
@@ -4644,7 +4635,6 @@
       priv->step_unlock = FALSE;
       basesink->need_preroll = TRUE;
       basesink->playing_async = TRUE;
-      basesink->priv->reset_time = FALSE;
       priv->current_sstart = GST_CLOCK_TIME_NONE;
       priv->current_sstop = GST_CLOCK_TIME_NONE;
       priv->eos_rtime = GST_CLOCK_TIME_NONE;
@@ -4806,7 +4796,8 @@
                   GST_STATE_PLAYING, GST_STATE_PAUSED, GST_STATE_READY));
 
           gst_element_post_message (GST_ELEMENT_CAST (basesink),
-              gst_message_new_async_done (GST_OBJECT_CAST (basesink), FALSE));
+              gst_message_new_async_done (GST_OBJECT_CAST (basesink),
+                  GST_CLOCK_TIME_NONE));
         }
         priv->commited = TRUE;
       } else {
diff --git a/libs/gst/base/gstbasesink.h b/libs/gst/base/gstbasesink.h
index bf7a41f..42e627c 100644
--- a/libs/gst/base/gstbasesink.h
+++ b/libs/gst/base/gstbasesink.h
@@ -125,7 +125,7 @@
  *     unblock any blocked function ASAP
  * @unlock_stop: Clear the previous unlock request. Subclasses should clear
  *     any state they set during unlock(), such as clearing command queues.
- * @query: perform a #GstQuery on the element. Since: 0.10.36
+ * @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.
@@ -137,7 +137,7 @@
  * @render: Called when a buffer should be presented or output, at the
  *     correct moment if the #GstBaseSink has been set to sync to the clock.
  * @render_list: Same as @render but used whith buffer lists instead of
- *     buffers. Since: 0.10.24
+ *     buffers.
  *
  * Subclasses can override any of the available virtual methods or not, as
  * needed. At the minimum, the @render method should be overridden to
@@ -246,7 +246,7 @@
 
 GstClockReturn  gst_base_sink_wait_clock        (GstBaseSink *sink, GstClockTime time,
                                                  GstClockTimeDiff * jitter);
-GstFlowReturn   gst_base_sink_wait_eos          (GstBaseSink *sink, GstClockTime time,
+GstFlowReturn   gst_base_sink_wait              (GstBaseSink *sink, GstClockTime time,
                                                  GstClockTimeDiff *jitter);
 
 G_END_DECLS
diff --git a/libs/gst/base/gstbasesrc.c b/libs/gst/base/gstbasesrc.c
index c5fad37..8714ab9 100644
--- a/libs/gst/base/gstbasesrc.c
+++ b/libs/gst/base/gstbasesrc.c
@@ -90,7 +90,7 @@
  * distributed and running.
  *
  * Live sources that synchronize and block on the clock (an audio source, for
- * example) can since 0.10.12 use gst_base_src_wait_playing() when the
+ * example) can use gst_base_src_wait_playing() when the
  * #GstBaseSrcClass.create() function was interrupted by a state change to
  * PAUSED.
  *
@@ -138,8 +138,8 @@
  * EOS message posted on the pipeline's bus to know when all data has
  * been processed and the pipeline can safely be stopped.
  *
- * Since GStreamer 0.10.16 an application may send an EOS event to a source
- * element to make it perform the EOS logic (send EOS event downstream or post a
+ * An application may send an EOS event to a source element to make it
+ * perform the EOS logic (send EOS event downstream or post a
  * #GST_MESSAGE_SEGMENT_DONE on the bus). This can typically be done
  * with the gst_element_send_event() function on the element or its parent bin.
  *
@@ -484,8 +484,6 @@
  * to a state change to READY or a FLUSH event (in which case this function
  * returns #GST_FLOW_FLUSHING).
  *
- * Since: 0.10.12
- *
  * Returns: #GST_FLOW_OK if @src is PLAYING and processing can
  * continue. Any other return value should be returned from the create vmethod.
  */
@@ -571,8 +569,6 @@
  * operate in pull mode if the #GstBaseSrcClass.is_seekable() returns TRUE.
  *
  * This function must only be called in states < %GST_STATE_PAUSED.
- *
- * Since: 0.10.1
  */
 void
 gst_base_src_set_format (GstBaseSrc * src, GstFormat format)
@@ -593,8 +589,6 @@
  * If not @dynamic, size is only updated when needed, such as when trying to
  * read past current tracked size.  Otherwise, size is checked for upon each
  * read.
- *
- * Since: 0.10.36
  */
 void
 gst_base_src_set_dynamic_size (GstBaseSrc * src, gboolean dynamic)
@@ -662,8 +656,6 @@
  * This function is mostly used by subclasses.
  *
  * Returns: TRUE if the query succeeded.
- *
- * Since: 0.10.13
  */
 gboolean
 gst_base_src_query_latency (GstBaseSrc * src, gboolean * live,
@@ -705,8 +697,6 @@
  *
  * Set the number of bytes that @src will push out with each buffer. When
  * @blocksize is set to -1, a default length will be used.
- *
- * Since: 0.10.22
  */
 void
 gst_base_src_set_blocksize (GstBaseSrc * src, guint blocksize)
@@ -725,8 +715,6 @@
  * Get the number of bytes that @src will push out with each buffer.
  *
  * Returns: the number of bytes pushed with each buffer.
- *
- * Since: 0.10.22
  */
 guint
 gst_base_src_get_blocksize (GstBaseSrc * src)
@@ -751,8 +739,6 @@
  * Configure @src to automatically timestamp outgoing buffers based on the
  * current running_time of the pipeline. This property is mostly useful for live
  * sources.
- *
- * Since: 0.10.15
  */
 void
 gst_base_src_set_do_timestamp (GstBaseSrc * src, gboolean timestamp)
@@ -771,8 +757,6 @@
  * Query if @src timestamps outgoing buffers based on the current running_time.
  *
  * Returns: %TRUE if the base class will automatically timestamp outgoing buffers.
- *
- * Since: 0.10.15
  */
 gboolean
 gst_base_src_get_do_timestamp (GstBaseSrc * src)
@@ -803,8 +787,6 @@
  * configured with gst_base_src_set_format()
  *
  * Returns: %TRUE if preparation of the seamless segment succeeded.
- *
- * Since: 0.10.26
  */
 gboolean
 gst_base_src_new_seamless_segment (GstBaseSrc * src, gint64 start, gint64 stop,
@@ -841,8 +823,17 @@
   gboolean ret = TRUE;
 
   if (src->priv->stream_start_pending) {
-    ret = gst_pad_push_event (src->srcpad, gst_event_new_stream_start ());
+    gchar *stream_id;
+
+    stream_id =
+        gst_pad_create_stream_id (src->srcpad, GST_ELEMENT_CAST (src), NULL);
+
+    GST_DEBUG_OBJECT (src, "Pushing STREAM_START");
+    ret =
+        gst_pad_push_event (src->srcpad,
+        gst_event_new_stream_start (stream_id));
     src->priv->stream_start_pending = FALSE;
+    g_free (stream_id);
   }
 
   return ret;
@@ -866,10 +857,11 @@
   bclass = GST_BASE_SRC_GET_CLASS (src);
 
   gst_base_src_send_stream_start (src);
-  gst_pad_push_event (src->srcpad, gst_event_new_caps (caps));
 
   if (bclass->set_caps)
     res = bclass->set_caps (src, caps);
+  if (res)
+    res = gst_pad_set_caps (src->srcpad, caps);
 
   return res;
 }
@@ -1210,6 +1202,22 @@
         res = FALSE;
       break;
     }
+    case GST_QUERY_URI:{
+      if (GST_IS_URI_HANDLER (src)) {
+        gchar *uri = gst_uri_handler_get_uri (GST_URI_HANDLER (src));
+
+        if (uri != NULL) {
+          gst_query_set_uri (query, uri);
+          g_free (uri);
+          res = TRUE;
+        } else {
+          res = FALSE;
+        }
+      } else {
+        res = FALSE;
+      }
+      break;
+    }
     default:
       res = FALSE;
       break;
@@ -1282,8 +1290,8 @@
    *     seek format, adjust by the relative seek offset and then convert back to
    *     the processing format
    */
-  GstSeekType cur_type, stop_type;
-  gint64 cur, stop;
+  GstSeekType start_type, stop_type;
+  gint64 start, stop;
   GstSeekFlags flags;
   GstFormat seek_format, dest_format;
   gdouble rate;
@@ -1291,25 +1299,25 @@
   gboolean res = TRUE;
 
   gst_event_parse_seek (event, &rate, &seek_format, &flags,
-      &cur_type, &cur, &stop_type, &stop);
+      &start_type, &start, &stop_type, &stop);
   dest_format = segment->format;
 
   if (seek_format == dest_format) {
     gst_segment_do_seek (segment, rate, seek_format, flags,
-        cur_type, cur, stop_type, stop, &update);
+        start_type, start, stop_type, stop, &update);
     return TRUE;
   }
 
-  if (cur_type != GST_SEEK_TYPE_NONE) {
-    /* FIXME: Handle seek_cur & seek_end by converting the input segment vals */
+  if (start_type != GST_SEEK_TYPE_NONE) {
+    /* FIXME: Handle seek_end by converting the input segment vals */
     res =
-        gst_pad_query_convert (src->srcpad, seek_format, cur, dest_format,
-        &cur);
-    cur_type = GST_SEEK_TYPE_SET;
+        gst_pad_query_convert (src->srcpad, seek_format, start, dest_format,
+        &start);
+    start_type = GST_SEEK_TYPE_SET;
   }
 
   if (res && stop_type != GST_SEEK_TYPE_NONE) {
-    /* FIXME: Handle seek_cur & seek_end by converting the input segment vals */
+    /* FIXME: Handle seek_end by converting the input segment vals */
     res =
         gst_pad_query_convert (src->srcpad, seek_format, stop, dest_format,
         &stop);
@@ -1317,7 +1325,7 @@
   }
 
   /* And finally, configure our output segment in the desired format */
-  gst_segment_do_seek (segment, rate, dest_format, flags, cur_type, cur,
+  gst_segment_do_seek (segment, rate, dest_format, flags, start_type, start,
       stop_type, stop, &update);
 
   if (!res)
@@ -1482,14 +1490,14 @@
  * instead of EOS when doing a segment seek.
  */
 static gboolean
-gst_base_src_perform_seek (GstBaseSrc * src, GstEvent * event)
+gst_base_src_perform_seek (GstBaseSrc * src, GstEvent * event, gboolean unlock)
 {
   gboolean res = TRUE, tres;
   gdouble rate;
   GstFormat seek_format, dest_format;
   GstSeekFlags flags;
-  GstSeekType cur_type, stop_type;
-  gint64 cur, stop;
+  GstSeekType start_type, stop_type;
+  gint64 start, stop;
   gboolean flush, playing;
   gboolean update;
   gboolean relative_seek = FALSE;
@@ -1506,9 +1514,9 @@
 
   if (event) {
     gst_event_parse_seek (event, &rate, &seek_format, &flags,
-        &cur_type, &cur, &stop_type, &stop);
+        &start_type, &start, &stop_type, &stop);
 
-    relative_seek = SEEK_TYPE_IS_RELATIVE (cur_type) ||
+    relative_seek = SEEK_TYPE_IS_RELATIVE (start_type) ||
         SEEK_TYPE_IS_RELATIVE (stop_type);
 
     if (dest_format != seek_format && !relative_seek) {
@@ -1541,7 +1549,8 @@
     gst_pad_pause_task (src->srcpad);
 
   /* unblock streaming thread. */
-  gst_base_src_set_flushing (src, TRUE, FALSE, &playing);
+  if (unlock)
+    gst_base_src_set_flushing (src, TRUE, FALSE, &playing);
 
   /* grab streaming lock, this should eventually be possible, either
    * because the task is paused, our streaming thread stopped
@@ -1556,7 +1565,8 @@
     GST_DEBUG_OBJECT (src, "seek with seqnum %" G_GUINT32_FORMAT, seqnum);
   }
 
-  gst_base_src_set_flushing (src, FALSE, playing, NULL);
+  if (unlock)
+    gst_base_src_set_flushing (src, FALSE, playing, NULL);
 
   /* If we configured the seeksegment above, don't overwrite it now. Otherwise
    * copy the current segment info into the temp segment that we can actually
@@ -1579,7 +1589,7 @@
         /* The seek format matches our processing format, no need to ask the
          * the subclass to configure the segment. */
         gst_segment_do_seek (&seeksegment, rate, seek_format, flags,
-            cur_type, cur, stop_type, stop, &update);
+            start_type, start, stop_type, stop, &update);
       }
     }
     /* Else, no seek event passed, so we're just (re)starting the
@@ -1619,7 +1629,7 @@
     memcpy (&src->segment, &seeksegment, sizeof (GstSegment));
     GST_OBJECT_UNLOCK (src);
 
-    if (seeksegment.flags & GST_SEEK_FLAG_SEGMENT) {
+    if (seeksegment.flags & GST_SEGMENT_FLAG_SEGMENT) {
       GstMessage *message;
 
       message = gst_message_new_segment_start (GST_OBJECT (src),
@@ -1642,7 +1652,7 @@
   /* and restart the task in case it got paused explicitly or by
    * the FLUSH_START event we pushed out. */
   tres = gst_pad_start_task (src->srcpad, (GstTaskFunction) gst_base_src_loop,
-      src->srcpad);
+      src->srcpad, NULL);
   if (res && !tres)
     res = FALSE;
 
@@ -1674,9 +1684,19 @@
   switch (GST_EVENT_TYPE (event)) {
       /* bidirectional events */
     case GST_EVENT_FLUSH_START:
+      GST_DEBUG_OBJECT (src, "pushing flush-start event downstream");
+      result = gst_pad_push_event (src->srcpad, event);
+      event = NULL;
+      break;
     case GST_EVENT_FLUSH_STOP:
+      GST_LIVE_LOCK (src->srcpad);
+      src->priv->segment_pending = TRUE;
       /* sending random flushes downstream can break stuff,
        * especially sync since all segment info will get flushed */
+      GST_DEBUG_OBJECT (src, "pushing flush-stop event downstream");
+      result = gst_pad_push_event (src->srcpad, event);
+      GST_LIVE_UNLOCK (src->srcpad);
+      event = NULL;
       break;
 
       /* downstream serialized events */
@@ -1761,7 +1781,7 @@
         GST_DEBUG_OBJECT (src, "performing seek");
         /* when we are running in push mode, we can execute the
          * seek right now. */
-        result = gst_base_src_perform_seek (src, event);
+        result = gst_base_src_perform_seek (src, event, TRUE);
       } else {
         GstEvent **event_p;
 
@@ -1856,7 +1876,7 @@
       if (!gst_base_src_seekable (src))
         goto not_seekable;
 
-      result = gst_base_src_perform_seek (src, event);
+      result = gst_base_src_perform_seek (src, event, TRUE);
       break;
     case GST_EVENT_FLUSH_START:
       /* cancel any blocking getrange, is normally called
@@ -2012,7 +2032,7 @@
   GstBaseSrcClass *bclass;
   GstClockTime base_time;
   GstClock *clock;
-  GstClockTime now = GST_CLOCK_TIME_NONE, timestamp;
+  GstClockTime now = GST_CLOCK_TIME_NONE, pts, dts, timestamp;
   gboolean do_timestamp, first, pseudo_live, is_live;
 
   bclass = GST_BASE_SRC_GET_CLASS (basesrc);
@@ -2022,7 +2042,13 @@
     bclass->get_times (basesrc, buffer, &start, &end);
 
   /* get buffer timestamp */
-  timestamp = GST_BUFFER_TIMESTAMP (buffer);
+  dts = GST_BUFFER_DTS (buffer);
+  pts = GST_BUFFER_PTS (buffer);
+
+  if (GST_CLOCK_TIME_IS_VALID (dts))
+    timestamp = dts;
+  else
+    timestamp = pts;
 
   /* grab the lock to prepare for clocking and calculate the startup
    * latency. */
@@ -2081,9 +2107,9 @@
     running_time = now - base_time;
 
     GST_LOG_OBJECT (basesrc,
-        "startup timestamp: %" GST_TIME_FORMAT ", running_time %"
-        GST_TIME_FORMAT, GST_TIME_ARGS (timestamp),
-        GST_TIME_ARGS (running_time));
+        "startup PTS: %" GST_TIME_FORMAT ", DTS %" GST_TIME_FORMAT
+        ", running_time %" GST_TIME_FORMAT, GST_TIME_ARGS (pts),
+        GST_TIME_ARGS (dts), GST_TIME_ARGS (running_time));
 
     if (pseudo_live && timestamp != -1) {
       /* live source and we need to sync, add startup latency to all timestamps
@@ -2098,40 +2124,50 @@
       GST_LOG_OBJECT (basesrc, "no timestamp offset needed");
     }
 
-    if (!GST_CLOCK_TIME_IS_VALID (timestamp)) {
-      if (do_timestamp)
-        timestamp = running_time;
-      else
-        timestamp = 0;
+    if (!GST_CLOCK_TIME_IS_VALID (dts)) {
+      if (do_timestamp) {
+        dts = running_time;
+      } else {
+        dts = 0;
+      }
+      GST_BUFFER_DTS (buffer) = dts;
 
-      GST_BUFFER_TIMESTAMP (buffer) = timestamp;
-
-      GST_LOG_OBJECT (basesrc, "created timestamp: %" GST_TIME_FORMAT,
-          GST_TIME_ARGS (timestamp));
+      GST_LOG_OBJECT (basesrc, "created DTS %" GST_TIME_FORMAT,
+          GST_TIME_ARGS (dts));
     }
-
-    /* add the timestamp offset we need for sync */
-    timestamp += basesrc->priv->ts_offset;
   } else {
     /* not the first buffer, the timestamp is the diff between the clock and
      * base_time */
-    if (do_timestamp && !GST_CLOCK_TIME_IS_VALID (timestamp)) {
+    if (do_timestamp && !GST_CLOCK_TIME_IS_VALID (dts)) {
       now = gst_clock_get_time (clock);
 
-      GST_BUFFER_TIMESTAMP (buffer) = now - base_time;
+      dts = now - base_time;
+      GST_BUFFER_DTS (buffer) = dts;
 
-      GST_LOG_OBJECT (basesrc, "created timestamp: %" GST_TIME_FORMAT,
-          GST_TIME_ARGS (now - base_time));
+      GST_LOG_OBJECT (basesrc, "created DTS %" GST_TIME_FORMAT,
+          GST_TIME_ARGS (dts));
     }
   }
+  if (!GST_CLOCK_TIME_IS_VALID (pts)) {
+    if (!GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_FLAG_DELTA_UNIT))
+      pts = dts;
+
+    GST_BUFFER_PTS (buffer) = dts;
+
+    GST_LOG_OBJECT (basesrc, "created PTS %" GST_TIME_FORMAT,
+        GST_TIME_ARGS (pts));
+  }
 
   /* if we don't have a buffer timestamp, we don't sync */
   if (!GST_CLOCK_TIME_IS_VALID (start))
     goto no_sync;
 
-  if (is_live && GST_CLOCK_TIME_IS_VALID (timestamp)) {
+  if (is_live) {
     /* for pseudo live sources, add our ts_offset to the timestamp */
-    GST_BUFFER_TIMESTAMP (buffer) += basesrc->priv->ts_offset;
+    if (GST_CLOCK_TIME_IS_VALID (pts))
+      GST_BUFFER_PTS (buffer) += basesrc->priv->ts_offset;
+    if (GST_CLOCK_TIME_IS_VALID (dts))
+      GST_BUFFER_DTS (buffer) += basesrc->priv->ts_offset;
     start += basesrc->priv->ts_offset;
   }
 
@@ -2251,6 +2287,7 @@
   GstBaseSrcClass *bclass;
   GstClockReturn status;
   GstBuffer *res_buf;
+  GstBuffer *in_buf;
 
   bclass = GST_BASE_SRC_GET_CLASS (src);
 
@@ -2296,7 +2333,7 @@
       "calling create offset %" G_GUINT64_FORMAT " length %u, time %"
       G_GINT64_FORMAT, offset, length, src->segment.time);
 
-  res_buf = *buf;
+  res_buf = in_buf = *buf;
 
   ret = bclass->create (src, offset, length, &res_buf);
 
@@ -2314,12 +2351,31 @@
   if (G_UNLIKELY (ret != GST_FLOW_OK))
     goto not_ok;
 
+  /* fallback in case the create function didn't fill a provided buffer */
+  if (in_buf != NULL && res_buf != in_buf) {
+    GstMapInfo info;
+    gsize copied_size;
+
+    GST_CAT_DEBUG_OBJECT (GST_CAT_PERFORMANCE, src, "create function didn't "
+        "fill the provided buffer, copying");
+
+    gst_buffer_map (in_buf, &info, GST_MAP_WRITE);
+    copied_size = gst_buffer_extract (res_buf, 0, info.data, info.size);
+    gst_buffer_unmap (in_buf, &info);
+    gst_buffer_set_size (in_buf, copied_size);
+
+    gst_buffer_copy_into (in_buf, res_buf, GST_BUFFER_COPY_METADATA, 0, -1);
+
+    gst_buffer_unref (res_buf);
+    res_buf = in_buf;
+  }
+
   /* no timestamp set and we are at offset 0, we can timestamp with 0 */
   if (offset == 0 && src->segment.time == 0
-      && GST_BUFFER_TIMESTAMP (res_buf) == -1 && !src->is_live) {
+      && GST_BUFFER_DTS (res_buf) == -1 && !src->is_live) {
     GST_DEBUG_OBJECT (src, "setting first timestamp to 0");
     res_buf = gst_buffer_make_writable (res_buf);
-    GST_BUFFER_TIMESTAMP (res_buf) = 0;
+    GST_BUFFER_DTS (res_buf) = 0;
   }
 
   /* now sync before pushing the buffer */
@@ -2678,7 +2734,7 @@
       gint64 position;
 
       /* perform EOS logic */
-      flag_segment = (src->segment.flags & GST_SEEK_FLAG_SEGMENT) != 0;
+      flag_segment = (src->segment.flags & GST_SEGMENT_FLAG_SEGMENT) != 0;
       format = src->segment.format;
       position = src->segment.position;
 
@@ -2689,6 +2745,9 @@
             format, position);
         gst_message_set_seqnum (message, src->priv->seqnum);
         gst_element_post_message (GST_ELEMENT_CAST (src), message);
+        event = gst_event_new_segment_done (format, position);
+        gst_event_set_seqnum (event, src->priv->seqnum);
+        gst_pad_push_event (pad, event);
       } else {
         event = gst_event_new_eos ();
         gst_event_set_seqnum (event, src->priv->seqnum);
@@ -2755,7 +2814,7 @@
     gst_object_unref (oldpool);
   }
   if (oldalloc) {
-    gst_allocator_unref (oldalloc);
+    gst_object_unref (oldalloc);
   }
   return TRUE;
 
@@ -2838,7 +2897,7 @@
   else
     gst_query_add_allocation_param (query, allocator, &params);
   if (allocator)
-    gst_allocator_unref (allocator);
+    gst_object_unref (allocator);
 
   if (pool) {
     gst_query_set_nth_allocation_pool (query, 0, pool, size, min, max);
@@ -3071,7 +3130,7 @@
 
 /**
  * gst_base_src_start_complete:
- * @src: base source instance
+ * @basesrc: base source instance
  * @ret: a #GstFlowReturn
  *
  * Complete an asynchronous start operation. When the subclass overrides the
@@ -3146,8 +3205,9 @@
     basesrc->pending_seek = NULL;
     GST_OBJECT_UNLOCK (basesrc);
 
-    /* The perform seek code will start the task when finished. */
-    if (G_UNLIKELY (!gst_base_src_perform_seek (basesrc, event)))
+    /* The perform seek code will start the task when finished. We don't have to
+     * unlock the streaming thread because it is not running yet */
+    if (G_UNLIKELY (!gst_base_src_perform_seek (basesrc, event, FALSE)))
       goto seek_failed;
 
     if (event)
@@ -3200,8 +3260,7 @@
 
 /**
  * gst_base_src_start_wait:
- * @src: base source instance
- * @ret: a #GstFlowReturn
+ * @basesrc: base source instance
  *
  * Wait until the start operation completes.
  *
@@ -3284,6 +3343,8 @@
 
   bclass = GST_BASE_SRC_GET_CLASS (basesrc);
 
+  GST_DEBUG_OBJECT (basesrc, "flushing %d, live_play %d", flushing, live_play);
+
   if (flushing) {
     gst_base_src_activate_pool (basesrc, FALSE);
     /* unlock any subclasses, we need to do this before grabbing the
@@ -3383,7 +3444,7 @@
     GST_OBJECT_UNLOCK (basesrc->srcpad);
     if (start)
       gst_pad_start_task (basesrc->srcpad, (GstTaskFunction) gst_base_src_loop,
-          basesrc->srcpad);
+          basesrc->srcpad, NULL);
     GST_DEBUG_OBJECT (basesrc, "signal");
     GST_LIVE_SIGNAL (basesrc);
   }
@@ -3471,12 +3532,16 @@
     GstPadMode mode, gboolean active)
 {
   gboolean res;
+  GstBaseSrc *src = GST_BASE_SRC (parent);
+
+  src->priv->stream_start_pending = FALSE;
 
   switch (mode) {
     case GST_PAD_MODE_PULL:
       res = gst_base_src_activate_pull (pad, parent, active);
       break;
     case GST_PAD_MODE_PUSH:
+      src->priv->stream_start_pending = active;
       res = gst_base_src_activate_push (pad, parent, active);
       break;
     default:
@@ -3501,7 +3566,6 @@
     case GST_STATE_CHANGE_NULL_TO_READY:
       break;
     case GST_STATE_CHANGE_READY_TO_PAUSED:
-      basesrc->priv->stream_start_pending = TRUE;
       no_preroll = gst_base_src_is_live (basesrc);
       break;
     case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
@@ -3535,7 +3599,6 @@
        * already did this */
       g_atomic_int_set (&basesrc->priv->pending_eos, FALSE);
       gst_event_replace (&basesrc->pending_seek, NULL);
-      basesrc->priv->stream_start_pending = FALSE;
       break;
     }
     case GST_STATE_CHANGE_READY_TO_NULL:
diff --git a/libs/gst/base/gstbasesrc.h b/libs/gst/base/gstbasesrc.h
index dd15432..289b77a 100644
--- a/libs/gst/base/gstbasesrc.h
+++ b/libs/gst/base/gstbasesrc.h
@@ -134,7 +134,6 @@
  *   this if they support seeking in formats other than the configured native
  *   format. By default, it tries to convert the seek arguments to the
  *   configured native format and prepare a segment in that format.
- *   Since: 0.10.13
  * @do_seek: Perform seeking on the resource to the indicated segment.
  * @unlock: Unlock any pending access to the resource. Subclasses should
  *    unblock any blocked function ASAP. In particular, any create() function in
diff --git a/libs/gst/base/gstbasetransform.c b/libs/gst/base/gstbasetransform.c
index 3941392..81bf956 100644
--- a/libs/gst/base/gstbasetransform.c
+++ b/libs/gst/base/gstbasetransform.c
@@ -256,8 +256,6 @@
 
   gboolean gap_aware;
 
-  gboolean reconfigure;
-
   /* QoS stats */
   guint64 processed;
   guint64 dropped;
@@ -787,7 +785,7 @@
     gst_object_unref (oldpool);
   }
   if (oldalloc) {
-    gst_allocator_unref (oldalloc);
+    gst_object_unref (oldalloc);
   }
   if (oldquery) {
     gst_query_unref (oldquery);
@@ -815,9 +813,10 @@
   n_metas = gst_query_get_n_allocation_metas (query);
   for (i = 0; i < n_metas; i++) {
     GType api;
+    const GstStructure *params;
     gboolean remove;
 
-    api = gst_query_parse_nth_allocation_meta (query, i);
+    api = gst_query_parse_nth_allocation_meta (query, i, &params);
 
     /* by default we remove all metadata, subclasses should implement a
      * filter_meta function */
@@ -829,7 +828,7 @@
       remove = TRUE;
     } else if (G_LIKELY (klass->filter_meta)) {
       /* remove if the subclass said so */
-      remove = !klass->filter_meta (trans, query, api);
+      remove = !klass->filter_meta (trans, query, api, params);
       GST_LOG_OBJECT (trans, "filter_meta for api %s returned: %s",
           g_type_name (api), (remove ? "remove" : "keep"));
     } else {
@@ -884,7 +883,7 @@
   else
     gst_query_add_allocation_param (query, allocator, &params);
   if (allocator)
-    gst_allocator_unref (allocator);
+    gst_object_unref (allocator);
 
   if (pool) {
     gst_query_set_nth_allocation_pool (query, 0, pool, size, min, max);
@@ -1318,13 +1317,8 @@
   if (!(ret = gst_base_transform_configure_caps (trans, incaps, outcaps)))
     goto failed_configure;
 
-  GST_OBJECT_LOCK (trans->sinkpad);
-  GST_OBJECT_FLAG_UNSET (trans->srcpad, GST_PAD_FLAG_NEED_RECONFIGURE);
-  trans->priv->reconfigure = FALSE;
-  GST_OBJECT_UNLOCK (trans->sinkpad);
-
   /* let downstream know about our caps */
-  gst_pad_push_event (trans->srcpad, gst_event_new_caps (outcaps));
+  ret = gst_pad_set_caps (trans->srcpad, outcaps);
 
   if (ret) {
     /* try to get a pool when needed */
@@ -1375,10 +1369,11 @@
     n_metas = gst_query_get_n_allocation_metas (decide_query);
     for (i = 0; i < n_metas; i++) {
       GType api;
+      const GstStructure *params;
 
-      api = gst_query_parse_nth_allocation_meta (decide_query, i);
+      api = gst_query_parse_nth_allocation_meta (decide_query, i, &params);
       GST_DEBUG_OBJECT (trans, "proposing metadata %s", g_type_name (api));
-      gst_query_add_allocation_meta (query, api);
+      gst_query_add_allocation_meta (query, api, params);
     }
     ret = TRUE;
   }
@@ -1813,6 +1808,8 @@
       GstCaps *caps;
 
       gst_event_parse_caps (event, &caps);
+      /* clear any pending reconfigure flag */
+      gst_pad_check_reconfigure (trans->srcpad);
       ret = gst_base_transform_setcaps (trans, trans->sinkpad, caps);
 
       forward = FALSE;
@@ -1908,12 +1905,7 @@
 
   bclass = GST_BASE_TRANSFORM_GET_CLASS (trans);
 
-  GST_OBJECT_LOCK (trans->sinkpad);
-  reconfigure = GST_PAD_NEEDS_RECONFIGURE (trans->srcpad)
-      || priv->reconfigure;
-  GST_OBJECT_FLAG_UNSET (trans->srcpad, GST_PAD_FLAG_NEED_RECONFIGURE);
-  priv->reconfigure = FALSE;
-  GST_OBJECT_UNLOCK (trans->sinkpad);
+  reconfigure = gst_pad_check_reconfigure (trans->srcpad);
 
   if (G_UNLIKELY (reconfigure)) {
     GstCaps *incaps;
@@ -2506,8 +2498,6 @@
  * when needed.
  *
  * MT safe.
- *
- * Since: 0.10.5
  */
 void
 gst_base_transform_update_qos (GstBaseTransform * trans,
@@ -2533,8 +2523,6 @@
  * Enable or disable QoS handling in the transform.
  *
  * MT safe.
- *
- * Since: 0.10.5
  */
 void
 gst_base_transform_set_qos_enabled (GstBaseTransform * trans, gboolean enabled)
@@ -2557,8 +2545,6 @@
  * Returns: TRUE if QoS is enabled.
  *
  * MT safe.
- *
- * Since: 0.10.5
  */
 gboolean
 gst_base_transform_is_qos_enabled (GstBaseTransform * trans)
@@ -2587,8 +2573,6 @@
  * unset the flag if the output is no neutral data.
  *
  * MT safe.
- *
- * Since: 0.10.16
  */
 void
 gst_base_transform_set_gap_aware (GstBaseTransform * trans, gboolean gap_aware)
@@ -2627,16 +2611,11 @@
  * Instructs @trans to renegotiate a new downstream transform on the next
  * buffer. This function is typically called after properties on the transform
  * were set that influence the output format.
- *
- * Since: 0.10.21
  */
 void
 gst_base_transform_reconfigure_src (GstBaseTransform * trans)
 {
   g_return_if_fail (GST_IS_BASE_TRANSFORM (trans));
 
-  GST_OBJECT_LOCK (trans);
-  GST_DEBUG_OBJECT (trans, "marking reconfigure");
-  trans->priv->reconfigure = TRUE;
-  GST_OBJECT_UNLOCK (trans);
+  gst_pad_mark_reconfigure (trans->srcpad);
 }
diff --git a/libs/gst/base/gstbasetransform.h b/libs/gst/base/gstbasetransform.h
index 1ebb9d9..da961ef 100644
--- a/libs/gst/base/gstbasetransform.h
+++ b/libs/gst/base/gstbasetransform.h
@@ -31,7 +31,6 @@
 #define GST_BASE_TRANSFORM_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj),GST_TYPE_BASE_TRANSFORM,GstBaseTransformClass))
 #define GST_IS_BASE_TRANSFORM(obj)	   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_TRANSFORM))
 #define GST_IS_BASE_TRANSFORM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASE_TRANSFORM))
-/* since 0.10.4 */
 #define GST_BASE_TRANSFORM_CAST(obj)	((GstBaseTransform *)(obj))
 
 /**
@@ -52,8 +51,6 @@
  * @obj: base transform instance
  *
  * Gives the pointer to the source #GstPad object of the element.
- *
- * Since: 0.10.4
  */
 #define GST_BASE_TRANSFORM_SRC_PAD(obj)		(GST_BASE_TRANSFORM_CAST (obj)->srcpad)
 
@@ -62,8 +59,6 @@
  * @obj: base transform instance
  *
  * Gives the pointer to the sink #GstPad object of the element.
- *
- * Since: 0.10.4
  */
 #define GST_BASE_TRANSFORM_SINK_PAD(obj)	(GST_BASE_TRANSFORM_CAST (obj)->sinkpad)
 
@@ -72,8 +67,6 @@
  *
  * A #GstFlowReturn that can be returned from transform and transform_ip to
  * indicate that no output buffer was generated.
- *
- * Since: 0.10.13
  */
 #define GST_BASE_TRANSFORM_FLOW_DROPPED   GST_FLOW_CUSTOM_SUCCESS
 
@@ -122,12 +115,12 @@
  *                  caps, fixate the caps on the other pad. The function takes
  *                  ownership of @othercaps and returns a fixated version of
  *                  @othercaps. @othercaps is not guaranteed to be writable.
- * @accept_caps:    Optional. Since 0.10.30
+ * @accept_caps:    Optional.
  *                  Subclasses can override this method to check if @caps can be
  *                  handled by the element. The default implementation might not be
  *                  the most optimal way to check this in all cases.
  * @set_caps:       allows the subclass to be notified of the actual caps set.
- * @query:          Optional Since 0.10.36
+ * @query:          Optional.
  *                  Handle a requested query. Subclasses that implement this
  *                  should must chain up to the parent if they didn't handle the
  *                  query
@@ -186,7 +179,7 @@
  *                  output buffer. By default this method is NULL and no
  *                  metadata is copied. subclasses can implement this method and
  *                  return TRUE if the metadata is to be copied.
- * @before_transform: Optional. Since 0.10.22
+ * @before_transform: Optional.
  *                    This method is called right before the base class will
  *                    start processing. Dynamic properties or other delayed
  *                    configuration could be performed in this method.
@@ -225,7 +218,8 @@
 
   /* decide allocation query for output buffers */
   gboolean      (*decide_allocation)  (GstBaseTransform *trans, GstQuery *query);
-  gboolean      (*filter_meta)        (GstBaseTransform *trans, GstQuery *query, GType api);
+  gboolean      (*filter_meta)        (GstBaseTransform *trans, GstQuery *query,
+                                       GType api, const GstStructure *params);
 
   /* propose allocation query parameters for input buffers */
   gboolean      (*propose_allocation) (GstBaseTransform *trans, GstQuery *decide_query,
diff --git a/libs/gst/base/gstbitreader-docs.h b/libs/gst/base/gstbitreader-docs.h
index 8c4fc6f..80e8913 100644
--- a/libs/gst/base/gstbitreader-docs.h
+++ b/libs/gst/base/gstbitreader-docs.h
@@ -31,8 +31,6 @@
  *
  * Skips @nbits bits of the #GstBitReader instance without checking if there
  * are enough bits available in the bit reader.
- *
- * Since: 0.10.31
  */
 void gst_bit_reader_skip_unchecked (GstBitReader * reader, guint nbits);
 
@@ -42,8 +40,6 @@
  *
  * Skips until the next byte without checking if there are enough bits
  * available in the bit reader.
- *
- * Since: 0.10.31
  */
 void gst_bit_reader_skip_to_byte_unchecked (GstBitReader * reader);
 
@@ -56,8 +52,6 @@
  * checking if there are enough bits available in the bit reader.
  *
  * Returns: unsigned 8 bit integer with the bits.
- *
- * Since: 0.10.31
  */
 guint8 gst_bit_reader_peek_bits_uint8_unchecked (const GstBitReader *reader, guint nbits);
 
@@ -70,8 +64,6 @@
  * checking if there are enough bits available in the bit reader
  *
  * Returns: unsigned 8 bit integer with the bits.
- *
- * Since: 0.10.31
  */
 guint8 gst_bit_reader_get_bits_uint8_unchecked (GstBitReader *reader, guint nbits);
 
@@ -84,8 +76,6 @@
  * checking if there are enough bits available in the bit reader.
  *
  * Returns: unsigned 16 bit integer with the bits.
- *
- * Since: 0.10.31
  */
 guint16 gst_bit_reader_peek_bits_uint16_unchecked (const GstBitReader *reader, guint nbits);
 
@@ -98,8 +88,6 @@
  * checking if there are enough bits available in the bit reader
  *
  * Returns: unsigned 16 bit integer with the bits.
- *
- * Since: 0.10.31
  */
 guint16 gst_bit_reader_get_bits_uint16_unchecked (GstBitReader *reader, guint nbits);
 
@@ -112,8 +100,6 @@
  * checking if there are enough bits available in the bit reader.
  *
  * Returns: unsigned 32 bit integer with the bits.
- *
- * Since: 0.10.31
  */
 guint32 gst_bit_reader_peek_bits_uint32_unchecked (const GstBitReader *reader, guint nbits);
 
@@ -126,8 +112,6 @@
  * checking if there are enough bits available in the bit reader
  *
  * Returns: unsigned 32 bit integer with the bits.
- *
- * Since: 0.10.31
  */
 guint32 gst_bit_reader_get_bits_uint32_unchecked (GstBitReader *reader, guint nbits);
 
@@ -140,8 +124,6 @@
  * checking if there are enough bits available in the bit reader.
  *
  * Returns: unsigned 64 bit integer with the bits.
- *
- * Since: 0.10.31
  */
 guint64 gst_bit_reader_peek_bits_uint64_unchecked (const GstBitReader *reader, guint nbits);
 
@@ -154,8 +136,6 @@
  * checking if there are enough bits available in the bit reader
  *
  * Returns: unsigned 64 bit integer with the bits.
- *
- * Since: 0.10.31
  */
 guint64 gst_bit_reader_get_bits_uint64_unchecked (GstBitReader *reader, guint nbits);
 
diff --git a/libs/gst/base/gstbitreader.c b/libs/gst/base/gstbitreader.c
index 271424a..0f8f587 100644
--- a/libs/gst/base/gstbitreader.c
+++ b/libs/gst/base/gstbitreader.c
@@ -38,7 +38,8 @@
 
 /**
  * gst_bit_reader_new:
- * @data: Data from which the #GstBitReader should read
+ * @data: (array length=size): Data from which the #GstBitReader
+ *   should read
  * @size: Size of @data in bytes
  *
  * Create a new #GstBitReader instance, which will read from @data.
@@ -46,8 +47,6 @@
  * Free-function: gst_bit_reader_free
  *
  * Returns: (transfer full): a new #GstBitReader instance
- *
- * Since: 0.10.22
  */
 GstBitReader *
 gst_bit_reader_new (const guint8 * data, guint size)
@@ -66,8 +65,6 @@
  *
  * Frees a #GstBitReader instance, which was previously allocated by
  * gst_bit_reader_new().
- * 
- * Since: 0.10.22
  */
 void
 gst_bit_reader_free (GstBitReader * reader)
@@ -85,8 +82,6 @@
  *
  * Initializes a #GstBitReader instance to read from @data. This function
  * can be called on already initialized instances.
- * 
- * Since: 0.10.22
  */
 void
 gst_bit_reader_init (GstBitReader * reader, const guint8 * data, guint size)
@@ -107,8 +102,6 @@
  *
  * Returns: %TRUE if the position could be set successfully, %FALSE
  * otherwise.
- * 
- * Since: 0.10.22
  */
 gboolean
 gst_bit_reader_set_pos (GstBitReader * reader, guint pos)
@@ -131,8 +124,6 @@
  * Returns the current position of a #GstBitReader instance in bits.
  *
  * Returns: The current position of @reader in bits.
- * 
- * Since: 0.10.22
  */
 guint
 gst_bit_reader_get_pos (const GstBitReader * reader)
@@ -147,8 +138,6 @@
  * Returns the remaining number of bits of a #GstBitReader instance.
  *
  * Returns: The remaining number of bits of @reader instance.
- * 
- * Since: 0.10.22
  */
 guint
 gst_bit_reader_get_remaining (const GstBitReader * reader)
@@ -163,8 +152,6 @@
  * Returns the total number of bits of a #GstBitReader instance.
  *
  * Returns: The total number of bits of @reader instance.
- * 
- * Since: 0.10.26
  */
 guint
 gst_bit_reader_get_size (const GstBitReader * reader)
@@ -180,8 +167,6 @@
  * Skips @nbits bits of the #GstBitReader instance.
  *
  * Returns: %TRUE if @nbits bits could be skipped, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 gboolean
 gst_bit_reader_skip (GstBitReader * reader, guint nbits)
@@ -196,8 +181,6 @@
  * Skips until the next byte.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 gboolean
 gst_bit_reader_skip_to_byte (GstBitReader * reader)
@@ -214,8 +197,6 @@
  * Read @nbits bits into @val and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -227,8 +208,6 @@
  * Read @nbits bits into @val and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -240,8 +219,6 @@
  * Read @nbits bits into @val and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -253,8 +230,6 @@
  * Read @nbits bits into @val and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -266,8 +241,6 @@
  * Read @nbits bits into @val but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -279,8 +252,6 @@
  * Read @nbits bits into @val but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -292,8 +263,6 @@
  * Read @nbits bits into @val but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -305,8 +274,6 @@
  * Read @nbits bits into @val but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 #define GST_BIT_READER_READ_BITS(bits) \
diff --git a/libs/gst/base/gstbitreader.h b/libs/gst/base/gstbitreader.h
index 5233612..4a2b4a0 100644
--- a/libs/gst/base/gstbitreader.h
+++ b/libs/gst/base/gstbitreader.h
@@ -31,7 +31,8 @@
 
 /**
  * GstBitReader:
- * @data: Data from which the bit reader will read
+ * @data: (array length=size): Data from which the bit reader will
+ *   read
  * @size: Size of @data in bytes
  * @byte: Current byte position
  * @bit: Bit position in the current byte
@@ -83,8 +84,6 @@
  * used. This macro can used be to initialize a variable, but it cannot
  * be assigned to a variable. In that case you have to use
  * gst_bit_reader_init().
- *
- * Since: 0.10.22
  */
 #define GST_BIT_READER_INIT(data, size) {data, size, 0, 0}
 
diff --git a/libs/gst/base/gstbytereader-docs.h b/libs/gst/base/gstbytereader-docs.h
index e4b6e35..e6b08ac 100644
--- a/libs/gst/base/gstbytereader-docs.h
+++ b/libs/gst/base/gstbytereader-docs.h
@@ -31,8 +31,6 @@
  *
  * Skips @nbytes bytes of the #GstByteReader instance without checking if
  * there are enough bytes available in the byte reader.
- *
- * Since: 0.10.25
  */
 void gst_byte_reader_skip_unchecked (GstByteReader * reader, guint nbytes);
 
@@ -44,8 +42,6 @@
  * available in the byte reader and update the current position.
  *
  * Returns: unsigned 8 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_peek_uint8_unchecked:
@@ -55,8 +51,6 @@
  * available in the byte reader, but do not advance the current read position.
  *
  * Returns: unsigned 8 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_get_int8_unchecked:
@@ -66,8 +60,6 @@
  * available in the byte reader and update the current position.
  *
  * Returns: signed 8 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_peek_int8_unchecked:
@@ -77,8 +69,6 @@
  * available in the byte reader, but do not advance the current read position.
  *
  * Returns: signed 8 bit integer.
- *
- * Since: 0.10.25
  */
 guint8  gst_byte_reader_get_uint8_unchecked     (GstByteReader * reader);
 guint8  gst_byte_reader_peek_uint8_unchecked    (GstByteReader * reader);
@@ -94,8 +84,6 @@
  * current position.
  *
  * Returns: unsigned 16 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_peek_uint16_le_unchecked:
@@ -106,8 +94,6 @@
  * the current position.
  *
  * Returns: unsigned 16 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_get_uint16_be_unchecked:
@@ -118,8 +104,6 @@
  * current position.
  *
  * Returns: unsigned 16 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_peek_uint16_be_unchecked:
@@ -130,8 +114,6 @@
  * the current position.
  *
  * Returns: unsigned 16 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_get_int16_le_unchecked:
@@ -142,8 +124,6 @@
  * current position.
  *
  * Returns: signed 16 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_peek_int16_le_unchecked:
@@ -154,8 +134,6 @@
  * the current position.
  *
  * Returns: signed 16 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_get_int16_be_unchecked:
@@ -166,8 +144,6 @@
  * current position.
  *
  * Returns: signed 16 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_peek_int16_be_unchecked:
@@ -178,8 +154,6 @@
  * the current position.
  *
  * Returns: signed 16 bit integer.
- *
- * Since: 0.10.25
  */
 guint16 gst_byte_reader_get_uint16_le_unchecked  (GstByteReader * reader);
 guint16 gst_byte_reader_get_uint16_be_unchecked  (GstByteReader * reader);
@@ -199,8 +173,6 @@
  * current position.
  *
  * Returns: unsigned 24 bit integer (as guint32)
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_peek_uint24_le_unchecked:
@@ -211,8 +183,6 @@
  * the current position.
  *
  * Returns: unsigned 24 bit integer (as guint32)
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_get_uint24_be_unchecked:
@@ -223,8 +193,6 @@
  * current position.
  *
  * Returns: unsigned 24 bit integer (as guint32)
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_peek_uint24_be_unchecked:
@@ -235,8 +203,6 @@
  * the current position.
  *
  * Returns: unsigned 24 bit integer (as guint32)
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_get_int24_le_unchecked:
@@ -247,8 +213,6 @@
  * current position.
  *
  * Returns: signed 24 bit integer (as gint32)
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_peek_int24_le_unchecked:
@@ -259,8 +223,6 @@
  * the current position.
  *
  * Returns: signed 24 bit integer (as gint32)
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_get_int24_be_unchecked:
@@ -271,8 +233,6 @@
  * current position.
  *
  * Returns: signed 24 bit integer (as gint32)
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_peek_int24_be_unchecked:
@@ -283,8 +243,6 @@
  * the current position.
  *
  * Returns: signed 24 bit integer (as gint32)
- *
- * Since: 0.10.25
  */
 guint32 gst_byte_reader_get_uint24_le_unchecked  (GstByteReader * reader);
 guint32 gst_byte_reader_get_uint24_be_unchecked  (GstByteReader * reader);
@@ -304,8 +262,6 @@
  * current position.
  *
  * Returns: unsigned 32 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_peek_uint32_le_unchecked:
@@ -316,8 +272,6 @@
  * the current position.
  *
  * Returns: unsigned 32 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_get_uint32_be_unchecked:
@@ -328,8 +282,6 @@
  * current position.
  *
  * Returns: unsigned 32 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_peek_uint32_be_unchecked:
@@ -340,8 +292,6 @@
  * the current position.
  *
  * Returns: unsigned 32 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_get_int32_le_unchecked:
@@ -352,8 +302,6 @@
  * current position.
  *
  * Returns: signed 32 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_peek_int32_le_unchecked:
@@ -364,8 +312,6 @@
  * the current position.
  *
  * Returns: signed 32 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_get_int32_be_unchecked:
@@ -376,8 +322,6 @@
  * current position.
  *
  * Returns: signed 32 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_peek_int32_be_unchecked:
@@ -388,8 +332,6 @@
  * the current position.
  *
  * Returns: signed 32 bit integer.
- *
- * Since: 0.10.25
  */
 guint32 gst_byte_reader_get_uint32_le_unchecked  (GstByteReader * reader);
 guint32 gst_byte_reader_get_uint32_be_unchecked  (GstByteReader * reader);
@@ -409,8 +351,6 @@
  * current position.
  *
  * Returns: unsigned 64 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_peek_uint64_le_unchecked:
@@ -421,8 +361,6 @@
  * the current position.
  *
  * Returns: unsigned 64 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_get_uint64_be_unchecked:
@@ -433,8 +371,6 @@
  * current position.
  *
  * Returns: unsigned 64 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_peek_uint64_be_unchecked:
@@ -445,8 +381,6 @@
  * the current position.
  *
  * Returns: unsigned 64 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_get_int64_le_unchecked:
@@ -457,8 +391,6 @@
  * current position.
  *
  * Returns: signed 64 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_peek_int64_le_unchecked:
@@ -469,8 +401,6 @@
  * the current position.
  *
  * Returns: signed 64 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_get_int64_be_unchecked:
@@ -481,8 +411,6 @@
  * current position.
  *
  * Returns: signed 64 bit integer.
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_peek_int64_be_unchecked:
@@ -493,8 +421,6 @@
  * the current position.
  *
  * Returns: signed 64 bit integer.
- *
- * Since: 0.10.25
  */
 guint64 gst_byte_reader_get_uint64_le_unchecked  (GstByteReader * reader);
 guint64 gst_byte_reader_get_uint64_be_unchecked  (GstByteReader * reader);
@@ -513,8 +439,6 @@
  * data available and update the current position.
  *
  * Returns: floating point value read
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_peek_float32_le_unchecked:
@@ -524,8 +448,6 @@
  * data available, but keep the current position.
  *
  * Returns: floating point value read
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_get_float32_be_unchecked:
@@ -535,8 +457,6 @@
  * data available and update the current position.
  *
  * Returns: floating point value read
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_peek_float32_be_unchecked:
@@ -546,8 +466,6 @@
  * data available, but keep the current position.
  *
  * Returns: floating point value read
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_get_float64_le_unchecked:
@@ -557,8 +475,6 @@
  * data available and update the current position.
  *
  * Returns: double precision floating point value read
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_peek_float64_le_unchecked:
@@ -568,8 +484,6 @@
  * data available, but keep the current position.
  *
  * Returns: double precision floating point value read
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_get_float64_be_unchecked:
@@ -579,8 +493,6 @@
  * data available and update the current position.
  *
  * Returns: double precision floating point value read
- *
- * Since: 0.10.25
  */
 /**
  * gst_byte_reader_peek_float64_be_unchecked:
@@ -590,8 +502,6 @@
  * data available, but keep the current position.
  *
  * Returns: double precision floating point value read
- *
- * Since: 0.10.25
  */
 
 gfloat  gst_byte_reader_get_float32_le_unchecked  (GstByteReader * reader);
@@ -609,8 +519,6 @@
  * @reader: a #GstByteReader instance
  *
  * Returns: (transfer none): a constant pointer to the current data position
- *
- * Since: 0.10.25
  */
 const guint8 * gst_byte_reader_peek_data_unchecked (GstByteReader * reader);
 /**
@@ -624,8 +532,6 @@
  *
  * Returns: (transfer none) (array length=size): a constant pointer to the
  *     current data position.
- *
- * Since: 0.10.25
  */
 const guint8 * gst_byte_reader_get_data_unchecked (GstByteReader * reader, guint size);
 /**
@@ -641,8 +547,6 @@
  *
  * Returns: (transfer full) (array length=size): a newly-allocated copy of the
  *     data @size bytes in size. Free with g_free() when no longer needed.
- *
- * Since: 0.10.25
  */
 guint8 * gst_byte_reader_dup_data_unchecked (GstByteReader * reader, guint size);
 
diff --git a/libs/gst/base/gstbytereader.c b/libs/gst/base/gstbytereader.c
index c1875e6..e1945d1 100644
--- a/libs/gst/base/gstbytereader.c
+++ b/libs/gst/base/gstbytereader.c
@@ -52,8 +52,6 @@
  * Free-function: gst_byte_reader_free
  *
  * Returns: (transfer full): a new #GstByteReader instance
- *
- * Since: 0.10.22
  */
 GstByteReader *
 gst_byte_reader_new (const guint8 * data, guint size)
@@ -72,8 +70,6 @@
  *
  * Frees a #GstByteReader instance, which was previously allocated by
  * gst_byte_reader_new().
- * 
- * Since: 0.10.22
  */
 void
 gst_byte_reader_free (GstByteReader * reader)
@@ -92,8 +88,6 @@
  *
  * Initializes a #GstByteReader instance to read from @data. This function
  * can be called on already initialized instances.
- * 
- * Since: 0.10.22
  */
 void
 gst_byte_reader_init (GstByteReader * reader, const guint8 * data, guint size)
@@ -114,8 +108,6 @@
  *
  * Returns: %TRUE if the position could be set successfully, %FALSE
  * otherwise.
- * 
- * Since: 0.10.22
  */
 gboolean
 gst_byte_reader_set_pos (GstByteReader * reader, guint pos)
@@ -137,8 +129,6 @@
  * Returns the current position of a #GstByteReader instance in bytes.
  *
  * Returns: The current position of @reader in bytes.
- * 
- * Since: 0.10.22
  */
 guint
 gst_byte_reader_get_pos (const GstByteReader * reader)
@@ -153,8 +143,6 @@
  * Returns the remaining number of bytes of a #GstByteReader instance.
  *
  * Returns: The remaining number of bytes of @reader instance.
- * 
- * Since: 0.10.22
  */
 guint
 gst_byte_reader_get_remaining (const GstByteReader * reader)
@@ -169,8 +157,6 @@
  * Returns the total number of bytes of a #GstByteReader instance.
  *
  * Returns: The total number of bytes of @reader instance.
- * 
- * Since: 0.10.26
  */
 guint
 gst_byte_reader_get_size (const GstByteReader * reader)
@@ -189,8 +175,6 @@
  * Skips @nbytes bytes of the #GstByteReader instance.
  *
  * Returns: %TRUE if @nbytes bytes could be skipped, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 gboolean
 gst_byte_reader_skip (GstByteReader * reader, guint nbytes)
@@ -206,8 +190,6 @@
  * Read an unsigned 8 bit integer into @val and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -218,8 +200,6 @@
  * Read a signed 8 bit integer into @val and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -230,8 +210,6 @@
  * Read an unsigned 8 bit integer into @val but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -242,8 +220,6 @@
  * Read a signed 8 bit integer into @val but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -255,8 +231,6 @@
  * and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -268,8 +242,6 @@
  * and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -281,8 +253,6 @@
  * but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -294,8 +264,6 @@
  * but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -307,8 +275,6 @@
  * and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -320,8 +286,6 @@
  * and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -333,8 +297,6 @@
  * but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -346,8 +308,6 @@
  * but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -359,8 +319,6 @@
  * and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -372,8 +330,6 @@
  * and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -385,8 +341,6 @@
  * but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -398,8 +352,6 @@
  * but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -411,8 +363,6 @@
  * and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -424,8 +374,6 @@
  * and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -437,8 +385,6 @@
  * but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -450,8 +396,6 @@
  * but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 
@@ -464,8 +408,6 @@
  * and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -477,8 +419,6 @@
  * and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -490,8 +430,6 @@
  * but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -503,8 +441,6 @@
  * but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -516,8 +452,6 @@
  * and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -529,8 +463,6 @@
  * and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -542,8 +474,6 @@
  * but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -555,8 +485,6 @@
  * but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -568,8 +496,6 @@
  * and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -581,8 +507,6 @@
  * and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -594,8 +518,6 @@
  * but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -607,8 +529,6 @@
  * but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -620,8 +540,6 @@
  * and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -633,8 +551,6 @@
  * and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -646,8 +562,6 @@
  * but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -659,8 +573,6 @@
  * but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 #define GST_BYTE_READER_PEEK_GET(bits,type,name) \
@@ -710,8 +622,6 @@
  * and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -723,8 +633,6 @@
  * but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -736,8 +644,6 @@
  * and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -749,8 +655,6 @@
  * but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -762,8 +666,6 @@
  * and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -775,8 +677,6 @@
  * but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -788,8 +688,6 @@
  * and update the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 /**
@@ -801,8 +699,6 @@
  * but keep the current position.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 
 GST_BYTE_READER_PEEK_GET(32,gfloat,float32_le)
@@ -825,8 +721,6 @@
  *
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 gboolean
 gst_byte_reader_get_data (GstByteReader * reader, guint size,
@@ -848,8 +742,6 @@
  *
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- * 
- * Since: 0.10.22
  */
 gboolean
 gst_byte_reader_peek_data (const GstByteReader * reader, guint size,
@@ -872,8 +764,6 @@
  * updates the current position. Free with g_free() when no longer needed.
  *
  * Returns: %TRUE if successful, %FALSE otherwise.
- *
- * Since: 0.10.24
  */
 gboolean
 gst_byte_reader_dup_data (GstByteReader * reader, guint size, guint8 ** val)
@@ -922,8 +812,6 @@
  * gst_byte_reader_masked_scan_uint32 (reader, 0xffff0000, 0x02030000, 0, 4);
  * // -> returns -1
  * </programlisting>
- *
- * Since: 0.10.24
  */
 guint
 gst_byte_reader_masked_scan_uint32 (const GstByteReader * reader, guint32 mask,
@@ -1019,8 +907,6 @@
  * This function will fail if no NUL-terminator was found in in the data.
  *
  * Returns: %TRUE if a string could be skipped, %FALSE otherwise.
- *
- * Since: 0.10.24
  */
 /**
  * gst_byte_reader_skip_string_utf8:
@@ -1034,8 +920,6 @@
  * This function will fail if no NUL-terminator was found in in the data.
  *
  * Returns: %TRUE if a string could be skipped, %FALSE otherwise.
- *
- * Since: 0.10.24
  */
 GST_BYTE_READER_SKIP_STRING (8);
 
@@ -1051,8 +935,6 @@
  * This function will fail if no NUL-terminator was found in in the data.
  *
  * Returns: %TRUE if a string could be skipped, %FALSE otherwise.
- *
- * Since: 0.10.24
  */
 GST_BYTE_READER_SKIP_STRING (16);
 
@@ -1068,8 +950,6 @@
  * This function will fail if no NUL-terminator was found in in the data.
  *
  * Returns: %TRUE if a string could be skipped, %FALSE otherwise.
- *
- * Since: 0.10.24
  */
 GST_BYTE_READER_SKIP_STRING (32);
 
@@ -1088,8 +968,6 @@
  * This function will fail if no NUL-terminator was found in in the data.
  *
  * Returns: %TRUE if a string could be skipped, %FALSE otherwise.
- *
- * Since: 0.10.24
  */
 /**
  * gst_byte_reader_peek_string_utf8:
@@ -1108,8 +986,6 @@
  * This function will fail if no NUL-terminator was found in in the data.
  *
  * Returns: %TRUE if a string could be skipped, %FALSE otherwise.
- *
- * Since: 0.10.24
  */
 gboolean
 gst_byte_reader_peek_string_utf8 (const GstByteReader * reader,
@@ -1143,8 +1019,6 @@
  * This function will fail if no NUL-terminator was found in in the data.
  *
  * Returns: %TRUE if a string could be found, %FALSE otherwise.
- *
- * Since: 0.10.24
  */
 gboolean
 gst_byte_reader_get_string_utf8 (GstByteReader * reader, const gchar ** str)
@@ -1201,8 +1075,6 @@
  *
  * Returns: %TRUE if a string could be read into @str, %FALSE otherwise. The
  *     string put into @str must be freed with g_free() when no longer needed.
- *
- * Since: 0.10.24
  */
 GST_BYTE_READER_DUP_STRING (8, gchar);
 
@@ -1229,8 +1101,6 @@
  *
  * Returns: %TRUE if a string could be read, %FALSE otherwise. The
  *     string put into @str must be freed with g_free() when no longer needed.
- *
- * Since: 0.10.24
  */
 GST_BYTE_READER_DUP_STRING (16, guint16);
 
@@ -1257,7 +1127,5 @@
  *
  * Returns: %TRUE if a string could be read, %FALSE otherwise. The
  *     string put into @str must be freed with g_free() when no longer needed.
- *
- * Since: 0.10.24
  */
 GST_BYTE_READER_DUP_STRING (32, guint32);
diff --git a/libs/gst/base/gstbytereader.h b/libs/gst/base/gstbytereader.h
index 2accb10..15ac2ed 100644
--- a/libs/gst/base/gstbytereader.h
+++ b/libs/gst/base/gstbytereader.h
@@ -30,7 +30,8 @@
 
 /**
  * GstByteReader:
- * @data: Data from which the bit reader will read
+ * @data: (array length=size): Data from which the bit reader will
+ *   read
  * @size: Size of @data in bytes
  * @byte: Current byte position
  *
@@ -150,8 +151,6 @@
  * used. This macro can used be to initialize a variable, but it cannot
  * be assigned to a variable. In that case you have to use
  * gst_byte_reader_init().
- *
- * Since: 0.10.22
  */
 #define GST_BYTE_READER_INIT(data, size) {data, size, 0}
 
diff --git a/libs/gst/base/gstbytewriter-docs.h b/libs/gst/base/gstbytewriter-docs.h
index da4c20e..c15b4c3 100644
--- a/libs/gst/base/gstbytewriter-docs.h
+++ b/libs/gst/base/gstbytewriter-docs.h
@@ -31,8 +31,6 @@
  *
  * Writes a unsigned 8 bit integer to @writer without checking if there
  * is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_put_uint8_unchecked (GstByteWriter *writer, guint8 val);
 
@@ -43,8 +41,6 @@
  *
  * Writes a unsigned big endian 16 bit integer to @writer without
  * checking if there is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_put_uint16_be_unchecked (GstByteWriter *writer, guint16 val);
 
@@ -55,8 +51,6 @@
  *
  * Writes a unsigned big endian 24 bit integer to @writer without
  * checking if there is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_put_uint24_be_unchecked (GstByteWriter *writer, guint32 val);
 
@@ -67,8 +61,6 @@
  *
  * Writes a unsigned big endian 32 bit integer to @writer without
  * checking if there is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_put_uint32_be_unchecked (GstByteWriter *writer, guint32 val);
 
@@ -79,8 +71,6 @@
  *
  * Writes a unsigned big endian 64 bit integer to @writer without
  * checking if there is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_put_uint64_be_unchecked (GstByteWriter *writer, guint64 val);
 
@@ -91,8 +81,6 @@
  *
  * Writes a unsigned little endian 16 bit integer to @writer without
  * checking if there is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_put_uint16_le_unchecked (GstByteWriter *writer, guint16 val);
 
@@ -103,8 +91,6 @@
  *
  * Writes a unsigned little endian 24 bit integer to @writer without
  * checking if there is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_put_uint24_le_unchecked (GstByteWriter *writer, guint32 val);
 
@@ -115,8 +101,6 @@
  *
  * Writes a unsigned little endian 32 bit integer to @writer without
  * checking if there is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_put_uint32_le_unchecked (GstByteWriter *writer, guint32 val);
 
@@ -127,8 +111,6 @@
  *
  * Writes a unsigned little endian 64 bit integer to @writer without
  * checking if there is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_put_uint64_le_unchecked (GstByteWriter *writer, guint64 val);
 
@@ -139,8 +121,6 @@
  *
  * Writes a signed 8 bit integer to @writer without
  * checking if there is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_put_int8_unchecked (GstByteWriter *writer, gint8 val);
 
@@ -151,8 +131,6 @@
  *
  * Writes a signed big endian 16 bit integer to @writer without
  * checking if there is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_put_int16_be_unchecked (GstByteWriter *writer, gint16 val);
 
@@ -163,8 +141,6 @@
  *
  * Writes a signed big endian 24 bit integer to @writer without
  * checking if there is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_put_int24_be_unchecked (GstByteWriter *writer, gint32 val);
 
@@ -175,8 +151,6 @@
  *
  * Writes a signed big endian 32 bit integer to @writer without
  * checking if there is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_put_int32_be_unchecked (GstByteWriter *writer, gint32 val);
 
@@ -187,8 +161,6 @@
  *
  * Writes a signed big endian 64 bit integer to @writer without
  * checking if there is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_put_int64_be_unchecked (GstByteWriter *writer, gint64 val);
 
@@ -199,8 +171,6 @@
  *
  * Writes a signed little endian 16 bit integer to @writer without
  * checking if there is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_put_int16_le_unchecked (GstByteWriter *writer, gint16 val);
 
@@ -211,8 +181,6 @@
  *
  * Writes a signed little endian 24 bit integer to @writer without
  * checking if there is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_put_int24_le_unchecked (GstByteWriter *writer, gint32 val);
 
@@ -223,8 +191,6 @@
  *
  * Writes a signed little endian 32 bit integer to @writer without
  * checking if there is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_put_int32_le_unchecked (GstByteWriter *writer, gint32 val);
 
@@ -235,8 +201,6 @@
  *
  * Writes a signed little endian 64 bit integer to @writer without
  * checking if there is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_put_int64_le_unchecked (GstByteWriter *writer, gint64 val);
 
@@ -247,8 +211,6 @@
  *
  * Writes a big endian 32 bit float to @writer without
  * checking if there is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_put_float32_be_unchecked (GstByteWriter *writer, gfloat val);
 
@@ -259,8 +221,6 @@
  *
  * Writes a big endian 64 bit float to @writer without
  * checking if there is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_put_float64_be_unchecked (GstByteWriter *writer, gdouble val);
 
@@ -271,8 +231,6 @@
  *
  * Writes a little endian 32 bit float to @writer without
  * checking if there is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_put_float32_le_unchecked (GstByteWriter *writer, gfloat val);
 
@@ -283,8 +241,6 @@
  *
  * Writes a little endian 64 bit float to @writer without
  * checking if there is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_put_float64_le_unchecked (GstByteWriter *writer, gdouble val);
 
@@ -296,8 +252,6 @@
  *
  * Writes @size bytes of @data to @writer without
  * checking if there is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_put_data_unchecked (GstByteWriter *writer, const guint8 *data, guint size);
 
@@ -309,8 +263,6 @@
  *
  * Writes @size bytes containing @value to @writer without
  * checking if there is enough free space available in the byte writer.
- *
- * Since: 0.10.31
  */
 void gst_byte_writer_fill_unchecked (GstByteWriter *writer, guint8 value, guint size);
 
diff --git a/libs/gst/base/gstbytewriter.c b/libs/gst/base/gstbytewriter.c
index fc41bbc..746a622 100644
--- a/libs/gst/base/gstbytewriter.c
+++ b/libs/gst/base/gstbytewriter.c
@@ -46,8 +46,6 @@
  * Free-function: gst_byte_writer_free
  *
  * Returns: (transfer full): a new, empty #GstByteWriter instance
- *
- * Since: 0.10.26
  */
 GstByteWriter *
 gst_byte_writer_new (void)
@@ -69,8 +67,6 @@
  * Free-function: gst_byte_writer_free
  *
  * Returns: (transfer full): a new #GstByteWriter instance
- *
- * Since: 0.10.26
  */
 GstByteWriter *
 gst_byte_writer_new_with_size (guint size, gboolean fixed)
@@ -98,8 +94,6 @@
  * Free-function: gst_byte_writer_free
  *
  * Returns: (transfer full): a new #GstByteWriter instance
- *
- * Since: 0.10.26
  */
 GstByteWriter *
 gst_byte_writer_new_with_data (guint8 * data, guint size, gboolean initialized)
@@ -120,8 +114,6 @@
  * @writer: #GstByteWriter instance
  *
  * Initializes @writer to an empty instance
- *
- * Since: 0.10.26
  */
 void
 gst_byte_writer_init (GstByteWriter * writer)
@@ -140,8 +132,6 @@
  * @fixed: If %TRUE the data can't be reallocated
  *
  * Initializes @writer with the given initial data size.
- *
- * Since: 0.10.26
  */
 void
 gst_byte_writer_init_with_size (GstByteWriter * writer, guint size,
@@ -160,16 +150,13 @@
 /**
  * gst_byte_writer_init_with_data:
  * @writer: #GstByteWriter instance
- * @data: (in callee-allocated) (array length=size) (transfer none): Memory
- *     area for writing
+ * @data: (array length=size) (transfer none): Memory area for writing
  * @size: Size of @data in bytes
  * @initialized: If %TRUE the complete data can be read from the beginning
  *
  * Initializes @writer with the given
  * memory area. If @initialized is %TRUE it is possible to
  * read @size bytes from the #GstByteWriter from the beginning.
- *
- * Since: 0.10.26
  */
 void
 gst_byte_writer_init_with_data (GstByteWriter * writer, guint8 * data,
@@ -192,8 +179,6 @@
  *
  * Resets @writer and frees the data if it's
  * owned by @writer.
- *
- * Since: 0.10.26
  */
 void
 gst_byte_writer_reset (GstByteWriter * writer)
@@ -213,9 +198,8 @@
  *
  * Free-function: g_free
  *
- * Returns: (transfer full): the current data. g_free() after usage.
- *
- * Since: 0.10.26
+ * Returns: (array) (transfer full): the current data. g_free() after
+ * usage.
  */
 guint8 *
 gst_byte_writer_reset_and_get_data (GstByteWriter * writer)
@@ -243,8 +227,6 @@
  *
  * Returns: (transfer full): the current data as buffer. gst_buffer_unref()
  *     after usage.
- *
- * Since: 0.10.26
  */
 GstBuffer *
 gst_byte_writer_reset_and_get_buffer (GstByteWriter * writer)
@@ -272,8 +254,6 @@
  * @writer: (in) (transfer full): #GstByteWriter instance
  *
  * Frees @writer and all memory allocated by it.
- *
- * Since: 0.10.26
  */
 void
 gst_byte_writer_free (GstByteWriter * writer)
@@ -294,8 +274,6 @@
  * Free-function: g_free
  *
  * Returns: (transfer full): the current data. g_free() after usage.
- *
- * Since: 0.10.26
  */
 guint8 *
 gst_byte_writer_free_and_get_data (GstByteWriter * writer)
@@ -321,8 +299,6 @@
  *
  * Returns: (transfer full): the current data as buffer. gst_buffer_unref()
  *     after usage.
- *
- * Since: 0.10.26
  */
 GstBuffer *
 gst_byte_writer_free_and_get_buffer (GstByteWriter * writer)
@@ -345,8 +321,6 @@
  * -1 is returned the remaining size is only limited by system resources.
  *
  * Returns: the remaining size of data that can still be written
- *
- * Since: 0.10.26
  */
 guint
 gst_byte_writer_get_remaining (const GstByteWriter * writer)
@@ -368,8 +342,6 @@
  * available and reallocates if necessary.
  *
  * Returns: %TRUE if at least @size bytes are still available
- *
- * Since: 0.10.26
  */
 gboolean
 gst_byte_writer_ensure_free_space (GstByteWriter * writer, guint size)
@@ -458,8 +430,6 @@
  * Writes a unsigned 8 bit integer to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_put_uint16_be:
@@ -469,8 +439,6 @@
  * Writes a unsigned big endian 16 bit integer to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_put_uint24_be:
@@ -480,8 +448,6 @@
  * Writes a unsigned big endian 24 bit integer to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_put_uint32_be:
@@ -491,8 +457,6 @@
  * Writes a unsigned big endian 32 bit integer to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_put_uint64_be:
@@ -502,8 +466,6 @@
  * Writes a unsigned big endian 64 bit integer to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_put_uint16_le:
@@ -513,8 +475,6 @@
  * Writes a unsigned little endian 16 bit integer to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_put_uint24_le:
@@ -524,8 +484,6 @@
  * Writes a unsigned little endian 24 bit integer to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_put_uint32_le:
@@ -535,8 +493,6 @@
  * Writes a unsigned little endian 32 bit integer to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_put_uint64_le:
@@ -546,8 +502,6 @@
  * Writes a unsigned little endian 64 bit integer to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_put_int8:
@@ -557,8 +511,6 @@
  * Writes a signed 8 bit integer to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_put_int16_be:
@@ -568,8 +520,6 @@
  * Writes a signed big endian 16 bit integer to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_put_int24_be:
@@ -579,8 +529,6 @@
  * Writes a signed big endian 24 bit integer to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_put_int32_be:
@@ -590,8 +538,6 @@
  * Writes a signed big endian 32 bit integer to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_put_int64_be:
@@ -601,8 +547,6 @@
  * Writes a signed big endian 64 bit integer to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_put_int16_le:
@@ -612,8 +556,6 @@
  * Writes a signed little endian 16 bit integer to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_put_int24_le:
@@ -623,8 +565,6 @@
  * Writes a signed little endian 24 bit integer to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_put_int32_le:
@@ -634,8 +574,6 @@
  * Writes a signed little endian 32 bit integer to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_put_int64_le:
@@ -645,8 +583,6 @@
  * Writes a signed little endian 64 bit integer to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_put_float32_be:
@@ -656,8 +592,6 @@
  * Writes a big endian 32 bit float to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.27
  */
 /**
  * gst_byte_writer_put_float64_be:
@@ -667,8 +601,6 @@
  * Writes a big endian 64 bit float to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.27
  */
 /**
  * gst_byte_writer_put_float32_le:
@@ -678,8 +610,6 @@
  * Writes a little endian 32 bit float to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.27
  */
 /**
  * gst_byte_writer_put_float64_le:
@@ -689,8 +619,6 @@
  * Writes a little endian 64 bit float to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.27
  */
 /**
  * gst_byte_writer_put_string_utf8:
@@ -701,8 +629,6 @@
  * Writes a NUL-terminated UTF8 string to @writer (including the terminator).
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_put_string_utf16:
@@ -712,8 +638,6 @@
  * Writes a NUL-terminated UTF16 string to @writer (including the terminator).
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_put_string_utf32:
@@ -723,8 +647,6 @@
  * Writes a NUL-terminated UTF32 string to @writer (including the terminator).
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_put_data:
@@ -735,8 +657,6 @@
  * Writes @size bytes of @data to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_fill:
@@ -747,8 +667,6 @@
  * Writes @size bytes containing @value to @writer.
  *
  * Returns: %TRUE if the value could be written
- *
- * Since: 0.10.27
  */
 
 /**
diff --git a/libs/gst/base/gstbytewriter.h b/libs/gst/base/gstbytewriter.h
index 72da716..079e16f 100644
--- a/libs/gst/base/gstbytewriter.h
+++ b/libs/gst/base/gstbytewriter.h
@@ -73,8 +73,6 @@
  * @writer: #GstByteWriter instance
  *
  * Returns: The current position of the read/write cursor
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_set_pos:
@@ -85,16 +83,12 @@
  * can only be between 0 and the current size.
  *
  * Returns: %TRUE if the new position could be set
- *
- * Since: 0.10.26
  */
 /**
  * gst_byte_writer_get_size:
  * @writer: #GstByteWriter instance
  *
  * Returns: The current, initialized size of the data
- *
- * Since: 0.10.26
  */
 #ifdef _FOOL_GTK_DOC_
 G_INLINE_FUNC guint     gst_byte_writer_get_pos  (const GstByteWriter *writer);
@@ -164,8 +158,6 @@
  * ISO-8859-1).
  *
  * Returns: %TRUE if the string could be written
- *
- * Since: 0.10.26
  */
 #define gst_byte_writer_put_string(writer, data) \
   gst_byte_writer_put_string_utf8(writer, data)
diff --git a/libs/gst/base/gstcollectpads.c b/libs/gst/base/gstcollectpads.c
index f40463c..19c24f2 100644
--- a/libs/gst/base/gstcollectpads.c
+++ b/libs/gst/base/gstcollectpads.c
@@ -78,8 +78,6 @@
  * </itemizedlist>
  *
  * Last reviewed on 2011-10-28 (0.10.36)
- *
- * Since: 0.10.36
  */
 
 #ifdef HAVE_CONFIG_H
@@ -109,6 +107,7 @@
 {
   /* with LOCK and/or STREAM_LOCK */
   gboolean started;
+  gboolean stream_started;
 
   /* with STREAM_LOCK */
   guint32 cookie;               /* @data list cookie */
@@ -235,6 +234,7 @@
   pads->priv->queuedpads = 0;
   pads->priv->eospads = 0;
   pads->priv->started = FALSE;
+  pads->priv->stream_started = FALSE;
 
   g_rec_mutex_init (&pads->stream_lock);
 
@@ -293,8 +293,6 @@
  * MT safe.
  *
  * Returns: (transfer full): a new #GstCollectPads, or NULL in case of an error.
- *
- * Since: 0.10.36
  */
 GstCollectPads *
 gst_collect_pads_new (void)
@@ -325,8 +323,6 @@
  * the oldest buffer when all pads have been collected.
  *
  * MT safe.
- *
- * Since: 0.10.36
  */
 void
 gst_collect_pads_set_buffer_function (GstCollectPads * pads,
@@ -349,8 +345,6 @@
  * Set the timestamp comparison function.
  *
  * MT safe.
- *
- * Since: 0.10.36
  */
 /* NOTE allowing to change comparison seems not advisable;
 no known use-case, and collaboration with default algorithm is unpredictable.
@@ -386,8 +380,6 @@
  * If this callback is set, the former will be unset.
  *
  * MT safe.
- *
- * Since: 0.10.36
  */
 void
 gst_collect_pads_set_function (GstCollectPads * pads,
@@ -445,8 +437,6 @@
  * if so (unusually) needed.
  *
  * MT safe.
- *
- * Since: 0.10.36
  */
 void
 gst_collect_pads_set_event_function (GstCollectPads * pads,
@@ -475,8 +465,6 @@
  * if so (unusually) needed.
  *
  * MT safe.
- *
- * Since: 0.10.36
  */
 void
 gst_collect_pads_set_query_function (GstCollectPads * pads,
@@ -501,8 +489,6 @@
 *
 * Convenience clipping function that converts incoming buffer's timestamp
 * to running time, or clips the buffer if outside configured segment.
-*
-* Since: 0.10.37
 */
 GstFlowReturn
 gst_collect_pads_clip_running_time (GstCollectPads * pads,
@@ -541,8 +527,6 @@
  *
  * Install a clipping function that is called right after a buffer is received
  * on a pad managed by @pads. See #GstCollectPad2ClipFunction for more info.
- *
- * Since: 0.10.36
  */
 void
 gst_collect_pads_set_clip_function (GstCollectPads * pads,
@@ -579,8 +563,6 @@
  *
  * Returns: a new #GstCollectData to identify the new pad. Or NULL
  *   if wrong parameters are supplied.
- *
- * Since: 0.10.36
  */
 GstCollectData *
 gst_collect_pads_add_pad (GstCollectPads * pads, GstPad * pad, guint size)
@@ -623,8 +605,6 @@
  *
  * MT safe.
  *
- * Since: 0.10.36
- *
  * Returns: a new #GstCollectData to identify the new pad. Or NULL
  *   if wrong parameters are supplied.
  */
@@ -701,8 +681,6 @@
  * MT safe.
  *
  * Returns: %TRUE if the pad could be removed.
- *
- * Since: 0.10.36
  */
 gboolean
 gst_collect_pads_remove_pad (GstCollectPads * pads, GstPad * pad)
@@ -776,89 +754,6 @@
   }
 }
 
-/**
- * gst_collect_pads_is_active:
- * @pads: the collectspads to use
- * @pad: the pad to check
- *
- * Check if a pad is active.
- *
- * This function is currently not implemented.
- *
- * MT safe.
- *
- * Returns: %TRUE if the pad is active.
- *
- * Since: 0.10.36
- */
-gboolean
-gst_collect_pads_is_active (GstCollectPads * pads, GstPad * pad)
-{
-  g_return_val_if_fail (pads != NULL, FALSE);
-  g_return_val_if_fail (GST_IS_COLLECT_PADS (pads), FALSE);
-  g_return_val_if_fail (pad != NULL, FALSE);
-  g_return_val_if_fail (GST_IS_PAD (pad), FALSE);
-
-  g_warning ("gst_collect_pads_is_active() is not implemented");
-
-  return FALSE;
-}
-
-/**
- * gst_collect_pads_collect:
- * @pads: the collectspads to use
- *
- * Collect data on all pads. This function is usually called
- * from a #GstTask function in an element. 
- *
- * This function is currently not implemented.
- *
- * MT safe.
- *
- * Returns: #GstFlowReturn of the operation.
- *
- * Since: 0.10.36
- */
-GstFlowReturn
-gst_collect_pads_collect (GstCollectPads * pads)
-{
-  g_return_val_if_fail (pads != NULL, GST_FLOW_ERROR);
-  g_return_val_if_fail (GST_IS_COLLECT_PADS (pads), GST_FLOW_ERROR);
-
-  g_warning ("gst_collect_pads_collect() is not implemented");
-
-  return GST_FLOW_NOT_SUPPORTED;
-}
-
-/**
- * gst_collect_pads_collect_range:
- * @pads: the collectspads to use
- * @offset: the offset to collect
- * @length: the length to collect
- *
- * Collect data with @offset and @length on all pads. This function
- * is typically called in the getrange function of an element. 
- *
- * This function is currently not implemented.
- *
- * MT safe.
- *
- * Returns: #GstFlowReturn of the operation.
- *
- * Since: 0.10.36
- */
-GstFlowReturn
-gst_collect_pads_collect_range (GstCollectPads * pads, guint64 offset,
-    guint length)
-{
-  g_return_val_if_fail (pads != NULL, GST_FLOW_ERROR);
-  g_return_val_if_fail (GST_IS_COLLECT_PADS (pads), GST_FLOW_ERROR);
-
-  g_warning ("gst_collect_pads_collect_range() is not implemented");
-
-  return GST_FLOW_NOT_SUPPORTED;
-}
-
 /*
  * Must be called with STREAM_LOCK.
  */
@@ -903,8 +798,6 @@
  * e.g. by sending a FLUSH_START downstream.
  *
  * MT safe.
- *
- * Since: 0.10.36
  */
 void
 gst_collect_pads_set_flushing (GstCollectPads * pads, gboolean flushing)
@@ -925,8 +818,6 @@
  * Starts the processing of data in the collect_pads.
  *
  * MT safe.
- *
- * Since: 0.10.36
  */
 void
 gst_collect_pads_start (GstCollectPads * pads)
@@ -969,8 +860,6 @@
  * will also unblock any blocking operations.
  *
  * MT safe.
- *
- * Since: 0.10.36
  */
 void
 gst_collect_pads_stop (GstCollectPads * pads)
@@ -1013,6 +902,7 @@
     unref_data (pads->priv->earliest_data);
   pads->priv->earliest_data = NULL;
   pads->priv->earliest_time = GST_CLOCK_TIME_NONE;
+  pads->priv->stream_started = FALSE;
 
   GST_OBJECT_UNLOCK (pads);
   /* Wake them up so they can end the chain functions. */
@@ -1034,8 +924,6 @@
  *
  * Returns: The buffer in @data or NULL if no buffer is queued.
  *  should unref the buffer after usage.
- *
- * Since: 0.10.36
  */
 GstBuffer *
 gst_collect_pads_peek (GstCollectPads * pads, GstCollectData * data)
@@ -1068,8 +956,6 @@
  *
  * Returns: (transfer full): The buffer in @data or NULL if no buffer was
  *   queued. You should unref the buffer after usage.
- *
- * Since: 0.10.36
  */
 GstBuffer *
 gst_collect_pads_pop (GstCollectPads * pads, GstCollectData * data)
@@ -1122,8 +1008,6 @@
  *
  * Returns: The maximum number of bytes queued on all pads. This function
  * returns 0 if a pad has no queued buffer.
- *
- * Since: 0.10.36
  */
 /* we might pre-calculate this in some struct field,
  * but would then have to maintain this in _chain and particularly _pop, etc,
@@ -1193,8 +1077,6 @@
  *
  * Returns: The number of bytes flushed This can be less than @size and
  * is 0 if the pad was end-of-stream.
- *
- * Since: 0.10.36
  */
 guint
 gst_collect_pads_flush (GstCollectPads * pads, GstCollectData * data,
@@ -1239,8 +1121,6 @@
  *
  * MT safe.
  *
- * Since: 0.10.36
- *
  * Returns: (transfer full): A sub buffer. The size of the buffer can be less that requested.
  * A return of NULL signals that the pad is end-of-stream.
  * Unref the buffer after use.
@@ -1280,8 +1160,6 @@
  *
  * MT safe.
  *
- * Since: 0.10.36
- *
  * Returns: A sub buffer. The size of the buffer can be less that requested.
  * A return of NULL signals that the pad is end-of-stream.
  * Unref the buffer after use.
@@ -1313,8 +1191,6 @@
  * in the callback.
  *
  * MT safe.
- *
- * Since: 0.10.36
  */
 void
 gst_collect_pads_set_waiting (GstCollectPads * pads, GstCollectData * data,
@@ -1539,8 +1415,6 @@
  *
  * This function should be called with STREAM_LOCK held,
  * such as in the callback.
- *
- * Since: 0.10.36
  */
 static void
 gst_collect_pads_find_best_pad (GstCollectPads * pads,
@@ -1697,8 +1571,6 @@
  * Default GstCollectPads event handling that elements should always
  * chain up to to ensure proper operation.  Element might however indicate
  * event should not be forwarded downstream.
- *
- * Since: 0.11.x
  */
 gboolean
 gst_collect_pads_event_default (GstCollectPads * pads, GstCollectData * data,
@@ -1837,8 +1709,16 @@
        * accumulated and this is certainly not what we want. */
       goto eat;
     }
-    case GST_EVENT_CAPS:
     case GST_EVENT_STREAM_START:
+      /* let the only the first one go through */
+      if (!pads->priv->stream_started) {
+        pads->priv->stream_started = TRUE;
+        goto forward;
+      } else {
+        goto eat;
+      }
+      break;
+    case GST_EVENT_CAPS:
     case GST_EVENT_STREAM_CONFIG:
       goto eat;
     default:
@@ -1928,8 +1808,6 @@
  * Default GstCollectPads query handling that elements should always
  * chain up to to ensure proper operation.  Element might however indicate
  * query should not be forwarded downstream.
- *
- * Since: 0.11.x
  */
 gboolean
 gst_collect_pads_query_default (GstCollectPads * pads, GstCollectData * data,
diff --git a/libs/gst/base/gstcollectpads.h b/libs/gst/base/gstcollectpads.h
index b4dfa75..6436bb8 100644
--- a/libs/gst/base/gstcollectpads.h
+++ b/libs/gst/base/gstcollectpads.h
@@ -47,8 +47,6 @@
  * A function that will be called when the #GstCollectData will be freed.
  * It is passed the pointer to the structure and should free any custom
  * memory and resources allocated for it.
- *
- * Since: 0.10.36
  */
 typedef void (*GstCollectDataDestroyNotify) (GstCollectData *data);
 
@@ -63,8 +61,6 @@
  * @GST_COLLECT_PADS_STATE_LOCKED:      Set collectdata's pad WAITING state must
  *                                      not be changed.
  * #GstCollectPadsStateFlags indicate private state of a collectdata('s pad).
- *
- * Since: 0.10.36
  */
 typedef enum {
   GST_COLLECT_PADS_STATE_EOS = 1 << 0,
@@ -80,8 +76,6 @@
  *
  * A flags word containing #GstCollectPadsStateFlags flags set
  * on this collected pad.
- *
- * Since: 0.10.36
  */
 #define GST_COLLECT_PADS_STATE(data)                 (((GstCollectData *) data)->state)
 /**
@@ -90,8 +84,6 @@
  * @flag: the #GstCollectPadsStateFlags to check.
  *
  * Gives the status of a specific flag on a collected pad.
- *
- * Since: 0.10.36
  */
 #define GST_COLLECT_PADS_STATE_IS_SET(data,flag)     !!(GST_COLLECT_PADS_STATE (data) & flag)
 /**
@@ -100,8 +92,6 @@
  * @flag: the #GstCollectPadsStateFlags to set.
  *
  * Sets a state flag on a collected pad.
- *
- * Since: 0.10.36
  */
 #define GST_COLLECT_PADS_STATE_SET(data,flag)        (GST_COLLECT_PADS_STATE (data) |= flag)
 /**
@@ -110,8 +100,6 @@
  * @flag: the #GstCollectPadsStateFlags to clear.
  *
  * Clears a state flag on a collected pad.
- *
- * Since: 0.10.36
  */
 #define GST_COLLECT_PADS_STATE_UNSET(data,flag)      (GST_COLLECT_PADS_STATE (data) &= ~(flag))
 
@@ -124,8 +112,6 @@
  * @segment: last segment received.
  *
  * Structure used by the collect_pads.
- *
- * Since: 0.10.36
  */
 struct _GstCollectData
 {
@@ -154,8 +140,6 @@
  * A function that will be called when all pads have received data.
  *
  * Returns: #GST_FLOW_OK for success
- *
- * Since: 0.10.36
  */
 typedef GstFlowReturn (*GstCollectPadsFunction) (GstCollectPads *pads, gpointer user_data);
 
@@ -171,8 +155,6 @@
  * and NULL @data.
  *
  * Returns: #GST_FLOW_OK for success
- *
- * Since: 0.10.36
  */
 typedef GstFlowReturn (*GstCollectPadsBufferFunction) (GstCollectPads *pads, GstCollectData *data,
                                                         GstBuffer *buffer, gpointer user_data);
@@ -191,8 +173,6 @@
  * Returns: Integer less than zero when first timestamp is deemed older than the second one.
  *          Zero if the timestamps are deemed equally old.
  *          Integer greate than zero when second timestamp is deemed older than the first one.
- *
- * Since: 0.10.36
  */
 typedef gint (*GstCollectPadsCompareFunction) (GstCollectPads *pads,
                                                 GstCollectData * data1, GstClockTime timestamp1,
@@ -212,8 +192,6 @@
  * being handled by the default handler).
  *
  * Returns: %TRUE if the pad could handle the event
- *
- * Since: 0.10.36
  */
 typedef gboolean (*GstCollectPadsEventFunction)        (GstCollectPads *pads, GstCollectData * pad,
                                                          GstEvent * event, gpointer user_data);
@@ -231,8 +209,6 @@
  * events downstream (with gst_pad_event_default()).
  *
  * Returns: %TRUE if the pad could handle the event
- *
- * Since: 0.11.x
  */
 typedef gboolean (*GstCollectPadsQueryFunction)        (GstCollectPads *pads, GstCollectData * pad,
                                                          GstQuery * query, gpointer user_data);
@@ -255,8 +231,6 @@
  * @outbuffer or return %NULL in @outbuffer if the buffer should be dropped.
  *
  * Returns: a #GstFlowReturn that corresponds to the result of clipping.
- *
- * Since: 0.10.36
  */
 typedef GstFlowReturn (*GstCollectPadsClipFunction) (GstCollectPads *pads, GstCollectData *data,
                                                    GstBuffer *inbuffer, GstBuffer **outbuffer,
@@ -269,8 +243,6 @@
  * Get the stream lock of @pads. The stream lock is used to coordinate and
  * serialize execution among the various streams being collected, and in
  * protecting the resources used to accomplish this.
- *
- * Since: 0.10.36
  */
 #define GST_COLLECT_PADS_GET_STREAM_LOCK(pads) (&((GstCollectPads *)pads)->stream_lock)
 /**
@@ -278,8 +250,6 @@
  * @pads: a #GstCollectPads
  *
  * Lock the stream lock of @pads.
- *
- * Since: 0.10.36
  */
 #define GST_COLLECT_PADS_STREAM_LOCK(pads)     g_rec_mutex_lock(GST_COLLECT_PADS_GET_STREAM_LOCK (pads))
 /**
@@ -287,8 +257,6 @@
  * @pads: a #GstCollectPads
  *
  * Unlock the stream lock of @pads.
- *
- * Since: 0.10.36
  */
 #define GST_COLLECT_PADS_STREAM_UNLOCK(pads)   g_rec_mutex_unlock(GST_COLLECT_PADS_GET_STREAM_LOCK (pads))
 
@@ -297,8 +265,6 @@
  * @data: #GList of #GstCollectData managed by this #GstCollectPads.
  *
  * Collectpads object.
- *
- * Since: 0.10.36
  */
 struct _GstCollectPads {
   GstObject      object;
@@ -352,12 +318,8 @@
                                                  GstCollectDataDestroyNotify destroy_notify,
                                                  gboolean lock);
 gboolean        gst_collect_pads_remove_pad    (GstCollectPads *pads, GstPad *pad);
-gboolean        gst_collect_pads_is_active     (GstCollectPads *pads, GstPad *pad);
 
 /* start/stop collection */
-GstFlowReturn   gst_collect_pads_collect       (GstCollectPads *pads);
-GstFlowReturn   gst_collect_pads_collect_range (GstCollectPads *pads, guint64 offset, guint length);
-
 void            gst_collect_pads_start         (GstCollectPads *pads);
 void            gst_collect_pads_stop          (GstCollectPads *pads);
 void            gst_collect_pads_set_flushing  (GstCollectPads *pads, gboolean flushing);
diff --git a/libs/gst/base/gstindex.c b/libs/gst/base/gstindex.c
index a0505cc..a1b9d0e 100644
--- a/libs/gst/base/gstindex.c
+++ b/libs/gst/base/gstindex.c
@@ -496,8 +496,6 @@
  *
  * Lets the app register a custom function to map index
  * ids to writer descriptions.
- *
- * Since: 0.10.18
  */
 void
 gst_index_set_resolver_full (GstIndex * index, GstIndexResolver resolver,
diff --git a/libs/gst/base/gsttypefindhelper.c b/libs/gst/base/gsttypefindhelper.c
index 23412b7..e3dba71 100644
--- a/libs/gst/base/gsttypefindhelper.c
+++ b/libs/gst/base/gsttypefindhelper.c
@@ -260,8 +260,6 @@
  *
  * Returns: (transfer full): the #GstCaps corresponding to the data stream.
  *     Returns #NULL if no #GstCaps matches the data stream.
- *
- * Since: 0.10.26
  */
 GstCaps *
 gst_type_find_helper_get_range (GstObject * obj, GstObject * parent,
@@ -601,8 +599,6 @@
  * Returns: (transfer full): the #GstCaps corresponding to @extension, or
  *     #NULL if no type could be found. The caller should free the caps
  *     returned with gst_caps_unref().
- * 
- * Since: 0.10.23
  */
 GstCaps *
 gst_type_find_helper_for_extension (GstObject * obj, const gchar * extension)
diff --git a/libs/gst/check/Makefile.in b/libs/gst/check/Makefile.in
index 5c57700..e03f4c3 100644
--- a/libs/gst/check/Makefile.in
+++ b/libs/gst/check/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -281,7 +281,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/libs/gst/check/gstcheck.c b/libs/gst/check/gstcheck.c
index 98934f9..4f96793 100644
--- a/libs/gst/check/gstcheck.c
+++ b/libs/gst/check/gstcheck.c
@@ -174,7 +174,14 @@
   return GST_FLOW_OK;
 }
 
-/* setup an element for a filter test with mysrcpad and mysinkpad */
+/**
+ * gst_check_setup_element:
+ * @factory: factory
+ *
+ * setup an element for a filter test with mysrcpad and mysinkpad
+ *
+ * Returns: (transfer full): a new element
+ */
 GstElement *
 gst_check_setup_element (const gchar * factory)
 {
@@ -199,12 +206,27 @@
   gst_object_unref (element);
 }
 
+/**
+ * gst_check_setup_src_pad:
+ * @element: element to setup pad on
+ * @tmpl: pad template
+ *
+ * Returns: (transfer full): a new pad
+ */
 GstPad *
 gst_check_setup_src_pad (GstElement * element, GstStaticPadTemplate * tmpl)
 {
   return gst_check_setup_src_pad_by_name (element, tmpl, "sink");
 }
 
+/**
+ * gst_check_setup_src_pad_by_name:
+ * @element: element to setup pad on
+ * @tmpl: pad template
+ * @name: name
+ *
+ * Returns: (transfer full): a new pad
+ */
 GstPad *
 gst_check_setup_src_pad_by_name (GstElement * element,
     GstStaticPadTemplate * tmpl, const gchar * name)
@@ -270,12 +292,27 @@
   gst_check_teardown_pad_by_name (element, "sink");
 }
 
+/**
+ * gst_check_setup_sink_pad:
+ * @element: element to setup pad on
+ * @tmpl: pad template
+ *
+ * Returns: (transfer full): a new pad
+ */
 GstPad *
 gst_check_setup_sink_pad (GstElement * element, GstStaticPadTemplate * tmpl)
 {
   return gst_check_setup_sink_pad_by_name (element, tmpl, "src");
 }
 
+/**
+ * gst_check_setup_sink_pad_by_name:
+ * @element: element to setup pad on
+ * @tmpl: pad template
+ * @name: name
+ *
+ * Returns: (transfer full): a new pad
+ */
 GstPad *
 gst_check_setup_sink_pad_by_name (GstElement * element,
     GstStaticPadTemplate * tmpl, const gchar * name)
@@ -315,8 +352,6 @@
  *
  * Unref and remove all buffers that are in the global @buffers GList,
  * emptying the list.
- *
- * Since: 0.10.18
  */
 void
 gst_check_drop_buffers (void)
@@ -334,8 +369,6 @@
  *
  * Compare two caps with gst_caps_is_equal and fail unless they are
  * equal.
- *
- * Since: 0.10.18
  */
 void
 gst_check_caps_equal (GstCaps * caps1, GstCaps * caps2)
@@ -413,8 +446,6 @@
  * pushing the final buffer in the list.
  * This can be used to set up a test which pushes some buffers and then an
  * invalid buffer, when the final buffer is expected to fail, for example.
- * 
- * Since: 0.10.18
  */
 /* FIXME 0.11: rename this function now that there's GstBufferList? */
 void
@@ -556,8 +587,6 @@
  * @buffer_in to this element. The element should create one buffer
  * and this will be compared with @buffer_out. We only check the caps
  * and the data of the buffers. This function unrefs the buffers.
- * 
- * Since: 0.10.18
  */
 void
 gst_check_element_push_buffer (const gchar * element_name,
diff --git a/libs/gst/check/gstcheck.h b/libs/gst/check/gstcheck.h
index ff66993..a527c1b 100644
--- a/libs/gst/check/gstcheck.h
+++ b/libs/gst/check/gstcheck.h
@@ -240,8 +240,6 @@
  * This macro checks that @a and @b are (almost) equal and aborts if this
  * is not the case, printing both expressions and the values they evaluated
  * to. This macro is for use in unit tests.
- *
- * Since: 0.10.14
  */
 #define fail_unless_equals_float(a, b)                            \
 G_STMT_START {                                                    \
@@ -261,8 +259,6 @@
  * This macro checks that @a and @b are (almost) equal and aborts if this
  * is not the case, printing both expressions and the values they evaluated
  * to. This macro is for use in unit tests.
- *
- * Since: 0.10.14
  */
 #define assert_equals_float(a, b) fail_unless_equals_float(a, b)
 
@@ -490,14 +486,6 @@
 #define ASSERT_BUFFER_REFCOUNT(buffer, name, value)             \
         ASSERT_MINI_OBJECT_REFCOUNT(buffer, name, value)
 
-#define ASSERT_MEMORY_REFCOUNT(memory, name, value)             \
-G_STMT_START {                                                  \
-  int rc;                                                       \
-  rc = memory->refcount;                                        \
-  fail_unless (rc == value,                                     \
-               name " (%p) refcount is %d instead of %d", memory, rc, value); \
-} G_STMT_END
-
 #define ASSERT_MINI_OBJECT_REFCOUNT(miniobj, name, value)       \
 G_STMT_START {                                                  \
   int rc;                                                       \
@@ -536,6 +524,12 @@
 
 #define _tcase_add_test __gst_tcase_add_test
 
+/* add define to skip broken tests */
+#define tcase_skip_broken_test(chain,test_func) \
+  if (0) { tcase_add_test(chain,test_func); } else { \
+    GST_ERROR ("FIXME: skipping test %s because it's broken.", G_STRINGIFY (test_func)); \
+  }
+
 G_END_DECLS
 
 #endif /* __GST_CHECK_H__ */
diff --git a/libs/gst/check/gstconsistencychecker.c b/libs/gst/check/gstconsistencychecker.c
index 576b575..04d7348 100644
--- a/libs/gst/check/gstconsistencychecker.c
+++ b/libs/gst/check/gstconsistencychecker.c
@@ -27,8 +27,6 @@
  *
  * These macros and functions are for internal use of the unit tests found
  * inside the 'check' directories of various GStreamer packages.
- *
- * Since: 0.10.24
  */
 
 #include "gstconsistencychecker.h"
@@ -40,6 +38,8 @@
   volatile gboolean segment;
   volatile gboolean eos;
   volatile gboolean expect_flush;
+  volatile gboolean saw_serialized_event;
+  volatile gboolean saw_stream_start;
   GstObject *parent;
   GList *pads;
 };
@@ -71,7 +71,7 @@
   } else if (GST_IS_EVENT (data)) {
     GstEvent *event = (GstEvent *) data;
 
-    GST_DEBUG_OBJECT (pad, "%s", GST_EVENT_TYPE_NAME (event));
+    GST_DEBUG_OBJECT (pad, "Event : %s", GST_EVENT_TYPE_NAME (event));
     switch (GST_EVENT_TYPE (event)) {
       case GST_EVENT_FLUSH_START:
         /* getting two flush_start in a row seems to be okay
@@ -87,6 +87,10 @@
         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");
+        consist->saw_stream_start = TRUE;
+        break;
       case GST_EVENT_STREAM_CONFIG:
       case GST_EVENT_CAPS:
         /* ok to have these before segment event */
@@ -116,6 +120,13 @@
         /* FIXME : Figure out what to do for other events */
         break;
     }
+    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));
+      consist->saw_serialized_event = TRUE;
+    }
   }
 
   return TRUE;
@@ -198,8 +209,6 @@
  * data flow is inconsistent.
  *
  * Returns: A #GstStreamConsistency structure used to track data flow.
- *
- * Since: 0.10.24
  */
 GstStreamConsistency *
 gst_consistency_checker_new (GstPad * pad)
@@ -226,8 +235,6 @@
  * data flow is inconsistent.
  *
  * Returns: %TRUE if the pad was added
- *
- * Since: 0.10.37
  */
 gboolean
 gst_consistency_checker_add_pad (GstStreamConsistency * consist, GstPad * pad)
@@ -245,16 +252,17 @@
  * @consist: The #GstStreamConsistency to reset.
  *
  * Reset the stream checker's internal variables.
- *
- * Since: 0.10.24
  */
 
 void
 gst_consistency_checker_reset (GstStreamConsistency * consist)
 {
-  consist->eos = FALSE;
   consist->flushing = FALSE;
   consist->segment = FALSE;
+  consist->eos = FALSE;
+  consist->expect_flush = FALSE;
+  consist->saw_serialized_event = FALSE;
+  consist->saw_stream_start = FALSE;
 }
 
 /**
@@ -262,8 +270,6 @@
  * @consist: The #GstStreamConsistency to free.
  *
  * Frees the allocated data and probes associated with @consist.
- *
- * Since: 0.10.24
  */
 
 void
diff --git a/libs/gst/check/gstconsistencychecker.h b/libs/gst/check/gstconsistencychecker.h
index 4cbf3f8..35b675c 100644
--- a/libs/gst/check/gstconsistencychecker.h
+++ b/libs/gst/check/gstconsistencychecker.h
@@ -31,8 +31,6 @@
  * GstStreamConsistency:
  *
  * Opaque consistency checker handle.
- *
- * Since: 0.10.24
  */
 typedef struct _GstStreamConsistency GstStreamConsistency;
 
diff --git a/libs/gst/check/libcheck/Makefile.in b/libs/gst/check/libcheck/Makefile.in
index a02142b..910f594 100644
--- a/libs/gst/check/libcheck/Makefile.in
+++ b/libs/gst/check/libcheck/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -214,7 +214,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/libs/gst/check/libcheck/check.h b/libs/gst/check/libcheck/check.h
index 75ebdde..5b29aca 100644
--- a/libs/gst/check/libcheck/check.h
+++ b/libs/gst/check/libcheck/check.h
@@ -232,7 +232,7 @@
         "Failure '"#expr"' occured" , ## __VA_ARGS__, NULL)
 
 /* Always fail */
-#define fail(...) _fail_unless(0, __FILE__, __LINE__, "Failed"  __VA_ARGS__, NULL)
+#define fail(...) _fail_unless(0, __FILE__, __LINE__, "Failed", __VA_ARGS__, NULL)
 
 /* Non macro version of #fail_unless, with more complicated interface */
 void CK_EXPORT _fail_unless (int result, const char *file,
diff --git a/libs/gst/check/libcheck/check.h.in b/libs/gst/check/libcheck/check.h.in
index 3ed1acd..b0edb41 100644
--- a/libs/gst/check/libcheck/check.h.in
+++ b/libs/gst/check/libcheck/check.h.in
@@ -232,7 +232,7 @@
         "Failure '"#expr"' occured" , ## __VA_ARGS__, NULL)
 
 /* Always fail */
-#define fail(...) _fail_unless(0, __FILE__, __LINE__, "Failed"  __VA_ARGS__, NULL)
+#define fail(...) _fail_unless(0, __FILE__, __LINE__, "Failed", __VA_ARGS__, NULL)
 
 /* Non macro version of #fail_unless, with more complicated interface */
 void CK_EXPORT _fail_unless (int result, const char *file,
diff --git a/libs/gst/controller/Makefile.in b/libs/gst/controller/Makefile.in
index 897da92..66c0266 100644
--- a/libs/gst/controller/Makefile.in
+++ b/libs/gst/controller/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -246,7 +246,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/libs/gst/controller/gstargbcontrolbinding.c b/libs/gst/controller/gstargbcontrolbinding.c
index 9e4728a..ac73c5c 100644
--- a/libs/gst/controller/gstargbcontrolbinding.c
+++ b/libs/gst/controller/gstargbcontrolbinding.c
@@ -33,7 +33,7 @@
 
 #include "gstargbcontrolbinding.h"
 
-#include <math.h>
+#include <gst/math-compat.h>
 
 #define GST_CAT_DEFAULT control_binding_debug
 GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
diff --git a/libs/gst/controller/gstdirectcontrolbinding.c b/libs/gst/controller/gstdirectcontrolbinding.c
index 0596489..bc85d93 100644
--- a/libs/gst/controller/gstdirectcontrolbinding.c
+++ b/libs/gst/controller/gstdirectcontrolbinding.c
@@ -32,7 +32,7 @@
 
 #include "gstdirectcontrolbinding.h"
 
-#include <math.h>
+#include <gst/math-compat.h>
 
 #define GST_CAT_DEFAULT control_binding_debug
 GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
@@ -478,7 +478,7 @@
  * gst_direct_control_binding_new:
  * @object: the object of the property
  * @property_name: the property-name to attach the control source
- * @csource: the control source
+ * @cs: the control source
  *
  * Create a new control-binding that attaches the #GstControlSource to the
  * #GObject property.
diff --git a/libs/gst/controller/gstlfocontrolsource.c b/libs/gst/controller/gstlfocontrolsource.c
index 819518d..20ee0fd 100644
--- a/libs/gst/controller/gstlfocontrolsource.c
+++ b/libs/gst/controller/gstlfocontrolsource.c
@@ -556,7 +556,7 @@
   gobject_class->get_property = gst_lfo_control_source_get_property;
 
   /**
-   * GstLFOControlSource:waveform
+   * GstLFOControlSource:waveform:
    *
    * Specifies the waveform that should be used for this #GstLFOControlSource.
    */
@@ -566,7 +566,7 @@
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   /**
-   * GstLFOControlSource:frequency
+   * GstLFOControlSource:frequency:
    *
    * Specifies the frequency that should be used for the waveform
    * of this #GstLFOControlSource. It should be large enough
@@ -578,7 +578,7 @@
           G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
 
   /**
-   * GstLFOControlSource:timeshift
+   * GstLFOControlSource:timeshift:
    *
    * Specifies the timeshift to the right that should be used for the waveform
    * of this #GstLFOControlSource in nanoseconds.
@@ -593,7 +593,7 @@
           G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
 
   /**
-   * GstLFOControlSource:amplitude
+   * GstLFOControlSource:amplitude:
    *
    * Specifies the amplitude for the waveform of this #GstLFOControlSource.
    */
@@ -603,7 +603,7 @@
           G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
 
   /**
-   * GstLFOControlSource:offset
+   * GstLFOControlSource:offset:
    *
    * Specifies the value offset for the waveform of this #GstLFOControlSource.
    */
diff --git a/libs/gst/controller/gsttimedvaluecontrolsource.h b/libs/gst/controller/gsttimedvaluecontrolsource.h
index e1dde55..d6624ed 100644
--- a/libs/gst/controller/gsttimedvaluecontrolsource.h
+++ b/libs/gst/controller/gsttimedvaluecontrolsource.h
@@ -48,6 +48,7 @@
 typedef struct _GstTimedValueControlSource GstTimedValueControlSource;
 typedef struct _GstTimedValueControlSourceClass GstTimedValueControlSourceClass;
 typedef struct _GstTimedValueControlSourcePrivate GstTimedValueControlSourcePrivate;
+typedef struct _GstControlPoint GstControlPoint;
 
 /**
  * GstControlPoint:
@@ -56,7 +57,7 @@
  * values used for interpolation. This "inherits" from
  * GstTimedValue.
  */
-typedef struct _GstControlPoint
+struct _GstControlPoint
 {
   /* fields from GstTimedValue. DO NOT CHANGE! */
   GstClockTime timestamp;       /* timestamp of the value change */
@@ -73,7 +74,7 @@
     } cubic;
   } cache;
 
-} GstControlPoint;
+};
 
 /**
  * GstTimedValueControlSource:
@@ -90,6 +91,7 @@
   gint nvalues;                 /* Number of control points */
   gboolean valid_cache;
 
+  /*< private >*/
   GstTimedValueControlSourcePrivate *priv;
   gpointer _gst_reserved[GST_PADDING];
 };
diff --git a/libs/gst/helpers/Makefile.in b/libs/gst/helpers/Makefile.in
index 7a9fc3f..d68803b 100644
--- a/libs/gst/helpers/Makefile.in
+++ b/libs/gst/helpers/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -205,7 +205,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/libs/gst/net/Makefile.in b/libs/gst/net/Makefile.in
index 770630b..98691e2 100644
--- a/libs/gst/net/Makefile.in
+++ b/libs/gst/net/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -244,7 +244,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/libs/gst/net/gstnettimepacket.c b/libs/gst/net/gstnettimepacket.c
index f4667f6..6d18ab6 100644
--- a/libs/gst/net/gstnettimepacket.c
+++ b/libs/gst/net/gstnettimepacket.c
@@ -43,10 +43,12 @@
 
 #include "gstnettimepacket.h"
 
+G_DEFINE_BOXED_TYPE (GstNetTimePacket, gst_net_time_packet,
+    gst_net_time_packet_copy, gst_net_time_packet_free);
 
 /**
  * gst_net_time_packet_new:
- * @buffer: a buffer from which to construct the packet, or NULL
+ * @buffer: (array): a buffer from which to construct the packet, or NULL
  *
  * Creates a new #GstNetTimePacket from a buffer received over the network. The
  * caller is responsible for ensuring that @buffer is at least
@@ -55,7 +57,7 @@
  * If @buffer is #NULL, the local and remote times will be set to
  * #GST_CLOCK_TIME_NONE.
  *
- * MT safe. Caller owns return value (g_free to free).
+ * MT safe. Caller owns return value (gst_net_time_packet_free to free).
  *
  * Returns: The new #GstNetTimePacket.
  */
@@ -80,6 +82,38 @@
 }
 
 /**
+ * gst_net_time_packet_free:
+ * @packet: the #GstNetTimePacket
+ *
+ * Free @packet.
+ */
+void
+gst_net_time_packet_free (GstNetTimePacket * packet)
+{
+  g_free (packet);
+}
+
+/**
+ * gst_net_time_packet_copy:
+ * @packet: the #GstNetTimePacket
+ *
+ * Make a copy of @packet.
+ *
+ * Returns: a copy of @packet, free with gst_net_time_packet_free().
+ */
+GstNetTimePacket *
+gst_net_time_packet_copy (const GstNetTimePacket * packet)
+{
+  GstNetTimePacket *ret;
+
+  ret = g_new0 (GstNetTimePacket, 1);
+  ret->local_time = packet->local_time;
+  ret->remote_time = packet->remote_time;
+
+  return ret;
+}
+
+/**
  * gst_net_time_packet_serialize:
  * @packet: the #GstNetTimePacket
  *
@@ -110,14 +144,14 @@
 /**
  * gst_net_time_packet_receive:
  * @socket: socket to receive the time packet on
- * @src_addr: (out): address of variable to return sender address
- * @err: return address for a #GError, or NULL
+ * @src_address: (out): address of variable to return sender address
+ * @error: return address for a #GError, or NULL
  *
  * Receives a #GstNetTimePacket over a socket. Handles interrupted system
  * calls, but otherwise returns NULL on error.
  *
  * Returns: (transfer full): a new #GstNetTimePacket, or NULL on error. Free
- *    with g_free() when done.
+ *    with gst_net_time_packet_free() when done.
  */
 GstNetTimePacket *
 gst_net_time_packet_receive (GSocket * socket,
@@ -169,8 +203,8 @@
  * gst_net_time_packet_send:
  * @packet: the #GstNetTimePacket to send
  * @socket: socket to send the time packet on
- * @dest_addr: address to send the time packet to
- * @err: return address for a #GError, or NULL
+ * @dest_address: address to send the time packet to
+ * @error: return address for a #GError, or NULL
  *
  * Sends a #GstNetTimePacket over a socket.
  *
diff --git a/libs/gst/net/gstnettimepacket.h b/libs/gst/net/gstnettimepacket.h
index e37342c..8839596 100644
--- a/libs/gst/net/gstnettimepacket.h
+++ b/libs/gst/net/gstnettimepacket.h
@@ -47,8 +47,12 @@
   GstClockTime remote_time;
 };
 
-/* FIXME 0.11: get rid of the packet stuff? add an unref/free function? */
+GType gst_net_time_packet_get_type(void);
+
 GstNetTimePacket*       gst_net_time_packet_new         (const guint8 *buffer);
+GstNetTimePacket*       gst_net_time_packet_copy        (const GstNetTimePacket *packet);
+void                    gst_net_time_packet_free        (GstNetTimePacket *packet);
+
 guint8*                 gst_net_time_packet_serialize   (const GstNetTimePacket *packet);
 
 GstNetTimePacket*	gst_net_time_packet_receive     (GSocket         * socket,
diff --git a/ltmain.sh b/ltmain.sh
index c7d06c3..33f642a 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -70,7 +70,7 @@
 #         compiler:		$LTCC
 #         compiler flags:		$LTCFLAGS
 #         linker:		$LD (gnu? $with_gnu_ld)
-#         $progname:	(GNU libtool) 2.4.2 Debian-2.4.2-1
+#         $progname:	(GNU libtool) 2.4.2 Debian-2.4.2-1.1
 #         automake:	$automake_version
 #         autoconf:	$autoconf_version
 #
@@ -80,7 +80,7 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1"
+VERSION="2.4.2 Debian-2.4.2-1.1"
 TIMESTAMP=""
 package_revision=1.3337
 
diff --git a/m4/Makefile.in b/m4/Makefile.in
index 309850d..e83c601 100644
--- a/m4/Makefile.in
+++ b/m4/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -167,7 +167,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/m4/check-checks.m4 b/m4/check-checks.m4
index cd996ce..349a1b5 100644
--- a/m4/check-checks.m4
+++ b/m4/check-checks.m4
@@ -16,7 +16,7 @@
 AC_SUBST(CHECK_VERSION)
 
 dnl Checks for header files and declarations
-AC_CHECK_HEADERS([unistd.h sys/wait.h sys/time.h])
+AC_CHECK_HEADERS([unistd.h sys/wait.h sys/time.h], [], [], [AC_INCLUDES_DEFAULT])
 
 AC_CHECK_FUNCS([localtime_r])
 
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 828104c..534d1cc 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -2512,17 +2512,6 @@
   esac
   ;;
 
-gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
 haiku*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
@@ -2639,7 +2628,7 @@
   ;;
 
 # This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
@@ -3255,10 +3244,6 @@
   fi
   ;;
 
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
 haiku*)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -3297,7 +3282,7 @@
   ;;
 
 # This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
@@ -4049,7 +4034,7 @@
 	    ;;
 	esac
 	;;
-      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
 	case $cc_basename in
 	  KCC*)
 	    # KAI C++ Compiler
@@ -4348,7 +4333,7 @@
       _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
       ;;
 
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
+    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
       case $cc_basename in
       # old Intel for x86_64 which still supported -KPIC.
       ecc*)
@@ -6241,9 +6226,6 @@
         _LT_TAGVAR(ld_shlibs, $1)=yes
         ;;
 
-      gnu*)
-        ;;
-
       haiku*)
         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
         _LT_TAGVAR(link_all_deplibs, $1)=yes
@@ -6405,7 +6387,7 @@
         _LT_TAGVAR(inherit_rpath, $1)=yes
         ;;
 
-      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
         case $cc_basename in
           KCC*)
 	    # Kuck and Associates, Inc. (KAI) C++ Compiler
diff --git a/pkgconfig/Makefile.in b/pkgconfig/Makefile.in
index dd75868..88585f5 100644
--- a/pkgconfig/Makefile.in
+++ b/pkgconfig/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -211,7 +211,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/plugins/Makefile.in b/plugins/Makefile.in
index 099c0e4..b666215 100644
--- a/plugins/Makefile.in
+++ b/plugins/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -206,7 +206,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/plugins/elements/Makefile.am b/plugins/elements/Makefile.am
index d451a1f..5e0230c 100644
--- a/plugins/elements/Makefile.am
+++ b/plugins/elements/Makefile.am
@@ -17,6 +17,7 @@
 	gstoutputselector.c	\
 	gstdataqueue.c 		\
 	gstmultiqueue.c		\
+	gstqueuearray.c \
 	gstqueue.c		\
 	gstqueue2.c		\
 	gsttee.c		\
@@ -44,6 +45,7 @@
 	gstoutputselector.h	\
 	gstdataqueue.h 		\
 	gstmultiqueue.h		\
+	gstqueuearray.h \
 	gstqueue.h		\
 	gstqueue2.h		\
 	gsttee.h		\
diff --git a/plugins/elements/Makefile.in b/plugins/elements/Makefile.in
index 56a2e0c..3bb168f 100644
--- a/plugins/elements/Makefile.in
+++ b/plugins/elements/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -143,6 +143,7 @@
 	libgstcoreelements_la-gstoutputselector.lo \
 	libgstcoreelements_la-gstdataqueue.lo \
 	libgstcoreelements_la-gstmultiqueue.lo \
+	libgstcoreelements_la-gstqueuearray.lo \
 	libgstcoreelements_la-gstqueue.lo \
 	libgstcoreelements_la-gstqueue2.lo \
 	libgstcoreelements_la-gsttee.lo \
@@ -251,7 +252,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
@@ -483,6 +486,7 @@
 	gstoutputselector.c	\
 	gstdataqueue.c 		\
 	gstmultiqueue.c		\
+	gstqueuearray.c \
 	gstqueue.c		\
 	gstqueue2.c		\
 	gsttee.c		\
@@ -510,6 +514,7 @@
 	gstoutputselector.h	\
 	gstdataqueue.h 		\
 	gstmultiqueue.h		\
+	gstqueuearray.h \
 	gstqueue.h		\
 	gstqueue2.h		\
 	gsttee.h		\
@@ -611,6 +616,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gstoutputselector.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gstqueue.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gstqueue2.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gstqueuearray.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gsttee.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gsttypefindelement.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gstvalve.Plo@am__quote@
@@ -734,6 +740,13 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstcoreelements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcoreelements_la_CFLAGS) $(CFLAGS) -c -o libgstcoreelements_la-gstmultiqueue.lo `test -f 'gstmultiqueue.c' || echo '$(srcdir)/'`gstmultiqueue.c
 
+libgstcoreelements_la-gstqueuearray.lo: gstqueuearray.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstcoreelements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcoreelements_la_CFLAGS) $(CFLAGS) -MT libgstcoreelements_la-gstqueuearray.lo -MD -MP -MF $(DEPDIR)/libgstcoreelements_la-gstqueuearray.Tpo -c -o libgstcoreelements_la-gstqueuearray.lo `test -f 'gstqueuearray.c' || echo '$(srcdir)/'`gstqueuearray.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstcoreelements_la-gstqueuearray.Tpo $(DEPDIR)/libgstcoreelements_la-gstqueuearray.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstqueuearray.c' object='libgstcoreelements_la-gstqueuearray.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstcoreelements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcoreelements_la_CFLAGS) $(CFLAGS) -c -o libgstcoreelements_la-gstqueuearray.lo `test -f 'gstqueuearray.c' || echo '$(srcdir)/'`gstqueuearray.c
+
 libgstcoreelements_la-gstqueue.lo: gstqueue.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstcoreelements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcoreelements_la_CFLAGS) $(CFLAGS) -MT libgstcoreelements_la-gstqueue.lo -MD -MP -MF $(DEPDIR)/libgstcoreelements_la-gstqueue.Tpo -c -o libgstcoreelements_la-gstqueue.lo `test -f 'gstqueue.c' || echo '$(srcdir)/'`gstqueue.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstcoreelements_la-gstqueue.Tpo $(DEPDIR)/libgstcoreelements_la-gstqueue.Plo
diff --git a/plugins/elements/gstcapsfilter.c b/plugins/elements/gstcapsfilter.c
index 971cb7f..1c585d9 100644
--- a/plugins/elements/gstcapsfilter.c
+++ b/plugins/elements/gstcapsfilter.c
@@ -305,7 +305,8 @@
           GST_PTR_FORMAT " to apply to srcpad", out_caps);
 
       if (!gst_pad_has_current_caps (trans->srcpad))
-        gst_pad_push_event (trans->srcpad, gst_event_new_caps (out_caps));
+        if (!gst_pad_set_caps (trans->srcpad, out_caps))
+          ret = GST_FLOW_NOT_NEGOTIATED;
       gst_caps_unref (out_caps);
     } else {
       gchar *caps_str = gst_caps_to_string (out_caps);
diff --git a/plugins/elements/gstcapsfilter.h b/plugins/elements/gstcapsfilter.h
index d132e66..9db6ebc 100644
--- a/plugins/elements/gstcapsfilter.h
+++ b/plugins/elements/gstcapsfilter.h
@@ -59,7 +59,7 @@
   GstBaseTransformClass trans_class;
 };
 
-GType gst_capsfilter_get_type (void);
+G_GNUC_INTERNAL GType gst_capsfilter_get_type (void);
 
 G_END_DECLS
 
diff --git a/plugins/elements/gstdataqueue.c b/plugins/elements/gstdataqueue.c
index c1b8820..dff49c6 100644
--- a/plugins/elements/gstdataqueue.c
+++ b/plugins/elements/gstdataqueue.c
@@ -26,8 +26,6 @@
  * #GstDataQueue is an object that handles threadsafe queueing of objects. It
  * also provides size-related functionality. This object should be used for
  * any #GstElement that wishes to provide some sort of queueing functionality.
- *
- * Since: 0.10.11
  */
 
 #include <gst/gst.h>
@@ -89,7 +87,7 @@
                q->cur_level.visible,                                    \
                q->cur_level.bytes,                                      \
                q->cur_level.time,                                       \
-               q->queue->length)
+               q->queue.length)
 
 static void gst_data_queue_finalize (GObject * object);
 
@@ -181,7 +179,7 @@
   g_mutex_init (&queue->qlock);
   g_cond_init (&queue->item_add);
   g_cond_init (&queue->item_del);
-  queue->queue = g_queue_new ();
+  gst_queue_array_init (&queue->queue, 50);
 
   GST_DEBUG ("initialized queue's not_empty & not_full conditions");
 }
@@ -199,8 +197,6 @@
  * or @emptycallback.
  *
  * Returns: a new #GstDataQueue.
- *
- * Since: 0.10.26
  */
 
 GstDataQueue *
@@ -239,8 +235,8 @@
 static void
 gst_data_queue_cleanup (GstDataQueue * queue)
 {
-  while (!g_queue_is_empty (queue->queue)) {
-    GstDataQueueItem *item = g_queue_pop_head (queue->queue);
+  while (!gst_queue_array_is_empty (&queue->queue)) {
+    GstDataQueueItem *item = gst_queue_array_pop_head (&queue->queue);
 
     /* Just call the destroy notify on the item */
     item->destroy (item);
@@ -259,7 +255,7 @@
   GST_DEBUG ("finalizing queue");
 
   gst_data_queue_cleanup (queue);
-  g_queue_free (queue->queue);
+  gst_queue_array_clear (&queue->queue);
 
   GST_DEBUG ("free mutex");
   g_mutex_clear (&queue->qlock);
@@ -285,7 +281,7 @@
 static inline gboolean
 gst_data_queue_locked_is_empty (GstDataQueue * queue)
 {
-  return (queue->queue->length == 0);
+  return (queue->queue.length == 0);
 }
 
 static inline gboolean
@@ -302,8 +298,6 @@
  * Flushes all the contents of the @queue. Any call to #gst_data_queue_push and
  * #gst_data_queue_pop will be released.
  * MT safe.
- *
- * Since: 0.10.11
  */
 void
 gst_data_queue_flush (GstDataQueue * queue)
@@ -322,8 +316,6 @@
  * MT safe.
  *
  * Returns: #TRUE if @queue is empty.
- *
- * Since: 0.10.11
  */
 gboolean
 gst_data_queue_is_empty (GstDataQueue * queue)
@@ -346,8 +338,6 @@
  * MT safe.
  *
  * Returns: #TRUE if @queue is full.
- *
- * Since: 0.10.11
  */
 gboolean
 gst_data_queue_is_full (GstDataQueue * queue)
@@ -373,8 +363,6 @@
  * all calls to those two functions will return #FALSE.
  *
  * MT Safe.
- *
- * Since: 0.10.11
  */
 void
 gst_data_queue_set_flushing (GstDataQueue * queue, gboolean flushing)
@@ -409,8 +397,6 @@
  * is returned, the caller is responsible for freeing @item and its contents.
  *
  * Returns: #TRUE if the @item was successfully pushed on the @queue.
- *
- * Since: 0.10.11
  */
 gboolean
 gst_data_queue_push (GstDataQueue * queue, GstDataQueueItem * item)
@@ -441,7 +427,7 @@
     }
   }
 
-  g_queue_push_tail (queue->queue, item);
+  gst_queue_array_push_tail (&queue->queue, item);
 
   if (item->visible)
     queue->cur_level.visible++;
@@ -476,8 +462,6 @@
  * MT safe.
  *
  * Returns: #TRUE if an @item was successfully retrieved from the @queue.
- *
- * Since: 0.10.11
  */
 gboolean
 gst_data_queue_pop (GstDataQueue * queue, GstDataQueueItem ** item)
@@ -507,7 +491,7 @@
   }
 
   /* Get the item from the GQueue */
-  *item = g_queue_pop_head (queue->queue);
+  *item = gst_queue_array_pop_head (&queue->queue);
 
   /* update current level counter */
   if ((*item)->visible)
@@ -532,6 +516,12 @@
   }
 }
 
+static gint
+is_of_type (gconstpointer a, gconstpointer b)
+{
+  return !G_TYPE_CHECK_INSTANCE_TYPE (a, GPOINTER_TO_INT (b));
+}
+
 /**
  * gst_data_queue_drop_head:
  * @queue: The #GstDataQueue to drop an item from.
@@ -540,34 +530,27 @@
  * Pop and unref the head-most #GstMiniObject with the given #GType.
  *
  * Returns: TRUE if an element was removed.
- *
- * Since: 0.10.11
  */
 gboolean
 gst_data_queue_drop_head (GstDataQueue * queue, GType type)
 {
   gboolean res = FALSE;
-  GList *item;
   GstDataQueueItem *leak = NULL;
+  guint idx;
 
   g_return_val_if_fail (GST_IS_DATA_QUEUE (queue), FALSE);
 
   GST_DEBUG ("queue:%p", queue);
 
   GST_DATA_QUEUE_MUTEX_LOCK (queue);
-  for (item = g_queue_peek_head_link (queue->queue); item; item = item->next) {
-    GstDataQueueItem *tmp = (GstDataQueueItem *) item->data;
+  idx =
+      gst_queue_array_find (&queue->queue, is_of_type, GINT_TO_POINTER (type));
 
-    if (G_TYPE_CHECK_INSTANCE_TYPE (tmp->object, type)) {
-      leak = tmp;
-      break;
-    }
-  }
-
-  if (!leak)
+  if (idx == -1)
     goto done;
 
-  g_queue_delete_link (queue->queue, item);
+  leak = queue->queue.array[idx];
+  gst_queue_array_drop_element (&queue->queue, idx);
 
   if (leak->visible)
     queue->cur_level.visible--;
@@ -592,8 +575,6 @@
  *
  * Inform the queue that the limits for the fullness check have changed and that
  * any blocking gst_data_queue_push() should be unblocked to recheck the limts.
- *
- * Since: 0.10.11
  */
 void
 gst_data_queue_limits_changed (GstDataQueue * queue)
@@ -614,8 +595,6 @@
  * @level: the location to store the result
  *
  * Get the current level of the queue.
- *
- * Since: 0.10.11
  */
 void
 gst_data_queue_get_level (GstDataQueue * queue, GstDataQueueSize * level)
diff --git a/plugins/elements/gstdataqueue.h b/plugins/elements/gstdataqueue.h
index 36f4be7..52fdeaf 100644
--- a/plugins/elements/gstdataqueue.h
+++ b/plugins/elements/gstdataqueue.h
@@ -24,6 +24,7 @@
 #define __GST_DATA_QUEUE_H__
 
 #include <gst/gst.h>
+#include "gstqueuearray.h"
 
 G_BEGIN_DECLS
 #define GST_TYPE_DATA_QUEUE \
@@ -54,8 +55,6 @@
  *
  * Structure used by #GstDataQueue. You can supply a different structure, as
  * long as the top of the structure is identical to this structure.
- *
- * Since: 0.10.11
  */
 
 struct _GstDataQueueItem
@@ -76,8 +75,6 @@
  * @time: amount of time
  *
  * Structure describing the size of a queue.
- *
- * Since: 0.10.11
  */
 struct _GstDataQueueSize
 {
@@ -98,8 +95,6 @@
  * considered as full.
  *
  * Returns: #TRUE if the queue should be considered full.
- *
- * Since: 0.10.11
  */
 typedef gboolean (*GstDataQueueCheckFullFunction) (GstDataQueue * queue,
     guint visible, guint bytes, guint64 time, gpointer checkdata);
@@ -112,16 +107,14 @@
  * @object: the parent structure
  *
  * Opaque #GstDataQueue structure.
- *
- * Since: 0.10.11
  */
 struct _GstDataQueue
 {
   GObject object;
 
   /*< private >*/
-  /* the queue of data we're keeping our grubby hands on */
-  GQueue *queue;
+  /* the array of data we're keeping our grubby hands on */
+  GstQueueArray queue;
 
   GstDataQueueSize cur_level;   /* size of the queue */
   GstDataQueueCheckFullFunction checkfull;      /* Callback to check if the queue is full */
@@ -137,7 +130,7 @@
   GstDataQueueFullCallback fullcallback;
   GstDataQueueEmptyCallback emptycallback;
 
-  gpointer _gst_reserved[GST_PADDING];
+  /* gpointer _gst_reserved[GST_PADDING]; */
 };
 
 struct _GstDataQueueClass
@@ -148,31 +141,47 @@
   void (*empty) (GstDataQueue * queue);
   void (*full) (GstDataQueue * queue);
 
-  gpointer _gst_reserved[GST_PADDING];
+  /* gpointer _gst_reserved[GST_PADDING]; */
 };
 
+G_GNUC_INTERNAL
 GType gst_data_queue_get_type (void);
 
+G_GNUC_INTERNAL
 GstDataQueue * gst_data_queue_new            (GstDataQueueCheckFullFunction checkfull,
                                               gpointer checkdata) G_GNUC_MALLOC;
 
+G_GNUC_INTERNAL
 GstDataQueue * gst_data_queue_new_full       (GstDataQueueCheckFullFunction checkfull,
 					      GstDataQueueFullCallback fullcallback,
 					      GstDataQueueEmptyCallback emptycallback,
 					      gpointer checkdata) G_GNUC_MALLOC;
 
+G_GNUC_INTERNAL
 gboolean       gst_data_queue_push           (GstDataQueue * queue, GstDataQueueItem * item);
+
+G_GNUC_INTERNAL
 gboolean       gst_data_queue_pop            (GstDataQueue * queue, GstDataQueueItem ** item);
 
+G_GNUC_INTERNAL
 void           gst_data_queue_flush          (GstDataQueue * queue);
+
+G_GNUC_INTERNAL
 void           gst_data_queue_set_flushing   (GstDataQueue * queue, gboolean flushing);
 
+G_GNUC_INTERNAL
 gboolean       gst_data_queue_drop_head      (GstDataQueue * queue, GType type);
 
+G_GNUC_INTERNAL
 gboolean       gst_data_queue_is_full        (GstDataQueue * queue);
+
+G_GNUC_INTERNAL
 gboolean       gst_data_queue_is_empty       (GstDataQueue * queue);
 
+G_GNUC_INTERNAL
 void           gst_data_queue_get_level      (GstDataQueue * queue, GstDataQueueSize *level);
+
+G_GNUC_INTERNAL
 void           gst_data_queue_limits_changed (GstDataQueue * queue);
 
 G_END_DECLS
diff --git a/plugins/elements/gstelements.c b/plugins/elements/gstelements.c
index 00594b5..6ba95d0 100644
--- a/plugins/elements/gstelements.c
+++ b/plugins/elements/gstelements.c
@@ -45,54 +45,65 @@
 #include "gsttypefindelement.h"
 #include "gstvalve.h"
 
-struct _elements_entry
-{
-  const gchar *name;
-  guint rank;
-    GType (*type) (void);
-};
-
-
-static struct _elements_entry _elements[] = {
-  {"capsfilter", GST_RANK_NONE, gst_capsfilter_get_type},
-  {"fakesrc", GST_RANK_NONE, gst_fake_src_get_type},
-  {"fakesink", GST_RANK_NONE, gst_fake_sink_get_type},
-#if defined(HAVE_SYS_SOCKET_H) || defined(_MSC_VER)
-  {"fdsrc", GST_RANK_NONE, gst_fd_src_get_type},
-  {"fdsink", GST_RANK_NONE, gst_fd_sink_get_type},
-#endif
-  {"filesrc", GST_RANK_PRIMARY, gst_file_src_get_type},
-  {"funnel", GST_RANK_NONE, gst_funnel_get_type},
-  {"identity", GST_RANK_NONE, gst_identity_get_type},
-  {"input-selector", GST_RANK_NONE, gst_input_selector_get_type},
-  {"output-selector", GST_RANK_NONE, gst_output_selector_get_type},
-  {"queue", GST_RANK_NONE, gst_queue_get_type},
-  {"queue2", GST_RANK_NONE, gst_queue2_get_type},
-  {"filesink", GST_RANK_PRIMARY, gst_file_sink_get_type},
-  {"tee", GST_RANK_NONE, gst_tee_get_type},
-  {"typefind", GST_RANK_NONE, gst_type_find_element_get_type},
-  {"multiqueue", GST_RANK_NONE, gst_multi_queue_get_type},
-  {"valve", GST_RANK_NONE, gst_valve_get_type},
-  {NULL, 0},
-};
-
 static gboolean
 plugin_init (GstPlugin * plugin)
 {
-  struct _elements_entry *my_elements = _elements;
-
-  while ((*my_elements).name) {
-    if (!gst_element_register (plugin, (*my_elements).name, (*my_elements).rank,
-            ((*my_elements).type) ()))
-      return FALSE;
-    my_elements++;
-  }
+  if (!gst_element_register (plugin, "capsfilter", GST_RANK_NONE,
+          gst_capsfilter_get_type ()))
+    return FALSE;
+  if (!gst_element_register (plugin, "fakesrc", GST_RANK_NONE,
+          gst_fake_src_get_type ()))
+    return FALSE;
+  if (!gst_element_register (plugin, "fakesink", GST_RANK_NONE,
+          gst_fake_sink_get_type ()))
+    return FALSE;
+#if defined(HAVE_SYS_SOCKET_H) || defined(_MSC_VER)
+  if (!gst_element_register (plugin, "fdsrc", GST_RANK_NONE,
+          gst_fd_src_get_type ()))
+    return FALSE;
+  if (!gst_element_register (plugin, "fdsink", GST_RANK_NONE,
+          gst_fd_sink_get_type ()))
+    return FALSE;
+#endif
+  if (!gst_element_register (plugin, "filesrc", GST_RANK_PRIMARY,
+          gst_file_src_get_type ()))
+    return FALSE;
+  if (!gst_element_register (plugin, "funnel", GST_RANK_NONE,
+          gst_funnel_get_type ()))
+    return FALSE;
+  if (!gst_element_register (plugin, "identity", GST_RANK_NONE,
+          gst_identity_get_type ()))
+    return FALSE;
+  if (!gst_element_register (plugin, "input-selector", GST_RANK_NONE,
+          gst_input_selector_get_type ()))
+    return FALSE;
+  if (!gst_element_register (plugin, "output-selector", GST_RANK_NONE,
+          gst_output_selector_get_type ()))
+    return FALSE;
+  if (!gst_element_register (plugin, "queue", GST_RANK_NONE,
+          gst_queue_get_type ()))
+    return FALSE;
+  if (!gst_element_register (plugin, "queue2", GST_RANK_NONE,
+          gst_queue2_get_type ()))
+    return FALSE;
+  if (!gst_element_register (plugin, "filesink", GST_RANK_PRIMARY,
+          gst_file_sink_get_type ()))
+    return FALSE;
+  if (!gst_element_register (plugin, "tee", GST_RANK_NONE, gst_tee_get_type ()))
+    return FALSE;
+  if (!gst_element_register (plugin, "typefind", GST_RANK_NONE,
+          gst_type_find_element_get_type ()))
+    return FALSE;
+  if (!gst_element_register (plugin, "multiqueue", GST_RANK_NONE,
+          gst_multi_queue_get_type ()))
+    return FALSE;
+  if (!gst_element_register (plugin, "valve", GST_RANK_NONE,
+          gst_valve_get_type ()))
+    return FALSE;
 
   return TRUE;
 }
 
-GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
-    GST_VERSION_MINOR,
-    coreelements,
-    "standard GStreamer elements",
-    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN);
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, GST_VERSION_MINOR, coreelements,
+    " GStreamer core elements", plugin_init, VERSION, GST_LICENSE,
+    GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN);
diff --git a/plugins/elements/gstfakesink.c b/plugins/elements/gstfakesink.c
index 363fde9..c328f37 100644
--- a/plugins/elements/gstfakesink.c
+++ b/plugins/elements/gstfakesink.c
@@ -207,8 +207,6 @@
    * @pad: the pad that received it
    *
    * This signal gets emitted before unreffing the buffer.
-   *
-   * Since: 0.10.7
    */
   gst_fake_sink_signals[SIGNAL_PREROLL_HANDOFF] =
       g_signal_new ("preroll-handoff", G_TYPE_FROM_CLASS (klass),
@@ -478,7 +476,7 @@
     sink->last_message =
         g_strdup_printf ("chain   ******* (%s:%s) (%u bytes, dts: %s, pts: %s"
         ", duration: %s, offset: %" G_GINT64_FORMAT ", offset_end: %"
-        G_GINT64_FORMAT ", flags: %d %s) %p",
+        G_GINT64_FORMAT ", flags: %08x %s) %p",
         GST_DEBUG_PAD_NAME (GST_BASE_SINK_CAST (sink)->sinkpad),
         (guint) gst_buffer_get_size (buf), dts_str, pts_str,
         dur_str, GST_BUFFER_OFFSET (buf), GST_BUFFER_OFFSET_END (buf),
diff --git a/plugins/elements/gstfakesink.h b/plugins/elements/gstfakesink.h
index 2db98b9..274b45a 100644
--- a/plugins/elements/gstfakesink.h
+++ b/plugins/elements/gstfakesink.h
@@ -92,7 +92,7 @@
   void (*preroll_handoff) (GstElement *element, GstBuffer *buf, GstPad *pad);
 };
 
-GType gst_fake_sink_get_type (void);
+G_GNUC_INTERNAL GType gst_fake_sink_get_type (void);
 
 G_END_DECLS
 
diff --git a/plugins/elements/gstfakesrc.c b/plugins/elements/gstfakesrc.c
index 89eb17b..bbdff16 100644
--- a/plugins/elements/gstfakesrc.c
+++ b/plugins/elements/gstfakesrc.c
@@ -315,8 +315,6 @@
    * GstFakeSrc:format
    *
    * Set the format of the newsegment events to produce.
-   *
-   * Since: 0.10.20
    */
   g_object_class_install_property (gobject_class, PROP_FORMAT,
       g_param_spec_enum ("format", "Format",
@@ -854,7 +852,7 @@
     src->last_message =
         g_strdup_printf ("create   ******* (%s:%s) (%u bytes, dts: %s, pts:%s"
         ", duration: %s, offset: %" G_GINT64_FORMAT ", offset_end: %"
-        G_GINT64_FORMAT ", flags: %d %s) %p",
+        G_GINT64_FORMAT ", flags: %08x %s) %p",
         GST_DEBUG_PAD_NAME (GST_BASE_SRC_CAST (src)->srcpad), (guint) size,
         dts_str, pts_str, dur_str, GST_BUFFER_OFFSET (buf),
         GST_BUFFER_OFFSET_END (buf), GST_MINI_OBJECT_CAST (buf)->flags,
diff --git a/plugins/elements/gstfakesrc.h b/plugins/elements/gstfakesrc.h
index 965fcb0..3ed0e60 100644
--- a/plugins/elements/gstfakesrc.h
+++ b/plugins/elements/gstfakesrc.h
@@ -159,7 +159,7 @@
   void (*handoff) (GstElement *element, GstBuffer *buf, GstPad *pad);
 };
 
-GType gst_fake_src_get_type (void);
+G_GNUC_INTERNAL GType gst_fake_src_get_type (void);
 
 G_END_DECLS
 
diff --git a/plugins/elements/gstfdsink.c b/plugins/elements/gstfdsink.c
index 7852561..74d30ca 100644
--- a/plugins/elements/gstfdsink.c
+++ b/plugins/elements/gstfdsink.c
@@ -41,14 +41,6 @@
 
 #include <sys/types.h>
 
-#ifdef G_OS_WIN32
-#include <io.h>                 /* lseek, open, close, read */
-#undef lseek
-#define lseek _lseeki64
-#undef off_t
-#define off_t guint64
-#endif
-
 #include <sys/stat.h>
 #ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
@@ -69,6 +61,14 @@
 
 #include "gstfdsink.h"
 
+#ifdef G_OS_WIN32
+#include <io.h>                 /* lseek, open, close, read */
+#undef lseek
+#define lseek _lseeki64
+#undef off_t
+#define off_t guint64
+#endif
+
 static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
diff --git a/plugins/elements/gstfdsink.h b/plugins/elements/gstfdsink.h
index 59393d0..643453d 100644
--- a/plugins/elements/gstfdsink.h
+++ b/plugins/elements/gstfdsink.h
@@ -67,7 +67,7 @@
   GstBaseSinkClass parent_class;
 };
 
-GType gst_fd_sink_get_type(void);
+G_GNUC_INTERNAL GType gst_fd_sink_get_type (void);
 
 G_END_DECLS
 
diff --git a/plugins/elements/gstfdsrc.c b/plugins/elements/gstfdsrc.c
index 13c70bd..a29d84c 100644
--- a/plugins/elements/gstfdsrc.c
+++ b/plugins/elements/gstfdsrc.c
@@ -160,8 +160,6 @@
    * GstFdSrc:timeout
    *
    * Post a message after timeout microseconds
-   *
-   * Since: 0.10.21
    */
   g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_TIMEOUT,
       g_param_spec_uint64 ("timeout", "Timeout",
diff --git a/plugins/elements/gstfdsrc.h b/plugins/elements/gstfdsrc.h
index aac1d52..16e696f 100644
--- a/plugins/elements/gstfdsrc.h
+++ b/plugins/elements/gstfdsrc.h
@@ -80,7 +80,7 @@
   void (*timeout) (GstElement *element);
 };
 
-GType gst_fd_src_get_type(void);
+G_GNUC_INTERNAL GType gst_fd_src_get_type(void);
 
 G_END_DECLS
 
diff --git a/plugins/elements/gstfilesink.c b/plugins/elements/gstfilesink.c
index 7b5218b..c434a56 100644
--- a/plugins/elements/gstfilesink.c
+++ b/plugins/elements/gstfilesink.c
@@ -212,8 +212,6 @@
    * GstFileSink:append
    * 
    * Append to an already existing file.
-   *
-   * Since: 0.10.25
    */
   g_object_class_install_property (gobject_class, PROP_APPEND,
       g_param_spec_boolean ("append", "Append",
diff --git a/plugins/elements/gstfilesink.h b/plugins/elements/gstfilesink.h
index 3f0d6ce..9776550 100644
--- a/plugins/elements/gstfilesink.h
+++ b/plugins/elements/gstfilesink.h
@@ -72,7 +72,7 @@
   GstBaseSinkClass parent_class;
 };
 
-GType gst_file_sink_get_type(void);
+G_GNUC_INTERNAL GType gst_file_sink_get_type (void);
 
 G_END_DECLS
 
diff --git a/plugins/elements/gstfilesrc.c b/plugins/elements/gstfilesrc.c
index a0672d1..911223b 100644
--- a/plugins/elements/gstfilesrc.c
+++ b/plugins/elements/gstfilesrc.c
@@ -149,7 +149,6 @@
 static gboolean gst_file_src_get_size (GstBaseSrc * src, guint64 * size);
 static GstFlowReturn gst_file_src_fill (GstBaseSrc * src, guint64 offset,
     guint length, GstBuffer * buf);
-static gboolean gst_file_src_query (GstBaseSrc * src, GstQuery * query);
 
 static void gst_file_src_uri_handler_init (gpointer g_iface,
     gpointer iface_data);
@@ -195,7 +194,6 @@
   gstbasesrc_class->is_seekable = GST_DEBUG_FUNCPTR (gst_file_src_is_seekable);
   gstbasesrc_class->get_size = GST_DEBUG_FUNCPTR (gst_file_src_get_size);
   gstbasesrc_class->fill = GST_DEBUG_FUNCPTR (gst_file_src_fill);
-  gstbasesrc_class->query = GST_DEBUG_FUNCPTR (gst_file_src_query);
 
   if (sizeof (off_t) < 8) {
     GST_LOG ("No large file support, sizeof (off_t) = %" G_GSIZE_FORMAT "!",
@@ -404,28 +402,6 @@
 }
 
 static gboolean
-gst_file_src_query (GstBaseSrc * basesrc, GstQuery * query)
-{
-  gboolean ret = FALSE;
-  GstFileSrc *src = GST_FILE_SRC (basesrc);
-
-  switch (GST_QUERY_TYPE (query)) {
-    case GST_QUERY_URI:
-      gst_query_set_uri (query, src->uri);
-      ret = TRUE;
-      break;
-    default:
-      ret = FALSE;
-      break;
-  }
-
-  if (!ret)
-    ret = GST_BASE_SRC_CLASS (parent_class)->query (basesrc, query);
-
-  return ret;
-}
-
-static gboolean
 gst_file_src_is_seekable (GstBaseSrc * basesrc)
 {
   GstFileSrc *src = GST_FILE_SRC (basesrc);
diff --git a/plugins/elements/gstfilesrc.h b/plugins/elements/gstfilesrc.h
index 5aa9f87..18c3c41 100644
--- a/plugins/elements/gstfilesrc.h
+++ b/plugins/elements/gstfilesrc.h
@@ -69,7 +69,7 @@
   GstBaseSrcClass parent_class;
 };
 
-GType gst_file_src_get_type (void);
+G_GNUC_INTERNAL GType gst_file_src_get_type (void);
 
 G_END_DECLS
 
diff --git a/plugins/elements/gstfunnel.c b/plugins/elements/gstfunnel.c
index a15a9e6..fb4fafe 100644
--- a/plugins/elements/gstfunnel.c
+++ b/plugins/elements/gstfunnel.c
@@ -229,16 +229,19 @@
 {
   GstFunnel *funnel = GST_FUNNEL (element);
   GstFunnelPad *fpad = GST_FUNNEL_PAD_CAST (pad);
+  gboolean got_eos;
   gboolean send_eos = FALSE;
 
   GST_DEBUG_OBJECT (funnel, "releasing pad");
 
   gst_pad_set_active (pad, FALSE);
 
+  got_eos = fpad->got_eos;
+
   gst_element_remove_pad (GST_ELEMENT_CAST (funnel), pad);
 
   GST_OBJECT_LOCK (funnel);
-  if (!fpad->got_eos && gst_funnel_all_sinkpads_eos_unlocked (funnel)) {
+  if (!got_eos && gst_funnel_all_sinkpads_eos_unlocked (funnel)) {
     GST_DEBUG_OBJECT (funnel, "Pad removed. All others are EOS. Sending EOS");
     send_eos = TRUE;
   }
diff --git a/plugins/elements/gstfunnel.h b/plugins/elements/gstfunnel.h
index 588a651..c968fca 100644
--- a/plugins/elements/gstfunnel.h
+++ b/plugins/elements/gstfunnel.h
@@ -62,7 +62,7 @@
   GstElementClass parent_class;
 };
 
-GType   gst_funnel_get_type        (void);
+G_GNUC_INTERNAL GType   gst_funnel_get_type        (void);
 
 G_END_DECLS
 
diff --git a/plugins/elements/gstidentity.c b/plugins/elements/gstidentity.c
index 50afaec..8361a7a 100644
--- a/plugins/elements/gstidentity.c
+++ b/plugins/elements/gstidentity.c
@@ -67,7 +67,6 @@
 #define DEFAULT_SINGLE_SEGMENT          FALSE
 #define DEFAULT_DUMP                    FALSE
 #define DEFAULT_SYNC                    FALSE
-#define DEFAULT_CHECK_PERFECT           FALSE
 #define DEFAULT_CHECK_IMPERFECT_TIMESTAMP FALSE
 #define DEFAULT_CHECK_IMPERFECT_OFFSET    FALSE
 #define DEFAULT_SIGNAL_HANDOFFS           TRUE
@@ -84,7 +83,6 @@
   PROP_LAST_MESSAGE,
   PROP_DUMP,
   PROP_SYNC,
-  PROP_CHECK_PERFECT,
   PROP_CHECK_IMPERFECT_TIMESTAMP,
   PROP_CHECK_IMPERFECT_OFFSET,
   PROP_SIGNAL_HANDOFFS
@@ -178,12 +176,6 @@
       g_param_spec_boolean ("sync", "Synchronize",
           "Synchronize to pipeline clock", DEFAULT_SYNC,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-  g_object_class_install_property (gobject_class, PROP_CHECK_PERFECT,
-      g_param_spec_boolean ("check-perfect", "Check For Perfect Stream",
-          "Verify that the stream is time- and data-contiguous. "
-          "This only logs in the debug log.  This will be deprecated in favor "
-          "of the check-imperfect-timestamp/offset properties.",
-          DEFAULT_CHECK_PERFECT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
   g_object_class_install_property (gobject_class,
       PROP_CHECK_IMPERFECT_TIMESTAMP,
       g_param_spec_boolean ("check-imperfect-timestamp",
@@ -203,8 +195,6 @@
    *
    * If set to #TRUE, the identity will emit a handoff signal when handling a buffer.
    * When set to #FALSE, no signal will be emited, which might improve performance.
-   *
-   * Since: 0.10.16
    */
   g_object_class_install_property (gobject_class, PROP_SIGNAL_HANDOFFS,
       g_param_spec_boolean ("signal-handoffs",
@@ -256,7 +246,6 @@
   identity->silent = DEFAULT_SILENT;
   identity->single_segment = DEFAULT_SINGLE_SEGMENT;
   identity->sync = DEFAULT_SYNC;
-  identity->check_perfect = DEFAULT_CHECK_PERFECT;
   identity->check_imperfect_timestamp = DEFAULT_CHECK_IMPERFECT_TIMESTAMP;
   identity->check_imperfect_offset = DEFAULT_CHECK_IMPERFECT_OFFSET;
   identity->dump = DEFAULT_DUMP;
@@ -351,51 +340,6 @@
 }
 
 static void
-gst_identity_check_perfect (GstIdentity * identity, GstBuffer * buf)
-{
-  GstClockTime timestamp;
-
-  timestamp = GST_BUFFER_TIMESTAMP (buf);
-
-  /* see if we need to do perfect stream checking */
-  /* invalid timestamp drops us out of check.  FIXME: maybe warn ? */
-  if (timestamp != GST_CLOCK_TIME_NONE) {
-    /* check if we had a previous buffer to compare to */
-    if (identity->prev_timestamp != GST_CLOCK_TIME_NONE &&
-        identity->prev_duration != GST_CLOCK_TIME_NONE) {
-      guint64 offset, t_expected;
-      gint64 dt;
-
-      t_expected = identity->prev_timestamp + identity->prev_duration;
-      dt = timestamp - t_expected;
-      if (dt != 0) {
-        GST_WARNING_OBJECT (identity,
-            "Buffer not time-contiguous with previous one: " "prev ts %"
-            GST_TIME_FORMAT ", prev dur %" GST_TIME_FORMAT ", new ts %"
-            GST_TIME_FORMAT " (expected ts %" GST_TIME_FORMAT ", delta=%c%"
-            GST_TIME_FORMAT ")", GST_TIME_ARGS (identity->prev_timestamp),
-            GST_TIME_ARGS (identity->prev_duration), GST_TIME_ARGS (timestamp),
-            GST_TIME_ARGS (t_expected), (dt < 0) ? '-' : '+',
-            GST_TIME_ARGS ((dt < 0) ? (GstClockTime) (-dt) : dt));
-      }
-
-      offset = GST_BUFFER_OFFSET (buf);
-      if (identity->prev_offset_end != offset &&
-          identity->prev_offset_end != GST_BUFFER_OFFSET_NONE &&
-          offset != GST_BUFFER_OFFSET_NONE) {
-        GST_WARNING_OBJECT (identity,
-            "Buffer not data-contiguous with previous one: "
-            "prev offset_end %" G_GINT64_FORMAT ", new offset %"
-            G_GINT64_FORMAT, identity->prev_offset_end, offset);
-      }
-    } else {
-      GST_DEBUG_OBJECT (identity, "can't check time-contiguity, no timestamp "
-          "and/or duration were set on previous buffer");
-    }
-  }
-}
-
-static void
 gst_identity_check_imperfect_timestamp (GstIdentity * identity, GstBuffer * buf)
 {
   GstClockTime timestamp = GST_BUFFER_TIMESTAMP (buf);
@@ -532,7 +476,7 @@
   identity->last_message = g_strdup_printf ("%s   ******* (%s:%s) "
       "(%" G_GSIZE_FORMAT " bytes, dts: %s, pts:%s, duration: %s, offset: %"
       G_GINT64_FORMAT ", " "offset_end: % " G_GINT64_FORMAT
-      ", flags: %d %s) %p", action,
+      ", flags: %08x %s) %p", action,
       GST_DEBUG_PAD_NAME (GST_BASE_TRANSFORM_CAST (identity)->sinkpad), size,
       print_pretty_time (dts_str, sizeof (dts_str), GST_BUFFER_DTS (buf)),
       print_pretty_time (pts_str, sizeof (pts_str), GST_BUFFER_PTS (buf)),
@@ -555,8 +499,6 @@
 
   size = gst_buffer_get_size (buf);
 
-  if (identity->check_perfect)
-    gst_identity_check_perfect (identity, buf);
   if (identity->check_imperfect_timestamp)
     gst_identity_check_imperfect_timestamp (identity, buf);
   if (identity->check_imperfect_offset)
@@ -698,9 +640,6 @@
     case PROP_SYNC:
       identity->sync = g_value_get_boolean (value);
       break;
-    case PROP_CHECK_PERFECT:
-      identity->check_perfect = g_value_get_boolean (value);
-      break;
     case PROP_CHECK_IMPERFECT_TIMESTAMP:
       identity->check_imperfect_timestamp = g_value_get_boolean (value);
       break;
@@ -758,9 +697,6 @@
     case PROP_SYNC:
       g_value_set_boolean (value, identity->sync);
       break;
-    case PROP_CHECK_PERFECT:
-      g_value_set_boolean (value, identity->check_perfect);
-      break;
     case PROP_CHECK_IMPERFECT_TIMESTAMP:
       g_value_set_boolean (value, identity->check_imperfect_timestamp);
       break;
diff --git a/plugins/elements/gstidentity.h b/plugins/elements/gstidentity.h
index fabc667..835cf94 100644
--- a/plugins/elements/gstidentity.h
+++ b/plugins/elements/gstidentity.h
@@ -62,7 +62,6 @@
   gboolean 	 silent;
   gboolean 	 dump;
   gboolean 	 sync;
-  gboolean 	 check_perfect;
   gboolean 	 check_imperfect_timestamp;
   gboolean 	 check_imperfect_offset;
   gboolean	 single_segment;
@@ -82,7 +81,7 @@
   void (*handoff) (GstElement *element, GstBuffer *buf);
 };
 
-GType gst_identity_get_type(void);
+G_GNUC_INTERNAL GType gst_identity_get_type (void);
 
 G_END_DECLS
 
diff --git a/plugins/elements/gstinputselector.c b/plugins/elements/gstinputselector.c
index 9133a8c..7d63fb0 100644
--- a/plugins/elements/gstinputselector.c
+++ b/plugins/elements/gstinputselector.c
@@ -47,8 +47,6 @@
  * #GST_FLOW_NOT_LINKED
  * </listitem>
  * </itemizedlist>
- *
- * Since: 0.10.32
  */
 
 #ifdef HAVE_CONFIG_H
@@ -85,15 +83,6 @@
   return type;
 }
 
-#if GLIB_CHECK_VERSION(2, 26, 0)
-#define NOTIFY_MUTEX_LOCK()
-#define NOTIFY_MUTEX_UNLOCK()
-#else
-static GStaticRecMutex notify_mutex = G_STATIC_REC_MUTEX_INIT;
-#define NOTIFY_MUTEX_LOCK() g_static_rec_mutex_lock (&notify_mutex)
-#define NOTIFY_MUTEX_UNLOCK() g_static_rec_mutex_unlock (&notify_mutex)
-#endif
-
 #define GST_INPUT_SELECTOR_GET_LOCK(sel) (&((GstInputSelector*)(sel))->lock)
 #define GST_INPUT_SELECTOR_GET_COND(sel) (&((GstInputSelector*)(sel))->cond)
 #define GST_INPUT_SELECTOR_LOCK(sel) (g_mutex_lock (GST_INPUT_SELECTOR_GET_LOCK(sel)))
@@ -454,6 +443,7 @@
 {
   gboolean res = TRUE;
   gboolean forward;
+  gboolean new_tags = FALSE;
   GstInputSelector *sel;
   GstSelectorPad *selpad;
   GstPad *prev_active_sinkpad;
@@ -524,7 +514,7 @@
         gst_tag_list_unref (oldtags);
       GST_DEBUG_OBJECT (pad, "received tags %" GST_PTR_FORMAT, newtags);
 
-      g_object_notify (G_OBJECT (selpad), "tags");
+      new_tags = TRUE;
       break;
     }
     case GST_EVENT_EOS:
@@ -551,6 +541,8 @@
       break;
   }
   GST_INPUT_SELECTOR_UNLOCK (sel);
+  if (new_tags)
+    g_object_notify (G_OBJECT (selpad), "tags");
   if (forward) {
     GST_DEBUG_OBJECT (pad, "forwarding event");
     res = gst_pad_push_event (sel->srcpad, event);
@@ -575,11 +567,32 @@
   gboolean res = FALSE;
 
   switch (GST_QUERY_TYPE (query)) {
+    case GST_QUERY_ALLOCATION:{
+      GstPad *active_sinkpad;
+      GstInputSelector *sel = GST_INPUT_SELECTOR (parent);
+
+      /* Only do the allocation query for the active sinkpad,
+       * after switching a reconfigure event is sent and upstream
+       * should reconfigure and do a new allocation query
+       */
+      if (GST_PAD_DIRECTION (pad) == GST_PAD_SINK) {
+        GST_INPUT_SELECTOR_LOCK (sel);
+        active_sinkpad = gst_input_selector_activate_sinkpad (sel, pad);
+        GST_INPUT_SELECTOR_UNLOCK (sel);
+
+        if (pad != active_sinkpad) {
+          res = FALSE;
+          goto done;
+        }
+      }
+    }
+      /* fall through */
     default:
       res = gst_pad_query_default (pad, parent, query);
       break;
   }
 
+done:
   return res;
 }
 
@@ -1098,38 +1111,6 @@
     GstQuery * query);
 static gint64 gst_input_selector_block (GstInputSelector * self);
 
-/* FIXME: create these marshallers using glib-genmarshal */
-static void
-gst_input_selector_marshal_INT64__VOID (GClosure * closure,
-    GValue * return_value G_GNUC_UNUSED,
-    guint n_param_values,
-    const GValue * param_values,
-    gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data)
-{
-  typedef gint64 (*GMarshalFunc_INT64__VOID) (gpointer data1, gpointer data2);
-  register GMarshalFunc_INT64__VOID callback;
-  register GCClosure *cc = (GCClosure *) closure;
-  register gpointer data1, data2;
-  gint64 v_return;
-
-  g_return_if_fail (return_value != NULL);
-  g_return_if_fail (n_param_values == 1);
-
-  if (G_CCLOSURE_SWAP_DATA (closure)) {
-    data1 = closure->data;
-    data2 = g_value_peek_pointer (param_values + 0);
-  } else {
-    data1 = g_value_peek_pointer (param_values + 0);
-    data2 = closure->data;
-  }
-  callback =
-      (GMarshalFunc_INT64__VOID) (marshal_data ? marshal_data : cc->callback);
-
-  v_return = callback (data1, data2);
-
-  g_value_set_int64 (return_value, v_return);
-}
-
 #define _do_init \
     GST_DEBUG_CATEGORY_INIT (input_selector_debug, \
         "input-selector", 0, "An input stream selector element");
@@ -1168,8 +1149,6 @@
    * To make sure no buffers are dropped by input-selector
    * that might be needed when switching the active pad,
    * sync-mode should be set to "clock" and cache-buffers to TRUE.
-   *
-   * Since: 0.10.36
    */
   g_object_class_install_property (gobject_class, PROP_SYNC_STREAMS,
       g_param_spec_boolean ("sync-streams", "Sync Streams",
@@ -1188,8 +1167,6 @@
    * be ahead of current clock time when switching the active pad, as the current
    * active pad may have pushed more buffers than what was displayed/consumed,
    * which may cause delays and some missing buffers.
-   *
-   * Since: 0.10.36
    */
   g_object_class_install_property (gobject_class, PROP_SYNC_MODE,
       g_param_spec_enum ("sync-mode", "Sync mode",
@@ -1229,7 +1206,7 @@
       g_signal_new ("block", G_TYPE_FROM_CLASS (klass),
       G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
       G_STRUCT_OFFSET (GstInputSelectorClass, block), NULL, NULL,
-      gst_input_selector_marshal_INT64__VOID, G_TYPE_INT64, 0);
+      g_cclosure_marshal_generic, G_TYPE_INT64, 0);
 
   gst_element_class_set_static_metadata (gstelement_class, "Input selector",
       "Generic", "N-to-1 input stream selector",
@@ -1328,6 +1305,11 @@
   active_pad_p = &self->active_sinkpad;
   gst_object_replace ((GstObject **) active_pad_p, GST_OBJECT_CAST (pad));
 
+  if (old && old != new)
+    gst_pad_push_event (GST_PAD_CAST (old), gst_event_new_reconfigure ());
+  if (new)
+    gst_pad_push_event (GST_PAD_CAST (new), gst_event_new_reconfigure ());
+
   GST_DEBUG_OBJECT (self, "New active pad is %" GST_PTR_FORMAT,
       self->active_sinkpad);
 
@@ -1604,12 +1586,24 @@
 
   selpad->active = TRUE;
   active_sinkpad = sel->active_sinkpad;
-  if (active_sinkpad == NULL) {
-    /* first pad we get activity on becomes the activated pad by default */
-    if (sel->active_sinkpad)
-      gst_object_unref (sel->active_sinkpad);
-    active_sinkpad = sel->active_sinkpad = gst_object_ref (pad);
-    GST_DEBUG_OBJECT (sel, "Activating pad %s:%s", GST_DEBUG_PAD_NAME (pad));
+  if (sel->active_sinkpad == NULL) {
+    GValue item = G_VALUE_INIT;
+    GstIterator *iter = gst_element_iterate_sink_pads (GST_ELEMENT_CAST (sel));
+    GstIteratorResult ires;
+
+    while ((ires = gst_iterator_next (iter, &item)) == GST_ITERATOR_RESYNC)
+      gst_iterator_resync (iter);
+    if (ires == GST_ITERATOR_OK) {
+      /* If no pad is currently selected, we return the first usable pad to
+       * guarantee consistency */
+
+      active_sinkpad = sel->active_sinkpad = g_value_dup_object (&item);
+      g_value_reset (&item);
+      GST_DEBUG_OBJECT (sel, "Activating pad %s:%s",
+          GST_DEBUG_PAD_NAME (active_sinkpad));
+    } else
+      GST_WARNING_OBJECT (sel, "Couldn't find a default sink pad");
+    gst_iterator_free (iter);
   }
 
   return active_sinkpad;
diff --git a/plugins/elements/gstinputselector.h b/plugins/elements/gstinputselector.h
index dd48a51..2bfcd3e 100644
--- a/plugins/elements/gstinputselector.h
+++ b/plugins/elements/gstinputselector.h
@@ -84,7 +84,7 @@
   gint64 (*block)	(GstInputSelector *self);
 };
 
-GType gst_input_selector_get_type (void);
+G_GNUC_INTERNAL GType gst_input_selector_get_type (void);
 
 G_END_DECLS
 
diff --git a/plugins/elements/gstmultiqueue.c b/plugins/elements/gstmultiqueue.c
index bd3b69c..cfa8a24 100644
--- a/plugins/elements/gstmultiqueue.c
+++ b/plugins/elements/gstmultiqueue.c
@@ -368,8 +368,6 @@
    * 
    * Enable the buffering option in multiqueue so that BUFFERING messages are
    * emited based on low-/high-percent thresholds.
-   *
-   * Since: 0.10.26
    */
   g_object_class_install_property (gobject_class, PROP_USE_BUFFERING,
       g_param_spec_boolean ("use-buffering", "Use buffering",
@@ -379,8 +377,6 @@
    * GstMultiQueue:low-percent
    * 
    * Low threshold percent for buffering to start.
-   *
-   * Since: 0.10.26
    */
   g_object_class_install_property (gobject_class, PROP_LOW_PERCENT,
       g_param_spec_int ("low-percent", "Low percent",
@@ -390,8 +386,6 @@
    * GstMultiQueue:high-percent
    * 
    * High threshold percent for buffering to finish.
-   *
-   * Since: 0.10.26
    */
   g_object_class_install_property (gobject_class, PROP_HIGH_PERCENT,
       g_param_spec_int ("high-percent", "High percent",
@@ -406,8 +400,6 @@
    * Otherwise multiqueue will synchronize the deactivated or not-linked
    * streams by keeping the order in which buffers and events arrived compared
    * to active and linked streams.
-   *
-   * Since: 0.10.36
    */
   g_object_class_install_property (gobject_class, PROP_SYNC_BY_RUNNING_TIME,
       g_param_spec_boolean ("sync-by-running-time", "Sync By Running Time",
@@ -794,7 +786,7 @@
     GST_LOG_OBJECT (mq, "SingleQueue %d : starting task", sq->id);
     result =
         gst_pad_start_task (sq->srcpad, (GstTaskFunction) gst_multi_queue_loop,
-        sq->srcpad);
+        sq->srcpad, NULL);
   }
   return result;
 }
diff --git a/plugins/elements/gstmultiqueue.h b/plugins/elements/gstmultiqueue.h
index 04c7501..986dc22 100644
--- a/plugins/elements/gstmultiqueue.h
+++ b/plugins/elements/gstmultiqueue.h
@@ -84,7 +84,7 @@
   void (*overrun)	(GstMultiQueue *queue);
 };
 
-GType gst_multi_queue_get_type (void);
+G_GNUC_INTERNAL GType gst_multi_queue_get_type (void);
 
 G_END_DECLS
 
diff --git a/plugins/elements/gstoutputselector.c b/plugins/elements/gstoutputselector.c
index 04422ad..294c2bc 100644
--- a/plugins/elements/gstoutputselector.c
+++ b/plugins/elements/gstoutputselector.c
@@ -22,8 +22,6 @@
  * @see_also: #GstOutputSelector, #GstInputSelector
  *
  * Direct input stream to one out of N output pads.
- *
- * Since: 0.10.32
  */
 
 #ifdef HAVE_CONFIG_H
diff --git a/plugins/elements/gstoutputselector.h b/plugins/elements/gstoutputselector.h
index 8c55b44..b2a4728 100644
--- a/plugins/elements/gstoutputselector.h
+++ b/plugins/elements/gstoutputselector.h
@@ -61,7 +61,7 @@
   GstElementClass parent_class;
 };
 
-GType gst_output_selector_get_type (void);
+G_GNUC_INTERNAL GType gst_output_selector_get_type (void);
 
 G_END_DECLS
 
diff --git a/plugins/elements/gstqueue.c b/plugins/elements/gstqueue.c
index aa494be..2989823 100644
--- a/plugins/elements/gstqueue.c
+++ b/plugins/elements/gstqueue.c
@@ -353,8 +353,6 @@
    *
    * Don't emit queue signals. Makes queues more lightweight if no signals are
    * needed.
-   *
-   * Since: 0.10.31
    */
   g_object_class_install_property (gobject_class, PROP_SILENT,
       g_param_spec_boolean ("silent", "Silent",
@@ -419,7 +417,7 @@
   g_cond_init (&queue->item_add);
   g_cond_init (&queue->item_del);
 
-  g_queue_init (&queue->queue);
+  gst_queue_array_init (&queue->queue, DEFAULT_MAX_SIZE_BUFFERS * 3 / 2);
 
   queue->sinktime = GST_CLOCK_TIME_NONE;
   queue->srctime = GST_CLOCK_TIME_NONE;
@@ -442,12 +440,14 @@
 
   GST_DEBUG_OBJECT (queue, "finalizing queue");
 
-  while ((data = g_queue_pop_head (&queue->queue))) {
+  while (!gst_queue_array_is_empty (&queue->queue)) {
+    data = gst_queue_array_pop_head (&queue->queue);
+    /* FIXME: if it's a query, shouldn't we unref that too? */
     if (!GST_IS_QUERY (data))
       gst_mini_object_unref (data);
   }
+  gst_queue_array_clear (&queue->queue);
 
-  g_queue_clear (&queue->queue);
   g_mutex_clear (&queue->qlock);
   g_cond_clear (&queue->item_add);
   g_cond_clear (&queue->item_del);
@@ -556,7 +556,8 @@
 {
   GstMiniObject *data;
 
-  while ((data = g_queue_pop_head (&queue->queue))) {
+  while (!gst_queue_array_is_empty (&queue->queue)) {
+    data = gst_queue_array_pop_head (&queue->queue);
     /* Then lose another reference because we are supposed to destroy that
        data when flushing */
     if (!GST_IS_QUERY (data))
@@ -588,7 +589,8 @@
   queue->cur_level.bytes += gst_buffer_get_size (buffer);
   apply_buffer (queue, buffer, &queue->sink_segment, TRUE, TRUE);
 
-  g_queue_push_tail (&queue->queue, item);
+  if (item)
+    gst_queue_array_push_tail (&queue->queue, item);
   GST_QUEUE_SIGNAL_ADD (queue);
 }
 
@@ -622,7 +624,8 @@
       break;
   }
 
-  g_queue_push_tail (&queue->queue, item);
+  if (item)
+    gst_queue_array_push_tail (&queue->queue, item);
   GST_QUEUE_SIGNAL_ADD (queue);
 }
 
@@ -632,7 +635,7 @@
 {
   GstMiniObject *item;
 
-  item = g_queue_pop_head (&queue->queue);
+  item = gst_queue_array_pop_head (&queue->queue);
   if (item == NULL)
     goto no_item;
 
@@ -735,7 +738,7 @@
       queue->eos = FALSE;
       queue->unexpected = FALSE;
       gst_pad_start_task (queue->srcpad, (GstTaskFunction) gst_queue_loop,
-          queue->srcpad);
+          queue->srcpad, NULL);
       GST_QUEUE_MUTEX_UNLOCK (queue);
 
       STATUS (queue, pad, "after flush");
@@ -789,7 +792,7 @@
         GST_QUEUE_MUTEX_LOCK_CHECK (queue, out_flushing);
         GST_LOG_OBJECT (queue, "queuing query %p (%s)", query,
             GST_QUERY_TYPE_NAME (query));
-        g_queue_push_tail (&queue->queue, query);
+        gst_queue_array_push_tail (&queue->queue, query);
         GST_QUEUE_SIGNAL_ADD (queue);
         while (queue->queue.length != 0) {
           /* for as long as the queue has items, we know the query is
@@ -817,9 +820,19 @@
 static gboolean
 gst_queue_is_empty (GstQueue * queue)
 {
+  GstMiniObject *head;
+
   if (queue->queue.length == 0)
     return TRUE;
 
+  /* 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.
+   */
+  head = queue->queue.array[queue->queue.head];
+  if (!GST_IS_BUFFER (head) && !GST_IS_BUFFER_LIST (head))
+    return FALSE;
+
   /* It is possible that a max size is reached before all min thresholds are.
    * Therefore, only consider it empty if it is not filled. */
   return ((queue->min_threshold.buffers > 0 &&
@@ -1203,10 +1216,21 @@
   GstQueue *queue = GST_QUEUE (parent);
   gboolean res;
 
-  res = gst_pad_query_default (pad, parent, query);
+  switch (GST_QUERY_TYPE (query)) {
+    case GST_QUERY_SCHEDULING:{
+      gst_query_add_scheduling_mode (query, GST_PAD_MODE_PUSH);
+      res = TRUE;
+      break;
+    }
+    default:
+      res = gst_pad_query_default (pad, parent, query);
+      break;
+  }
+
   if (!res)
     return FALSE;
 
+  /* Adjust peer response for data contained in queue */
   switch (GST_QUERY_TYPE (query)) {
     case GST_QUERY_POSITION:
     {
@@ -1314,7 +1338,8 @@
         queue->eos = FALSE;
         queue->unexpected = FALSE;
         result =
-            gst_pad_start_task (pad, (GstTaskFunction) gst_queue_loop, pad);
+            gst_pad_start_task (pad, (GstTaskFunction) gst_queue_loop, pad,
+            NULL);
         GST_QUEUE_MUTEX_UNLOCK (queue);
       } else {
         /* step 1, unblock loop function */
diff --git a/plugins/elements/gstqueue.h b/plugins/elements/gstqueue.h
index 57ccc2a..1ed123e 100644
--- a/plugins/elements/gstqueue.h
+++ b/plugins/elements/gstqueue.h
@@ -25,6 +25,7 @@
 #define __GST_QUEUE_H__
 
 #include <gst/gst.h>
+#include "gstqueuearray.h"
 
 G_BEGIN_DECLS
 
@@ -107,7 +108,7 @@
   gboolean      eos;
 
   /* the queue of data we're keeping our grubby hands on */
-  GQueue queue;
+  GstQueueArray queue;
 
   GstQueueSize
     cur_level,          /* currently in the queue */
@@ -147,7 +148,7 @@
   void (*pushing)       (GstQueue *queue);
 };
 
-GType gst_queue_get_type (void);
+G_GNUC_INTERNAL GType gst_queue_get_type (void);
 
 G_END_DECLS
 
diff --git a/plugins/elements/gstqueue2.c b/plugins/elements/gstqueue2.c
index 158da10..13e9d22 100644
--- a/plugins/elements/gstqueue2.c
+++ b/plugins/elements/gstqueue2.c
@@ -46,10 +46,8 @@
  * By using this, it will buffer the entire stream data on the file independently
  * of the queue size limits, they will only be used for buffering statistics.
  *
- * Since 0.10.24, setting the temp-location property with a filename is deprecated
- * because it's impossible to securely open a temporary file in this way. The
- * property will still be used to notify the application of the allocated
- * filename, though.
+ * The temp-location property will be used to notify the application of the
+ * allocated filename.
  *
  * Last reviewed on 2009-07-10 (0.10.24)
  */
@@ -98,7 +96,7 @@
 
 /* other defines */
 #define DEFAULT_BUFFER_SIZE 4096
-#define QUEUE_IS_USING_TEMP_FILE(queue) ((queue)->temp_location_set || (queue)->temp_template != NULL)
+#define QUEUE_IS_USING_TEMP_FILE(queue) ((queue)->temp_template != NULL)
 #define QUEUE_IS_USING_RING_BUFFER(queue) ((queue)->ring_buffer_max_size != 0)  /* for consistency with the above macro */
 #define QUEUE_IS_USING_QUEUE(queue) (!QUEUE_IS_USING_TEMP_FILE(queue) && !QUEUE_IS_USING_RING_BUFFER (queue))
 
@@ -334,16 +332,14 @@
 
   g_object_class_install_property (gobject_class, PROP_TEMP_LOCATION,
       g_param_spec_string ("temp-location", "Temporary File Location",
-          "Location to store temporary files in (Deprecated: Only read this "
-          "property, use temp-template to configure the name template)",
-          NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+          "Location to store temporary files in (Only read this property, "
+          "use temp-template to configure the name template)",
+          NULL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
 
   /**
    * GstQueue2:temp-remove
    *
    * When temp-template is set, remove the temporary file when going to READY.
-   *
-   * Since: 0.10.26
    */
   g_object_class_install_property (gobject_class, PROP_TEMP_REMOVE,
       g_param_spec_boolean ("temp-remove", "Remove the Temporary File",
@@ -355,8 +351,6 @@
    *
    * The maximum size of the ring buffer in bytes. If set to 0, the ring
    * buffer is disabled. Default 0.
-   *
-   * Since: 0.10.31
    */
   g_object_class_install_property (gobject_class, PROP_RING_BUFFER_MAX_SIZE,
       g_param_spec_uint64 ("ring-buffer-max-size",
@@ -451,7 +445,6 @@
   /* tempfile related */
   queue->temp_template = NULL;
   queue->temp_location = NULL;
-  queue->temp_location_set = FALSE;
   queue->temp_remove = DEFAULT_TEMP_REMOVE;
 
   queue->ring_buffer = NULL;
@@ -786,7 +779,6 @@
     GST_LOG_OBJECT (queue, "we are EOS");
   } else {
     /* figure out the percent we are filled, we take the max of all formats. */
-
     if (!QUEUE_IS_USING_RING_BUFFER (queue)) {
       percent = GET_PERCENT (bytes, 0);
     } else {
@@ -817,8 +809,6 @@
   }
   if (post) {
     GstMessage *message;
-    GstBufferingMode mode;
-    gint64 buffering_left = -1;
 
     /* scale to high percent so that it becomes the 100% mark */
     percent = percent * 100 / queue->high_percent;
@@ -826,31 +816,34 @@
     if (percent > 100)
       percent = 100;
 
+
     if (percent != queue->buffering_percent) {
+      GstBufferingMode mode;
+      gint64 buffering_left;
+
+      buffering_left = (percent == 100 ? 0 : -1);
+
       queue->buffering_percent = percent;
 
       if (!QUEUE_IS_USING_QUEUE (queue)) {
-        gint64 duration;
-
         if (QUEUE_IS_USING_RING_BUFFER (queue))
           mode = GST_BUFFERING_TIMESHIFT;
         else
           mode = GST_BUFFERING_DOWNLOAD;
-
-        if (queue->byte_in_rate > 0) {
-          if (gst_pad_peer_query_duration (queue->sinkpad, GST_FORMAT_BYTES,
-                  &duration)) {
-            buffering_left =
-                (gdouble) ((duration -
-                    queue->current->writing_pos) * 1000) / queue->byte_in_rate;
-          }
-        } else {
-          buffering_left = G_MAXINT64;
-        }
       } else {
         mode = GST_BUFFERING_STREAM;
       }
 
+      if (queue->use_rate_estimate) {
+        guint64 max, cur;
+
+        max = queue->max_level.rate_time;
+        cur = queue->cur_level.rate_time;
+
+        if (percent != 100 && max > cur)
+          buffering_left = (max - cur) / 1000000;
+      }
+
       GST_DEBUG_OBJECT (queue, "buffering %d percent", (gint) percent);
       message = gst_message_new_buffering (GST_OBJECT_CAST (queue),
           (gint) percent);
@@ -1374,45 +1367,34 @@
 
   GST_DEBUG_OBJECT (queue, "opening temp file %s", queue->temp_template);
 
-  /* we have two cases:
-   * - temp_location was set to something !NULL (Deprecated). in this case we
-   *   open the specified filename.
-   * - temp_template was set, allocate a filename and open that filename
-   */
-  if (!queue->temp_location_set) {
-    /* nothing to do */
-    if (queue->temp_template == NULL)
-      goto no_directory;
+  /* If temp_template was set, allocate a filename and open that filen */
 
-    /* make copy of the template, we don't want to change this */
-    name = g_strdup (queue->temp_template);
-    fd = g_mkstemp (name);
-    if (fd == -1)
-      goto mkstemp_failed;
+  /* nothing to do */
+  if (queue->temp_template == NULL)
+    goto no_directory;
 
-    /* open the file for update/writing */
-    queue->temp_file = fdopen (fd, "wb+");
-    /* error creating file */
-    if (queue->temp_file == NULL)
-      goto open_failed;
+  /* make copy of the template, we don't want to change this */
+  name = g_strdup (queue->temp_template);
+  fd = g_mkstemp (name);
+  if (fd == -1)
+    goto mkstemp_failed;
 
-    g_free (queue->temp_location);
-    queue->temp_location = name;
+  /* open the file for update/writing */
+  queue->temp_file = fdopen (fd, "wb+");
+  /* error creating file */
+  if (queue->temp_file == NULL)
+    goto open_failed;
 
-    GST_QUEUE2_MUTEX_UNLOCK (queue);
+  g_free (queue->temp_location);
+  queue->temp_location = name;
 
-    /* we can't emit the notify with the lock */
-    g_object_notify (G_OBJECT (queue), "temp-location");
+  GST_QUEUE2_MUTEX_UNLOCK (queue);
 
-    GST_QUEUE2_MUTEX_LOCK (queue);
-  } else {
-    /* open the file for update/writing, this is deprecated but we still need to
-     * support it for API/ABI compatibility */
-    queue->temp_file = g_fopen (queue->temp_location, "wb+");
-    /* error creating file */
-    if (queue->temp_file == NULL)
-      goto open_failed;
-  }
+  /* we can't emit the notify with the lock */
+  g_object_notify (G_OBJECT (queue), "temp-location");
+
+  GST_QUEUE2_MUTEX_LOCK (queue);
+
   GST_DEBUG_OBJECT (queue, "opened temp file %s", queue->temp_template);
 
   return TRUE;
@@ -1941,6 +1923,19 @@
           item = NULL;
         }
         break;
+      case GST_EVENT_CAPS:{
+        GstCaps *caps;
+
+        gst_event_parse_caps (event, &caps);
+        GST_INFO ("got caps: %" GST_PTR_FORMAT, caps);
+
+        if (!QUEUE_IS_USING_QUEUE (queue)) {
+          GST_LOG ("Dropping caps event, not using queue");
+          gst_event_unref (event);
+          item = NULL;
+        }
+        break;
+      }
       default:
         if (!QUEUE_IS_USING_QUEUE (queue))
           goto unexpected_event;
@@ -2139,7 +2134,7 @@
         /* reset rate counters */
         reset_rate_timer (queue);
         gst_pad_start_task (queue->srcpad, (GstTaskFunction) gst_queue2_loop,
-            queue->srcpad);
+            queue->srcpad, NULL);
         GST_QUEUE2_MUTEX_UNLOCK (queue);
       } else {
         GST_QUEUE2_MUTEX_LOCK (queue);
@@ -2697,16 +2692,31 @@
               GST_FORMAT_BYTES, &duration);
         }
 
+        GST_DEBUG_OBJECT (queue, "percent %d, duration %" G_GINT64_FORMAT
+            ", writing %" G_GINT64_FORMAT, percent, duration, writing_pos);
+
         /* calculate remaining and total download time */
-        if (peer_res && byte_in_rate > 0.0) {
-          estimated_total = (duration * 1000) / byte_in_rate;
-          buffering_left = ((duration - writing_pos) * 1000) / byte_in_rate;
-        } else {
+        if (peer_res && byte_in_rate > 0.0)
+          estimated_total = ((duration - writing_pos) * 1000) / byte_in_rate;
+        else
           estimated_total = -1;
-          buffering_left = -1;
+
+        /* calculate estimated remaining buffer time */
+        buffering_left = (percent == 100 ? 0 : -1);
+
+        if (queue->use_rate_estimate) {
+          guint64 max, cur;
+
+          max = queue->max_level.rate_time;
+          cur = queue->cur_level.rate_time;
+
+          if (percent != 100 && max > cur)
+            buffering_left = (max - cur) / 1000000;
         }
-        GST_DEBUG_OBJECT (queue, "estimated %" G_GINT64_FORMAT ", left %"
-            G_GINT64_FORMAT, estimated_total, buffering_left);
+
+        GST_DEBUG_OBJECT (queue, "estimated-total %" G_GINT64_FORMAT
+            ", buffering-left %" G_GINT64_FORMAT, estimated_total,
+            buffering_left);
 
         gst_query_parse_buffering_range (query, &format, NULL, NULL, NULL);
 
@@ -2716,14 +2726,12 @@
             if (!peer_res)
               goto peer_failed;
 
-            GST_DEBUG_OBJECT (queue,
-                "duration %" G_GINT64_FORMAT ", writing %" G_GINT64_FORMAT,
-                duration, writing_pos);
-
             start = 0;
             /* get our available data relative to the duration */
             if (duration != -1)
-              stop = GST_FORMAT_PERCENT_MAX * writing_pos / duration;
+              stop =
+                  gst_util_uint64_scale (GST_FORMAT_PERCENT_MAX, writing_pos,
+                  duration);
             else
               stop = -1;
             break;
@@ -2747,8 +2755,12 @@
                 range_stop = 0;
                 break;
               }
-              range_start = 100 * queued_ranges->offset / duration;
-              range_stop = 100 * queued_ranges->writing_pos / duration;
+              range_start =
+                  gst_util_uint64_scale (GST_FORMAT_PERCENT_MAX,
+                  queued_ranges->offset, duration);
+              range_stop =
+                  gst_util_uint64_scale (GST_FORMAT_PERCENT_MAX,
+                  queued_ranges->writing_pos, duration);
               break;
             case GST_FORMAT_BYTES:
               range_start = queued_ranges->offset;
@@ -2768,10 +2780,10 @@
         }
 
         gst_query_set_buffering_percent (query, is_buffering, percent);
-        gst_query_set_buffering_range (query, format, start, stop,
-            estimated_total);
         gst_query_set_buffering_stats (query, GST_BUFFERING_DOWNLOAD,
             byte_in_rate, byte_out_rate, buffering_left);
+        gst_query_set_buffering_range (query, format, start, stop,
+            estimated_total);
       }
       break;
     }
@@ -2944,7 +2956,8 @@
     queue->sinkresult = GST_FLOW_OK;
     queue->is_eos = FALSE;
     queue->unexpected = FALSE;
-    result = gst_pad_start_task (pad, (GstTaskFunction) gst_queue2_loop, pad);
+    result =
+        gst_pad_start_task (pad, (GstTaskFunction) gst_queue2_loop, pad, NULL);
     GST_QUEUE2_MUTEX_UNLOCK (queue);
   } else {
     /* unblock loop function */
@@ -3192,13 +3205,6 @@
     case PROP_TEMP_TEMPLATE:
       gst_queue2_set_temp_template (queue, g_value_get_string (value));
       break;
-    case PROP_TEMP_LOCATION:
-      g_free (queue->temp_location);
-      queue->temp_location = g_value_dup_string (value);
-      /* you can set the property back to NULL to make it use the temp-template
-       * property. */
-      queue->temp_location_set = queue->temp_location != NULL;
-      break;
     case PROP_TEMP_REMOVE:
       queue->temp_remove = g_value_get_boolean (value);
       break;
diff --git a/plugins/elements/gstqueue2.h b/plugins/elements/gstqueue2.h
index 25beef4..b69f46b 100644
--- a/plugins/elements/gstqueue2.h
+++ b/plugins/elements/gstqueue2.h
@@ -156,7 +156,7 @@
   GstElementClass parent_class;
 };
 
-GType gst_queue2_get_type (void);
+G_GNUC_INTERNAL GType gst_queue2_get_type (void);
 
 G_END_DECLS
 
diff --git a/plugins/elements/gstqueuearray.c b/plugins/elements/gstqueuearray.c
new file mode 100644
index 0000000..f16f7ae
--- /dev/null
+++ b/plugins/elements/gstqueuearray.c
@@ -0,0 +1,175 @@
+/* GStreamer
+ * Copyright (C) 2009 Edward Hervey <bilboed@bilboed.com>
+ *
+ * gstqueuearray.c:
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <string.h>
+#include <gst/gst.h>
+#include "gstqueuearray.h"
+
+void
+gst_queue_array_init (GstQueueArray * array, guint initial_size)
+{
+  array->size = initial_size;
+  array->array = g_new0 (gpointer, initial_size);
+  array->head = 0;
+  array->tail = 0;
+  array->length = 0;
+
+}
+
+GstQueueArray *
+gst_queue_array_new (guint initial_size)
+{
+  GstQueueArray *array;
+
+  array = g_new (GstQueueArray, 1);
+  gst_queue_array_init (array, initial_size);
+  return array;
+}
+
+gpointer
+gst_queue_array_pop_head (GstQueueArray * array)
+{
+  gpointer ret;
+
+  /* empty array */
+  if (G_UNLIKELY (array->length == 0))
+    return NULL;
+  ret = array->array[array->head];
+  array->head++;
+  array->head %= array->size;
+  array->length--;
+  return ret;
+}
+
+void
+gst_queue_array_push_tail (GstQueueArray * array, gpointer data)
+{
+  /* Check if we need to make room */
+  if (G_UNLIKELY (array->length == array->size)) {
+    /* newsize is 50% bigger */
+    guint newsize = (3 * array->size) / 2;
+
+    /* copy over data */
+    if (array->tail != 0) {
+      gpointer *array2 = g_new0 (gpointer, newsize);
+      guint t1 = array->head;
+      guint t2 = array->size - array->head;
+
+      /* [0-----TAIL][HEAD------SIZE]
+       *
+       * We want to end up with
+       * [HEAD------------------TAIL][----FREEDATA------NEWSIZE]
+       *
+       * 1) move [HEAD-----SIZE] part to beginning of new array
+       * 2) move [0-------TAIL] part new array, after previous part
+       */
+
+      memcpy (array2, &array->array[array->head], t2 * sizeof (gpointer));
+      memcpy (&array2[t2], array->array, t1 * sizeof (gpointer));
+
+      g_free (array->array);
+      array->array = array2;
+      array->head = 0;
+    } else {
+      /* Fast path, we just need to grow the array */
+      array->array = g_renew (gpointer, array->array, newsize);
+    }
+    array->tail = array->size;
+    array->size = newsize;
+  }
+
+  array->array[array->tail] = data;
+  array->tail++;
+  array->tail %= array->size;
+  array->length++;
+}
+
+gboolean
+gst_queue_array_is_empty (GstQueueArray * array)
+{
+  return (array->length == 0);
+}
+
+void
+gst_queue_array_clear (GstQueueArray * array)
+{
+  g_free (array->array);
+}
+
+void
+gst_queue_array_free (GstQueueArray * array)
+{
+  gst_queue_array_clear (array);
+  g_free (array);
+}
+
+void
+gst_queue_array_drop_element (GstQueueArray * array, guint idx)
+{
+  if (idx == array->head) {
+    /* just move the head */
+    array->head++;
+    array->head %= array->size;
+    return;
+  }
+  if (idx == array->tail - 1) {
+    /* just move the tail */
+    array->tail = (array->tail - 1 + array->size) % array->size;
+    return;
+  }
+  /* drop the element #idx... and readjust the array */
+  if (array->head < array->tail) {
+    /* Make sure it's within the boundaries */
+    g_assert (array->head < idx && idx <= array->tail);
+    /* ends not wrapped */
+    /* move head-idx to head+1 */
+    memcpy (&array->array[array->head + 1],
+        &array->array[array->head], (idx - array->head) * sizeof (gpointer));
+    array->tail--;
+  } else {
+    /* ends are wrapped */
+    if (idx < array->tail) {
+      /* move idx-tail backwards one */
+      memcpy (&array->array[idx - 1],
+          &array->array[idx], (array->tail - idx) * sizeof (gpointer));
+      array->tail--;
+    } else if (idx >= array->head) {
+      /* move head-idx forwards one */
+      memcpy (&array->array[array->head],
+          &array->array[array->head + 1],
+          (idx - array->head) * sizeof (gpointer));
+      array->head++;
+    } else
+      g_assert_not_reached ();
+  }
+}
+
+guint
+gst_queue_array_find (GstQueueArray * array, GCompareFunc func, gpointer data)
+{
+  guint i;
+
+  /* Scan from head to tail */
+  for (i = array->head; i < array->length; i = (i + 1) % array->size)
+    if (func (array->array[i], data) == 0)
+      return i;
+  return -1;
+}
diff --git a/plugins/elements/gstqueuearray.h b/plugins/elements/gstqueuearray.h
new file mode 100644
index 0000000..510cbf4
--- /dev/null
+++ b/plugins/elements/gstqueuearray.h
@@ -0,0 +1,61 @@
+/* GStreamer
+ * Copyright (C) 2009-2010 Edward Hervey <bilboed@bilboed.com>
+ *
+ * gstqueuearray.h:
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <glib.h>
+
+#ifndef __GST_QUEUE_ARRAY_H__
+#define __GST_QUEUE_ARRAY_H__
+
+typedef struct _GstQueueArray GstQueueArray;
+
+struct _GstQueueArray
+{
+  gpointer *array;
+  guint size;
+  guint head;
+  guint tail;
+  guint length;
+};
+
+G_GNUC_INTERNAL void            gst_queue_array_init  (GstQueueArray * array,
+                                                       guint           initial_size);
+
+G_GNUC_INTERNAL void            gst_queue_array_clear (GstQueueArray * array);
+
+G_GNUC_INTERNAL GstQueueArray * gst_queue_array_new       (guint initial_size);
+
+G_GNUC_INTERNAL gpointer        gst_queue_array_pop_head  (GstQueueArray * array);
+
+G_GNUC_INTERNAL void            gst_queue_array_push_tail (GstQueueArray * array,
+                                                           gpointer        data);
+
+G_GNUC_INTERNAL gboolean        gst_queue_array_is_empty  (GstQueueArray * array);
+
+G_GNUC_INTERNAL void            gst_queue_array_free      (GstQueueArray * array);
+
+G_GNUC_INTERNAL void            gst_queue_array_drop_element (GstQueueArray * array,
+                                                              guint           idx);
+
+G_GNUC_INTERNAL guint           gst_queue_array_find (GstQueueArray * array,
+                                                      GCompareFunc    func,
+                                                      gpointer        data);
+
+#endif
diff --git a/plugins/elements/gsttee.c b/plugins/elements/gsttee.c
index 33f2d8d..3c7f019 100644
--- a/plugins/elements/gsttee.c
+++ b/plugins/elements/gsttee.c
@@ -83,7 +83,6 @@
 #define GST_TEE_DYN_UNLOCK(tee) g_mutex_unlock (&(tee)->dyn_lock)
 
 #define DEFAULT_PROP_NUM_SRC_PADS	0
-#define DEFAULT_PROP_HAS_SINK_LOOP	FALSE
 #define DEFAULT_PROP_HAS_CHAIN		TRUE
 #define DEFAULT_PROP_SILENT		TRUE
 #define DEFAULT_PROP_LAST_MESSAGE	NULL
@@ -93,7 +92,6 @@
 {
   PROP_0,
   PROP_NUM_SRC_PADS,
-  PROP_HAS_SINK_LOOP,
   PROP_HAS_CHAIN,
   PROP_SILENT,
   PROP_LAST_MESSAGE,
@@ -245,11 +243,6 @@
       g_param_spec_int ("num-src-pads", "Num Src Pads",
           "The number of source pads", 0, G_MAXINT, DEFAULT_PROP_NUM_SRC_PADS,
           G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
-  g_object_class_install_property (gobject_class, PROP_HAS_SINK_LOOP,
-      g_param_spec_boolean ("has-sink-loop", "Has Sink Loop",
-          "If the element should spawn a thread (unimplemented and deprecated)",
-          DEFAULT_PROP_HAS_SINK_LOOP,
-          G_PARAM_CONSTRUCT | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
   g_object_class_install_property (gobject_class, PROP_HAS_CHAIN,
       g_param_spec_boolean ("has-chain", "Has Chain",
           "If the element can operate in push mode", DEFAULT_PROP_HAS_CHAIN,
@@ -443,12 +436,6 @@
 
   GST_OBJECT_LOCK (tee);
   switch (prop_id) {
-    case PROP_HAS_SINK_LOOP:
-      tee->has_sink_loop = g_value_get_boolean (value);
-      if (tee->has_sink_loop) {
-        g_warning ("tee will never implement has-sink-loop==TRUE");
-      }
-      break;
     case PROP_HAS_CHAIN:
       tee->has_chain = g_value_get_boolean (value);
       break;
@@ -488,9 +475,6 @@
     case PROP_NUM_SRC_PADS:
       g_value_set_int (value, GST_ELEMENT (tee)->numsrcpads);
       break;
-    case PROP_HAS_SINK_LOOP:
-      g_value_set_boolean (value, tee->has_sink_loop);
-      break;
     case PROP_HAS_CHAIN:
       g_value_set_boolean (value, tee->has_chain);
       break;
diff --git a/plugins/elements/gsttee.h b/plugins/elements/gsttee.h
index 5d6cc51..5d00947 100644
--- a/plugins/elements/gsttee.h
+++ b/plugins/elements/gsttee.h
@@ -74,7 +74,6 @@
   guint           pad_counter;
 
   gboolean        has_chain;
-  gboolean        has_sink_loop;
   gboolean        silent;
   gchar          *last_message;
 
@@ -87,7 +86,7 @@
   GstElementClass parent_class;
 };
 
-GType	gst_tee_get_type	(void);
+G_GNUC_INTERNAL GType	gst_tee_get_type	(void);
 
 G_END_DECLS
 
diff --git a/plugins/elements/gsttypefindelement.c b/plugins/elements/gsttypefindelement.c
index e6c4de2..d299026 100644
--- a/plugins/elements/gsttypefindelement.c
+++ b/plugins/elements/gsttypefindelement.c
@@ -39,7 +39,7 @@
  * 1) get a list of all typefind functions sorted best to worst
  * 2) if all elements have been called with all requested data goto 8
  * 3) call all functions once with all available data
- * 4) if a function returns a value >= PROP_MAXIMUM goto 8
+ * 4) if a function returns a value >= PROP_MAXIMUM goto 8 (never implemented))
  * 5) all functions with a result > PROP_MINIMUM or functions that did not get
  *    all requested data (where peek returned NULL) stay in list
  * 6) seek to requested offset of best function that still has open data
@@ -111,7 +111,6 @@
   PROP_0,
   PROP_CAPS,
   PROP_MINIMUM,
-  PROP_MAXIMUM,
   PROP_FORCE_CAPS,
   PROP_LAST
 };
@@ -188,7 +187,7 @@
   typefind->caps = gst_caps_ref (caps);
   GST_OBJECT_UNLOCK (typefind);
 
-  gst_pad_push_event (typefind->src, gst_event_new_caps (caps));
+  gst_pad_set_caps (typefind->src, caps);
 }
 
 static void
@@ -210,11 +209,6 @@
           "minimum probability required to accept caps", GST_TYPE_FIND_MINIMUM,
           GST_TYPE_FIND_MAXIMUM, GST_TYPE_FIND_MINIMUM,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-  g_object_class_install_property (gobject_class, PROP_MAXIMUM,
-      g_param_spec_uint ("maximum", _("maximum"),
-          "probability to stop typefinding (deprecated; non-functional)",
-          GST_TYPE_FIND_MINIMUM, GST_TYPE_FIND_MAXIMUM, GST_TYPE_FIND_MAXIMUM,
-          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
   g_object_class_install_property (gobject_class, PROP_FORCE_CAPS,
       g_param_spec_boxed ("force-caps", _("force caps"),
           _("force caps without doing a typefind"), GST_TYPE_CAPS,
@@ -288,7 +282,6 @@
   typefind->mode = MODE_TYPEFIND;
   typefind->caps = NULL;
   typefind->min_probability = 1;
-  typefind->max_probability = GST_TYPE_FIND_MAXIMUM;
 
   typefind->adapter = gst_adapter_new ();
 }
@@ -323,9 +316,6 @@
     case PROP_MINIMUM:
       typefind->min_probability = g_value_get_uint (value);
       break;
-    case PROP_MAXIMUM:
-      typefind->max_probability = g_value_get_uint (value);
-      break;
     case PROP_FORCE_CAPS:
       GST_OBJECT_LOCK (typefind);
       if (typefind->force_caps)
@@ -356,9 +346,6 @@
     case PROP_MINIMUM:
       g_value_set_uint (value, typefind->min_probability);
       break;
-    case PROP_MAXIMUM:
-      g_value_set_uint (value, typefind->max_probability);
-      break;
     case PROP_FORCE_CAPS:
       GST_OBJECT_LOCK (typefind);
       g_value_set_boxed (value, typefind->force_caps);
@@ -436,14 +423,14 @@
 gst_type_find_element_seek (GstTypeFindElement * typefind, GstEvent * event)
 {
   GstSeekFlags flags;
-  GstSeekType cur_type, stop_type;
+  GstSeekType start_type, stop_type;
   GstFormat format;
   gboolean flush;
   gdouble rate;
-  gint64 cur, stop;
+  gint64 start, stop;
   GstSegment seeksegment = { 0, };
 
-  gst_event_parse_seek (event, &rate, &format, &flags, &cur_type, &cur,
+  gst_event_parse_seek (event, &rate, &format, &flags, &start_type, &start,
       &stop_type, &stop);
 
   /* we can only seek on bytes */
@@ -458,7 +445,7 @@
 
   GST_DEBUG_OBJECT (typefind, "configuring seek");
   gst_segment_do_seek (&seeksegment, rate, format, flags,
-      cur_type, cur, stop_type, stop, NULL);
+      start_type, start, stop_type, stop, NULL);
 
   flush = ! !(flags & GST_SEEK_FLAG_FLUSH);
 
@@ -491,7 +478,7 @@
   typefind->offset = typefind->segment.start;
 
   /* notify start of new segment */
-  if (typefind->segment.flags & GST_SEEK_FLAG_SEGMENT) {
+  if (typefind->segment.flags & GST_SEGMENT_FLAG_SEGMENT) {
     GstMessage *msg;
 
     msg = gst_message_new_segment_start (GST_OBJECT (typefind),
@@ -504,7 +491,7 @@
   /* restart our task since it might have been stopped when we did the
    * flush. */
   gst_pad_start_task (typefind->sink,
-      (GstTaskFunction) gst_type_find_element_loop, typefind->sink);
+      (GstTaskFunction) gst_type_find_element_loop, typefind->sink, NULL);
 
   /* streaming can continue now */
   GST_PAD_STREAM_UNLOCK (typefind->sink);
@@ -877,7 +864,7 @@
     have_min = avail >= TYPE_FIND_MIN_SIZE;
     have_max = avail >= TYPE_FIND_MAX_SIZE;
   } else {
-    have_min = TRUE;
+    have_min = avail > 0;
     have_max = TRUE;
   }
 
@@ -979,12 +966,12 @@
        * activation might happen from the streaming thread. */
       gst_pad_pause_task (typefind->sink);
       res = gst_pad_activate_mode (typefind->sink, mode, active);
-      if (typefind->caps) {
+      if (active && res && typefind->caps) {
         GstCaps *caps;
         GST_OBJECT_LOCK (typefind);
         caps = gst_caps_ref (typefind->caps);
         GST_OBJECT_UNLOCK (typefind);
-        gst_pad_push_event (typefind->src, gst_event_new_caps (caps));
+        res = gst_pad_set_caps (typefind->src, caps);
         gst_caps_unref (caps);
       }
       break;
@@ -1103,7 +1090,7 @@
     if (ret == GST_FLOW_EOS) {
       /* perform EOS logic */
 
-      if (typefind->segment.flags & GST_SEEK_FLAG_SEGMENT) {
+      if (typefind->segment.flags & GST_SEGMENT_FLAG_SEGMENT) {
         gint64 stop;
 
         /* for segment playback we need to post when (in stream time)
@@ -1115,6 +1102,8 @@
         gst_element_post_message (GST_ELEMENT (typefind),
             gst_message_new_segment_done (GST_OBJECT (typefind),
                 GST_FORMAT_BYTES, stop));
+        gst_pad_push_event (typefind->src,
+            gst_event_new_segment_done (GST_FORMAT_BYTES, stop));
       } else {
         push_eos = TRUE;
       }
@@ -1218,7 +1207,7 @@
 
   /* only start our task if we ourselves decide to start in pull mode */
   return gst_pad_start_task (pad, (GstTaskFunction) gst_type_find_element_loop,
-      pad);
+      pad, NULL);
 
 typefind_push:
   {
diff --git a/plugins/elements/gsttypefindelement.h b/plugins/elements/gsttypefindelement.h
index 0242ec2..2ee3325 100644
--- a/plugins/elements/gsttypefindelement.h
+++ b/plugins/elements/gsttypefindelement.h
@@ -51,7 +51,6 @@
   GstPad *		src;
 
   guint			min_probability;
-  guint			max_probability;
   GstCaps *		caps;
 
   guint			mode;
@@ -75,7 +74,7 @@
 					 GstCaps            *caps);
 };
 
-GType gst_type_find_element_get_type (void);
+G_GNUC_INTERNAL GType gst_type_find_element_get_type (void);
 
 G_END_DECLS
 
diff --git a/plugins/elements/gstvalve.c b/plugins/elements/gstvalve.c
index a69b785..c5fb151 100644
--- a/plugins/elements/gstvalve.c
+++ b/plugins/elements/gstvalve.c
@@ -34,8 +34,6 @@
  * gst-plugins-bad.
  *
  * Documentation last reviewed on 2010-12-30 (0.10.31)
- *
- * Since: 0.10.32
  */
 
 #ifdef HAVE_CONFIG_H
diff --git a/plugins/elements/gstvalve.h b/plugins/elements/gstvalve.h
index 7318af7..c12c7c7 100644
--- a/plugins/elements/gstvalve.h
+++ b/plugins/elements/gstvalve.h
@@ -48,8 +48,6 @@
  * GstValve:
  *
  * The private valve structure
- *
- * Since: 0.10.32
  */
 struct _GstValve
 {
@@ -72,7 +70,7 @@
   GstElementClass parent_class;
 };
 
-GType gst_valve_get_type (void);
+G_GNUC_INTERNAL GType gst_valve_get_type (void);
 
 G_END_DECLS
 
diff --git a/po/af.gmo b/po/af.gmo
index dc52152..ecf90c5 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index 0530494..cdb31be 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -947,9 +947,6 @@
 msgid "minimum"
 msgstr "minimum"
 
-msgid "maximum"
-msgstr "maksimum"
-
 msgid "force caps"
 msgstr ""
 
diff --git a/po/az.gmo b/po/az.gmo
index 52ec0cf..15f2c04 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index 7563ac1..057c16a 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -899,9 +899,6 @@
 msgid "minimum"
 msgstr "minimal"
 
-msgid "maximum"
-msgstr "maksimal"
-
 msgid "force caps"
 msgstr ""
 
diff --git a/po/be.gmo b/po/be.gmo
index 30c5b03..cda884c 100644
--- a/po/be.gmo
+++ b/po/be.gmo
Binary files differ
diff --git a/po/be.po b/po/be.po
index 659461a..e0142b9 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -905,9 +905,6 @@
 msgid "minimum"
 msgstr ""
 
-msgid "maximum"
-msgstr ""
-
 msgid "force caps"
 msgstr ""
 
diff --git a/po/bg.gmo b/po/bg.gmo
index 19c9a1e..4dd6541 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index b36f1cc..c9fe8e0 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -937,9 +937,6 @@
 msgid "minimum"
 msgstr "минимум"
 
-msgid "maximum"
-msgstr "максимум"
-
 msgid "force caps"
 msgstr "принудително прилагане на възможности"
 
diff --git a/po/ca.gmo b/po/ca.gmo
index 064bef0..3dc8d71 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index dd4c7a9..e5b1c03 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -946,9 +946,6 @@
 msgid "minimum"
 msgstr "mínim"
 
-msgid "maximum"
-msgstr "màxim"
-
 msgid "force caps"
 msgstr "força les capacitats"
 
diff --git a/po/cs.gmo b/po/cs.gmo
index 2e8bb95..d5e8854 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index 1575e42..770af6e 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -938,9 +938,6 @@
 msgid "minimum"
 msgstr "minimum"
 
-msgid "maximum"
-msgstr "maximum"
-
 msgid "force caps"
 msgstr "vynutit schopnosti"
 
diff --git a/po/da.gmo b/po/da.gmo
index 6f209f8..ec7d0c2 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 13a430e..01794b1 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -941,9 +941,6 @@
 msgid "minimum"
 msgstr "minimum"
 
-msgid "maximum"
-msgstr "maksimum"
-
 msgid "force caps"
 msgstr "gennemtving kapabiliteter"
 
diff --git a/po/de.gmo b/po/de.gmo
index 8dc740f..d4d0b65 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index e2166e8..aeff7a3 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -964,9 +964,6 @@
 msgid "minimum"
 msgstr "Minimum"
 
-msgid "maximum"
-msgstr "Maximum"
-
 msgid "force caps"
 msgstr "Fähigkeiten erzwingen"
 
diff --git a/po/el.gmo b/po/el.gmo
index c1c3012..2ee8fae 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index 343f4e9..4890be2 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -959,9 +959,6 @@
 msgid "minimum"
 msgstr "ελάχιστο"
 
-msgid "maximum"
-msgstr "μέγιστο"
-
 msgid "force caps"
 msgstr "επιβολή δυνατοτήτων"
 
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index 9f5718e..7b4afaf 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 de86948..3268566 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -951,9 +951,6 @@
 msgid "minimum"
 msgstr "minimum"
 
-msgid "maximum"
-msgstr "maximum"
-
 msgid "force caps"
 msgstr ""
 
diff --git a/po/eo.gmo b/po/eo.gmo
index 95c5c6a..ed829ee 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index f15bdc2..30d0213 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -888,9 +888,6 @@
 msgid "minimum"
 msgstr "minimumo"
 
-msgid "maximum"
-msgstr "maksimumo"
-
 msgid "force caps"
 msgstr ""
 
diff --git a/po/es.gmo b/po/es.gmo
index 2799c43..5837758 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 42c91a9..6d2823b 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -950,9 +950,6 @@
 msgid "minimum"
 msgstr "mínimo"
 
-msgid "maximum"
-msgstr "máximo"
-
 msgid "force caps"
 msgstr "forzar las capacidades"
 
diff --git a/po/eu.gmo b/po/eu.gmo
index a0e0ce4..ee53412 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index 7142b11..5624453 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -949,9 +949,6 @@
 msgid "minimum"
 msgstr "gutxienekoa"
 
-msgid "maximum"
-msgstr "gehienezkoa"
-
 msgid "force caps"
 msgstr "derrigortu gaitasunak"
 
diff --git a/po/fi.gmo b/po/fi.gmo
index 5c9cecb..053d1ed 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index a4cc57b..c862242 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -944,9 +944,6 @@
 msgid "minimum"
 msgstr "vähintään"
 
-msgid "maximum"
-msgstr "enintään"
-
 msgid "force caps"
 msgstr "pakota kyvyt"
 
diff --git a/po/fr.gmo b/po/fr.gmo
index ba0fc13..684573a 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index 811f620..5988777 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -946,9 +946,6 @@
 msgid "minimum"
 msgstr "minimum"
 
-msgid "maximum"
-msgstr "maximum"
-
 msgid "force caps"
 msgstr "forcer les capacités"
 
diff --git a/po/gl.gmo b/po/gl.gmo
index f4b527b..9527585 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index 5f0d995..166670f 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -941,9 +941,6 @@
 msgid "minimum"
 msgstr "mínimo"
 
-msgid "maximum"
-msgstr "máximo"
-
 msgid "force caps"
 msgstr "forzar as capacidades"
 
diff --git a/po/gstreamer-1.0.pot b/po/gstreamer-1.0.pot
index 0429d35..a13c85e 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.92\n"
+"Project-Id-Version: gstreamer 0.11.93\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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:926
+#: gst/gst.c:927
 msgid "Unknown option"
 msgstr ""
 
@@ -295,558 +295,558 @@
 msgid "No standard error message for domain %s and code %d."
 msgstr ""
 
-#: gst/gstpipeline.c:525
+#: gst/gstpipeline.c:522
 msgid "Selected clock cannot be used in pipeline."
 msgstr ""
 
-#: gst/gsttaglist.c:110
+#: gst/gsttaglist.c:105
 msgid "title"
 msgstr ""
 
-#: gst/gsttaglist.c:110
+#: gst/gsttaglist.c:105
 msgid "commonly used title"
 msgstr ""
 
-#: gst/gsttaglist.c:113
+#: gst/gsttaglist.c:108
 msgid "title sortname"
 msgstr ""
 
-#: gst/gsttaglist.c:113
+#: gst/gsttaglist.c:108
 msgid "commonly used title for sorting purposes"
 msgstr ""
 
-#: gst/gsttaglist.c:116
+#: gst/gsttaglist.c:111
 msgid "artist"
 msgstr ""
 
-#: gst/gsttaglist.c:117
+#: gst/gsttaglist.c:112
 msgid "person(s) responsible for the recording"
 msgstr ""
 
-#: gst/gsttaglist.c:121
+#: gst/gsttaglist.c:116
 msgid "artist sortname"
 msgstr ""
 
-#: gst/gsttaglist.c:122
+#: gst/gsttaglist.c:117
 msgid "person(s) responsible for the recording for sorting purposes"
 msgstr ""
 
-#: gst/gsttaglist.c:125
+#: gst/gsttaglist.c:120
 msgid "album"
 msgstr ""
 
-#: gst/gsttaglist.c:126
+#: gst/gsttaglist.c:121
 msgid "album containing this data"
 msgstr ""
 
-#: gst/gsttaglist.c:129
+#: gst/gsttaglist.c:124
 msgid "album sortname"
 msgstr ""
 
-#: gst/gsttaglist.c:130
+#: gst/gsttaglist.c:125
 msgid "album containing this data for sorting purposes"
 msgstr ""
 
-#: gst/gsttaglist.c:133
+#: gst/gsttaglist.c:128
 msgid "album artist"
 msgstr ""
 
-#: gst/gsttaglist.c:134
+#: gst/gsttaglist.c:129
 msgid "The artist of the entire album, as it should be displayed"
 msgstr ""
 
-#: gst/gsttaglist.c:138
+#: gst/gsttaglist.c:133
 msgid "album artist sortname"
 msgstr ""
 
-#: gst/gsttaglist.c:139
+#: gst/gsttaglist.c:134
 msgid "The artist of the entire album, as it should be sorted"
 msgstr ""
 
-#: gst/gsttaglist.c:141
+#: gst/gsttaglist.c:136
 msgid "date"
 msgstr ""
 
-#: gst/gsttaglist.c:141
+#: gst/gsttaglist.c:136
 msgid "date the data was created (as a GDate structure)"
 msgstr ""
 
-#: gst/gsttaglist.c:143
+#: gst/gsttaglist.c:138
 msgid "datetime"
 msgstr ""
 
-#: gst/gsttaglist.c:144
+#: gst/gsttaglist.c:139
 msgid "date and time the data was created (as a GstDateTime structure)"
 msgstr ""
 
-#: gst/gsttaglist.c:148
+#: gst/gsttaglist.c:143
 msgid "genre"
 msgstr ""
 
-#: gst/gsttaglist.c:149
+#: gst/gsttaglist.c:144
 msgid "genre this data belongs to"
 msgstr ""
 
-#: gst/gsttaglist.c:152
+#: gst/gsttaglist.c:147
 msgid "comment"
 msgstr ""
 
-#: gst/gsttaglist.c:153
+#: gst/gsttaglist.c:148
 msgid "free text commenting the data"
 msgstr ""
 
-#: gst/gsttaglist.c:156
+#: gst/gsttaglist.c:151
 msgid "extended comment"
 msgstr ""
 
-#: gst/gsttaglist.c:157
+#: gst/gsttaglist.c:152
 msgid "free text commenting the data in key=value or key[en]=comment form"
 msgstr ""
 
-#: gst/gsttaglist.c:161
+#: gst/gsttaglist.c:156
 msgid "track number"
 msgstr ""
 
-#: gst/gsttaglist.c:162
+#: gst/gsttaglist.c:157
 msgid "track number inside a collection"
 msgstr ""
 
-#: gst/gsttaglist.c:165
+#: gst/gsttaglist.c:160
 msgid "track count"
 msgstr ""
 
-#: gst/gsttaglist.c:166
+#: gst/gsttaglist.c:161
 msgid "count of tracks inside collection this track belongs to"
 msgstr ""
 
-#: gst/gsttaglist.c:170
+#: gst/gsttaglist.c:165
 msgid "disc number"
 msgstr ""
 
-#: gst/gsttaglist.c:171
+#: gst/gsttaglist.c:166
 msgid "disc number inside a collection"
 msgstr ""
 
-#: gst/gsttaglist.c:174
+#: gst/gsttaglist.c:169
 msgid "disc count"
 msgstr ""
 
-#: gst/gsttaglist.c:175
+#: gst/gsttaglist.c:170
 msgid "count of discs inside collection this disc belongs to"
 msgstr ""
 
-#: gst/gsttaglist.c:179
+#: gst/gsttaglist.c:174
 msgid "location"
 msgstr ""
 
-#: gst/gsttaglist.c:179
+#: gst/gsttaglist.c:174
 msgid ""
 "Origin of media as a URI (location, where the original of the file or stream "
 "is hosted)"
 msgstr ""
 
-#: gst/gsttaglist.c:184
+#: gst/gsttaglist.c:179
 msgid "homepage"
 msgstr ""
 
-#: gst/gsttaglist.c:185
+#: gst/gsttaglist.c:180
 msgid "Homepage for this media (i.e. artist or movie homepage)"
 msgstr ""
 
-#: gst/gsttaglist.c:188
+#: gst/gsttaglist.c:183
 msgid "description"
 msgstr ""
 
-#: gst/gsttaglist.c:189
+#: gst/gsttaglist.c:184
 msgid "short text describing the content of the data"
 msgstr ""
 
-#: gst/gsttaglist.c:192
+#: gst/gsttaglist.c:187
 msgid "version"
 msgstr ""
 
-#: gst/gsttaglist.c:192
+#: gst/gsttaglist.c:187
 msgid "version of this data"
 msgstr ""
 
-#: gst/gsttaglist.c:194
+#: gst/gsttaglist.c:189
 msgid "ISRC"
 msgstr ""
 
-#: gst/gsttaglist.c:196
+#: gst/gsttaglist.c:191
 msgid "International Standard Recording Code - see http://www.ifpi.org/isrc/"
 msgstr ""
 
-#: gst/gsttaglist.c:200
+#: gst/gsttaglist.c:195
 msgid "organization"
 msgstr ""
 
-#: gst/gsttaglist.c:203
+#: gst/gsttaglist.c:198
 msgid "copyright"
 msgstr ""
 
-#: gst/gsttaglist.c:203
+#: gst/gsttaglist.c:198
 msgid "copyright notice of the data"
 msgstr ""
 
-#: gst/gsttaglist.c:205
+#: gst/gsttaglist.c:200
 msgid "copyright uri"
 msgstr ""
 
-#: gst/gsttaglist.c:206
+#: gst/gsttaglist.c:201
 msgid "URI to the copyright notice of the data"
 msgstr ""
 
-#: gst/gsttaglist.c:208
+#: gst/gsttaglist.c:203
 msgid "encoded by"
 msgstr ""
 
-#: gst/gsttaglist.c:208
+#: gst/gsttaglist.c:203
 msgid "name of the encoding person or organization"
 msgstr ""
 
-#: gst/gsttaglist.c:212
+#: gst/gsttaglist.c:207
 msgid "contact"
 msgstr ""
 
-#: gst/gsttaglist.c:212
+#: gst/gsttaglist.c:207
 msgid "contact information"
 msgstr ""
 
-#: gst/gsttaglist.c:214
+#: gst/gsttaglist.c:209
 msgid "license"
 msgstr ""
 
-#: gst/gsttaglist.c:214
+#: gst/gsttaglist.c:209
 msgid "license of data"
 msgstr ""
 
-#: gst/gsttaglist.c:216
+#: gst/gsttaglist.c:211
 msgid "license uri"
 msgstr ""
 
-#: gst/gsttaglist.c:217
+#: gst/gsttaglist.c:212
 msgid "URI to the license of the data"
 msgstr ""
 
-#: gst/gsttaglist.c:220
+#: gst/gsttaglist.c:215
 msgid "performer"
 msgstr ""
 
-#: gst/gsttaglist.c:221
+#: gst/gsttaglist.c:216
 msgid "person(s) performing"
 msgstr ""
 
-#: gst/gsttaglist.c:224
+#: gst/gsttaglist.c:219
 msgid "composer"
 msgstr ""
 
-#: gst/gsttaglist.c:225
+#: gst/gsttaglist.c:220
 msgid "person(s) who composed the recording"
 msgstr ""
 
-#: gst/gsttaglist.c:229
+#: gst/gsttaglist.c:224
 msgid "duration"
 msgstr ""
 
-#: gst/gsttaglist.c:229
+#: gst/gsttaglist.c:224
 msgid "length in GStreamer time units (nanoseconds)"
 msgstr ""
 
-#: gst/gsttaglist.c:232
+#: gst/gsttaglist.c:227
 msgid "codec"
 msgstr ""
 
-#: gst/gsttaglist.c:233
+#: gst/gsttaglist.c:228
 msgid "codec the data is stored in"
 msgstr ""
 
-#: gst/gsttaglist.c:236
+#: gst/gsttaglist.c:231
 msgid "video codec"
 msgstr ""
 
-#: gst/gsttaglist.c:236
+#: gst/gsttaglist.c:231
 msgid "codec the video data is stored in"
 msgstr ""
 
-#: gst/gsttaglist.c:239
+#: gst/gsttaglist.c:234
 msgid "audio codec"
 msgstr ""
 
-#: gst/gsttaglist.c:239
+#: gst/gsttaglist.c:234
 msgid "codec the audio data is stored in"
 msgstr ""
 
-#: gst/gsttaglist.c:242
+#: gst/gsttaglist.c:237
 msgid "subtitle codec"
 msgstr ""
 
-#: gst/gsttaglist.c:242
+#: gst/gsttaglist.c:237
 msgid "codec the subtitle data is stored in"
 msgstr ""
 
-#: gst/gsttaglist.c:244
+#: gst/gsttaglist.c:239
 msgid "container format"
 msgstr ""
 
-#: gst/gsttaglist.c:245
+#: gst/gsttaglist.c:240
 msgid "container format the data is stored in"
 msgstr ""
 
-#: gst/gsttaglist.c:247
+#: gst/gsttaglist.c:242
 msgid "bitrate"
 msgstr ""
 
-#: gst/gsttaglist.c:247
+#: gst/gsttaglist.c:242
 msgid "exact or average bitrate in bits/s"
 msgstr ""
 
-#: gst/gsttaglist.c:249
+#: gst/gsttaglist.c:244
 msgid "nominal bitrate"
 msgstr ""
 
-#: gst/gsttaglist.c:249
+#: gst/gsttaglist.c:244
 msgid "nominal bitrate in bits/s"
 msgstr ""
 
-#: gst/gsttaglist.c:251
+#: gst/gsttaglist.c:246
 msgid "minimum bitrate"
 msgstr ""
 
-#: gst/gsttaglist.c:251
+#: gst/gsttaglist.c:246
 msgid "minimum bitrate in bits/s"
 msgstr ""
 
-#: gst/gsttaglist.c:253
+#: gst/gsttaglist.c:248
 msgid "maximum bitrate"
 msgstr ""
 
-#: gst/gsttaglist.c:253
+#: gst/gsttaglist.c:248
 msgid "maximum bitrate in bits/s"
 msgstr ""
 
-#: gst/gsttaglist.c:256
+#: gst/gsttaglist.c:251
 msgid "encoder"
 msgstr ""
 
-#: gst/gsttaglist.c:256
+#: gst/gsttaglist.c:251
 msgid "encoder used to encode this stream"
 msgstr ""
 
-#: gst/gsttaglist.c:259
+#: gst/gsttaglist.c:254
 msgid "encoder version"
 msgstr ""
 
-#: gst/gsttaglist.c:260
+#: gst/gsttaglist.c:255
 msgid "version of the encoder used to encode this stream"
 msgstr ""
 
-#: gst/gsttaglist.c:262
+#: gst/gsttaglist.c:257
 msgid "serial"
 msgstr ""
 
-#: gst/gsttaglist.c:262
+#: gst/gsttaglist.c:257
 msgid "serial number of track"
 msgstr ""
 
-#: gst/gsttaglist.c:264
+#: gst/gsttaglist.c:259
 msgid "replaygain track gain"
 msgstr ""
 
-#: gst/gsttaglist.c:264
+#: gst/gsttaglist.c:259
 msgid "track gain in db"
 msgstr ""
 
-#: gst/gsttaglist.c:266
+#: gst/gsttaglist.c:261
 msgid "replaygain track peak"
 msgstr ""
 
-#: gst/gsttaglist.c:266
+#: gst/gsttaglist.c:261
 msgid "peak of the track"
 msgstr ""
 
-#: gst/gsttaglist.c:268
+#: gst/gsttaglist.c:263
 msgid "replaygain album gain"
 msgstr ""
 
-#: gst/gsttaglist.c:268
+#: gst/gsttaglist.c:263
 msgid "album gain in db"
 msgstr ""
 
-#: gst/gsttaglist.c:270
+#: gst/gsttaglist.c:265
 msgid "replaygain album peak"
 msgstr ""
 
-#: gst/gsttaglist.c:270
+#: gst/gsttaglist.c:265
 msgid "peak of the album"
 msgstr ""
 
-#: gst/gsttaglist.c:272
+#: gst/gsttaglist.c:267
 msgid "replaygain reference level"
 msgstr ""
 
-#: gst/gsttaglist.c:273
+#: gst/gsttaglist.c:268
 msgid "reference level of track and album gain values"
 msgstr ""
 
-#: gst/gsttaglist.c:275
+#: gst/gsttaglist.c:270
 msgid "language code"
 msgstr ""
 
-#: gst/gsttaglist.c:276
+#: gst/gsttaglist.c:271
 msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
 msgstr ""
 
-#: gst/gsttaglist.c:279
+#: gst/gsttaglist.c:274
 msgid "language name"
 msgstr ""
 
-#: gst/gsttaglist.c:280
+#: gst/gsttaglist.c:275
 msgid "freeform name of the language this stream is in"
 msgstr ""
 
-#: gst/gsttaglist.c:282
+#: gst/gsttaglist.c:277
 msgid "image"
 msgstr ""
 
-#: gst/gsttaglist.c:282
+#: gst/gsttaglist.c:277
 msgid "image related to this stream"
 msgstr ""
 
 #. TRANSLATORS: 'preview image' = image that shows a preview of the full image
-#: gst/gsttaglist.c:286
+#: gst/gsttaglist.c:281
 msgid "preview image"
 msgstr ""
 
-#: gst/gsttaglist.c:286
+#: gst/gsttaglist.c:281
 msgid "preview image related to this stream"
 msgstr ""
 
-#: gst/gsttaglist.c:288
+#: gst/gsttaglist.c:283
 msgid "attachment"
 msgstr ""
 
-#: gst/gsttaglist.c:288
+#: gst/gsttaglist.c:283
 msgid "file attached to this stream"
 msgstr ""
 
-#: gst/gsttaglist.c:291
+#: gst/gsttaglist.c:286
 msgid "beats per minute"
 msgstr ""
 
-#: gst/gsttaglist.c:292
+#: gst/gsttaglist.c:287
 msgid "number of beats per minute in audio"
 msgstr ""
 
-#: gst/gsttaglist.c:294
+#: gst/gsttaglist.c:289
 msgid "keywords"
 msgstr ""
 
-#: gst/gsttaglist.c:294
+#: gst/gsttaglist.c:289
 msgid "comma separated keywords describing the content"
 msgstr ""
 
-#: gst/gsttaglist.c:297
+#: gst/gsttaglist.c:292
 msgid "geo location name"
 msgstr ""
 
-#: gst/gsttaglist.c:298
+#: gst/gsttaglist.c:293
 msgid ""
 "human readable descriptive location of where the media has been recorded or "
 "produced"
 msgstr ""
 
-#: gst/gsttaglist.c:301
+#: gst/gsttaglist.c:296
 msgid "geo location latitude"
 msgstr ""
 
-#: gst/gsttaglist.c:302
+#: gst/gsttaglist.c:297
 msgid ""
 "geo latitude location of where the media has been recorded or produced in "
 "degrees according to WGS84 (zero at the equator, negative values for "
 "southern latitudes)"
 msgstr ""
 
-#: gst/gsttaglist.c:306
+#: gst/gsttaglist.c:301
 msgid "geo location longitude"
 msgstr ""
 
-#: gst/gsttaglist.c:307
+#: gst/gsttaglist.c:302
 msgid ""
 "geo longitude location of where the media has been recorded or produced in "
 "degrees according to WGS84 (zero at the prime meridian in Greenwich/UK,  "
 "negative values for western longitudes)"
 msgstr ""
 
-#: gst/gsttaglist.c:311
+#: gst/gsttaglist.c:306
 msgid "geo location elevation"
 msgstr ""
 
-#: gst/gsttaglist.c:312
+#: gst/gsttaglist.c:307
 msgid ""
 "geo elevation of where the media has been recorded or produced in meters "
 "according to WGS84 (zero is average sea level)"
 msgstr ""
 
-#: gst/gsttaglist.c:315
+#: gst/gsttaglist.c:310
 msgid "geo location country"
 msgstr ""
 
-#: gst/gsttaglist.c:316
+#: gst/gsttaglist.c:311
 msgid "country (english name) where the media has been recorded or produced"
 msgstr ""
 
-#: gst/gsttaglist.c:319
+#: gst/gsttaglist.c:314
 msgid "geo location city"
 msgstr ""
 
-#: gst/gsttaglist.c:320
+#: gst/gsttaglist.c:315
 msgid "city (english name) where the media has been recorded or produced"
 msgstr ""
 
-#: gst/gsttaglist.c:323
+#: gst/gsttaglist.c:318
 msgid "geo location sublocation"
 msgstr ""
 
-#: gst/gsttaglist.c:324
+#: gst/gsttaglist.c:319
 msgid ""
 "a location whithin a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 
-#: gst/gsttaglist.c:327
+#: gst/gsttaglist.c:322
 msgid "geo location horizontal error"
 msgstr ""
 
-#: gst/gsttaglist.c:328
+#: gst/gsttaglist.c:323
 msgid "expected error of the horizontal positioning measures (in meters)"
 msgstr ""
 
-#: gst/gsttaglist.c:331
+#: gst/gsttaglist.c:326
 msgid "geo location movement speed"
 msgstr ""
 
-#: gst/gsttaglist.c:332
+#: gst/gsttaglist.c:327
 msgid ""
 "movement speed of the capturing device while performing the capture in m/s"
 msgstr ""
 
-#: gst/gsttaglist.c:335
+#: gst/gsttaglist.c:330
 msgid "geo location movement direction"
 msgstr ""
 
-#: gst/gsttaglist.c:336
+#: gst/gsttaglist.c:331
 msgid ""
 "indicates the movement direction of the device performing the capture of a "
 "media. It is represented as degrees in floating point representation, 0 "
 "means the geographic north, and increases clockwise"
 msgstr ""
 
-#: gst/gsttaglist.c:341
+#: gst/gsttaglist.c:336
 msgid "geo location capture direction"
 msgstr ""
 
-#: gst/gsttaglist.c:342
+#: gst/gsttaglist.c:337
 msgid ""
 "indicates the direction the device is pointing to when capturing  a media. "
 "It is represented as degrees in floating point  representation, 0 means the "
@@ -854,126 +854,126 @@
 msgstr ""
 
 #. TRANSLATORS: 'show name' = 'TV/radio/podcast show name' here
-#: gst/gsttaglist.c:348
+#: gst/gsttaglist.c:343
 msgid "show name"
 msgstr ""
 
-#: gst/gsttaglist.c:349
+#: gst/gsttaglist.c:344
 msgid "Name of the tv/podcast/series show the media is from"
 msgstr ""
 
 #. TRANSLATORS: 'show sortname' = 'TV/radio/podcast show name as used for sorting purposes' here
-#: gst/gsttaglist.c:354
+#: gst/gsttaglist.c:349
 msgid "show sortname"
 msgstr ""
 
-#: gst/gsttaglist.c:355
+#: gst/gsttaglist.c:350
 msgid ""
 "Name of the tv/podcast/series show the media is from, for sorting purposes"
 msgstr ""
 
-#: gst/gsttaglist.c:358
+#: gst/gsttaglist.c:353
 msgid "episode number"
 msgstr ""
 
-#: gst/gsttaglist.c:359
+#: gst/gsttaglist.c:354
 msgid "The episode number in the season the media is part of"
 msgstr ""
 
-#: gst/gsttaglist.c:362
+#: gst/gsttaglist.c:357
 msgid "season number"
 msgstr ""
 
-#: gst/gsttaglist.c:363
+#: gst/gsttaglist.c:358
 msgid "The season number of the show the media is part of"
 msgstr ""
 
-#: gst/gsttaglist.c:366
+#: gst/gsttaglist.c:361
 msgid "lyrics"
 msgstr ""
 
-#: gst/gsttaglist.c:366
+#: gst/gsttaglist.c:361
 msgid "The lyrics of the media, commonly used for songs"
 msgstr ""
 
-#: gst/gsttaglist.c:369
+#: gst/gsttaglist.c:364
 msgid "composer sortname"
 msgstr ""
 
-#: gst/gsttaglist.c:370
+#: gst/gsttaglist.c:365
 msgid "person(s) who composed the recording, for sorting purposes"
 msgstr ""
 
-#: gst/gsttaglist.c:372
+#: gst/gsttaglist.c:367
 msgid "grouping"
 msgstr ""
 
-#: gst/gsttaglist.c:373
+#: gst/gsttaglist.c:368
 msgid ""
 "Groups related media that spans multiple tracks, like the different pieces "
 "of a concerto. It is a higher level than a track, but lower than an album"
 msgstr ""
 
-#: gst/gsttaglist.c:377
+#: gst/gsttaglist.c:372
 msgid "user rating"
 msgstr ""
 
-#: gst/gsttaglist.c:378
+#: gst/gsttaglist.c:373
 msgid ""
 "Rating attributed by a user. The higher the rank, the more the user likes "
 "this media"
 msgstr ""
 
-#: gst/gsttaglist.c:381
+#: gst/gsttaglist.c:376
 msgid "device manufacturer"
 msgstr ""
 
-#: gst/gsttaglist.c:382
+#: gst/gsttaglist.c:377
 msgid "Manufacturer of the device used to create this media"
 msgstr ""
 
-#: gst/gsttaglist.c:384
+#: gst/gsttaglist.c:379
 msgid "device model"
 msgstr ""
 
-#: gst/gsttaglist.c:385
+#: gst/gsttaglist.c:380
 msgid "Model of the device used to create this media"
 msgstr ""
 
-#: gst/gsttaglist.c:387
+#: gst/gsttaglist.c:382
 msgid "application name"
 msgstr ""
 
-#: gst/gsttaglist.c:388
+#: gst/gsttaglist.c:383
 msgid "Application used to create the media"
 msgstr ""
 
-#: gst/gsttaglist.c:390
+#: gst/gsttaglist.c:385
 msgid "application data"
 msgstr ""
 
-#: gst/gsttaglist.c:391
+#: gst/gsttaglist.c:386
 msgid "Arbitrary application data to be serialized into the media"
 msgstr ""
 
-#: gst/gsttaglist.c:393
+#: gst/gsttaglist.c:388
 msgid "image orientation"
 msgstr ""
 
-#: gst/gsttaglist.c:394
+#: gst/gsttaglist.c:389
 msgid "How the image should be rotated or flipped before display"
 msgstr ""
 
-#: gst/gsttaglist.c:433
+#: gst/gsttaglist.c:428
 msgid ", "
 msgstr ""
 
-#: gst/gstutils.c:2445 tools/gst-launch.c:365
+#: gst/gstutils.c:2338 tools/gst-launch.c:366
 #, c-format
 msgid "ERROR: from element %s: %s\n"
 msgstr ""
 
-#: gst/gstutils.c:2447 tools/gst-launch.c:367 tools/gst-launch.c:717
+#: gst/gstutils.c:2340 tools/gst-launch.c:368 tools/gst-launch.c:730
 #, c-format
 msgid ""
 "Additional debug info:\n"
@@ -990,83 +990,83 @@
 msgid "no bin \"%s\", skipping"
 msgstr ""
 
-#: gst/parse/grammar.y:447
+#: gst/parse/grammar.y:448
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr ""
 
-#: gst/parse/grammar.y:462
+#: gst/parse/grammar.y:463
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr ""
 
-#: gst/parse/grammar.y:613
+#: gst/parse/grammar.y:614
 #, c-format
 msgid "could not link %s to %s"
 msgstr ""
 
-#: gst/parse/grammar.y:661
+#: gst/parse/grammar.y:662
 #, c-format
 msgid "no element \"%s\""
 msgstr ""
 
-#: gst/parse/grammar.y:713
+#: gst/parse/grammar.y:714
 #, c-format
 msgid "could not parse caps \"%s\""
 msgstr ""
 
-#: gst/parse/grammar.y:735 gst/parse/grammar.y:783 gst/parse/grammar.y:799
-#: gst/parse/grammar.y:862
+#: gst/parse/grammar.y:736 gst/parse/grammar.y:784 gst/parse/grammar.y:800
+#: gst/parse/grammar.y:865
 msgid "link without source element"
 msgstr ""
 
-#: gst/parse/grammar.y:741 gst/parse/grammar.y:780 gst/parse/grammar.y:871
+#: gst/parse/grammar.y:742 gst/parse/grammar.y:781 gst/parse/grammar.y:874
 msgid "link without sink element"
 msgstr ""
 
-#: gst/parse/grammar.y:817
+#: gst/parse/grammar.y:819
 #, c-format
 msgid "no source element for URI \"%s\""
 msgstr ""
 
-#: gst/parse/grammar.y:827
+#: gst/parse/grammar.y:829
 #, c-format
 msgid "no element to link URI \"%s\" to"
 msgstr ""
 
-#: gst/parse/grammar.y:835
+#: gst/parse/grammar.y:838
 #, c-format
 msgid "no sink element for URI \"%s\""
 msgstr ""
 
-#: gst/parse/grammar.y:842
+#: gst/parse/grammar.y:845
 #, c-format
 msgid "could not link sink element for URI \"%s\""
 msgstr ""
 
-#: gst/parse/grammar.y:856
+#: gst/parse/grammar.y:859
 msgid "empty pipeline not allowed"
 msgstr ""
 
-#: libs/gst/base/gstbasesrc.c:2365
+#: libs/gst/base/gstbasesrc.c:2421
 msgid "Internal clock error."
 msgstr ""
 
-#: libs/gst/base/gstbasesrc.c:2707 libs/gst/base/gstbasesrc.c:2716
-#: libs/gst/base/gstbasesink.c:3748 plugins/elements/gstqueue.c:1175
-#: plugins/elements/gstqueue2.c:2550
+#: 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
 msgid "Internal data flow error."
 msgstr ""
 
-#: libs/gst/base/gstbasesink.c:2708
+#: libs/gst/base/gstbasesink.c:2666
 msgid "A lot of buffers are being dropped."
 msgstr ""
 
-#: libs/gst/base/gstbasesink.c:3115
+#: libs/gst/base/gstbasesink.c:3104
 msgid "Internal data flow problem."
 msgstr ""
 
-#: libs/gst/base/gstbasesink.c:3738
+#: libs/gst/base/gstbasesink.c:3730
 msgid "Internal data stream error."
 msgstr ""
 
@@ -1080,96 +1080,92 @@
 "property takes a reference to the supplied GstCaps object."
 msgstr ""
 
-#: plugins/elements/gstfilesink.c:414
+#: plugins/elements/gstfilesink.c:412
 msgid "No file name specified for writing."
 msgstr ""
 
-#: plugins/elements/gstfilesink.c:420
+#: plugins/elements/gstfilesink.c:418
 #, c-format
 msgid "Could not open file \"%s\" for writing."
 msgstr ""
 
-#: plugins/elements/gstfilesink.c:445
+#: plugins/elements/gstfilesink.c:443
 #, c-format
 msgid "Error closing file \"%s\"."
 msgstr ""
 
-#: plugins/elements/gstfilesink.c:602
+#: plugins/elements/gstfilesink.c:600
 #, c-format
 msgid "Error while seeking in file \"%s\"."
 msgstr ""
 
-#: plugins/elements/gstfilesink.c:610 plugins/elements/gstfilesink.c:673
+#: plugins/elements/gstfilesink.c:608 plugins/elements/gstfilesink.c:671
 #, c-format
 msgid "Error while writing to file \"%s\"."
 msgstr ""
 
-#: plugins/elements/gstfilesrc.c:524
+#: plugins/elements/gstfilesrc.c:500
 msgid "No file name specified for reading."
 msgstr ""
 
-#: plugins/elements/gstfilesrc.c:536 plugins/elements/gstqueue2.c:1443
+#: plugins/elements/gstfilesrc.c:512 plugins/elements/gstqueue2.c:1425
 #, c-format
 msgid "Could not open file \"%s\" for reading."
 msgstr ""
 
-#: plugins/elements/gstfilesrc.c:545
+#: plugins/elements/gstfilesrc.c:521
 #, c-format
 msgid "Could not get info on \"%s\"."
 msgstr ""
 
-#: plugins/elements/gstfilesrc.c:551
+#: plugins/elements/gstfilesrc.c:527
 #, c-format
 msgid "\"%s\" is a directory."
 msgstr ""
 
-#: plugins/elements/gstfilesrc.c:557
+#: plugins/elements/gstfilesrc.c:533
 #, c-format
 msgid "File \"%s\" is a socket."
 msgstr ""
 
-#: plugins/elements/gstidentity.c:654
+#: plugins/elements/gstidentity.c:596
 msgid "Failed after iterations as requested."
 msgstr ""
 
-#: plugins/elements/gstqueue2.c:1429
+#: plugins/elements/gstqueue2.c:1411
 msgid "No Temp directory specified."
 msgstr ""
 
-#: plugins/elements/gstqueue2.c:1435
+#: plugins/elements/gstqueue2.c:1417
 #, c-format
 msgid "Could not create temp file \"%s\"."
 msgstr ""
 
-#: plugins/elements/gstqueue2.c:1817
+#: plugins/elements/gstqueue2.c:1799
 msgid "Error while writing to download file."
 msgstr ""
 
-#: plugins/elements/gsttypefindelement.c:205
+#: plugins/elements/gsttypefindelement.c:204
 msgid "caps"
 msgstr ""
 
-#: plugins/elements/gsttypefindelement.c:206
+#: plugins/elements/gsttypefindelement.c:205
 msgid "detected capabilities in stream"
 msgstr ""
 
-#: plugins/elements/gsttypefindelement.c:209
+#: plugins/elements/gsttypefindelement.c:208
 msgid "minimum"
 msgstr ""
 
-#: plugins/elements/gsttypefindelement.c:214
-msgid "maximum"
-msgstr ""
-
-#: plugins/elements/gsttypefindelement.c:219
+#: plugins/elements/gsttypefindelement.c:213
 msgid "force caps"
 msgstr ""
 
-#: plugins/elements/gsttypefindelement.c:220
+#: plugins/elements/gsttypefindelement.c:214
 msgid "force caps without doing a typefind"
 msgstr ""
 
-#: plugins/elements/gsttypefindelement.c:1030
+#: plugins/elements/gsttypefindelement.c:1017
 msgid "Stream contains no data."
 msgstr ""
 
@@ -1271,240 +1267,240 @@
 msgid "No such element or plugin '%s'\n"
 msgstr ""
 
-#: tools/gst-launch.c:292
+#: tools/gst-launch.c:293
 msgid "Index statistics"
 msgstr ""
 
-#: tools/gst-launch.c:599
-#, c-format
-msgid "Got message #%u from element \"%s\" (%s): "
-msgstr ""
-
-#: tools/gst-launch.c:603
-#, c-format
-msgid "Got message #%u from pad \"%s:%s\" (%s): "
-msgstr ""
-
-#: tools/gst-launch.c:607
-#, c-format
-msgid "Got message #%u from object \"%s\" (%s): "
-msgstr ""
-
 #: tools/gst-launch.c:611
 #, c-format
+msgid "Got message #%u from element \"%s\" (%s): "
+msgstr ""
+
+#: tools/gst-launch.c:615
+#, c-format
+msgid "Got message #%u from pad \"%s:%s\" (%s): "
+msgstr ""
+
+#: tools/gst-launch.c:619
+#, c-format
+msgid "Got message #%u from object \"%s\" (%s): "
+msgstr ""
+
+#: tools/gst-launch.c:623
+#, c-format
 msgid "Got message #%u (%s): "
 msgstr ""
 
-#: tools/gst-launch.c:643
-#, c-format
-msgid "Got EOS from element \"%s\".\n"
-msgstr ""
-
-#: tools/gst-launch.c:652
-#, c-format
-msgid "FOUND TAG      : found by element \"%s\".\n"
-msgstr ""
-
 #: tools/gst-launch.c:655
 #, c-format
+msgid "Got EOS from element \"%s\".\n"
+msgstr ""
+
+#: tools/gst-launch.c:664
+#, c-format
+msgid "FOUND TAG      : found by element \"%s\".\n"
+msgstr ""
+
+#: tools/gst-launch.c:667
+#, c-format
 msgid "FOUND TAG      : found by pad \"%s:%s\".\n"
 msgstr ""
 
-#: tools/gst-launch.c:658
+#: tools/gst-launch.c:670
 #, c-format
 msgid "FOUND TAG      : found by object \"%s\".\n"
 msgstr ""
 
-#: tools/gst-launch.c:661
+#: tools/gst-launch.c:673
 msgid "FOUND TAG\n"
 msgstr ""
 
-#: tools/gst-launch.c:675
+#: tools/gst-launch.c:688
 #, c-format
 msgid "FOUND TOC      : found by element \"%s\".\n"
 msgstr ""
 
-#: tools/gst-launch.c:678
+#: tools/gst-launch.c:691
 #, c-format
 msgid "FOUND TOC      : found by object \"%s\".\n"
 msgstr ""
 
-#: tools/gst-launch.c:681
+#: tools/gst-launch.c:694
 msgid "FOUND TOC\n"
 msgstr ""
 
-#: tools/gst-launch.c:698
+#: tools/gst-launch.c:711
 #, c-format
 msgid ""
 "INFO:\n"
 "%s\n"
 msgstr ""
 
-#: tools/gst-launch.c:715
+#: tools/gst-launch.c:728
 #, c-format
 msgid "WARNING: from element %s: %s\n"
 msgstr ""
 
-#: tools/gst-launch.c:745
+#: tools/gst-launch.c:758
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr ""
 
-#: tools/gst-launch.c:762
+#: tools/gst-launch.c:775
 msgid "buffering..."
 msgstr ""
 
-#: tools/gst-launch.c:773
+#: tools/gst-launch.c:786
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr ""
 
-#: tools/gst-launch.c:781
+#: tools/gst-launch.c:794
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr ""
 
-#: tools/gst-launch.c:790
+#: tools/gst-launch.c:803
 msgid "Redistribute latency...\n"
 msgstr ""
 
-#: tools/gst-launch.c:801
+#: tools/gst-launch.c:814
 #, c-format
 msgid "Setting state to %s as requested by %s...\n"
 msgstr ""
 
-#: tools/gst-launch.c:817
+#: tools/gst-launch.c:830
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr ""
 
-#: tools/gst-launch.c:828
+#: tools/gst-launch.c:841
 #, c-format
 msgid "Missing element: %s\n"
 msgstr ""
 
-#: tools/gst-launch.c:910
+#: tools/gst-launch.c:923
 msgid "Output tags (also known as metadata)"
 msgstr ""
 
-#: tools/gst-launch.c:912
+#: tools/gst-launch.c:925
 msgid "Output TOC (chapters and editions)"
 msgstr ""
 
-#: tools/gst-launch.c:914
+#: tools/gst-launch.c:927
 msgid "Output status information and property notifications"
 msgstr ""
 
-#: tools/gst-launch.c:916
+#: tools/gst-launch.c:929
 msgid "Do not print any progress information"
 msgstr ""
 
-#: tools/gst-launch.c:918
+#: tools/gst-launch.c:931
 msgid "Output messages"
 msgstr ""
 
-#: tools/gst-launch.c:920
+#: tools/gst-launch.c:933
 msgid "Do not output status information of TYPE"
 msgstr ""
 
-#: tools/gst-launch.c:920
+#: tools/gst-launch.c:933
 msgid "TYPE1,TYPE2,..."
 msgstr ""
 
-#: tools/gst-launch.c:922
+#: tools/gst-launch.c:935
 msgid "Do not install a fault handler"
 msgstr ""
 
-#: tools/gst-launch.c:924
+#: tools/gst-launch.c:937
 msgid "Force EOS on sources before shutting the pipeline down"
 msgstr ""
 
-#: tools/gst-launch.c:927
+#: tools/gst-launch.c:940
 msgid "Gather and print index statistics"
 msgstr ""
 
-#: tools/gst-launch.c:989
+#: tools/gst-launch.c:1002
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr ""
 
-#: tools/gst-launch.c:993
+#: tools/gst-launch.c:1006
 msgid "ERROR: pipeline could not be constructed.\n"
 msgstr ""
 
-#: tools/gst-launch.c:997
+#: tools/gst-launch.c:1010
 #, c-format
 msgid "WARNING: erroneous pipeline: %s\n"
 msgstr ""
 
-#: tools/gst-launch.c:1020
+#: tools/gst-launch.c:1033
 msgid "ERROR: the 'pipeline' element wasn't found.\n"
 msgstr ""
 
-#: tools/gst-launch.c:1047 tools/gst-launch.c:1142
+#: tools/gst-launch.c:1060 tools/gst-launch.c:1155
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr ""
 
-#: tools/gst-launch.c:1052
+#: tools/gst-launch.c:1065
 msgid "ERROR: Pipeline doesn't want to pause.\n"
 msgstr ""
 
-#: tools/gst-launch.c:1057
+#: tools/gst-launch.c:1070
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr ""
 
-#: tools/gst-launch.c:1061
+#: tools/gst-launch.c:1074
 msgid "Pipeline is PREROLLING ...\n"
 msgstr ""
 
-#: tools/gst-launch.c:1064 tools/gst-launch.c:1077
+#: tools/gst-launch.c:1077 tools/gst-launch.c:1090
 msgid "ERROR: pipeline doesn't want to preroll.\n"
 msgstr ""
 
-#: tools/gst-launch.c:1070
+#: tools/gst-launch.c:1083
 msgid "Pipeline is PREROLLED ...\n"
 msgstr ""
 
-#: tools/gst-launch.c:1082
+#: tools/gst-launch.c:1095
 msgid "Setting pipeline to PLAYING ...\n"
 msgstr ""
 
-#: tools/gst-launch.c:1089
+#: tools/gst-launch.c:1102
 msgid "ERROR: pipeline doesn't want to play.\n"
 msgstr ""
 
-#: tools/gst-launch.c:1107
+#: tools/gst-launch.c:1120
 msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
 msgstr ""
 
-#: tools/gst-launch.c:1111
+#: tools/gst-launch.c:1124
 msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
 msgstr ""
 
-#: tools/gst-launch.c:1114
+#: tools/gst-launch.c:1127
 msgid "Waiting for EOS...\n"
 msgstr ""
 
-#: tools/gst-launch.c:1121
+#: tools/gst-launch.c:1134
 msgid "EOS received - stopping pipeline...\n"
 msgstr ""
 
-#: tools/gst-launch.c:1125
+#: tools/gst-launch.c:1138
 msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
 msgstr ""
 
-#: tools/gst-launch.c:1129
+#: tools/gst-launch.c:1142
 msgid "An error happened while waiting for EOS\n"
 msgstr ""
 
-#: tools/gst-launch.c:1139
+#: tools/gst-launch.c:1152
 msgid "Execution ended after %"
 msgstr ""
 
-#: tools/gst-launch.c:1150
+#: tools/gst-launch.c:1163
 msgid "Setting pipeline to READY ...\n"
 msgstr ""
 
-#: tools/gst-launch.c:1162
+#: tools/gst-launch.c:1175
 msgid "Setting pipeline to NULL ...\n"
 msgstr ""
 
-#: tools/gst-launch.c:1167
+#: tools/gst-launch.c:1179
 msgid "Freeing pipeline ...\n"
 msgstr ""
diff --git a/po/hu.gmo b/po/hu.gmo
index ff3763d..53dcbc0 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index a313e6f..1ec2616 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -937,9 +937,6 @@
 msgid "minimum"
 msgstr "minimum"
 
-msgid "maximum"
-msgstr "maximum"
-
 msgid "force caps"
 msgstr "nagybetűk kényszerítése"
 
diff --git a/po/id.gmo b/po/id.gmo
index 3646226..beb82f9 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index 41fe05b..d308a1c 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -940,9 +940,6 @@
 msgid "minimum"
 msgstr "minimum"
 
-msgid "maximum"
-msgstr "maksimum"
-
 msgid "force caps"
 msgstr "paksa huruf"
 
diff --git a/po/it.gmo b/po/it.gmo
index df678d7..cb30523 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index 43251d5..a64a2ee 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -1097,9 +1097,6 @@
 msgid "minimum"
 msgstr "minimo"
 
-msgid "maximum"
-msgstr "massimo"
-
 msgid "force caps"
 msgstr "forza i caps"
 
diff --git a/po/ja.gmo b/po/ja.gmo
index 7cbc23d..a3522fe 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 88425c2..01cba84 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -920,9 +920,6 @@
 msgid "minimum"
 msgstr "最小値"
 
-msgid "maximum"
-msgstr "最大値"
-
 msgid "force caps"
 msgstr ""
 
diff --git a/po/lt.gmo b/po/lt.gmo
index 6d3b5b9..a2373b0 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index e3fe79c..9e1ac97 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -942,9 +942,6 @@
 msgid "minimum"
 msgstr "mažiausios"
 
-msgid "maximum"
-msgstr "didžiausios"
-
 msgid "force caps"
 msgstr "reikalauti galimybių"
 
diff --git a/po/nb.gmo b/po/nb.gmo
index f0b9e74..195bd26 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index eb3fcc9..de52b5a 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -910,9 +910,6 @@
 msgid "minimum"
 msgstr "minimum"
 
-msgid "maximum"
-msgstr "maksimum"
-
 msgid "force caps"
 msgstr ""
 
diff --git a/po/nl.gmo b/po/nl.gmo
index 344dc97..69bcae5 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 11627b7..682ce20 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -950,9 +950,6 @@
 msgid "minimum"
 msgstr "minimum"
 
-msgid "maximum"
-msgstr "maximum"
-
 msgid "force caps"
 msgstr "forceer mogelijkheden"
 
diff --git a/po/pl.gmo b/po/pl.gmo
index bafe73a..6d1de75 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 29de711..84c4636 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -942,9 +942,6 @@
 msgid "minimum"
 msgstr "minimum"
 
-msgid "maximum"
-msgstr "maksimum"
-
 msgid "force caps"
 msgstr "wymuszenie możliwości"
 
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index c8404d8..56f1934 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 2aab407..c5b231c 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -958,9 +958,6 @@
 msgid "minimum"
 msgstr "mínimo"
 
-msgid "maximum"
-msgstr "máximo"
-
 msgid "force caps"
 msgstr "forçar Caps"
 
diff --git a/po/ro.gmo b/po/ro.gmo
index 82dff00..9b781a0 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index d89e598..b26c76f 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -960,9 +960,6 @@
 msgid "minimum"
 msgstr "minim"
 
-msgid "maximum"
-msgstr "maxim"
-
 msgid "force caps"
 msgstr "forțează caps"
 
diff --git a/po/ru.gmo b/po/ru.gmo
index 9a2467a..cd4a549 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index d00d4de..f800c18 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -942,9 +942,6 @@
 msgid "minimum"
 msgstr "минимум"
 
-msgid "maximum"
-msgstr "максимум"
-
 msgid "force caps"
 msgstr "форсировать возможности"
 
diff --git a/po/rw.gmo b/po/rw.gmo
index d885b61..22ed6e8 100644
--- a/po/rw.gmo
+++ b/po/rw.gmo
Binary files differ
diff --git a/po/rw.po b/po/rw.po
index 25bd509..4ee68d5 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -1119,11 +1119,6 @@
 msgid "minimum"
 msgstr "Gito"
 
-# officecfg/registry\schema\org\openoffice\Office\Calc.xcs:....Layout.Other.StatusbarFunction..4.text
-#, fuzzy
-msgid "maximum"
-msgstr "Kinini"
-
 msgid "force caps"
 msgstr ""
 
diff --git a/po/sk.gmo b/po/sk.gmo
index 50b9c95..69c7958 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index f7382b0..da2e610 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -954,9 +954,6 @@
 msgid "minimum"
 msgstr "minimum"
 
-msgid "maximum"
-msgstr "maximum"
-
 msgid "force caps"
 msgstr "vynútiť veľké písmená"
 
diff --git a/po/sl.gmo b/po/sl.gmo
index 20b25c6..16663c3 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index aeb5819..c249d0c 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -940,9 +940,6 @@
 msgid "minimum"
 msgstr "najmanj"
 
-msgid "maximum"
-msgstr "največ"
-
 msgid "force caps"
 msgstr "vsili velike črke"
 
diff --git a/po/sq.gmo b/po/sq.gmo
index f0c7c86..d90dd39 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index 727a55c..2b89949 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -957,9 +957,6 @@
 msgid "minimum"
 msgstr "minimum"
 
-msgid "maximum"
-msgstr "maksimum"
-
 msgid "force caps"
 msgstr ""
 
diff --git a/po/sr.gmo b/po/sr.gmo
index b6d1d6d..7735add 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index 69356e4..097f42b 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -944,9 +944,6 @@
 msgid "minimum"
 msgstr "најмање"
 
-msgid "maximum"
-msgstr "највише"
-
 msgid "force caps"
 msgstr "приморај могућности"
 
diff --git a/po/sv.gmo b/po/sv.gmo
index d740a96..2b44455 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 2ce557d..1411013 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -951,9 +951,6 @@
 msgid "minimum"
 msgstr "minimum"
 
-msgid "maximum"
-msgstr "maximum"
-
 msgid "force caps"
 msgstr "tvinga förmågor"
 
diff --git a/po/tr.gmo b/po/tr.gmo
index 37eedd4..ce35fe3 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 4410c95..e5708e2 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -957,9 +957,6 @@
 msgid "minimum"
 msgstr "asgari"
 
-msgid "maximum"
-msgstr "azami"
-
 msgid "force caps"
 msgstr ""
 
diff --git a/po/uk.gmo b/po/uk.gmo
index ccb390c..645e5fc 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index dedf3a1..84e0c4f 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -939,9 +939,6 @@
 msgid "minimum"
 msgstr "мінімум"
 
-msgid "maximum"
-msgstr "максимум"
-
 msgid "force caps"
 msgstr "примусово визначені можливості"
 
diff --git a/po/vi.gmo b/po/vi.gmo
index d6f7684..d694261 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 31951b1..69d6dc2 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -949,9 +949,6 @@
 msgid "minimum"
 msgstr "tối thiểu"
 
-msgid "maximum"
-msgstr "tối đa"
-
 msgid "force caps"
 msgstr "buộc khả năng"
 
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index 00cd886..451f54c 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 687551a..ae04b2f 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -922,9 +922,6 @@
 msgid "minimum"
 msgstr "最小"
 
-msgid "maximum"
-msgstr "最大"
-
 msgid "force caps"
 msgstr "强制分析"
 
diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo
index f25a1bf..04f40c9 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 cec0e49..0885477 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-06-07 15:42+0200\n"
+"POT-Creation-Date: 2012-08-08 09:05+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"
@@ -940,9 +940,6 @@
 msgid "minimum"
 msgstr "最低"
 
-msgid "maximum"
-msgstr "最高"
-
 msgid "force caps"
 msgstr ""
 
diff --git a/scripts/gst-uninstalled b/scripts/gst-uninstalled
index ac99e03..31702d2 100755
--- a/scripts/gst-uninstalled
+++ b/scripts/gst-uninstalled
@@ -81,6 +81,14 @@
   GI_TYPELIB_PATH=$GST/gst-plugins-base/gst-libs/gst/$path:$GI_TYPELIB_PATH
 done
 
+# GStreamer plugins bad libraries
+for path in basecamerabinsrc codecparsers interfaces
+do
+  LD_LIBRARY_PATH=$GST/gst-plugins-bad/gst-libs/gst/$path/.libs:$LD_LIBRARY_PATH
+  DYLD_LIBRARY_PATH=$GST/gst-plugins-bad/gst-libs/gst/$path/.libs:$DYLD_LIBRARY_PATH
+  GI_TYPELIB_PATH=$GST/gst-plugins-bad/gst-libs/gst/$path:$GI_TYPELIB_PATH
+done
+
 # GStreamer core libraries
 for path in base net check controller
 do
@@ -124,10 +132,12 @@
 :$GST/gst-plugins-bad/ext\
 :$GST/gst-plugins-bad/gst\
 :$GST/gst-plugins-bad/sys\
-:$GST/gst-ffmpeg/ext\
-:$GST/gnonlin/gnl\
-:$GST/gst-openmax\
-:$GST/gst-plugins-gl/gst\
+:$GST/gst-ffmpeg/ext/\
+:$GST/gnonlin/gnl/.libs\
+:$GST/gst-openmax/omx/.libs\
+:$GST/gst-omx/omx/.libs\
+:$GST/gst-plugins-gl/gst/.libs\
+:$GST/clutter-gst/clutter-gst/.libs\
 :$GST/plugins\
 :$GST/farsight2/gst\
 :$GST/farsight2/transmitters\
@@ -151,6 +161,11 @@
 pythonver=`python -c "import sys; print sys.version[:3]"`
 export PYTHONPATH=$GST/gst-python:$GST_PREFIX/lib/python$pythonver/site-packages${PYTHONPATH:+:$PYTHONPATH}
 
+# clutter-gst
+export PKG_CONFIG_PATH=$GST/clutter-gst:$PKG_CONFIG_PATH
+export LD_LIBRARY_PATH=$GST/clutter-gst/clutter-gst/.libs:$LD_LIBRARY_PATH
+export DYLD_LIBRARY_PATH=$GST/clutter-gst/clutter-gst/.libs:$DYLD_LIBRARY_PATH
+
 # totem-pl-parser
 export PKG_CONFIG_PATH=$GST/totem-pl-parser:$PKG_CONFIG_PATH
 export LD_LIBRARY_PATH=$GST/totem-pl-parser/plparse/.libs:$LD_LIBRARY_PATH
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 23ff192..e5909fd 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,5 +1,11 @@
 EXTRA_DIST = README
 
+if BUILD_BENCHMARKS
+SUBDIRS_BENCHMARKS = benchmarks
+else
+SUBDIRS_BENCHMARKS =
+endif
+
 if BUILD_TESTS
 ## SUBDIRS_TESTS = tests testsuite
 ## FIXME: write tests from scratch
@@ -21,7 +27,7 @@
 endif
 
 SUBDIRS = \
-	benchmarks	\
+	$(SUBDIRS_BENCHMARKS) \
 	$(SUBDIRS_CHECK) \
 	misc		\
 	$(SUBDIRS_TESTS) \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 48f1506..ed1bbb3 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -206,7 +206,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
@@ -422,6 +424,8 @@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 EXTRA_DIST = README
+@BUILD_BENCHMARKS_FALSE@SUBDIRS_BENCHMARKS = 
+@BUILD_BENCHMARKS_TRUE@SUBDIRS_BENCHMARKS = benchmarks
 @BUILD_TESTS_FALSE@SUBDIRS_TESTS = 
 @BUILD_TESTS_TRUE@SUBDIRS_TESTS = 
 @BUILD_TESTS_FALSE@SUBDIRS_CHECK = 
@@ -430,7 +434,7 @@
 @BUILD_EXAMPLES_FALSE@SUBDIRS_EXAMPLES = 
 @BUILD_EXAMPLES_TRUE@SUBDIRS_EXAMPLES = examples
 SUBDIRS = \
-	benchmarks	\
+	$(SUBDIRS_BENCHMARKS) \
 	$(SUBDIRS_CHECK) \
 	misc		\
 	$(SUBDIRS_TESTS) \
diff --git a/tests/benchmarks/Makefile.in b/tests/benchmarks/Makefile.in
index c4c72ad..b7f3ff1 100644
--- a/tests/benchmarks/Makefile.in
+++ b/tests/benchmarks/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -243,7 +243,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am
index cbee2fa..3124aa1 100644
--- a/tests/check/Makefile.am
+++ b/tests/check/Makefile.am
@@ -94,6 +94,7 @@
 	libs/basesrc				\
 	libs/basesink				\
 	libs/controller				\
+	libs/queuearray				\
 	libs/typefindhelper			\
 	pipelines/seek				\
 	pipelines/stress			\
diff --git a/tests/check/Makefile.in b/tests/check/Makefile.in
index 83d9d13..5b21999 100644
--- a/tests/check/Makefile.in
+++ b/tests/check/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -156,6 +156,7 @@
 @GST_DISABLE_REGISTRY_FALSE@	libs/basesrc$(EXEEXT) \
 @GST_DISABLE_REGISTRY_FALSE@	libs/basesink$(EXEEXT) \
 @GST_DISABLE_REGISTRY_FALSE@	libs/controller$(EXEEXT) \
+@GST_DISABLE_REGISTRY_FALSE@	libs/queuearray$(EXEEXT) \
 @GST_DISABLE_REGISTRY_FALSE@	libs/typefindhelper$(EXEEXT) \
 @GST_DISABLE_REGISTRY_FALSE@	pipelines/seek$(EXEEXT) \
 @GST_DISABLE_REGISTRY_FALSE@	pipelines/stress$(EXEEXT) \
@@ -585,6 +586,12 @@
 libs_gstnettimeprovider_DEPENDENCIES =  \
 	$(top_builddir)/libs/gst/net/libgstnet-@GST_API_VERSION@.la \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+libs_queuearray_SOURCES = libs/queuearray.c
+libs_queuearray_OBJECTS = queuearray.$(OBJEXT)
+libs_queuearray_LDADD = $(LDADD)
+libs_queuearray_DEPENDENCIES = $(top_builddir)/libs/gst/check/libgstcheck-@GST_API_VERSION@.la \
+	$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
+	$(am__DEPENDENCIES_1)
 libs_transform1_SOURCES = libs/transform1.c
 libs_transform1_OBJECTS = transform1.$(OBJEXT)
 libs_transform1_LDADD = $(LDADD)
@@ -704,10 +711,11 @@
 	libs/bytereader.c libs/bytewriter.c libs/collectpads.c \
 	libs/controller.c $(libs_gstlibscpp_SOURCES) \
 	libs/gstnetclientclock.c libs/gstnettimeprovider.c \
-	libs/transform1.c libs/typefindhelper.c pipelines/cleanup.c \
-	pipelines/parse-disabled.c pipelines/parse-launch.c \
-	pipelines/queue-error.c pipelines/seek.c \
-	pipelines/simple-launch-lines.c pipelines/stress.c
+	libs/queuearray.c libs/transform1.c libs/typefindhelper.c \
+	pipelines/cleanup.c pipelines/parse-disabled.c \
+	pipelines/parse-launch.c pipelines/queue-error.c \
+	pipelines/seek.c pipelines/simple-launch-lines.c \
+	pipelines/stress.c
 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 \
@@ -731,10 +739,11 @@
 	libs/bytereader.c libs/bytewriter.c libs/collectpads.c \
 	libs/controller.c $(libs_gstlibscpp_SOURCES) \
 	libs/gstnetclientclock.c libs/gstnettimeprovider.c \
-	libs/transform1.c libs/typefindhelper.c pipelines/cleanup.c \
-	pipelines/parse-disabled.c pipelines/parse-launch.c \
-	pipelines/queue-error.c pipelines/seek.c \
-	pipelines/simple-launch-lines.c pipelines/stress.c
+	libs/queuearray.c libs/transform1.c libs/typefindhelper.c \
+	pipelines/cleanup.c pipelines/parse-disabled.c \
+	pipelines/parse-launch.c pipelines/queue-error.c \
+	pipelines/seek.c pipelines/simple-launch-lines.c \
+	pipelines/stress.c
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -804,7 +813,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
@@ -1080,6 +1091,7 @@
 @GST_DISABLE_REGISTRY_FALSE@	libs/basesrc				\
 @GST_DISABLE_REGISTRY_FALSE@	libs/basesink				\
 @GST_DISABLE_REGISTRY_FALSE@	libs/controller				\
+@GST_DISABLE_REGISTRY_FALSE@	libs/queuearray				\
 @GST_DISABLE_REGISTRY_FALSE@	libs/typefindhelper			\
 @GST_DISABLE_REGISTRY_FALSE@	pipelines/seek				\
 @GST_DISABLE_REGISTRY_FALSE@	pipelines/stress			\
@@ -1447,6 +1459,9 @@
 libs/gstnettimeprovider$(EXEEXT): $(libs_gstnettimeprovider_OBJECTS) $(libs_gstnettimeprovider_DEPENDENCIES) $(EXTRA_libs_gstnettimeprovider_DEPENDENCIES) libs/$(am__dirstamp)
 	@rm -f libs/gstnettimeprovider$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(libs_gstnettimeprovider_OBJECTS) $(libs_gstnettimeprovider_LDADD) $(LIBS)
+libs/queuearray$(EXEEXT): $(libs_queuearray_OBJECTS) $(libs_queuearray_DEPENDENCIES) $(EXTRA_libs_queuearray_DEPENDENCIES) libs/$(am__dirstamp)
+	@rm -f libs/queuearray$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(libs_queuearray_OBJECTS) $(libs_queuearray_LDADD) $(LIBS)
 libs/transform1$(EXEEXT): $(libs_transform1_OBJECTS) $(libs_transform1_DEPENDENCIES) $(EXTRA_libs_transform1_DEPENDENCIES) libs/$(am__dirstamp)
 	@rm -f libs/transform1$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(libs_transform1_OBJECTS) $(libs_transform1_LDADD) $(LIBS)
@@ -1552,6 +1567,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/queue-error.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/queue.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/queue2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/queuearray.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/seek.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/selector.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple-launch-lines.Po@am__quote@
@@ -2522,6 +2538,20 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gstnettimeprovider.obj `if test -f 'libs/gstnettimeprovider.c'; then $(CYGPATH_W) 'libs/gstnettimeprovider.c'; else $(CYGPATH_W) '$(srcdir)/libs/gstnettimeprovider.c'; fi`
 
+queuearray.o: libs/queuearray.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT queuearray.o -MD -MP -MF $(DEPDIR)/queuearray.Tpo -c -o queuearray.o `test -f 'libs/queuearray.c' || echo '$(srcdir)/'`libs/queuearray.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/queuearray.Tpo $(DEPDIR)/queuearray.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='libs/queuearray.c' object='queuearray.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 queuearray.o `test -f 'libs/queuearray.c' || echo '$(srcdir)/'`libs/queuearray.c
+
+queuearray.obj: libs/queuearray.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT queuearray.obj -MD -MP -MF $(DEPDIR)/queuearray.Tpo -c -o queuearray.obj `if test -f 'libs/queuearray.c'; then $(CYGPATH_W) 'libs/queuearray.c'; else $(CYGPATH_W) '$(srcdir)/libs/queuearray.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/queuearray.Tpo $(DEPDIR)/queuearray.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='libs/queuearray.c' object='queuearray.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 queuearray.obj `if test -f 'libs/queuearray.c'; then $(CYGPATH_W) 'libs/queuearray.c'; else $(CYGPATH_W) '$(srcdir)/libs/queuearray.c'; fi`
+
 transform1.o: libs/transform1.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT transform1.o -MD -MP -MF $(DEPDIR)/transform1.Tpo -c -o transform1.o `test -f 'libs/transform1.c' || echo '$(srcdir)/'`libs/transform1.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/transform1.Tpo $(DEPDIR)/transform1.Po
diff --git a/tests/check/elements/fakesrc.c b/tests/check/elements/fakesrc.c
index 2988676..decc3af 100644
--- a/tests/check/elements/fakesrc.c
+++ b/tests/check/elements/fakesrc.c
@@ -234,6 +234,87 @@
 
 GST_END_TEST;
 
+static void
+handoff_cb (GstElement * element, GstBuffer * buf, GstPad * pad,
+    gint * p_counter)
+{
+  *p_counter += 1;
+  GST_LOG ("counter = %d", *p_counter);
+}
+
+GST_START_TEST (test_reuse_push)
+{
+  GstElement *src, *sep, *sink, *pipeline;
+  GstBus *bus;
+  gint counter, repeat = 3, num_buffers = 10;
+
+  pipeline = gst_pipeline_new ("pipeline");
+  fail_unless (pipeline != NULL, "Failed to create pipeline!");
+
+  bus = gst_element_get_bus (pipeline);
+
+  src = gst_element_factory_make ("fakesrc", "fakesrc");
+  fail_unless (src != NULL, "Failed to create 'fakesrc' element!");
+
+  sep = gst_element_factory_make ("queue", "queue");
+  fail_unless (sep != NULL, "Failed to create 'queue' element");
+
+  sink = gst_element_factory_make ("fakesink", "fakesink");
+  fail_unless (sink != NULL, "Failed to create 'fakesink' element!");
+
+  g_object_set (sink, "signal-handoffs", TRUE, NULL);
+  g_signal_connect (sink, "handoff", G_CALLBACK (handoff_cb), &counter);
+
+  gst_bin_add_many (GST_BIN (pipeline), src, sep, sink, NULL);
+
+  fail_unless (gst_element_link (src, sep));
+  fail_unless (gst_element_link (sep, sink));
+
+  g_object_set (src, "num-buffers", num_buffers, NULL);
+
+  do {
+    GstStateChangeReturn state_ret;
+    GstMessage *msg;
+
+    GST_INFO ("====================== round %d ======================", repeat);
+
+    counter = 0;
+
+    state_ret = gst_element_set_state (pipeline, GST_STATE_PAUSED);
+    fail_unless (state_ret != GST_STATE_CHANGE_FAILURE);
+
+    if (state_ret == GST_STATE_CHANGE_ASYNC) {
+      GST_LOG ("waiting for pipeline to reach PAUSED state");
+      state_ret = gst_element_get_state (pipeline, NULL, NULL, -1);
+      fail_unless_equals_int (state_ret, GST_STATE_CHANGE_SUCCESS);
+    }
+
+    GST_LOG ("PAUSED, let's read all of it");
+
+    state_ret = gst_element_set_state (pipeline, GST_STATE_PLAYING);
+    fail_unless (state_ret != GST_STATE_CHANGE_FAILURE);
+
+    msg = gst_bus_poll (bus, GST_MESSAGE_EOS, -1);
+    fail_unless (msg != NULL, "Expected EOS message on bus!");
+
+    gst_message_unref (msg);
+
+    if (num_buffers >= 0) {
+      fail_unless_equals_int (counter, num_buffers);
+    }
+
+    fail_unless_equals_int (gst_element_set_state (pipeline, GST_STATE_NULL),
+        GST_STATE_CHANGE_SUCCESS);
+
+    --repeat;
+  } while (repeat > 0);
+
+  gst_object_unref (bus);
+  gst_object_unref (pipeline);
+}
+
+GST_END_TEST;
+
 static Suite *
 fakesrc_suite (void)
 {
@@ -246,6 +327,7 @@
   tcase_add_test (tc_chain, test_sizetype_fixed);
   tcase_add_test (tc_chain, test_sizetype_random);
   tcase_add_test (tc_chain, test_no_preroll);
+  tcase_add_test (tc_chain, test_reuse_push);
 
   return s;
 }
diff --git a/tests/check/elements/queue.c b/tests/check/elements/queue.c
index 59f4981..16ea8ec 100644
--- a/tests/check/elements/queue.c
+++ b/tests/check/elements/queue.c
@@ -246,7 +246,7 @@
   UNDERRUN_WAIT ();
   UNDERRUN_UNLOCK ();
 
-  gst_pad_push_event (mysrcpad, gst_event_new_stream_start ());
+  gst_pad_push_event (mysrcpad, gst_event_new_stream_start ("test"));
 
   fail_unless (underrun_count == 1);
   fail_unless (overrun_count == 0);
@@ -338,7 +338,7 @@
   UNDERRUN_WAIT ();
   UNDERRUN_UNLOCK ();
 
-  gst_pad_push_event (mysrcpad, gst_event_new_stream_start ());
+  gst_pad_push_event (mysrcpad, gst_event_new_stream_start ("test"));
 
   fail_unless (overrun_count == 0);
   fail_unless (underrun_count == 1);
@@ -424,7 +424,7 @@
   UNDERRUN_WAIT ();
   UNDERRUN_UNLOCK ();
 
-  gst_pad_push_event (mysrcpad, gst_event_new_stream_start ());
+  gst_pad_push_event (mysrcpad, gst_event_new_stream_start ("test"));
 
   fail_unless (overrun_count == 0);
   fail_unless (underrun_count == 1);
@@ -507,7 +507,7 @@
   UNDERRUN_WAIT ();
   UNDERRUN_UNLOCK ();
 
-  gst_pad_push_event (mysrcpad, gst_event_new_stream_start ());
+  gst_pad_push_event (mysrcpad, gst_event_new_stream_start ("test"));
 
   /* push buffer without duration */
   buffer = gst_buffer_new_and_alloc (4);
@@ -606,7 +606,7 @@
   UNDERRUN_WAIT ();
   UNDERRUN_UNLOCK ();
 
-  gst_pad_push_event (mysrcpad, gst_event_new_stream_start ());
+  gst_pad_push_event (mysrcpad, gst_event_new_stream_start ("test"));
 
   gst_segment_init (&segment, GST_FORMAT_TIME);
   segment.start = 1 * GST_SECOND;
diff --git a/tests/check/generic/sinks.c b/tests/check/generic/sinks.c
index 84aafac..335225e 100644
--- a/tests/check/generic/sinks.c
+++ b/tests/check/generic/sinks.c
@@ -1074,7 +1074,8 @@
   /* set bus on element synchronously listen for ASYNC_DONE */
   bus = gst_bus_new ();
   gst_element_set_bus (sink, bus);
-  gst_bus_set_sync_handler (bus, (GstBusSyncHandler) async_done_func, sink);
+  gst_bus_set_sync_handler (bus, (GstBusSyncHandler) async_done_func, sink,
+      NULL);
 
   /* make newsegment, this sets the position to 10sec when the buffer prerolls */
   GST_DEBUG ("sending segment");
@@ -1183,7 +1184,8 @@
   /* set bus on element synchronously listen for ASYNC_DONE */
   bus = gst_bus_new ();
   gst_element_set_bus (sink, bus);
-  gst_bus_set_sync_handler (bus, (GstBusSyncHandler) async_done_eos_func, sink);
+  gst_bus_set_sync_handler (bus, (GstBusSyncHandler) async_done_eos_func, sink,
+      NULL);
 
   /* make newsegment, this sets the position to 10sec when the buffer prerolls */
   GST_DEBUG ("sending segment");
diff --git a/tests/check/gst/gstbin.c b/tests/check/gst/gstbin.c
index 7535945..67aec7e 100644
--- a/tests/check/gst/gstbin.c
+++ b/tests/check/gst/gstbin.c
@@ -21,6 +21,7 @@
  */
 
 #include <gst/check/gstcheck.h>
+#include <gst/base/gstbasesrc.h>
 
 static void
 pop_async_done (GstBus * bus)
@@ -56,6 +57,29 @@
   GST_DEBUG ("popped %d messages", count);
 }
 
+static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS_ANY);
+
+static gpointer
+push_one_eos (GstPad * pad)
+{
+  GST_DEBUG_OBJECT (pad, "Pushing EOS event");
+  gst_pad_push_event (pad, gst_event_new_eos ());
+
+  return NULL;
+}
+
+static gpointer
+push_one_stream_start (GstPad * pad)
+{
+  GST_DEBUG_OBJECT (pad, "Pushing STREAM_START event");
+  gst_pad_push_event (pad, gst_event_new_stream_start ("test"));
+
+  return NULL;
+}
+
 GST_START_TEST (test_interface)
 {
   GstBin *bin, *bin2;
@@ -126,6 +150,120 @@
 
 GST_END_TEST;
 
+GST_START_TEST (test_eos)
+{
+  GstBus *bus;
+  GstElement *pipeline, *sink1, *sink2;
+  GstMessage *message;
+  GstPad *pad1, *pad2;
+  GThread *thread1, *thread2;
+
+  pipeline = gst_pipeline_new ("test_eos");
+  bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
+
+  sink1 = gst_element_factory_make ("fakesink", "sink1");
+  sink2 = gst_element_factory_make ("fakesink", "sink2");
+
+  gst_bin_add_many (GST_BIN (pipeline), sink1, sink2, NULL);
+
+  pad1 = gst_check_setup_src_pad_by_name (sink1, &srctemplate, "sink");
+  pad2 = gst_check_setup_src_pad_by_name (sink2, &srctemplate, "sink");
+
+  gst_pad_set_active (pad1, TRUE);
+  gst_pad_set_active (pad2, TRUE);
+
+  fail_if (gst_element_set_state (GST_ELEMENT (pipeline),
+          GST_STATE_PLAYING) == GST_STATE_CHANGE_FAILURE);
+
+  /* Send one EOS to sink1 */
+  thread1 = g_thread_new ("thread1", (GThreadFunc) push_one_eos, pad1);
+
+  /* Make sure the EOS message is not sent */
+  message =
+      gst_bus_poll (bus, GST_MESSAGE_ERROR | GST_MESSAGE_EOS, 2 * GST_SECOND);
+  fail_if (message != NULL);
+
+  /* Send one EOS to sink2 */
+  thread2 = g_thread_new ("thread2", (GThreadFunc) push_one_eos, pad2);
+
+  /* Make sure the EOS message is sent then */
+  message = gst_bus_poll (bus, GST_MESSAGE_ERROR | GST_MESSAGE_EOS, -1);
+  fail_if (message == NULL);
+  fail_unless (GST_MESSAGE_TYPE (message) == GST_MESSAGE_EOS);
+  gst_message_unref (message);
+
+  /* Cleanup */
+  g_thread_join (thread1);
+  g_thread_join (thread2);
+
+  gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_NULL);
+  gst_pad_set_active (pad1, FALSE);
+  gst_pad_set_active (pad2, FALSE);
+  gst_check_teardown_src_pad (sink1);
+  gst_check_teardown_src_pad (sink2);
+  gst_object_unref (pipeline);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_stream_start)
+{
+  GstBus *bus;
+  GstElement *pipeline, *sink1, *sink2;
+  GstMessage *message;
+  GstPad *pad1, *pad2;
+  GThread *thread1, *thread2;
+
+  pipeline = gst_pipeline_new ("test_stream_start");
+  bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
+
+  sink1 = gst_element_factory_make ("fakesink", "sink1");
+  sink2 = gst_element_factory_make ("fakesink", "sink2");
+
+  gst_bin_add_many (GST_BIN (pipeline), sink1, sink2, NULL);
+
+  pad1 = gst_check_setup_src_pad_by_name (sink1, &srctemplate, "sink");
+  pad2 = gst_check_setup_src_pad_by_name (sink2, &srctemplate, "sink");
+
+  gst_pad_set_active (pad1, TRUE);
+  gst_pad_set_active (pad2, TRUE);
+
+  fail_if (gst_element_set_state (GST_ELEMENT (pipeline),
+          GST_STATE_PLAYING) == GST_STATE_CHANGE_FAILURE);
+
+  /* Send one STREAM_START to sink1 */
+  thread1 = g_thread_new ("thread1", (GThreadFunc) push_one_stream_start, pad1);
+
+  /* Make sure the STREAM_START message is not sent */
+  message =
+      gst_bus_poll (bus, GST_MESSAGE_ERROR | GST_MESSAGE_STREAM_START,
+      2 * GST_SECOND);
+  fail_if (message != NULL);
+
+  /* Send one STREAM_START to sink2 */
+  thread2 = g_thread_new ("thread2", (GThreadFunc) push_one_stream_start, pad2);
+
+  /* Make sure the STREAM_START message is sent then */
+  message =
+      gst_bus_poll (bus, GST_MESSAGE_ERROR | GST_MESSAGE_STREAM_START, -1);
+  fail_if (message == NULL);
+  fail_unless (GST_MESSAGE_TYPE (message) == GST_MESSAGE_STREAM_START);
+  gst_message_unref (message);
+
+  /* Cleanup */
+  g_thread_join (thread1);
+  g_thread_join (thread2);
+
+  gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_NULL);
+  gst_pad_set_active (pad1, FALSE);
+  gst_pad_set_active (pad2, FALSE);
+  gst_check_teardown_src_pad (sink1);
+  gst_check_teardown_src_pad (sink2);
+  gst_object_unref (pipeline);
+}
+
+GST_END_TEST;
+
 GST_START_TEST (test_message_state_changed)
 {
   GstBin *bin;
@@ -281,7 +419,12 @@
   ASSERT_OBJECT_REFCOUNT (sink, "sink", 1);
   ASSERT_OBJECT_REFCOUNT (pipeline, "pipeline", 1);
 
-  /* change state to PAUSED, spawning three messages */
+  /* change state to PAUSED, spawning four messages */
+  /* STATE_CHANGED (NULL => READY)
+   * STREAM_START
+   * ASYNC_DONE
+   * STATE_CHANGED (READY => PAUSED)
+   */
   GST_DEBUG ("setting pipeline to PAUSED");
   ret = gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_PAUSED);
   fail_unless (ret == GST_STATE_CHANGE_ASYNC);
@@ -294,9 +437,9 @@
 
   /* wait for async thread to settle down */
   GST_DEBUG ("waiting for refcount");
-  while (GST_OBJECT_REFCOUNT_VALUE (pipeline) > 3)
+  while (GST_OBJECT_REFCOUNT_VALUE (pipeline) > 4)
     THREAD_SWITCH ();
-  GST_DEBUG ("refcount <= 3 now");
+  GST_DEBUG ("refcount <= 4 now");
 
   /* each object is referenced by a message;
    * base_src is blocked in the push and has an extra refcount.
@@ -307,9 +450,9 @@
   /* refcount can be 4 if the bin is still processing the async_done message of
    * the sink. */
   ASSERT_OBJECT_REFCOUNT_BETWEEN (sink, "sink", 2, 3);
-  /* 2 or 3 is valid, because the pipeline might still be posting 
+  /* 3 or 4 is valid, because the pipeline might still be posting 
    * its state_change message */
-  ASSERT_OBJECT_REFCOUNT_BETWEEN (pipeline, "pipeline", 2, 3);
+  ASSERT_OBJECT_REFCOUNT_BETWEEN (pipeline, "pipeline", 3, 4);
 
   pop_messages (bus, 3);
   pop_async_done (bus);
@@ -989,7 +1132,7 @@
 
   /* use the sync signal handler to link elements while the pipeline is still
    * doing the state change */
-  gst_bus_set_sync_handler (bus, gst_bus_sync_signal_handler, pipeline);
+  gst_bus_set_sync_handler (bus, gst_bus_sync_signal_handler, pipeline, NULL);
   g_object_connect (bus, "signal::sync-message::state-changed",
       G_CALLBACK (test_link_structure_change_state_changed_sync_cb), pipeline,
       NULL);
@@ -1061,7 +1204,7 @@
   bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
   fail_unless (bus != NULL, "Could not get bus");
 
-  gst_bus_set_sync_handler (bus, sync_handler_remove_sink, pipeline);
+  gst_bus_set_sync_handler (bus, sync_handler_remove_sink, pipeline, NULL);
 
   ret = gst_element_set_state (pipeline, GST_STATE_READY);
   fail_unless (ret == GST_STATE_CHANGE_SUCCESS,
@@ -1265,10 +1408,127 @@
   fail_unless (ret == GST_STATE_CHANGE_SUCCESS, "downward state change failed");
 
   gst_object_unref (pipeline);
+  gst_object_unref (bus);
 }
 
 GST_END_TEST;
 
+GST_START_TEST (test_duration_is_max)
+{
+  GstElement *bin, *src[3], *sink[3];
+  GstStateChangeReturn state_res;
+  GstFormat format = GST_FORMAT_BYTES;
+  gboolean res;
+  gint64 duration;
+
+  GST_INFO ("preparing test");
+
+  /* build pipeline */
+  bin = gst_pipeline_new ("pipeline");
+
+  /* 3 sources, an adder and a fakesink */
+  src[0] = gst_element_factory_make ("fakesrc", NULL);
+  src[1] = gst_element_factory_make ("fakesrc", NULL);
+  src[2] = gst_element_factory_make ("fakesrc", NULL);
+  sink[0] = gst_element_factory_make ("fakesink", NULL);
+  sink[1] = gst_element_factory_make ("fakesink", NULL);
+  sink[2] = gst_element_factory_make ("fakesink", NULL);
+  gst_bin_add_many (GST_BIN (bin), src[0], src[1], src[2], sink[0], sink[1],
+      sink[2], NULL);
+
+  gst_element_link (src[0], sink[0]);
+  gst_element_link (src[1], sink[1]);
+  gst_element_link (src[2], sink[2]);
+
+  /* irks, duration is reset on basesrc */
+  state_res = gst_element_set_state (bin, GST_STATE_PAUSED);
+  fail_unless (state_res != GST_STATE_CHANGE_FAILURE, NULL);
+
+  /* set durations on src */
+  GST_BASE_SRC (src[0])->segment.duration = 1000;
+  GST_BASE_SRC (src[1])->segment.duration = 3000;
+  GST_BASE_SRC (src[2])->segment.duration = 2000;
+
+  /* set to playing */
+  state_res = gst_element_set_state (bin, GST_STATE_PLAYING);
+  fail_unless (state_res != GST_STATE_CHANGE_FAILURE, NULL);
+
+  /* wait for completion */
+  state_res =
+      gst_element_get_state (GST_ELEMENT (bin), NULL, NULL,
+      GST_CLOCK_TIME_NONE);
+  fail_unless (state_res != GST_STATE_CHANGE_FAILURE, NULL);
+
+  res = gst_element_query_duration (GST_ELEMENT (bin), format, &duration);
+  fail_unless (res, NULL);
+
+  ck_assert_int_eq (duration, 3000);
+
+  gst_element_set_state (bin, GST_STATE_NULL);
+  gst_object_unref (bin);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_duration_unknown_overrides)
+{
+  GstElement *bin, *src[3], *sink[3];
+  GstStateChangeReturn state_res;
+  GstFormat format = GST_FORMAT_BYTES;
+  gboolean res;
+  gint64 duration;
+
+  GST_INFO ("preparing test");
+
+  /* build pipeline */
+  bin = gst_pipeline_new ("pipeline");
+
+  /* 3 sources, an adder and a fakesink */
+  src[0] = gst_element_factory_make ("fakesrc", NULL);
+  src[1] = gst_element_factory_make ("fakesrc", NULL);
+  src[2] = gst_element_factory_make ("fakesrc", NULL);
+  sink[0] = gst_element_factory_make ("fakesink", NULL);
+  sink[1] = gst_element_factory_make ("fakesink", NULL);
+  sink[2] = gst_element_factory_make ("fakesink", NULL);
+  gst_bin_add_many (GST_BIN (bin), src[0], src[1], src[2], sink[0], sink[1],
+      sink[2], NULL);
+
+  gst_element_link (src[0], sink[0]);
+  gst_element_link (src[1], sink[1]);
+  gst_element_link (src[2], sink[2]);
+
+  /* irks, duration is reset on basesrc */
+  state_res = gst_element_set_state (bin, GST_STATE_PAUSED);
+  fail_unless (state_res != GST_STATE_CHANGE_FAILURE, NULL);
+
+  /* set durations on src */
+  GST_BASE_SRC (src[0])->segment.duration = GST_CLOCK_TIME_NONE;
+  GST_BASE_SRC (src[1])->segment.duration = 3000;
+  GST_BASE_SRC (src[2])->segment.duration = 2000;
+
+  /* set to playing */
+  state_res = gst_element_set_state (bin, GST_STATE_PLAYING);
+  fail_unless (state_res != GST_STATE_CHANGE_FAILURE, NULL);
+
+  /* wait for completion */
+  state_res =
+      gst_element_get_state (GST_ELEMENT (bin), NULL, NULL,
+      GST_CLOCK_TIME_NONE);
+  fail_unless (state_res != GST_STATE_CHANGE_FAILURE, NULL);
+
+  res = gst_element_query_duration (GST_ELEMENT (bin), format, &duration);
+  fail_unless (res, NULL);
+
+  ck_assert_int_eq (duration, GST_CLOCK_TIME_NONE);
+
+  gst_element_set_state (bin, GST_STATE_NULL);
+  gst_object_unref (bin);
+}
+
+GST_END_TEST;
+
+
+
 static Suite *
 gst_bin_suite (void)
 {
@@ -1279,6 +1539,8 @@
 
   suite_add_tcase (s, tc_chain);
   tcase_add_test (tc_chain, test_interface);
+  tcase_add_test (tc_chain, test_eos);
+  tcase_add_test (tc_chain, test_stream_start);
   tcase_add_test (tc_chain, test_children_state_change_order_flagged_sink);
   tcase_add_test (tc_chain, test_children_state_change_order_semi_sink);
   tcase_add_test (tc_chain, test_children_state_change_order_two_sink);
@@ -1294,6 +1556,8 @@
   tcase_add_test (tc_chain, test_state_failure_remove);
   tcase_add_test (tc_chain, test_state_failure_unref);
   tcase_add_test (tc_chain, test_state_change_skip);
+  tcase_add_test (tc_chain, test_duration_is_max);
+  tcase_add_test (tc_chain, test_duration_unknown_overrides);
 
   /* fails on OSX build bot for some reason, and is a bit silly anyway */
   if (0)
diff --git a/tests/check/gst/gstbuffer.c b/tests/check/gst/gstbuffer.c
index 1344e13..b2ebdd1 100644
--- a/tests/check/gst/gstbuffer.c
+++ b/tests/check/gst/gstbuffer.c
@@ -335,6 +335,48 @@
 
   gst_buffer_unref (copy);
   gst_buffer_unref (buffer);
+
+  /* check if copy is an independent copy when written to */
+  buffer = gst_buffer_new_and_alloc (4);
+  gst_buffer_memset (buffer, 0, 0, 4);
+  copy = gst_buffer_copy (buffer);
+  fail_unless (gst_buffer_is_writable (copy));
+  gst_buffer_memset (copy, 0, 0x80, 4);
+  gst_buffer_map (buffer, &info, GST_MAP_READ);
+  fail_if (gst_buffer_memcmp (copy, 0, info.data, info.size) == 0);
+  gst_buffer_unmap (buffer, &info);
+
+  gst_buffer_unref (copy);
+  gst_buffer_unref (buffer);
+
+  /* copy should still be independent if copied when mapped */
+  buffer = gst_buffer_new_and_alloc (4);
+  gst_buffer_memset (buffer, 0, 0, 4);
+  gst_buffer_map (buffer, &info, GST_MAP_WRITE);
+  copy = gst_buffer_copy (buffer);
+  fail_unless (gst_buffer_is_writable (copy));
+  gst_buffer_memset (copy, 0, 0x80, 4);
+  gst_buffer_unmap (buffer, &info);
+  gst_buffer_map (buffer, &info, GST_MAP_READ);
+  fail_if (gst_buffer_memcmp (copy, 0, info.data, info.size) == 0);
+  gst_buffer_unmap (buffer, &info);
+
+  gst_buffer_unref (copy);
+  gst_buffer_unref (buffer);
+
+  /* check if a writable clone of a buffer is independent when written to */
+  buffer = gst_buffer_new_and_alloc (4);
+  gst_buffer_memset (buffer, 0, 0, 4);
+  copy = gst_buffer_ref (buffer);
+  copy = gst_buffer_make_writable (copy);
+  fail_unless (gst_buffer_is_writable (copy));
+  gst_buffer_memset (copy, 0, 0x80, 4);
+  gst_buffer_map (buffer, &info, GST_MAP_READ);
+  fail_if (gst_buffer_memcmp (copy, 0, info.data, info.size) == 0);
+  gst_buffer_unmap (buffer, &info);
+
+  gst_buffer_unref (copy);
+  gst_buffer_unref (buffer);
 }
 
 GST_END_TEST;
@@ -561,7 +603,7 @@
 GST_START_TEST (test_map)
 {
   GstBuffer *buf;
-  GstMapInfo map;
+  GstMapInfo map, map2;
   gsize maxalloc;
   gsize size, offset;
 
@@ -598,6 +640,20 @@
   gst_buffer_map (buf, &map, GST_MAP_WRITE);
   gst_buffer_unmap (buf, &map);
 
+  /* mapping same kind should be ok using same memory */
+  gst_buffer_map (buf, &map, GST_MAP_WRITE);
+  fail_unless (gst_buffer_map (buf, &map2, GST_MAP_WRITE));
+  fail_unless (map.memory == map2.memory);
+  gst_buffer_unmap (buf, &map2);
+  gst_buffer_unmap (buf, &map);
+
+  /* ... but different kind should give temporary memory */
+  gst_buffer_map (buf, &map, GST_MAP_WRITE);
+  fail_unless (gst_buffer_map (buf, &map2, GST_MAP_READ));
+  fail_if (map.memory == map2.memory);
+  gst_buffer_unmap (buf, &map2);
+  gst_buffer_unmap (buf, &map);
+
   gst_buffer_unref (buf);
 }
 
diff --git a/tests/check/gst/gstchildproxy.c b/tests/check/gst/gstchildproxy.c
index 68b357d..b9bb665 100644
--- a/tests/check/gst/gstchildproxy.c
+++ b/tests/check/gst/gstchildproxy.c
@@ -29,7 +29,7 @@
   pipeline = gst_pipeline_new ("foo");
   fail_unless (pipeline != NULL, "Could not create pipeline");
 
-  gst_child_proxy_get (G_OBJECT (pipeline), "name", &name, NULL);
+  gst_child_proxy_get (GST_CHILD_PROXY (pipeline), "name", &name, NULL);
   fail_if (g_strcmp0 ("foo", name));
   g_free (name);
 
@@ -51,7 +51,7 @@
 
   gst_bin_add (GST_BIN (pipeline), elem);
 
-  gst_child_proxy_get (G_OBJECT (pipeline), "src::name", &name, NULL);
+  gst_child_proxy_get (GST_CHILD_PROXY (pipeline), "src::name", &name, NULL);
   fail_if (g_strcmp0 ("src", name));
   g_free (name);
 
diff --git a/tests/check/gst/gstclock.c b/tests/check/gst/gstclock.c
index a8f374d..fba8b02 100644
--- a/tests/check/gst/gstclock.c
+++ b/tests/check/gst/gstclock.c
@@ -19,11 +19,27 @@
 
 #include <gst/check/gstcheck.h>
 
-static void
-weak_notify (gpointer data, GObject * object)
+typedef struct
 {
-  *(gboolean *) data = FALSE;
-}
+  GstClock parent;
+} GstTestClock;
+
+typedef struct
+{
+  GstClockClass parent_class;
+} GstTestClockClass;
+
+#define GST_TYPE_TEST_CLOCK                   (gst_test_clock_get_type ())
+#define GST_TEST_CLOCK(obj)                   (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_TEST_CLOCK, GstTestClock))
+#define GST_TEST_CLOCK_CAST(obj)              ((GstTestClock *)(obj))
+#define GST_IS_TEST_CLOCK(obj)                (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_TEST_CLOCK))
+#define GST_TEST_CLOCK_CLASS(klass)           (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_TEST_CLOCK, GstTestClockClass))
+#define GST_IS_TEST_CLOCK_CLASS(klass)        (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_TEST_CLOCK))
+#define GST_TEST_CLOCK_GET_CLASS(obj)         (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_TEST_CLOCK, GstTestClockClass))
+
+
+GType gst_test_clock_get_type (void);
+G_DEFINE_TYPE (GstTestClock, gst_test_clock, GST_TYPE_CLOCK);
 
 static GstClockReturn
 fake_wait_async (GstClock * clock, GstClockEntry * entry)
@@ -31,21 +47,38 @@
   return GST_CLOCK_OK;
 }
 
+static void
+gst_test_clock_class_init (GstTestClockClass * klass)
+{
+  GstClockClass *clock_class;
+
+  clock_class = GST_CLOCK_CLASS (klass);
+
+  clock_class->wait_async = fake_wait_async;
+}
+
+static void
+gst_test_clock_init (GstTestClock * clock)
+{
+}
+
+
+static void
+weak_notify (gpointer data, GObject * object)
+{
+  *(gboolean *) data = FALSE;
+}
+
 GST_START_TEST (test_set_master_refcount)
 {
   GstClock *master, *slave;
-  GstClockClass *klass;
   gboolean master_alive = TRUE;
 
   /* create master and slave */
-  master = g_object_new (GST_TYPE_CLOCK, "name", "TestClockMaster", NULL);
-  slave = g_object_new (GST_TYPE_CLOCK, "name", "TestClockMaster", NULL);
+  master = g_object_new (GST_TYPE_TEST_CLOCK, "name", "TestClockMaster", NULL);
+  slave = g_object_new (GST_TYPE_TEST_CLOCK, "name", "TestClockMaster", NULL);
   GST_OBJECT_FLAG_SET (slave, GST_CLOCK_FLAG_CAN_SET_MASTER);
 
-  /* look ma! i'm doing monkey patching in C */
-  klass = GST_CLOCK_GET_CLASS (master);
-  klass->wait_async = fake_wait_async;
-
   fail_unless_equals_int (GST_OBJECT_REFCOUNT (master), 1);
   fail_unless_equals_int (GST_OBJECT_REFCOUNT (slave), 1);
 
@@ -72,8 +105,6 @@
   fail_unless_equals_int (GST_OBJECT_REFCOUNT (slave), 1);
 
   gst_object_unref (slave);
-
-  klass->wait_async = NULL;
 }
 
 GST_END_TEST;
diff --git a/tests/check/gst/gstdatetime.c b/tests/check/gst/gstdatetime.c
index 10f1c60..c770a2c 100644
--- a/tests/check/gst/gstdatetime.c
+++ b/tests/check/gst/gstdatetime.c
@@ -20,6 +20,10 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 #include <string.h>
 #include <time.h>
 #include <gst/check/gstcheck.h>
@@ -262,8 +266,6 @@
 
 GST_START_TEST (test_GstDateTime_get_utc_offset)
 {
-  GstDateTime *dt;
-  gfloat ts;
   struct tm tm;
   time_t t;
 
@@ -275,9 +277,407 @@
   memcpy (&tm, localtime (&t), sizeof (struct tm));
 #endif
 
-  dt = gst_date_time_new_now_local_time ();
-  ts = gst_date_time_get_time_zone_offset (dt);
-  assert_equals_int (ts, tm.tm_gmtoff / 3600.0);
+#ifdef HAVE_TM_GMTOFF
+  {
+    GstDateTime *dt;
+    gfloat ts;
+
+    dt = gst_date_time_new_now_local_time ();
+    ts = gst_date_time_get_time_zone_offset (dt);
+    assert_equals_int (ts, tm.tm_gmtoff / 3600.0);
+    gst_date_time_unref (dt);
+  }
+#endif
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_GstDateTime_partial_fields)
+{
+  GstDateTime *dt;
+
+  ASSERT_CRITICAL (gst_date_time_new (0.0, -1, -1, -1, -1, -1, -1));
+  ASSERT_CRITICAL (gst_date_time_new (0.0, 2012, 7, 18, 9, -1, -1));
+
+  dt = gst_date_time_new (0.0, 2012, -1, -1, -1, -1, -1);
+  fail_unless (gst_date_time_has_year (dt));
+  fail_unless_equals_int (gst_date_time_get_year (dt), 2012);
+  fail_if (gst_date_time_has_month (dt));
+  ASSERT_CRITICAL (gst_date_time_get_month (dt));
+  fail_if (gst_date_time_has_day (dt));
+  ASSERT_CRITICAL (gst_date_time_get_day (dt));
+  fail_if (gst_date_time_has_time (dt));
+  ASSERT_CRITICAL (gst_date_time_get_hour (dt));
+  ASSERT_CRITICAL (gst_date_time_get_minute (dt));
+  fail_if (gst_date_time_has_second (dt));
+  ASSERT_CRITICAL (gst_date_time_get_second (dt));
+  gst_date_time_unref (dt);
+
+  dt = gst_date_time_new (0.0, 2012, 7, -1, -1, -1, -1);
+  fail_unless (gst_date_time_has_year (dt));
+  fail_unless_equals_int (gst_date_time_get_year (dt), 2012);
+  fail_unless (gst_date_time_has_month (dt));
+  fail_unless_equals_int (gst_date_time_get_month (dt), 7);
+  fail_if (gst_date_time_has_day (dt));
+  ASSERT_CRITICAL (gst_date_time_get_day (dt));
+  fail_if (gst_date_time_has_time (dt));
+  ASSERT_CRITICAL (gst_date_time_get_hour (dt));
+  ASSERT_CRITICAL (gst_date_time_get_minute (dt));
+  fail_if (gst_date_time_has_second (dt));
+  ASSERT_CRITICAL (gst_date_time_get_second (dt));
+  gst_date_time_unref (dt);
+
+  dt = gst_date_time_new (0.0, 2012, 7, 1, -1, -1, -1);
+  fail_unless (gst_date_time_has_year (dt));
+  fail_unless (gst_date_time_has_month (dt));
+  fail_unless_equals_int (gst_date_time_get_month (dt), 7);
+  fail_unless (gst_date_time_has_day (dt));
+  fail_unless_equals_int (gst_date_time_get_day (dt), 1);
+  fail_if (gst_date_time_has_time (dt));
+  fail_if (gst_date_time_has_second (dt));
+  gst_date_time_unref (dt);
+
+  dt = gst_date_time_new (0.0, 2012, 7, 1, 18, 20, -1);
+  fail_unless (gst_date_time_has_year (dt));
+  fail_unless_equals_int (gst_date_time_get_year (dt), 2012);
+  fail_unless (gst_date_time_has_month (dt));
+  fail_unless_equals_int (gst_date_time_get_month (dt), 7);
+  fail_unless (gst_date_time_has_day (dt));
+  fail_unless_equals_int (gst_date_time_get_day (dt), 1);
+  fail_unless (gst_date_time_has_time (dt));
+  fail_unless_equals_int (gst_date_time_get_hour (dt), 18);
+  fail_unless_equals_int (gst_date_time_get_minute (dt), 20);
+  fail_if (gst_date_time_has_second (dt));
+  gst_date_time_unref (dt);
+
+  dt = gst_date_time_new (0.0, 2012, 7, 1, 18, 20, 25.0443);
+  fail_unless (gst_date_time_has_year (dt));
+  fail_unless (gst_date_time_has_month (dt));
+  fail_unless (gst_date_time_has_day (dt));
+  fail_unless (gst_date_time_has_time (dt));
+  fail_unless (gst_date_time_has_second (dt));
+  fail_unless_equals_int (gst_date_time_get_second (dt), 25);
+  /* fail_unless_equals_int (gst_date_time_get_microsecond (dt), 443); */
+  gst_date_time_unref (dt);
+}
+
+GST_END_TEST;
+
+static gboolean
+date_times_are_equal (GstDateTime * d1, GstDateTime * d2)
+{
+  GValue val1 = G_VALUE_INIT;
+  GValue val2 = G_VALUE_INIT;
+  int ret;
+
+  g_value_init (&val1, GST_TYPE_DATE_TIME);
+  g_value_set_boxed (&val1, d1);
+  g_value_init (&val2, GST_TYPE_DATE_TIME);
+  g_value_set_boxed (&val2, d2);
+  ret = gst_value_compare (&val1, &val2);
+  g_value_unset (&val2);
+  g_value_unset (&val1);
+
+  return ret == GST_VALUE_EQUAL;
+}
+
+GST_START_TEST (test_GstDateTime_iso8601)
+{
+  GstDateTime *dt, *dt2;
+  gchar *str, *str2;
+
+  dt = gst_date_time_new_now_utc ();
+  fail_unless (gst_date_time_has_year (dt));
+  fail_unless (gst_date_time_has_month (dt));
+  fail_unless (gst_date_time_has_day (dt));
+  fail_unless (gst_date_time_has_time (dt));
+  fail_unless (gst_date_time_has_second (dt));
+  str = gst_date_time_to_iso8601_string (dt);
+  fail_unless (str != NULL);
+  fail_unless_equals_int (strlen (str), strlen ("2012-06-26T22:46:43Z"));
+  fail_unless (g_str_has_suffix (str, "Z"));
+  dt2 = gst_date_time_new_from_iso8601_string (str);
+  fail_unless (gst_date_time_get_year (dt) == gst_date_time_get_year (dt2));
+  fail_unless (gst_date_time_get_month (dt) == gst_date_time_get_month (dt2));
+  fail_unless (gst_date_time_get_day (dt) == gst_date_time_get_day (dt2));
+  fail_unless (gst_date_time_get_hour (dt) == gst_date_time_get_hour (dt2));
+  fail_unless (gst_date_time_get_minute (dt) == gst_date_time_get_minute (dt2));
+  fail_unless (gst_date_time_get_second (dt) == gst_date_time_get_second (dt2));
+  /* This will succeed because we're not comparing microseconds when
+   * checking for equality */
+  fail_unless (date_times_are_equal (dt, dt2));
+  str2 = gst_date_time_to_iso8601_string (dt2);
+  fail_unless_equals_string (str, str2);
+  g_free (str2);
+  gst_date_time_unref (dt2);
+  g_free (str);
+  gst_date_time_unref (dt);
+
+  /* ---- year only ---- */
+
+  dt = gst_date_time_new_y (2010);
+  fail_unless (gst_date_time_has_year (dt));
+  fail_unless (!gst_date_time_has_month (dt));
+  fail_unless (!gst_date_time_has_day (dt));
+  fail_unless (!gst_date_time_has_time (dt));
+  fail_unless (!gst_date_time_has_second (dt));
+  str = gst_date_time_to_iso8601_string (dt);
+  fail_unless (str != NULL);
+  fail_unless_equals_string (str, "2010");
+  dt2 = gst_date_time_new_from_iso8601_string (str);
+  fail_unless (gst_date_time_get_year (dt) == gst_date_time_get_year (dt2));
+  fail_unless (date_times_are_equal (dt, dt2));
+  str2 = gst_date_time_to_iso8601_string (dt2);
+  fail_unless_equals_string (str, str2);
+  g_free (str2);
+  gst_date_time_unref (dt2);
+  g_free (str);
+  gst_date_time_unref (dt);
+
+  /* ---- year and month ---- */
+
+  dt = gst_date_time_new_ym (2010, 10);
+  fail_unless (gst_date_time_has_year (dt));
+  fail_unless (gst_date_time_has_month (dt));
+  fail_unless (!gst_date_time_has_day (dt));
+  fail_unless (!gst_date_time_has_time (dt));
+  fail_unless (!gst_date_time_has_second (dt));
+  str = gst_date_time_to_iso8601_string (dt);
+  fail_unless (str != NULL);
+  fail_unless_equals_string (str, "2010-10");
+  dt2 = gst_date_time_new_from_iso8601_string (str);
+  fail_unless (gst_date_time_get_year (dt) == gst_date_time_get_year (dt2));
+  fail_unless (gst_date_time_get_month (dt) == gst_date_time_get_month (dt2));
+  fail_unless (date_times_are_equal (dt, dt2));
+  str2 = gst_date_time_to_iso8601_string (dt2);
+  fail_unless_equals_string (str, str2);
+  g_free (str2);
+  gst_date_time_unref (dt2);
+  g_free (str);
+  gst_date_time_unref (dt);
+
+  /* ---- year and month ---- */
+
+  dt = gst_date_time_new_ymd (2010, 10, 30);
+  fail_unless (gst_date_time_has_year (dt));
+  fail_unless (gst_date_time_has_month (dt));
+  fail_unless (gst_date_time_has_day (dt));
+  fail_unless (!gst_date_time_has_time (dt));
+  fail_unless (!gst_date_time_has_second (dt));
+  str = gst_date_time_to_iso8601_string (dt);
+  fail_unless (str != NULL);
+  fail_unless_equals_string (str, "2010-10-30");
+  dt2 = gst_date_time_new_from_iso8601_string (str);
+  fail_unless (gst_date_time_get_year (dt) == gst_date_time_get_year (dt2));
+  fail_unless (gst_date_time_get_month (dt) == gst_date_time_get_month (dt2));
+  fail_unless (gst_date_time_get_day (dt) == gst_date_time_get_day (dt2));
+  fail_unless (date_times_are_equal (dt, dt2));
+  str2 = gst_date_time_to_iso8601_string (dt2);
+  fail_unless_equals_string (str, str2);
+  g_free (str2);
+  gst_date_time_unref (dt2);
+  g_free (str);
+  gst_date_time_unref (dt);
+
+  /* ---- date and time, but no seconds ---- */
+
+  dt = gst_date_time_new (-4.5, 2010, 10, 30, 15, 50, -1);
+  fail_unless (gst_date_time_has_year (dt));
+  fail_unless (gst_date_time_has_month (dt));
+  fail_unless (gst_date_time_has_day (dt));
+  fail_unless (gst_date_time_has_time (dt));
+  fail_unless (!gst_date_time_has_second (dt));
+  str = gst_date_time_to_iso8601_string (dt);
+  fail_unless (str != NULL);
+  fail_unless_equals_string (str, "2010-10-30T15:50-0430");
+  dt2 = gst_date_time_new_from_iso8601_string (str);
+  fail_unless (gst_date_time_get_year (dt) == gst_date_time_get_year (dt2));
+  fail_unless (gst_date_time_get_month (dt) == gst_date_time_get_month (dt2));
+  fail_unless (gst_date_time_get_day (dt) == gst_date_time_get_day (dt2));
+  fail_unless (gst_date_time_get_hour (dt) == gst_date_time_get_hour (dt2));
+  fail_unless (gst_date_time_get_minute (dt) == gst_date_time_get_minute (dt2));
+  fail_unless (date_times_are_equal (dt, dt2));
+  str2 = gst_date_time_to_iso8601_string (dt2);
+  fail_unless_equals_string (str, str2);
+  g_free (str2);
+  gst_date_time_unref (dt2);
+  g_free (str);
+  gst_date_time_unref (dt);
+
+  /* ---- date and time, but no seconds (UTC) ---- */
+
+  dt = gst_date_time_new (0, 2010, 10, 30, 15, 50, -1);
+  fail_unless (gst_date_time_has_year (dt));
+  fail_unless (gst_date_time_has_month (dt));
+  fail_unless (gst_date_time_has_day (dt));
+  fail_unless (gst_date_time_has_time (dt));
+  fail_unless (!gst_date_time_has_second (dt));
+  str = gst_date_time_to_iso8601_string (dt);
+  fail_unless (str != NULL);
+  fail_unless_equals_string (str, "2010-10-30T15:50Z");
+  dt2 = gst_date_time_new_from_iso8601_string (str);
+  fail_unless (gst_date_time_get_year (dt) == gst_date_time_get_year (dt2));
+  fail_unless (gst_date_time_get_month (dt) == gst_date_time_get_month (dt2));
+  fail_unless (gst_date_time_get_day (dt) == gst_date_time_get_day (dt2));
+  fail_unless (gst_date_time_get_hour (dt) == gst_date_time_get_hour (dt2));
+  fail_unless (gst_date_time_get_minute (dt) == gst_date_time_get_minute (dt2));
+  fail_unless (date_times_are_equal (dt, dt2));
+  str2 = gst_date_time_to_iso8601_string (dt2);
+  fail_unless_equals_string (str, str2);
+  g_free (str2);
+  gst_date_time_unref (dt2);
+  g_free (str);
+  gst_date_time_unref (dt);
+
+  /* ---- date and time, with seconds ---- */
+
+  dt = gst_date_time_new (-4.5, 2010, 10, 30, 15, 50, 0);
+  fail_unless (gst_date_time_has_year (dt));
+  fail_unless (gst_date_time_has_month (dt));
+  fail_unless (gst_date_time_has_day (dt));
+  fail_unless (gst_date_time_has_time (dt));
+  fail_unless (gst_date_time_has_second (dt));
+  str = gst_date_time_to_iso8601_string (dt);
+  fail_unless (str != NULL);
+  fail_unless_equals_string (str, "2010-10-30T15:50:00-0430");
+  dt2 = gst_date_time_new_from_iso8601_string (str);
+  fail_unless (gst_date_time_get_year (dt) == gst_date_time_get_year (dt2));
+  fail_unless (gst_date_time_get_month (dt) == gst_date_time_get_month (dt2));
+  fail_unless (gst_date_time_get_day (dt) == gst_date_time_get_day (dt2));
+  fail_unless (gst_date_time_get_hour (dt) == gst_date_time_get_hour (dt2));
+  fail_unless (gst_date_time_get_minute (dt) == gst_date_time_get_minute (dt2));
+  fail_unless (date_times_are_equal (dt, dt2));
+  str2 = gst_date_time_to_iso8601_string (dt2);
+  fail_unless_equals_string (str, str2);
+  g_free (str2);
+  gst_date_time_unref (dt2);
+  g_free (str);
+  gst_date_time_unref (dt);
+
+  /* ---- date and time, with seconds (UTC) ---- */
+
+  dt = gst_date_time_new (0, 2010, 10, 30, 15, 50, 0);
+  fail_unless (gst_date_time_has_year (dt));
+  fail_unless (gst_date_time_has_month (dt));
+  fail_unless (gst_date_time_has_day (dt));
+  fail_unless (gst_date_time_has_time (dt));
+  fail_unless (gst_date_time_has_second (dt));
+  str = gst_date_time_to_iso8601_string (dt);
+  fail_unless (str != NULL);
+  fail_unless_equals_string (str, "2010-10-30T15:50:00Z");
+  dt2 = gst_date_time_new_from_iso8601_string (str);
+  fail_unless (gst_date_time_get_year (dt) == gst_date_time_get_year (dt2));
+  fail_unless (gst_date_time_get_month (dt) == gst_date_time_get_month (dt2));
+  fail_unless (gst_date_time_get_day (dt) == gst_date_time_get_day (dt2));
+  fail_unless (gst_date_time_get_hour (dt) == gst_date_time_get_hour (dt2));
+  fail_unless (gst_date_time_get_minute (dt) == gst_date_time_get_minute (dt2));
+  fail_unless (date_times_are_equal (dt, dt2));
+  str2 = gst_date_time_to_iso8601_string (dt2);
+  fail_unless_equals_string (str, str2);
+  g_free (str2);
+  gst_date_time_unref (dt2);
+  g_free (str);
+  gst_date_time_unref (dt);
+
+  /* ---- date and time, but without the 'T' and without timezone */
+  dt = gst_date_time_new_from_iso8601_string ("2010-10-30 15:50");
+  fail_unless (gst_date_time_get_year (dt) == 2010);
+  fail_unless (gst_date_time_get_month (dt) == 10);
+  fail_unless (gst_date_time_get_day (dt) == 30);
+  fail_unless (gst_date_time_get_hour (dt) == 15);
+  fail_unless (gst_date_time_get_minute (dt) == 50);
+  fail_unless (!gst_date_time_has_second (dt));
+  gst_date_time_unref (dt);
+
+  /* ---- date and time+secs, but without the 'T' and without timezone */
+  dt = gst_date_time_new_from_iso8601_string ("2010-10-30 15:50:33");
+  fail_unless (gst_date_time_get_year (dt) == 2010);
+  fail_unless (gst_date_time_get_month (dt) == 10);
+  fail_unless (gst_date_time_get_day (dt) == 30);
+  fail_unless (gst_date_time_get_hour (dt) == 15);
+  fail_unless (gst_date_time_get_minute (dt) == 50);
+  fail_unless (gst_date_time_get_second (dt) == 33);
+  gst_date_time_unref (dt);
+
+  /* ---- dates with 00s */
+  dt = gst_date_time_new_from_iso8601_string ("2010-10-00");
+  fail_unless (gst_date_time_get_year (dt) == 2010);
+  fail_unless (gst_date_time_get_month (dt) == 10);
+  fail_unless (!gst_date_time_has_day (dt));
+  fail_unless (!gst_date_time_has_time (dt));
+  gst_date_time_unref (dt);
+
+  dt = gst_date_time_new_from_iso8601_string ("2010-00-00");
+  fail_unless (gst_date_time_get_year (dt) == 2010);
+  fail_unless (!gst_date_time_has_month (dt));
+  fail_unless (!gst_date_time_has_day (dt));
+  fail_unless (!gst_date_time_has_time (dt));
+  gst_date_time_unref (dt);
+
+  dt = gst_date_time_new_from_iso8601_string ("2010-00-30");
+  fail_unless (gst_date_time_get_year (dt) == 2010);
+  fail_unless (!gst_date_time_has_month (dt));
+  fail_unless (!gst_date_time_has_day (dt));
+  fail_unless (!gst_date_time_has_time (dt));
+  gst_date_time_unref (dt);
+
+  /* completely invalid */
+  dt = gst_date_time_new_from_iso8601_string ("0000-00-00");
+  fail_unless (dt == NULL);
+
+  /* partially invalid - here we'll just extract the year */
+  dt = gst_date_time_new_from_iso8601_string ("2010/05/30");
+  fail_unless (gst_date_time_get_year (dt) == 2010);
+  fail_unless (!gst_date_time_has_month (dt));
+  fail_unless (!gst_date_time_has_day (dt));
+  fail_unless (!gst_date_time_has_time (dt));
+  gst_date_time_unref (dt);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_GstDateTime_to_g_date_time)
+{
+  GDateTime *gdt1;
+  GDateTime *gdt2;
+  GstDateTime *dt;
+
+  gdt1 = g_date_time_new_now_utc ();
+  g_date_time_ref (gdt1);       /* keep it alive for compare below */
+  dt = gst_date_time_new_from_g_date_time (gdt1);
+  gdt2 = gst_date_time_to_g_date_time (dt);
+
+  fail_unless (g_date_time_compare (gdt1, gdt2) == 0);
+
+  g_date_time_unref (gdt1);
+  g_date_time_unref (gdt2);
+  gst_date_time_unref (dt);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_GstDateTime_new_from_g_date_time)
+{
+  GDateTime *gdt;
+  GstDateTime *dt;
+
+  gdt = g_date_time_new_now_utc ();
+  g_date_time_ref (gdt);        /* keep it alive for compare below */
+  dt = gst_date_time_new_from_g_date_time (gdt);
+
+  assert_equals_int (gst_date_time_get_year (dt), g_date_time_get_year (gdt));
+  assert_equals_int (gst_date_time_get_month (dt), g_date_time_get_month (gdt));
+  assert_equals_int (gst_date_time_get_day (dt),
+      g_date_time_get_day_of_month (gdt));
+  assert_equals_int (gst_date_time_get_hour (dt), g_date_time_get_hour (gdt));
+  assert_equals_int (gst_date_time_get_minute (dt),
+      g_date_time_get_minute (gdt));
+  assert_equals_int (gst_date_time_get_second (dt),
+      g_date_time_get_second (gdt));
+  assert_equals_int (gst_date_time_get_microsecond (dt),
+      g_date_time_get_microsecond (gdt));
+
+  g_date_time_unref (gdt);
   gst_date_time_unref (dt);
 }
 
@@ -301,8 +701,12 @@
   tcase_add_test (tc_chain, test_GstDateTime_new_full);
   tcase_add_test (tc_chain, test_GstDateTime_now);
   tcase_add_test (tc_chain, test_GstDateTime_utc_now);
+  tcase_add_test (tc_chain, test_GstDateTime_partial_fields);
+  tcase_add_test (tc_chain, test_GstDateTime_iso8601);
+  tcase_add_test (tc_chain, test_GstDateTime_to_g_date_time);
+  tcase_add_test (tc_chain, test_GstDateTime_new_from_g_date_time);
 
   return s;
 }
 
-GST_CHECK_MAIN (gst_date_time);
+GST_CHECK_MAIN (gst_date_time)
diff --git a/tests/check/gst/gstevent.c b/tests/check/gst/gstevent.c
index b16b023..fc215f2 100644
--- a/tests/check/gst/gstevent.c
+++ b/tests/check/gst/gstevent.c
@@ -185,7 +185,7 @@
     GstTagList *taglist = gst_tag_list_new_empty ();
     GstTagList *tl2 = NULL;
 
-    event = gst_event_new_tag ("test", taglist);
+    event = gst_event_new_tag (taglist);
     fail_if (taglist == NULL);
     fail_if (event == NULL);
     fail_unless (GST_EVENT_TYPE (event) == GST_EVENT_TAG);
@@ -243,8 +243,8 @@
     gdouble rate;
     GstFormat format;
     GstSeekFlags flags;
-    GstSeekType cur_type, stop_type;
-    gint64 cur, stop;
+    GstSeekType start_type, stop_type;
+    gint64 start, stop;
 
     event = gst_event_new_seek (0.5, GST_FORMAT_BYTES,
         GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE,
@@ -256,13 +256,13 @@
     fail_if (GST_EVENT_IS_DOWNSTREAM (event));
     fail_if (GST_EVENT_IS_SERIALIZED (event));
 
-    gst_event_parse_seek (event, &rate, &format, &flags, &cur_type, &cur,
+    gst_event_parse_seek (event, &rate, &format, &flags, &start_type, &start,
         &stop_type, &stop);
     fail_unless (rate == 0.5);
     fail_unless (format == GST_FORMAT_BYTES);
     fail_unless (flags == (GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE));
-    fail_unless (cur_type == GST_SEEK_TYPE_SET);
-    fail_unless (cur == 1);
+    fail_unless (start_type == GST_SEEK_TYPE_SET);
+    fail_unless (start == 1);
     fail_unless (stop_type == GST_SEEK_TYPE_NONE);
     fail_unless (stop == 0xdeadbeef);
 
diff --git a/tests/check/gst/gstghostpad.c b/tests/check/gst/gstghostpad.c
index 3212553..2a72ec5 100644
--- a/tests/check/gst/gstghostpad.c
+++ b/tests/check/gst/gstghostpad.c
@@ -521,8 +521,8 @@
   gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_PLAYING);
   /* and wait now */
   g_cond_wait (block_data.cond, block_data.mutex);
-  gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_NULL);
   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);
@@ -563,8 +563,8 @@
   gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_PLAYING);
   /* and wait now */
   g_cond_wait (block_data.cond, block_data.mutex);
-  gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_NULL);
   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);
diff --git a/tests/check/gst/gstinfo.c b/tests/check/gst/gstinfo.c
index e7757d8..bc786ee 100644
--- a/tests/check/gst/gstinfo.c
+++ b/tests/check/gst/gstinfo.c
@@ -49,7 +49,7 @@
   /* set up our own log function to make sure the code in gstinfo is actually
    * executed without GST_DEBUG being set or it being output to stdout */
   gst_debug_remove_log_function (gst_debug_log_default);
-  gst_debug_add_log_function (printf_extension_log_func, NULL);
+  gst_debug_add_log_function (printf_extension_log_func, NULL, NULL);
 
   gst_debug_set_default_threshold (GST_LEVEL_LOG);
 
@@ -105,7 +105,7 @@
 
   /* clean up */
   gst_debug_set_default_threshold (GST_LEVEL_NONE);
-  gst_debug_add_log_function (gst_debug_log_default, NULL);
+  gst_debug_add_log_function (gst_debug_log_default, NULL, NULL);
   gst_debug_remove_log_function (printf_extension_log_func);
 }
 
@@ -117,7 +117,7 @@
   /* set up our own log function to make sure the code in gstinfo is actually
    * executed without GST_DEBUG being set or it being output to stdout */
   gst_debug_remove_log_function (gst_debug_log_default);
-  gst_debug_add_log_function (printf_extension_log_func, NULL);
+  gst_debug_add_log_function (printf_extension_log_func, NULL, NULL);
 
   gst_debug_set_default_threshold (GST_LEVEL_LOG);
 
@@ -183,7 +183,7 @@
 
   /* clean up */
   gst_debug_set_default_threshold (GST_LEVEL_NONE);
-  gst_debug_add_log_function (gst_debug_log_default, NULL);
+  gst_debug_add_log_function (gst_debug_log_default, NULL, NULL);
   gst_debug_remove_log_function (printf_extension_log_func);
 }
 
diff --git a/tests/check/gst/gstmemory.c b/tests/check/gst/gstmemory.c
index 0cf1df7..b64f786 100644
--- a/tests/check/gst/gstmemory.c
+++ b/tests/check/gst/gstmemory.c
@@ -55,7 +55,7 @@
   fail_unless (sinfo.size == 2, "submemory has wrong size");
   fail_unless (memcmp (info.data + 1, sinfo.data, 2) == 0,
       "submemory contains the wrong data");
-  ASSERT_MEMORY_REFCOUNT (sub, "submemory", 1);
+  ASSERT_MINI_OBJECT_REFCOUNT (sub, "submemory", 1);
   gst_memory_unmap (sub, &sinfo);
   gst_memory_unref (sub);
 
@@ -66,7 +66,7 @@
   fail_unless (sinfo.size == 0, "submemory has wrong size");
   fail_unless (memcmp (info.data + 1, sinfo.data, 0) == 0,
       "submemory contains the wrong data");
-  ASSERT_MEMORY_REFCOUNT (sub, "submemory", 1);
+  ASSERT_MINI_OBJECT_REFCOUNT (sub, "submemory", 1);
   gst_memory_unmap (sub, &sinfo);
   gst_memory_unref (sub);
 
@@ -197,11 +197,11 @@
   GstMapInfo info, sinfo;
 
   memory = gst_allocator_alloc (NULL, 4, NULL);
-  ASSERT_MEMORY_REFCOUNT (memory, "memory", 1);
+  ASSERT_MINI_OBJECT_REFCOUNT (memory, "memory", 1);
 
   copy = gst_memory_copy (memory, 0, -1);
-  ASSERT_MEMORY_REFCOUNT (memory, "memory", 1);
-  ASSERT_MEMORY_REFCOUNT (copy, "copy", 1);
+  ASSERT_MINI_OBJECT_REFCOUNT (memory, "memory", 1);
+  ASSERT_MINI_OBJECT_REFCOUNT (copy, "copy", 1);
   /* memorys are copied and must point to different memory */
   fail_if (memory == copy);
 
@@ -428,7 +428,6 @@
   fail_unless (gst_memory_map (mem, &info2, GST_MAP_READ));
   gst_memory_unmap (mem, &info2);
   gst_memory_unmap (mem, &info1);
-  fail_unless (mem->state == 0);
 
   fail_unless (gst_memory_map (mem, &info1, GST_MAP_WRITE));
   /* not allowed */
diff --git a/tests/check/gst/gstmessage.c b/tests/check/gst/gstmessage.c
index deea587..59a6d63 100644
--- a/tests/check/gst/gstmessage.c
+++ b/tests/check/gst/gstmessage.c
@@ -208,7 +208,7 @@
 
     /* create a task with some dummy function, we're not actually going to run
      * the task here */
-    task = gst_task_new ((GstTaskFunction) gst_object_unref, NULL);
+    task = gst_task_new ((GstTaskFunction) gst_object_unref, NULL, NULL);
 
     ASSERT_OBJECT_REFCOUNT (task, "task", 1);
 
diff --git a/tests/check/gst/gstobject.c b/tests/check/gst/gstobject.c
index 6f7ccb8..ce2ed3e 100644
--- a/tests/check/gst/gstobject.c
+++ b/tests/check/gst/gstobject.c
@@ -72,19 +72,6 @@
   return fake_object_type;
 }
 
-#ifndef HAVE_OSX
-/* g_object_new on abstract GstObject should fail */
-GST_START_TEST (test_fail_abstract_new)
-{
-  GstObject *object;
-
-  ASSERT_CRITICAL (object = g_object_new (gst_object_get_type (), NULL));
-  fail_unless (object == NULL, "Created an instance of abstract GstObject");
-}
-
-GST_END_TEST;
-#endif
-
 /* g_object_new on GstFakeObject should succeed */
 GST_START_TEST (test_fake_object_new)
 {
@@ -529,18 +516,6 @@
   tcase_add_test (tc_chain, test_fake_object_has_ancestor);
   //tcase_add_checked_fixture (tc_chain, setup, teardown);
 
-  /* FIXME: GLib shouldn't crash here, but issue a warning and return a NULL
-   * object, or at least g_error() and then abort properly ... (tpm) */
-#ifndef HAVE_OSX
-  /* Disabled for OS/X because a) it's a pretty silly test anyway and
-   * b) different OS/X versions raise different signals and it isn't worth
-   * the effort to try and detect which one should be producing which
-   */
-  /* SEGV tests go last so we can debug the others */
-  if (g_getenv ("CK_FORK") == NULL || strcmp (g_getenv ("CK_FORK"), "no") != 0)
-    tcase_add_test_raise_signal (tc_chain, test_fail_abstract_new, SIGSEGV);
-#endif
-
   return s;
 }
 
diff --git a/tests/check/gst/gstpad.c b/tests/check/gst/gstpad.c
index 88f93fa..16f3e51 100644
--- a/tests/check/gst/gstpad.c
+++ b/tests/check/gst/gstpad.c
@@ -1042,7 +1042,7 @@
 
   /* wait for the block */
   while (!gst_pad_is_blocking (pad)) {
-    g_usleep (100000);
+    g_usleep (10000);
   }
 
   /* stop with flushing */
@@ -1116,9 +1116,8 @@
   gst_pad_send_event (sink, gst_event_new_caps (caps));
   gst_caps_unref (caps);
 
-  g_usleep (10000);
-
-  fail_unless (got_notify == TRUE);
+  while (got_notify == FALSE)
+    g_usleep (10000);
 
   gst_element_set_state (queue, GST_STATE_NULL);
 
@@ -1439,7 +1438,7 @@
   gst_pad_set_active (srcpad, TRUE);
 
   /* push an event, it should be sticky on the srcpad */
-  gst_pad_push_event (srcpad, gst_event_new_stream_start ());
+  gst_pad_push_event (srcpad, gst_event_new_stream_start ("test"));
 
   /* make a caps event */
   caps = gst_caps_new_empty_simple ("foo/bar");
diff --git a/tests/check/gst/gstparamspecs.c b/tests/check/gst/gstparamspecs.c
index c6d3024..5db7408 100644
--- a/tests/check/gst/gstparamspecs.c
+++ b/tests/check/gst/gstparamspecs.c
@@ -54,7 +54,8 @@
       /* default value is out of bounds, should print a warning */
       g_object_class_install_property (gobject_class, 1,
           gst_param_spec_fraction ("ratio", "ratio", "ratio", 0, 1, 2, 1,
-              16, 4, G_PARAM_READWRITE)););
+              16, 4, G_PARAM_READWRITE));
+      );
 
   /* should be within bounds */
   g_object_class_install_property (gobject_class, 2,
diff --git a/tests/check/gst/gstpipeline.c b/tests/check/gst/gstpipeline.c
index 899c017..4e34eea 100644
--- a/tests/check/gst/gstpipeline.c
+++ b/tests/check/gst/gstpipeline.c
@@ -125,6 +125,9 @@
   ASSERT_OBJECT_REFCOUNT (pipeline, "pipeline after get_bus", 1);
   ASSERT_OBJECT_REFCOUNT (bus, "bus", 2);
 
+  /* bindings don't like the floating flag to be set here */
+  fail_if (g_object_is_floating (bus));
+
   gst_object_unref (pipeline);
 
   ASSERT_OBJECT_REFCOUNT (bus, "bus after unref pipeline", 1);
diff --git a/tests/check/gst/gstsegment.c b/tests/check/gst/gstsegment.c
index ecd8b06..98d48c0 100644
--- a/tests/check/gst/gstsegment.c
+++ b/tests/check/gst/gstsegment.c
@@ -22,6 +22,19 @@
 
 #include <gst/check/gstcheck.h>
 
+static void
+check_times (GstSegment * segment, guint64 position, guint64 stream_time,
+    guint64 running_time)
+{
+  guint64 st, rt;
+
+  st = gst_segment_to_stream_time (segment, segment->format, position);
+  rt = gst_segment_to_running_time (segment, segment->format, position);
+
+  fail_unless_equals_int64 (st, stream_time);
+  fail_unless_equals_int64 (rt, running_time);
+}
+
 /* mess with the segment structure in the bytes format */
 GST_START_TEST (segment_seek_nosize)
 {
@@ -38,20 +51,11 @@
       GST_SEEK_FLAG_NONE,
       GST_SEEK_TYPE_SET, 100, GST_SEEK_TYPE_NONE, -1, &update);
   fail_unless (segment.start == 100);
+  fail_unless (segment.position == 100);
   fail_unless (segment.stop == -1);
   fail_unless (update == TRUE);
-
-#if 0
-  /* configure segment to stop relative, should not do anything since 
-   * size is unknown. */
-  gst_segment_do_seek (&segment, 1.0,
-      GST_FORMAT_BYTES,
-      GST_SEEK_FLAG_NONE,
-      GST_SEEK_TYPE_NONE, 200, GST_SEEK_TYPE_CUR, -100, &update);
-  fail_unless (segment.start == 100);
-  fail_unless (segment.stop == -1);
-  fail_unless (update == FALSE);
-#endif
+  /* appended after current position 0 */
+  check_times (&segment, 100, 100, 0);
 
   /* do some clipping on the open range */
   /* completely outside */
@@ -122,14 +126,22 @@
   fail_unless (cstart == 150);
   fail_unless (cstop == -1);
 
+  /* move to 150, this is a running_time of 50 */
+  segment.position = 150;
+  check_times (&segment, 150, 150, 50);
+
   /* add 100 to start, set stop to 300 */
   gst_segment_do_seek (&segment, 1.0,
       GST_FORMAT_BYTES,
       GST_SEEK_FLAG_NONE,
       GST_SEEK_TYPE_SET, 100 + 100, GST_SEEK_TYPE_SET, 300, &update);
   fail_unless (segment.start == 200);
+  fail_unless (segment.position == 200);
   fail_unless (segment.stop == 300);
+  fail_unless (segment.base == 50);
   fail_unless (update == TRUE);
+  check_times (&segment, 200, 200, 50);
+  check_times (&segment, 250, 250, 100);
 
   update = FALSE;
   /* add 100 to start (to 300), set stop to 200, this is not allowed.
@@ -140,9 +152,13 @@
           GST_SEEK_FLAG_NONE,
           GST_SEEK_TYPE_SET, 200 + 100, GST_SEEK_TYPE_SET, 200, &update));
   fail_unless (segment.start == 200);
+  fail_unless (segment.position == 200);
   fail_unless (segment.stop == 300);
+  fail_unless (segment.base == 50);
   /* update didn't change */
   fail_unless (update == FALSE);
+  check_times (&segment, 200, 200, 50);
+  check_times (&segment, 250, 250, 100);
 
   update = TRUE;
   /* seek relative to end, should not do anything since size is
@@ -152,8 +168,11 @@
       GST_SEEK_FLAG_NONE,
       GST_SEEK_TYPE_END, -300, GST_SEEK_TYPE_END, -100, &update);
   fail_unless (segment.start == 200);
+  fail_unless (segment.position == 200);
   fail_unless (segment.stop == 300);
+  fail_unless (segment.base == 50);
   fail_unless (update == FALSE);
+  check_times (&segment, 250, 250, 100);
 
   /* completely outside */
   res = gst_segment_clip (&segment, GST_FORMAT_BYTES, 0, 50, &cstart, &cstop);
@@ -240,8 +259,10 @@
       GST_SEEK_FLAG_NONE,
       GST_SEEK_TYPE_SET, 100, GST_SEEK_TYPE_NONE, -1, &update);
   fail_unless (segment.start == 100);
+  fail_unless (segment.position == 100);
   fail_unless (segment.stop == -1);
   fail_unless (update == TRUE);
+  check_times (&segment, 100, 100, 0);
 
   /* do some clipping on the open range */
   /* completely outside */
@@ -300,7 +321,9 @@
       GST_SEEK_FLAG_NONE,
       GST_SEEK_TYPE_SET, 100 + 100, GST_SEEK_TYPE_SET, 300, &update);
   fail_unless (segment.start == 200);
+  fail_unless (segment.position == 200);
   fail_unless (segment.stop == 200);
+  check_times (&segment, 200, 200, 0);
 
   /* add 100 to start (to 300), set stop to 200, this clips start
    * to duration */
@@ -309,8 +332,10 @@
       GST_SEEK_FLAG_NONE,
       GST_SEEK_TYPE_SET, 200 + 100, GST_SEEK_TYPE_SET, 200, &update);
   fail_unless (segment.start == 200);
+  fail_unless (segment.position == 200);
   fail_unless (segment.stop == 200);
   fail_unless (update == FALSE);
+  check_times (&segment, 200, 200, 0);
 
   /* seek relative to end */
   gst_segment_do_seek (&segment, 1.0,
@@ -318,8 +343,10 @@
       GST_SEEK_FLAG_NONE,
       GST_SEEK_TYPE_END, -100, GST_SEEK_TYPE_END, -20, &update);
   fail_unless (segment.start == 100);
+  fail_unless (segment.position == 100);
   fail_unless (segment.stop == 180);
   fail_unless (update == TRUE);
+  check_times (&segment, 150, 150, 50);
 
   /* completely outside */
   res = gst_segment_clip (&segment, GST_FORMAT_BYTES, 0, 50, &cstart, &cstop);
@@ -407,6 +434,9 @@
   fail_unless (segment.time == 0);
   fail_unless (segment.position == 100);
   fail_unless (update == TRUE);
+  check_times (&segment, 100, 100, 0);
+  check_times (&segment, 50, 50, 50);
+  check_times (&segment, 0, 0, 100);
 
   /* update */
   gst_segment_do_seek (&segment, -1.0,
@@ -418,6 +448,9 @@
   fail_unless (segment.time == 10);
   fail_unless (segment.position == 80);
   fail_unless (update == TRUE);
+  check_times (&segment, 80, 80, 0);
+  check_times (&segment, 40, 40, 40);
+  check_times (&segment, 10, 10, 70);
 
   gst_segment_do_seek (&segment, -1.0,
       GST_FORMAT_BYTES,
@@ -428,6 +461,8 @@
   fail_unless (segment.time == 20);
   fail_unless (segment.position == 80);
   fail_unless (update == FALSE);
+  check_times (&segment, 80, 80, 0);
+  check_times (&segment, 20, 20, 60);
 }
 
 GST_END_TEST;
@@ -447,46 +482,11 @@
       GST_SEEK_TYPE_NONE, -1, GST_SEEK_TYPE_NONE, -1, &update);
   fail_unless (segment.format == GST_FORMAT_BYTES);
   fail_unless (segment.start == 0);
+  fail_unless (segment.position == 0);
   fail_unless (segment.stop == -1);
   fail_unless (segment.rate == 2.0);
   fail_unless (update == FALSE);
-
-#if 0
-  /* 0 is the same in all formats and should not fail */
-  gst_segment_do_seek (&segment, 2.0,
-      GST_FORMAT_TIME, GST_SEEK_FLAG_NONE,
-      GST_SEEK_TYPE_SET, 0, GST_SEEK_TYPE_NONE, -1, &update);
-  fail_unless (segment.format == GST_FORMAT_BYTES);
-
-  /* set to -1 means start from 0 */
-  gst_segment_do_seek (&segment, 2.0,
-      GST_FORMAT_TIME, GST_SEEK_FLAG_NONE,
-      GST_SEEK_TYPE_SET, -1, GST_SEEK_TYPE_NONE, -1, &update);
-  fail_unless (segment.format == GST_FORMAT_BYTES);
-  fail_unless (segment.start == 0);
-
-  gst_segment_do_seek (&segment, 2.0,
-      GST_FORMAT_TIME, GST_SEEK_FLAG_NONE,
-      GST_SEEK_TYPE_CUR, 0, GST_SEEK_TYPE_NONE, -1, &update);
-
-  gst_segment_do_seek (&segment, 2.0,
-      GST_FORMAT_TIME, GST_SEEK_FLAG_NONE,
-      GST_SEEK_TYPE_END, 0, GST_SEEK_TYPE_NONE, -1, &update);
-
-  /* -1 for end is fine too in all formats */
-  gst_segment_do_seek (&segment, 2.0,
-      GST_FORMAT_TIME, GST_SEEK_FLAG_NONE,
-      GST_SEEK_TYPE_NONE, -1, GST_SEEK_TYPE_SET, -1, &update);
-
-  /* 0 as relative end is fine too */
-  gst_segment_do_seek (&segment, 2.0,
-      GST_FORMAT_TIME, GST_SEEK_FLAG_NONE,
-      GST_SEEK_TYPE_NONE, -1, GST_SEEK_TYPE_CUR, 0, &update);
-
-  gst_segment_do_seek (&segment, 2.0,
-      GST_FORMAT_TIME, GST_SEEK_FLAG_NONE,
-      GST_SEEK_TYPE_NONE, -1, GST_SEEK_TYPE_END, 0, &update);
-#endif
+  check_times (&segment, 50, 50, 25);
 
   /* set a real stop position, this must happen in bytes */
   gst_segment_do_seek (&segment, 3.0,
@@ -500,25 +500,7 @@
   /* no seek should happen, we just updated the stop position in forward
    * playback mode.*/
   fail_unless (update == FALSE);
-
-#if 0
-  /* 0 as relative end is fine too */
-  gst_segment_do_seek (&segment, 2.0,
-      GST_FORMAT_TIME, GST_SEEK_FLAG_NONE,
-      GST_SEEK_TYPE_NONE, -1, GST_SEEK_TYPE_CUR, 0, &update);
-  fail_unless (segment.stop == 100);
-
-  gst_segment_do_seek (&segment, 2.0,
-      GST_FORMAT_TIME, GST_SEEK_FLAG_NONE,
-      GST_SEEK_TYPE_NONE, -1, GST_SEEK_TYPE_END, 0, &update);
-  fail_unless (segment.stop == 100);
-
-  /* -1 for end is fine too in all formats */
-  gst_segment_do_seek (&segment, 2.0,
-      GST_FORMAT_TIME, GST_SEEK_FLAG_NONE,
-      GST_SEEK_TYPE_NONE, -1, GST_SEEK_TYPE_SET, -1, &update);
-  fail_unless (segment.stop == -1);
-#endif
+  check_times (&segment, 60, 60, 20);
 
   /* set some duration, stop -1 END seeks will now work with the
    * duration, if the formats match */
@@ -545,1183 +527,10 @@
       GST_SEEK_TYPE_NONE, -1, GST_SEEK_TYPE_END, 100, &update);
   fail_unless (segment.stop == 200);
   fail_unless (segment.duration == 200);
-
-#if 0
-  /* add 300 to the start, this should be clamped to the duration */
-  gst_segment_do_seek (&segment, 2.0,
-      GST_FORMAT_BYTES, GST_SEEK_FLAG_NONE,
-      GST_SEEK_TYPE_CUR, 300, GST_SEEK_TYPE_END, 0, &update);
-  fail_unless (segment.start == 200);
-  fail_unless (segment.stop == 200);
-  fail_unless (segment.duration == 200);
-
-  /* subtract 300 from the start, this should be clamped to 0 */
-  gst_segment_do_seek (&segment, 2.0,
-      GST_FORMAT_BYTES, GST_SEEK_FLAG_NONE,
-      GST_SEEK_TYPE_CUR, -300, GST_SEEK_TYPE_END, 0, &update);
-  GST_DEBUG ("%" G_GINT64_FORMAT, segment.start);
-  fail_unless (segment.start == 0);
-  fail_unless (segment.stop == 200);
-  fail_unless (segment.duration == 200);
-#endif
 }
 
 GST_END_TEST;
 
-#if 0
-/* mess with the segment structure in the bytes format */
-GST_START_TEST (segment_newsegment_open)
-{
-  GstSegment segment;
-
-  gst_segment_init (&segment, GST_FORMAT_BYTES);
-
-  /* time should also work for starting from 0 */
-  gst_segment_set_newsegment (&segment, FALSE, 1.0, 1.0, GST_FORMAT_TIME, 0, -1,
-      0);
-
-  fail_unless (segment.rate == 1.0);
-  fail_unless (segment.format == GST_FORMAT_BYTES);
-  fail_unless (segment.flags == 0);
-  fail_unless (segment.start == 0);
-  fail_unless (segment.stop == -1);
-  fail_unless (segment.time == 0);
-  fail_unless (segment.base == 0);
-  fail_unless (segment.position == 0);
-  fail_unless (segment.duration == -1);
-
-  /* we set stop but in the wrong format, stop stays open. */
-  gst_segment_set_newsegment (&segment, FALSE, 1.0, 1.0, GST_FORMAT_TIME, 0,
-      200, 0);
-
-  fail_unless (segment.start == 0);
-  fail_unless (segment.stop == -1);
-  fail_unless (segment.time == 0);
-  fail_unless (segment.base == 0);
-  fail_unless (segment.position == 0);
-
-  /* update, nothing changes */
-  gst_segment_set_newsegment (&segment, TRUE, 1.0, 1.0, GST_FORMAT_BYTES, 0, -1,
-      0);
-
-  fail_unless (segment.start == 0);
-  fail_unless (segment.stop == -1);
-  fail_unless (segment.time == 0);
-  fail_unless (segment.base == 0);
-  fail_unless (segment.position == 0);
-
-  /* update */
-  gst_segment_set_newsegment (&segment, TRUE, 1.0, 1.0,
-      GST_FORMAT_BYTES, 100, -1, 100);
-
-  fail_unless (segment.start == 100);
-  fail_unless (segment.stop == -1);
-  fail_unless (segment.time == 100);
-  fail_unless (segment.base == 100);
-  fail_unless (segment.position == 100);
-
-  /* last_stop 0, base does not change */
-  gst_segment_set_newsegment (&segment, FALSE, 1.0, 1.0, GST_FORMAT_BYTES, 0,
-      -1, 0);
-
-  fail_unless (segment.start == 0);
-  fail_unless (segment.stop == -1);
-  fail_unless (segment.time == 0);
-  fail_unless (segment.base == 100);
-
-  gst_segment_set_last_stop (&segment, GST_FORMAT_BYTES, 200);
-
-  fail_unless (segment.position == 200);
-
-  /* last_stop 200, base changes */
-  gst_segment_set_newsegment (&segment, FALSE, 1.0, 1.0, GST_FORMAT_BYTES, 0,
-      -1, 0);
-
-  fail_unless (segment.start == 0);
-  fail_unless (segment.stop == -1);
-  fail_unless (segment.time == 0);
-  fail_unless (segment.base == 300);
-  fail_unless (segment.position == 0);
-}
-
-GST_END_TEST;
-
-
-/* mess with the segment structure in the bytes format */
-GST_START_TEST (segment_newsegment_closed)
-{
-  GstSegment segment;
-
-  gst_segment_init (&segment, GST_FORMAT_BYTES);
-
-  gst_segment_set_newsegment (&segment, FALSE, 1.0, 1.0,
-      GST_FORMAT_BYTES, 0, 200, 0);
-
-  fail_unless (segment.rate == 1.0);
-  fail_unless (segment.format == GST_FORMAT_BYTES);
-  fail_unless (segment.flags == 0);
-  fail_unless (segment.start == 0);
-  fail_unless (segment.stop == 200);
-  fail_unless (segment.time == 0);
-  fail_unless (segment.base == 0);
-  fail_unless (segment.position == 0);
-  fail_unless (segment.duration == -1);
-
-  /* assume we advanced to position 40 */
-  gst_segment_set_last_stop (&segment, GST_FORMAT_BYTES, 40);
-  fail_unless (segment.position == 40);
-
-  /* do an update to the start, last_stop is unchanged because it's bigger */
-  gst_segment_set_newsegment (&segment, TRUE, 1.0, 1.0, GST_FORMAT_BYTES, 20,
-      200, 20);
-
-  fail_unless (segment.start == 20);
-  fail_unless (segment.stop == 200);
-  fail_unless (segment.time == 20);
-  fail_unless (segment.base == 20);
-  fail_unless (segment.position == 40);
-
-  /* do an update past our last_stop, it should be updated now */
-  gst_segment_set_newsegment (&segment, TRUE, 1.0, 1.0, GST_FORMAT_BYTES, 50,
-      300, 50);
-
-  fail_unless (segment.start == 50);
-  fail_unless (segment.stop == 300);
-  fail_unless (segment.time == 50);
-  fail_unless (segment.base == 50);
-  fail_unless (segment.position == 50);
-
-  /* and a new accumulated one */
-  gst_segment_set_newsegment (&segment, FALSE, 1.0, 1.0,
-      GST_FORMAT_BYTES, 100, 400, 300);
-
-  fail_unless (segment.start == 100);
-  fail_unless (segment.stop == 400);
-  fail_unless (segment.time == 300);
-  fail_unless (segment.base == 300);
-
-  /* and a new updated one */
-  gst_segment_set_newsegment (&segment, TRUE, 1.0, 1.0,
-      GST_FORMAT_BYTES, 100, 500, 300);
-
-  fail_unless (segment.start == 100);
-  fail_unless (segment.stop == 500);
-  fail_unless (segment.time == 300);
-  fail_unless (segment.base == 300);
-
-  /* and a new partially updated one */
-  gst_segment_set_newsegment (&segment, TRUE, 1.0, 1.0,
-      GST_FORMAT_BYTES, 200, 500, 400);
-
-  fail_unless (segment.start == 200);
-  fail_unless (segment.stop == 500);
-  fail_unless (segment.time == 400);
-  fail_unless (segment.base == 400);
-}
-
-GST_END_TEST;
-
-/* mess with the segment structure in the time format */
-GST_START_TEST (segment_newsegment_streamtime)
-{
-  GstSegment segment;
-  guint64 result;
-
-  gst_segment_init (&segment, GST_FORMAT_TIME);
-
-  /***************************
-   * Normal segment
-   ***************************/
-  gst_segment_set_newsegment (&segment, FALSE, 1.0, 1.0,
-      GST_FORMAT_TIME, 0, 200, 0);
-
-  fail_unless (segment.rate == 1.0);
-  fail_unless (segment.applied_rate == 1.0);
-  fail_unless (segment.format == GST_FORMAT_TIME);
-  fail_unless (segment.flags == 0);
-  fail_unless (segment.start == 0);
-  fail_unless (segment.stop == 200);
-  fail_unless (segment.time == 0);
-  fail_unless (segment.base == 0);
-  fail_unless (segment.position == 0);
-  fail_unless (segment.duration == -1);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 0);
-  fail_unless (result == 0);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 100);
-  fail_unless (result == 100);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 200);
-  fail_unless (result == 200);
-
-  /* outside of the segment */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 300);
-  fail_unless (result == -1);
-
-  /*********************
-   * time shifted by 500
-   *********************/
-  gst_segment_set_newsegment (&segment, FALSE, 1.0, 1.0,
-      GST_FORMAT_TIME, 0, 200, 500);
-
-  fail_unless (segment.base == 200);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 0);
-  fail_unless (result == 500);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 100);
-  fail_unless (result == 600);
-
-  /* outside of the segment */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 500);
-  fail_unless (result == -1);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 300);
-  fail_unless (result == -1);
-
-  /*********************
-   * time offset by 500
-   *********************/
-  gst_segment_set_newsegment (&segment, FALSE, 1.0, 1.0,
-      GST_FORMAT_TIME, 500, 700, 0);
-
-  fail_unless (segment.base == 400);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-
-  /* before segment is invalid */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 400);
-  fail_unless (result == -1);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 500);
-  fail_unless (result == 0);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 600);
-  fail_unless (result == 100);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 700);
-  fail_unless (result == 200);
-
-  /* outside of the segment */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 800);
-  fail_unless (result == -1);
-
-  /*************************************
-   * time offset by 500, shifted by 200
-   *************************************/
-  gst_segment_set_newsegment (&segment, FALSE, 1.0, 1.0,
-      GST_FORMAT_TIME, 500, 700, 200);
-
-  fail_unless (segment.base == 600);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-
-  /* before segment is invalid */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 400);
-  fail_unless (result == -1);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 500);
-  fail_unless (result == 200);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 600);
-  fail_unless (result == 300);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 700);
-  fail_unless (result == 400);
-
-  /* outside of the segment */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 800);
-  fail_unless (result == -1);
-}
-
-GST_END_TEST;
-
-/* mess with the segment structure in the time format */
-GST_START_TEST (segment_newsegment_streamtime_rate)
-{
-  GstSegment segment;
-  guint64 result;
-
-  gst_segment_init (&segment, GST_FORMAT_TIME);
-
-  /***************************
-   * Normal segment rate 2.0
-   ***************************/
-  gst_segment_set_newsegment (&segment, FALSE, 2.0, 1.0,
-      GST_FORMAT_TIME, 0, 200, 0);
-
-  fail_unless (segment.rate == 2.0);
-  fail_unless (segment.applied_rate == 1.0);
-  fail_unless (segment.format == GST_FORMAT_TIME);
-  fail_unless (segment.flags == 0);
-  fail_unless (segment.start == 0);
-  fail_unless (segment.stop == 200);
-  fail_unless (segment.time == 0);
-  fail_unless (segment.base == 0);
-  fail_unless (segment.position == 0);
-  fail_unless (segment.duration == -1);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 0);
-  fail_unless (result == 0);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 100);
-  fail_unless (result == 100);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 150);
-  fail_unless (result == 150);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 200);
-  fail_unless (result == 200);
-
-  /* outside of the segment */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 300);
-  fail_unless (result == -1);
-
-  /***************************************
-   * Normal segment rate 2.0, offset
-   ***************************************/
-  gst_segment_set_newsegment (&segment, FALSE, 2.0, 1.0,
-      GST_FORMAT_TIME, 100, 300, 0);
-
-  fail_unless (segment.base == 100);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 100);
-  fail_unless (result == 0);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 200);
-  fail_unless (result == 100);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 250);
-  fail_unless (result == 150);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 300);
-  fail_unless (result == 200);
-
-  /* outside of the segment */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 400);
-  fail_unless (result == -1);
-
-  /***************************************
-   * Normal segment rate -1.0, offset
-   ***************************************/
-
-  /* buffers will arrive from 300 to 100 in a sink, stream time
-   * calculation is unaffected by the rate */
-  gst_segment_set_newsegment (&segment, FALSE, -1.0, 1.0,
-      GST_FORMAT_TIME, 100, 300, 0);
-
-  fail_unless (segment.base == 200);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 100);
-  fail_unless (result == 0);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 200);
-  fail_unless (result == 100);
-
-  /***********************************************
-   * Normal segment rate -1.0, offset, time = 200
-   ***********************************************/
-  gst_segment_set_newsegment (&segment, FALSE, -1.0, 1.0,
-      GST_FORMAT_TIME, 100, 300, 200);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 100);
-  fail_unless (result == 200);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 200);
-  fail_unless (result == 300);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 300);
-  fail_unless (result == 400);
-
-  /* outside of the segment */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 400);
-  fail_unless (result == -1);
-}
-
-GST_END_TEST;
-
-/* mess with the segment structure in the time format */
-GST_START_TEST (segment_newsegment_streamtime_applied_rate)
-{
-  GstSegment segment;
-  guint64 result;
-
-  gst_segment_init (&segment, GST_FORMAT_TIME);
-
-  /***********************************************************
-   * Normal segment rate 1.0, applied rate -1.0
-   * This means the timestamps represents a stream going backwards
-   * starting from @time to 0.
-   ************************************************************/
-  gst_segment_set_newsegment (&segment, FALSE, 1.0, -1.0,
-      GST_FORMAT_TIME, 0, 200, 200);
-
-  fail_unless (segment.rate == 1.0);
-  fail_unless (segment.applied_rate == -1.0);
-  fail_unless (segment.format == GST_FORMAT_TIME);
-  fail_unless (segment.flags == 0);
-  fail_unless (segment.start == 0);
-  fail_unless (segment.stop == 200);
-  fail_unless (segment.time == 200);
-  fail_unless (segment.base == 0);
-  fail_unless (segment.position == 0);
-  fail_unless (segment.duration == -1);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-
-  /* we count backwards from 200 */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 0);
-  fail_unless (result == 200);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 100);
-  fail_unless (result == 100);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 150);
-  fail_unless (result == 50);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 200);
-  fail_unless (result == 0);
-
-  /* outside of the segment */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 300);
-  fail_unless (result == -1);
-
-  /***********************************************************
-   * Normal segment rate 1.0, applied rate 2.0
-   * This means the timestamps represents a stream at twice the
-   * normal rate
-   ************************************************************/
-  gst_segment_set_newsegment (&segment, FALSE, 1.0, 2.0,
-      GST_FORMAT_TIME, 0, 200, 0);
-
-  fail_unless (segment.rate == 1.0);
-  fail_unless (segment.applied_rate == 2.0);
-  fail_unless (segment.format == GST_FORMAT_TIME);
-  fail_unless (segment.flags == 0);
-  fail_unless (segment.start == 0);
-  fail_unless (segment.stop == 200);
-  fail_unless (segment.time == 0);
-  fail_unless (segment.base == 200);
-  fail_unless (segment.position == 0);
-  fail_unless (segment.duration == -1);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 0);
-  fail_unless (result == 0);
-
-  /* the stream prepresents a stream going twice as fast, the position 
-   * in the segment is therefore scaled by the applied rate */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 100);
-  fail_unless (result == 200);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 150);
-  fail_unless (result == 300);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 200);
-  fail_unless (result == 400);
-
-  /* outside of the segment */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 300);
-  fail_unless (result == -1);
-
-  /***********************************************************
-   * Normal segment rate 1.0, applied rate -2.0
-   * This means the timestamps represents a stream at twice the
-   * reverse rate
-   ************************************************************/
-  gst_segment_set_newsegment (&segment, FALSE, 1.0, -2.0,
-      GST_FORMAT_TIME, 0, 200, 400);
-
-  fail_unless (segment.rate == 1.0);
-  fail_unless (segment.applied_rate == -2.0);
-  fail_unless (segment.format == GST_FORMAT_TIME);
-  fail_unless (segment.flags == 0);
-  fail_unless (segment.start == 0);
-  fail_unless (segment.stop == 200);
-  fail_unless (segment.time == 400);
-  /* previous segment lasted 200, rate of 2.0 was already applied */
-  fail_unless (segment.base == 400);
-  fail_unless (segment.position == 0);
-  fail_unless (segment.duration == -1);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-
-  /* we count backwards from 400 */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 0);
-  fail_unless (result == 400);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 100);
-  fail_unless (result == 200);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 150);
-  fail_unless (result == 100);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 200);
-  fail_unless (result == 0);
-
-  /* outside of the segment */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 300);
-  fail_unless (result == -1);
-
-  /***********************************************************
-   * Normal segment rate 1.0, applied rate -2.0
-   * This means the timestamps represents a stream at twice the
-   * reverse rate, start time cannot compensate the complete
-   * duration of the segment so we stop at 0
-   ************************************************************/
-  gst_segment_set_newsegment (&segment, FALSE, 1.0, -2.0,
-      GST_FORMAT_TIME, 0, 200, 200);
-
-  fail_unless (segment.rate == 1.0);
-  fail_unless (segment.applied_rate == -2.0);
-  fail_unless (segment.format == GST_FORMAT_TIME);
-  fail_unless (segment.flags == 0);
-  fail_unless (segment.start == 0);
-  fail_unless (segment.stop == 200);
-  fail_unless (segment.time == 200);
-  fail_unless (segment.base == 600);
-  fail_unless (segment.position == 0);
-  fail_unless (segment.duration == -1);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-
-  /* we count backwards from 200 */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 0);
-  fail_unless (result == 200);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 100);
-  fail_unless (result == 0);
-
-  /* clamp at 0 */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 150);
-  fail_unless (result == 0);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 200);
-  fail_unless (result == 0);
-
-  /* outside of the segment */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 300);
-  fail_unless (result == -1);
-}
-
-GST_END_TEST;
-
-/* mess with the segment structure in the time format */
-GST_START_TEST (segment_newsegment_streamtime_applied_rate_rate)
-{
-  GstSegment segment;
-  guint64 result;
-
-  gst_segment_init (&segment, GST_FORMAT_TIME);
-
-  /***********************************************************
-   * Segment rate 2.0, applied rate 2.0
-   * this means we have a double speed stream that we should
-   * speed up by a factor of 2.0 some more. the resulting
-   * stream will be played at four times the speed. 
-   ************************************************************/
-  gst_segment_set_newsegment (&segment, FALSE, 2.0, 2.0,
-      GST_FORMAT_TIME, 0, 200, 0);
-
-  fail_unless (segment.rate == 2.0);
-  fail_unless (segment.applied_rate == 2.0);
-  fail_unless (segment.format == GST_FORMAT_TIME);
-  fail_unless (segment.flags == 0);
-  fail_unless (segment.start == 0);
-  fail_unless (segment.stop == 200);
-  fail_unless (segment.time == 0);
-  fail_unless (segment.base == 0);
-  fail_unless (segment.position == 0);
-  fail_unless (segment.duration == -1);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-
-  /* only applied rate affects our calculation of the stream time */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 0);
-  fail_unless (result == 0);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 100);
-  fail_unless (result == 200);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 150);
-  fail_unless (result == 300);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 200);
-  fail_unless (result == 400);
-
-  /* outside of the segment */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 300);
-  fail_unless (result == -1);
-
-  /***********************************************************
-   * Segment rate 2.0, applied rate -1.0
-   * this means we have a reverse stream that we should
-   * speed up by a factor of 2.0
-   ************************************************************/
-  gst_segment_set_newsegment (&segment, FALSE, 2.0, -1.0,
-      GST_FORMAT_TIME, 0, 200, 200);
-
-  fail_unless (segment.rate == 2.0);
-  fail_unless (segment.applied_rate == -1.0);
-  fail_unless (segment.format == GST_FORMAT_TIME);
-  fail_unless (segment.flags == 0);
-  fail_unless (segment.start == 0);
-  fail_unless (segment.stop == 200);
-  fail_unless (segment.time == 200);
-  /* previous segment lasted 100 */
-  fail_unless (segment.base == 100);
-  fail_unless (segment.position == 0);
-  fail_unless (segment.duration == -1);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-
-  /* only applied rate affects our calculation of the stream time */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 0);
-  fail_unless (result == 200);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 100);
-  fail_unless (result == 100);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 150);
-  fail_unless (result == 50);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 200);
-  fail_unless (result == 0);
-
-  /* outside of the segment */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 300);
-  fail_unless (result == -1);
-
-  /***********************************************************
-   * Segment rate -1.0, applied rate -1.0
-   * this means we have a reverse stream that we should
-   * reverse to get the normal stream again.
-   ************************************************************/
-  gst_segment_set_newsegment (&segment, FALSE, -1.0, -1.0,
-      GST_FORMAT_TIME, 0, 200, 200);
-
-  fail_unless (segment.rate == -1.0);
-  fail_unless (segment.applied_rate == -1.0);
-  fail_unless (segment.format == GST_FORMAT_TIME);
-  fail_unless (segment.flags == 0);
-  fail_unless (segment.start == 0);
-  fail_unless (segment.stop == 200);
-  fail_unless (segment.time == 200);
-  /* accumulated 100 of previous segment to make 200 */
-  fail_unless (segment.base == 200);
-  fail_unless (segment.position == 200);
-  fail_unless (segment.duration == -1);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-
-  /* only applied rate affects our calculation of the stream time */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 0);
-  fail_unless (result == 200);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 100);
-  fail_unless (result == 100);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 150);
-  fail_unless (result == 50);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 200);
-  fail_unless (result == 0);
-
-  /* outside of the segment */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 300);
-  fail_unless (result == -1);
-
-  /***********************************************************
-   * Segment rate -1.0, applied rate -1.0
-   * this means we have a reverse stream that we should
-   * reverse to get the normal stream again.
-   ************************************************************/
-  gst_segment_set_newsegment (&segment, FALSE, -1.0, 2.0,
-      GST_FORMAT_TIME, 0, 200, 0);
-
-  fail_unless (segment.rate == -1.0);
-  fail_unless (segment.applied_rate == 2.0);
-  fail_unless (segment.format == GST_FORMAT_TIME);
-  fail_unless (segment.flags == 0);
-  fail_unless (segment.start == 0);
-  fail_unless (segment.stop == 200);
-  fail_unless (segment.time == 0);
-  fail_unless (segment.base == 400);
-  fail_unless (segment.position == 200);
-  fail_unless (segment.duration == -1);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-
-  /* only applied rate affects our calculation of the stream time */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 0);
-  fail_unless (result == 0);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 100);
-  fail_unless (result == 200);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 150);
-  fail_unless (result == 300);
-
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 200);
-  fail_unless (result == 400);
-
-  /* outside of the segment */
-  result = gst_segment_to_stream_time (&segment, GST_FORMAT_TIME, 300);
-  fail_unless (result == -1);
-}
-
-GST_END_TEST;
-
-/* mess with the segment structure in the time format */
-GST_START_TEST (segment_newsegment_runningtime)
-{
-  GstSegment segment;
-  guint64 result;
-
-  gst_segment_init (&segment, GST_FORMAT_TIME);
-
-  /***************************
-   * Normal segment
-   ***************************/
-  gst_segment_set_newsegment (&segment, FALSE, 1.0, 1.0,
-      GST_FORMAT_TIME, 0, 200, 0);
-
-  fail_unless (segment.rate == 1.0);
-  fail_unless (segment.applied_rate == 1.0);
-  fail_unless (segment.format == GST_FORMAT_TIME);
-  fail_unless (segment.flags == 0);
-  fail_unless (segment.start == 0);
-  fail_unless (segment.stop == 200);
-  fail_unless (segment.time == 0);
-  fail_unless (segment.base == 0);
-  fail_unless (segment.position == 0);
-  fail_unless (segment.duration == -1);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 0);
-  fail_unless (result == 0);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 0);
-
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 100);
-  fail_unless (result == 100);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 100);
-
-  /* at edge is exactly the segment duration */
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 200);
-  fail_unless (result == 200);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 200);
-
-  /* outside of the segment */
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 300);
-  fail_unless (result == -1);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, 300);
-  fail_unless (result == -1);
-
-  /***********************************************************
-   * time shifted by 500, check if accumulation worked.
-   * Rate convert to twice the speed which means scaling down
-   * all positions by 2.0 in this segment.
-   * Then time argument is not used at all here.
-   ***********************************************************/
-  gst_segment_set_newsegment (&segment, FALSE, 2.0, 1.0,
-      GST_FORMAT_TIME, 0, 200, 500);
-
-  /* normal speed gives elapsed of 200 */
-  fail_unless (segment.base == 200);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 0);
-  fail_unless (result == 200);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 0);
-
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 100);
-  fail_unless (result == 250);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 100);
-
-  /* outside of the segment */
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 500);
-  fail_unless (result == -1);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, 310);
-  fail_unless (result == -1);
-
-  /********************************************
-   * time offset by 500
-   * applied rate is not used for running time
-   ********************************************/
-  gst_segment_set_newsegment (&segment, FALSE, 1.0, 2.0,
-      GST_FORMAT_TIME, 500, 700, 0);
-
-  /* previous segment played at double speed gives elapsed time of
-   * 100 added to previous accum of 200 gives 300. */
-  fail_unless (segment.base == 300);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-
-  /* before segment is invalid */
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 400);
-  fail_unless (result == -1);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, 200);
-  fail_unless (result == -1);
-
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 500);
-  fail_unless (result == 300);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 500);
-
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 600);
-  fail_unless (result == 400);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 600);
-
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 700);
-  fail_unless (result == 500);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 700);
-
-  /* outside of the segment */
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 800);
-  fail_unless (result == -1);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, 600);
-  fail_unless (result == -1);
-
-  /**********************************************************
-   * time offset by 500, shifted by 200
-   * Negative rate makes the running time go backwards 
-   * relative to the segment stop position. again time
-   * is ignored.
-   **********************************************************/
-  gst_segment_set_newsegment (&segment, FALSE, -1.0, 1.0,
-      GST_FORMAT_TIME, 500, 700, 200);
-
-  fail_unless (segment.base == 500);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-
-  /* before segment is invalid */
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 400);
-  fail_unless (result == -1);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, 400);
-  fail_unless (result == -1);
-
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 500);
-  fail_unless (result == 700);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 500);
-
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 600);
-  fail_unless (result == 600);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 600);
-
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 700);
-  fail_unless (result == 500);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 700);
-
-  /* outside of the segment */
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 800);
-  fail_unless (result == -1);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, 800);
-  fail_unless (result == -1);
-
-  /**********************************************************
-   * time offset by 500, shifted by 200
-   * Negative rate makes the running time go backwards at
-   * twice speed relative to the segment stop position. again 
-   * time is ignored.
-   **********************************************************/
-  gst_segment_set_newsegment (&segment, FALSE, -2.0, -2.0,
-      GST_FORMAT_TIME, 500, 700, 200);
-
-  fail_unless (segment.base == 700);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-
-  /* before segment is invalid */
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 400);
-  fail_unless (result == -1);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, 600);
-  fail_unless (result == -1);
-
-  /* total scaled segment time is 100, accum is 700, so we get 800 */
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 500);
-  fail_unless (result == 800);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 500);
-
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 600);
-  fail_unless (result == 750);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 600);
-
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 700);
-  fail_unless (result == 700);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 700);
-
-  /* outside of the segment */
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 800);
-  fail_unless (result == -1);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, 900);
-  fail_unless (result == -1);
-
-  /* see if negative rate closed segment correctly */
-  gst_segment_set_newsegment (&segment, FALSE, -2.0, -1.0,
-      GST_FORMAT_TIME, 500, 700, 200);
-
-  /* previous segment lasted 100, and was at 700 so we should get 800 */
-  fail_unless (segment.base == 800);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, 800);
-  fail_unless (result == 700);
-}
-
-GST_END_TEST;
-
-/* mess with the segment structure in the time format */
-GST_START_TEST (segment_newsegment_accum)
-{
-  GstSegment segment;
-  guint64 result;
-
-  gst_segment_init (&segment, GST_FORMAT_TIME);
-
-  /***************************
-   * Normal reverse segment
-   ***************************/
-  gst_segment_set_newsegment (&segment, FALSE, -1.0, 1.0,
-      GST_FORMAT_TIME, 0, 200, 0);
-
-  fail_unless (segment.rate == -1.0);
-  fail_unless (segment.applied_rate == 1.0);
-  fail_unless (segment.format == GST_FORMAT_TIME);
-  fail_unless (segment.flags == 0);
-  fail_unless (segment.start == 0);
-  fail_unless (segment.stop == 200);
-  fail_unless (segment.time == 0);
-  fail_unless (segment.base == 0);
-  fail_unless (segment.position == 200);
-  fail_unless (segment.duration == -1);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 200);
-  fail_unless (result == 0);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 200);
-
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 150);
-  fail_unless (result == 50);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 150);
-
-  /* update segment, this accumulates 50 from the previous segment. */
-  gst_segment_set_newsegment (&segment, TRUE, -2.0, 1.0,
-      GST_FORMAT_TIME, 0, 150, 0);
-
-  fail_unless (segment.rate == -2.0);
-  fail_unless (segment.applied_rate == 1.0);
-  fail_unless (segment.format == GST_FORMAT_TIME);
-  fail_unless (segment.flags == 0);
-  fail_unless (segment.start == 0);
-  fail_unless (segment.stop == 150);
-  fail_unless (segment.time == 0);
-  fail_unless (segment.base == 50);
-  fail_unless (segment.position == 150);
-  fail_unless (segment.duration == -1);
-
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 150);
-  fail_unless (result == 50);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 150);
-
-  /* 50 accumulated + 50 / 2 */
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 100);
-  fail_unless (result == 75);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 100);
-
-  /* update segment, this does not accumulate anything. */
-  gst_segment_set_newsegment (&segment, TRUE, 1.0, 1.0,
-      GST_FORMAT_TIME, 100, 200, 100);
-
-  fail_unless (segment.rate == 1.0);
-  fail_unless (segment.applied_rate == 1.0);
-  fail_unless (segment.format == GST_FORMAT_TIME);
-  fail_unless (segment.flags == 0);
-  fail_unless (segment.start == 100);
-  fail_unless (segment.stop == 200);
-  fail_unless (segment.time == 100);
-  fail_unless (segment.base == 50);
-  fail_unless (segment.position == 150);
-  fail_unless (segment.duration == -1);
-
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 100);
-  fail_unless (result == 50);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 100);
-
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 150);
-  fail_unless (result == 100);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 150);
-}
-
-GST_END_TEST;
-
-/* mess with the segment structure in the time format */
-GST_START_TEST (segment_newsegment_accum2)
-{
-  GstSegment segment;
-  guint64 result;
-
-  gst_segment_init (&segment, GST_FORMAT_TIME);
-
-  /***************************
-   * Normal reverse segment
-   ***************************/
-  gst_segment_set_newsegment (&segment, FALSE, -1.0, 1.0,
-      GST_FORMAT_TIME, 0, 200, 0);
-
-  fail_unless (segment.rate == -1.0);
-  fail_unless (segment.applied_rate == 1.0);
-  fail_unless (segment.format == GST_FORMAT_TIME);
-  fail_unless (segment.flags == 0);
-  fail_unless (segment.start == 0);
-  fail_unless (segment.stop == 200);
-  fail_unless (segment.time == 0);
-  fail_unless (segment.base == 0);
-  fail_unless (segment.position == 200);
-  fail_unless (segment.duration == -1);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == -1);
-
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 200);
-  fail_unless (result == 0);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 200);
-
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 150);
-  fail_unless (result == 50);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 150);
-
-  /* close segment, this accumulates nothing. */
-  gst_segment_set_newsegment (&segment, TRUE, -1.0, 1.0,
-      GST_FORMAT_TIME, 150, 200, 0);
-
-  fail_unless (segment.rate == -1.0);
-  fail_unless (segment.applied_rate == 1.0);
-  fail_unless (segment.format == GST_FORMAT_TIME);
-  fail_unless (segment.flags == 0);
-  fail_unless (segment.start == 150);
-  fail_unless (segment.stop == 200);
-  fail_unless (segment.time == 0);
-  fail_unless (segment.base == 0);
-  fail_unless (segment.position == 200);
-  fail_unless (segment.duration == -1);
-
-  /* new segment, this accumulates 50. */
-  gst_segment_set_newsegment (&segment, FALSE, 1.0, 1.0,
-      GST_FORMAT_TIME, 150, 300, 150);
-
-  fail_unless (segment.rate == 1.0);
-  fail_unless (segment.applied_rate == 1.0);
-  fail_unless (segment.format == GST_FORMAT_TIME);
-  fail_unless (segment.flags == 0);
-  fail_unless (segment.start == 150);
-  fail_unless (segment.stop == 300);
-  fail_unless (segment.time == 150);
-  fail_unless (segment.base == 50);
-  fail_unless (segment.position == 150);
-  fail_unless (segment.duration == -1);
-
-  /* invalid time gives invalid result */
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, -1);
-  fail_unless (result == -1);
-
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 150);
-  fail_unless (result == 50);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 150);
-
-  result = gst_segment_to_running_time (&segment, GST_FORMAT_TIME, 200);
-  fail_unless (result == 100);
-  result = gst_segment_to_position (&segment, GST_FORMAT_TIME, result);
-  fail_unless (result == 200);
-}
-
-GST_END_TEST;
-#endif
-
 GST_START_TEST (segment_copy)
 {
   GstSegment *copy;
@@ -1748,6 +557,63 @@
 
 GST_END_TEST;
 
+/* mess with the segment structure in the bytes format */
+GST_START_TEST (segment_seek_noupdate)
+{
+  GstSegment segment;
+  gboolean update;
+
+  gst_segment_init (&segment, GST_FORMAT_TIME);
+
+  segment.start = 0;
+  segment.position = 50;
+  segment.stop = 200;
+  segment.time = 0;
+
+  /* doesn't change anything */
+  gst_segment_do_seek (&segment, 1.0,
+      GST_FORMAT_TIME,
+      GST_SEEK_FLAG_NONE,
+      GST_SEEK_TYPE_NONE, 0, GST_SEEK_TYPE_NONE, 0, &update);
+  fail_unless (update == FALSE);
+  fail_unless (segment.format == GST_FORMAT_TIME);
+  fail_unless (segment.start == 0);
+  fail_unless (segment.stop == 200);
+  fail_unless (segment.time == 0);
+  fail_unless (segment.position == 50);
+  fail_unless (segment.base == 50);
+  fail_unless (segment.offset == 50);
+
+  gst_segment_do_seek (&segment, 2.0,
+      GST_FORMAT_TIME,
+      GST_SEEK_FLAG_NONE,
+      GST_SEEK_TYPE_NONE, 0, GST_SEEK_TYPE_NONE, 0, &update);
+  fail_unless (update == FALSE);
+  fail_unless (segment.format == GST_FORMAT_TIME);
+  fail_unless (segment.start == 0);
+  fail_unless (segment.stop == 200);
+  fail_unless (segment.time == 0);
+  fail_unless (segment.position == 50);
+  fail_unless (segment.base == 50);
+  fail_unless_equals_int (segment.offset, 50);
+
+  gst_segment_do_seek (&segment, 1.0,
+      GST_FORMAT_TIME,
+      GST_SEEK_FLAG_FLUSH,
+      GST_SEEK_TYPE_NONE, 0, GST_SEEK_TYPE_NONE, 0, &update);
+  fail_unless (update == FALSE);
+  fail_unless (segment.format == GST_FORMAT_TIME);
+  fail_unless (segment.start == 0);
+  fail_unless (segment.stop == 200);
+  fail_unless (segment.time == 0);
+  fail_unless (segment.position == 50);
+  fail_unless (segment.base == 0);
+  fail_unless (segment.offset == 50);
+}
+
+GST_END_TEST;
+
+
 static Suite *
 gst_segment_suite (void)
 {
@@ -1761,18 +627,8 @@
   tcase_add_test (tc_chain, segment_seek_size);
   tcase_add_test (tc_chain, segment_seek_reverse);
   tcase_add_test (tc_chain, segment_seek_rate);
-#if 0
-  tcase_add_test (tc_chain, segment_newsegment_open);
-  tcase_add_test (tc_chain, segment_newsegment_closed);
-  tcase_add_test (tc_chain, segment_newsegment_streamtime);
-  tcase_add_test (tc_chain, segment_newsegment_streamtime_rate);
-  tcase_add_test (tc_chain, segment_newsegment_streamtime_applied_rate);
-  tcase_add_test (tc_chain, segment_newsegment_streamtime_applied_rate_rate);
-  tcase_add_test (tc_chain, segment_newsegment_runningtime);
-  tcase_add_test (tc_chain, segment_newsegment_accum);
-  tcase_add_test (tc_chain, segment_newsegment_accum2);
-#endif
   tcase_add_test (tc_chain, segment_copy);
+  tcase_add_test (tc_chain, segment_seek_noupdate);
 
   return s;
 }
diff --git a/tests/check/gst/gststructure.c b/tests/check/gst/gststructure.c
index 3428d17..9150872 100644
--- a/tests/check/gst/gststructure.c
+++ b/tests/check/gst/gststructure.c
@@ -233,7 +233,7 @@
   GstStructure *structure;
   const gchar *s;
 
-  s = "GstEventSeek, rate=(double)1, format=(GstFormat)GST_FORMAT_TIME, flags=(GstSeekFlags)GST_SEEK_FLAGS_NONE, cur_type=(GstSeekType)GST_SEEK_TYPE_SET, cur=(gint64)1000000000, stop_type=(GstSeekType)GST_SEEK_TYPE_NONE, stop=(gint64)0";
+  s = "GstEventSeek, rate=(double)1, format=(GstFormat)GST_FORMAT_TIME, flags=(GstSeekFlags)GST_SEEK_FLAGS_NONE, start_type=(GstSeekType)GST_SEEK_TYPE_SET, start=(gint64)1000000000, stop_type=(GstSeekType)GST_SEEK_TYPE_NONE, stop=(gint64)0";
   structure = gst_structure_from_string (s, NULL);
   fail_if (structure == NULL, "Could not get structure from string %s", s);
   /* FIXME: TODO: add checks for correct serialization of members ? */
diff --git a/tests/check/gst/gstsystemclock.c b/tests/check/gst/gstsystemclock.c
index 5c9304c..640ed1f 100644
--- a/tests/check/gst/gstsystemclock.c
+++ b/tests/check/gst/gstsystemclock.c
@@ -150,7 +150,7 @@
 
   id = gst_clock_new_single_shot_id (clock, base + 2 * TIME_UNIT);
   GST_DEBUG ("waiting one second async id %p", id);
-  result = gst_clock_id_wait_async (id, ok_callback, NULL);
+  result = gst_clock_id_wait_async (id, ok_callback, NULL, NULL);
   fail_unless (result == GST_CLOCK_OK, "Waiting did not return OK");
   g_usleep (TIME_UNIT / (2 * 1000));
   gst_clock_id_unschedule (id);
@@ -158,7 +158,7 @@
 
   id = gst_clock_new_single_shot_id (clock, base + 5 * TIME_UNIT);
   GST_DEBUG ("waiting one second async, with cancel on id %p", id);
-  result = gst_clock_id_wait_async (id, error_callback, NULL);
+  result = gst_clock_id_wait_async (id, error_callback, NULL, NULL);
   fail_unless (result == GST_CLOCK_OK, "Waiting did not return OK");
   g_usleep (TIME_UNIT / (2 * 1000));
   GST_DEBUG ("cancel id %p after half a time unit", id);
@@ -170,11 +170,11 @@
   id = gst_clock_new_single_shot_id (clock, base + 5 * TIME_UNIT);
   id2 = gst_clock_new_single_shot_id (clock, base + 6 * TIME_UNIT);
   GST_DEBUG ("waiting id %p", id);
-  result = gst_clock_id_wait_async (id, ok_callback, NULL);
+  result = gst_clock_id_wait_async (id, ok_callback, NULL, NULL);
   fail_unless (result == GST_CLOCK_OK, "Waiting did not return OK");
 
   GST_DEBUG ("waiting id %p", id2);
-  result = gst_clock_id_wait_async (id2, error_callback, NULL);
+  result = gst_clock_id_wait_async (id2, error_callback, NULL, NULL);
   fail_unless (result == GST_CLOCK_OK, "Waiting did not return OK");
   g_usleep (TIME_UNIT / (2 * 1000));
   GST_DEBUG ("cancel id %p after half a time unit", id2);
@@ -221,12 +221,12 @@
   fail_unless (result == GST_CLOCK_OK, "Waiting did not return OK");
 
   GST_DEBUG ("waiting for the next async %p", id);
-  result = gst_clock_id_wait_async (id, ok_callback, NULL);
+  result = gst_clock_id_wait_async (id, ok_callback, NULL, NULL);
   fail_unless (result == GST_CLOCK_OK, "Waiting did not return OK");
   g_usleep (TIME_UNIT / (2 * 1000));
 
   GST_DEBUG ("waiting some more for the next async %p", id);
-  result = gst_clock_id_wait_async (id, ok_callback, NULL);
+  result = gst_clock_id_wait_async (id, ok_callback, NULL, NULL);
   fail_unless (result == GST_CLOCK_OK, "Waiting did not return OK");
   g_usleep (TIME_UNIT / (2 * 1000));
 
@@ -234,7 +234,7 @@
   fail_unless (id2 != NULL, "Could not create second periodic id");
 
   GST_DEBUG ("waiting some more for another async %p", id2);
-  result = gst_clock_id_wait_async (id2, ok_callback, NULL);
+  result = gst_clock_id_wait_async (id2, ok_callback, NULL, NULL);
   fail_unless (result == GST_CLOCK_OK, "Waiting did not return OK");
   g_usleep (TIME_UNIT / (2 * 1000));
 
@@ -242,7 +242,7 @@
   gst_clock_id_unschedule (id);
 
   /* entry cannot be used again */
-  result = gst_clock_id_wait_async (id, error_callback, NULL);
+  result = gst_clock_id_wait_async (id, error_callback, NULL, NULL);
   fail_unless (result == GST_CLOCK_UNSCHEDULED,
       "Waiting did not return UNSCHEDULED");
   result = gst_clock_id_wait (id, NULL);
@@ -278,10 +278,10 @@
 
   id1 = gst_clock_new_single_shot_id (clock, base + 2 * TIME_UNIT);
   id2 = gst_clock_new_single_shot_id (clock, base + 1 * TIME_UNIT);
-  result = gst_clock_id_wait_async (id1, store_callback, &cb_list);
+  result = gst_clock_id_wait_async (id1, store_callback, &cb_list, NULL);
   fail_unless (result == GST_CLOCK_OK, "Waiting did not return OK");
   g_usleep (TIME_UNIT / (2 * 1000));
-  result = gst_clock_id_wait_async (id2, store_callback, &cb_list);
+  result = gst_clock_id_wait_async (id2, store_callback, &cb_list, NULL);
   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 */
@@ -379,7 +379,7 @@
     g_mutex_unlock (td.lock);
 
     result = gst_clock_id_wait_async (td.async_id,
-        test_async_sync_interaction_cb, &td);
+        test_async_sync_interaction_cb, &td, NULL);
     fail_unless (result == GST_CLOCK_OK, "Waiting did not return OK");
 
     /* Wait 10ms, then unschedule async_id and schedule async_id2 */
@@ -388,13 +388,13 @@
         "Waiting did not return OK or EARLY");
     /* async_id2 is earlier than async_id - should become head of the queue */
     result = gst_clock_id_wait_async (td.async_id2,
-        test_async_sync_interaction_cb, &td);
+        test_async_sync_interaction_cb, &td, NULL);
     fail_unless (result == GST_CLOCK_OK, "Waiting did not return OK");
     gst_clock_id_unschedule (td.async_id);
 
     /* async_id3 is earlier than async_id2 - should become head of the queue */
     result = gst_clock_id_wait_async (td.async_id3,
-        test_async_sync_interaction_cb, &td);
+        test_async_sync_interaction_cb, &td, NULL);
     fail_unless (result == GST_CLOCK_OK, "Waiting did not return OK");
 
     /* While this is sleeping, the async3 id should fire and unschedule it */
@@ -444,7 +444,8 @@
   clock_id_async =
       gst_clock_new_periodic_id (clock, base + TIME_UNIT, TIME_UNIT);
   result =
-      gst_clock_id_wait_async (clock_id_async, notify_callback, &got_callback);
+      gst_clock_id_wait_async (clock_id_async, notify_callback, &got_callback,
+      NULL);
   fail_unless (result == GST_CLOCK_OK, "Async waiting did not return OK");
 
   result = gst_clock_id_wait (clock_id, NULL);
@@ -544,7 +545,7 @@
   g_usleep (G_USEC_PER_SEC / 2);
 
   /* start scheduling the entry */
-  gst_clock_id_wait_async (id, mixed_async_cb, NULL);
+  gst_clock_id_wait_async (id, mixed_async_cb, NULL, NULL);
 
   /* wait for thread to finish */
   g_thread_join (thread);
@@ -609,7 +610,7 @@
   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_full (clockid,
+  gst_clock_id_wait_async (clockid,
       (GstClockCallback) test_async_full_slave_callback,
       gst_object_ref (slave), (GDestroyNotify) gst_object_unref);
 
diff --git a/tests/check/gst/gsttag.c b/tests/check/gst/gsttag.c
index 9dcca2d..1e52a22 100644
--- a/tests/check/gst/gsttag.c
+++ b/tests/check/gst/gsttag.c
@@ -345,36 +345,48 @@
 {
   GstTagList *tags;
   GstBuffer *buf1, *buf2;
+  GstSample *s1, *s2;
 
   tags = gst_tag_list_new_empty ();
+
   buf1 = gst_buffer_new_and_alloc (222);
+  s1 = gst_sample_new (buf1, NULL, NULL, NULL);
+  gst_buffer_unref (buf1);
+
   buf2 = gst_buffer_new_and_alloc (100);
-  gst_tag_list_add (tags, GST_TAG_MERGE_APPEND, GST_TAG_IMAGE, buf1,
-      GST_TAG_PREVIEW_IMAGE, buf2, NULL);
-  gst_buffer_unref (buf1);
+  s2 = gst_sample_new (buf2, NULL, NULL, NULL);
   gst_buffer_unref (buf2);
 
-  buf1 = buf2 = NULL;
-  fail_if (!gst_tag_list_get_buffer (tags, GST_TAG_IMAGE, &buf1));
-  gst_buffer_unref (buf1);
-  fail_if (!gst_tag_list_get_buffer (tags, GST_TAG_PREVIEW_IMAGE, &buf2));
-  gst_buffer_unref (buf2);
+  gst_tag_list_add (tags, GST_TAG_MERGE_APPEND, GST_TAG_IMAGE, s1,
+      GST_TAG_PREVIEW_IMAGE, s2, NULL);
 
-  fail_if (gst_tag_list_get_buffer_index (tags, GST_TAG_IMAGE, 1, &buf1));
-  fail_if (gst_tag_list_get_buffer_index (tags, GST_TAG_IMAGE, 2, &buf1));
-  fail_if (gst_tag_list_get_buffer_index (tags, GST_TAG_PREVIEW_IMAGE, 1,
-          &buf1));
-  fail_if (gst_tag_list_get_buffer_index (tags, GST_TAG_PREVIEW_IMAGE, 2,
-          &buf1));
+  gst_sample_unref (s1);
+  gst_sample_unref (s2);
+  s1 = s2 = NULL;
 
-  fail_if (!gst_tag_list_get_buffer_index (tags, GST_TAG_IMAGE, 0, &buf1));
-  fail_if (!gst_tag_list_get_buffer_index (tags, GST_TAG_PREVIEW_IMAGE, 0,
-          &buf2));
+  fail_if (!gst_tag_list_get_sample (tags, GST_TAG_IMAGE, &s1));
+  fail_unless (gst_sample_get_buffer (s1) == buf1);
+  gst_sample_unref (s1);
+
+  fail_if (!gst_tag_list_get_sample (tags, GST_TAG_PREVIEW_IMAGE, &s2));
+  fail_unless (gst_sample_get_buffer (s2) == buf2);
+  gst_sample_unref (s2);
+
+  fail_if (gst_tag_list_get_sample_index (tags, GST_TAG_IMAGE, 1, &s1));
+  fail_if (gst_tag_list_get_sample_index (tags, GST_TAG_IMAGE, 2, &s1));
+  fail_if (gst_tag_list_get_sample_index (tags, GST_TAG_PREVIEW_IMAGE, 1, &s1));
+  fail_if (gst_tag_list_get_sample_index (tags, GST_TAG_PREVIEW_IMAGE, 2, &s1));
+
+  fail_if (!gst_tag_list_get_sample_index (tags, GST_TAG_IMAGE, 0, &s1));
+  fail_if (!gst_tag_list_get_sample_index (tags, GST_TAG_PREVIEW_IMAGE, 0,
+          &s2));
+  buf1 = gst_sample_get_buffer (s1);
   fail_unless_equals_int (gst_buffer_get_size (buf1), 222);
+  buf2 = gst_sample_get_buffer (s2);
   fail_unless_equals_int (gst_buffer_get_size (buf2), 100);
 
-  gst_buffer_unref (buf1);
-  gst_buffer_unref (buf2);
+  gst_sample_unref (s1);
+  gst_sample_unref (s2);
 
   gst_tag_list_unref (tags);
 }
@@ -452,6 +464,8 @@
 GST_START_TEST (test_equal)
 {
   GstTagList *tags, *tags2;
+  GstSample *sample1, *sample2, *sample11;
+  GstBuffer *buf;
 
   tags = gst_tag_list_new_empty ();
   gst_tag_list_add (tags, GST_TAG_MERGE_APPEND, GST_TAG_ARTIST, "Foo", NULL);
@@ -482,6 +496,48 @@
 
   gst_tag_list_unref (tags);
   gst_tag_list_unref (tags2);
+
+  /* samples */
+  buf = gst_buffer_new_wrapped (g_strdup ("test 1-2-3"), 10);
+  sample1 = gst_sample_new (buf, NULL, NULL, NULL);
+  gst_buffer_unref (buf);
+
+  buf = gst_buffer_new_wrapped (g_strdup ("test 1-2-3"), 10);
+  sample11 = gst_sample_new (buf, NULL, NULL, NULL);
+  gst_buffer_unref (buf);
+
+  buf = gst_buffer_new_wrapped (g_strdup ("test 2-3-4-5"), 12);
+  sample2 = gst_sample_new (buf, NULL, NULL, NULL);
+  gst_buffer_unref (buf);
+
+  tags = gst_tag_list_new_empty ();
+  gst_tag_list_add (tags, GST_TAG_MERGE_APPEND, GST_TAG_IMAGE, sample1, NULL);
+
+  tags2 = gst_tag_list_new_empty ();
+  fail_unless (!gst_tag_list_is_equal (tags2, tags));
+
+  /* sample sample, should be very equal now */
+  gst_tag_list_add (tags2, GST_TAG_MERGE_APPEND, GST_TAG_IMAGE, sample1, NULL);
+  fail_unless (gst_tag_list_is_equal (tags2, tags));
+  gst_tag_list_unref (tags2);
+
+  /* same buffer content, but different buffer instances, still rather equal */
+  tags2 = gst_tag_list_new_empty ();
+  gst_tag_list_add (tags2, GST_TAG_MERGE_APPEND, GST_TAG_IMAGE, sample11, NULL);
+  fail_unless (gst_tag_list_is_equal (tags2, tags));
+  gst_tag_list_unref (tags2);
+
+  /* different buffer content, should not be equal */
+  tags2 = gst_tag_list_new_empty ();
+  gst_tag_list_add (tags2, GST_TAG_MERGE_APPEND, GST_TAG_IMAGE, sample2, NULL);
+  fail_unless (!gst_tag_list_is_equal (tags2, tags));
+  gst_tag_list_unref (tags2);
+
+  gst_tag_list_unref (tags);
+
+  gst_sample_unref (sample1);
+  gst_sample_unref (sample11);
+  gst_sample_unref (sample2);
 }
 
 GST_END_TEST;
diff --git a/tests/check/gst/gsttask.c b/tests/check/gst/gsttask.c
index 824f926..699219f 100644
--- a/tests/check/gst/gsttask.c
+++ b/tests/check/gst/gsttask.c
@@ -46,7 +46,7 @@
   GstTask *t;
   gboolean ret;
 
-  t = gst_task_new (task_func2, &t);
+  t = gst_task_new (task_func2, &t, NULL);
   fail_if (t == NULL);
 
   g_rec_mutex_init (&task_mutex);
@@ -90,7 +90,7 @@
   GstTask *t;
   gboolean ret;
 
-  t = gst_task_new (task_func, NULL);
+  t = gst_task_new (task_func, NULL, NULL);
   fail_if (t == NULL);
 
   g_rec_mutex_init (&task_mutex);
@@ -128,7 +128,7 @@
   GstTask *t;
   gboolean ret;
 
-  t = gst_task_new (task_func, NULL);
+  t = gst_task_new (task_func, NULL, NULL);
   fail_if (t == NULL);
 
   g_rec_mutex_init (&task_mutex);
@@ -156,7 +156,7 @@
   GstTask *t;
   gboolean ret;
 
-  t = gst_task_new (task_func, NULL);
+  t = gst_task_new (task_func, NULL, NULL);
   fail_if (t == NULL);
 
   /* stop should be possible without lock */
@@ -182,7 +182,7 @@
 {
   GstTask *t;
 
-  t = gst_task_new (task_func, NULL);
+  t = gst_task_new (task_func, NULL, NULL);
   fail_if (t == NULL);
 
   gst_object_unref (t);
diff --git a/tests/check/gst/gsttoc.c b/tests/check/gst/gsttoc.c
index 5e936db..4a03cd7 100644
--- a/tests/check/gst/gsttoc.c
+++ b/tests/check/gst/gsttoc.c
@@ -46,163 +46,138 @@
 #define TOC_TAG         "TocTag"
 
 #define TEST_UID        "129537542"
-#define INFO_NAME	"gst-toc-check"
-#define INFO_FIELD      "info-test"
-#define INFO_TEXT_EN    "info-text-entry"
-#define INFO_TEXT_TOC   "info-text-toc"
 
-#define CHECK_TOC_ENTRY(entry_c,type_c,uid_c)                            \
-{                                                                        \
-  gchar *tag_c;                                                          \
-  const GValue *val;                                                     \
-  GstStructure *struct_c;                                                \
-                                                                         \
-  fail_unless_equals_string (entry_c->uid, uid_c);                       \
-  fail_unless (entry_c->type == type_c);                                 \
-  fail_unless (entry_c->tags != NULL);                                   \
-  fail_unless (entry_c->pads == NULL);                                   \
-                                                                         \
-  fail_unless (entry_c->info != NULL);                                   \
-  gst_structure_get (entry_c->info, INFO_NAME, GST_TYPE_STRUCTURE,       \
-      &struct_c, NULL);                                                  \
-  fail_unless (struct_c != NULL);                                        \
-  val = gst_structure_get_value (struct_c, INFO_FIELD);                  \
-  fail_unless (val != NULL);                                             \
-  fail_unless_equals_string (g_value_get_string (val), INFO_TEXT_EN);    \
-                                                                         \
-  fail_unless (gst_tag_list_get_string (entry_c->tags,                   \
-      GST_TAG_TITLE, &tag_c));                                           \
-  fail_unless_equals_string (tag_c, ENTRY_TAG);                          \
-  g_free (tag_c);                                                        \
-  gst_structure_free (struct_c);                                         \
+static void
+CHECK_TOC_ENTRY (GstTocEntry * entry_c, GstTocEntryType type_c,
+    const gchar * uid_c)
+{
+  GstTagList *tags;
+  gchar *tag_c;
+
+  fail_unless_equals_string (gst_toc_entry_get_uid (entry_c), uid_c);
+  fail_unless (gst_toc_entry_get_entry_type (entry_c) == type_c);
+
+  tags = gst_toc_entry_get_tags (entry_c);
+  fail_unless (tags != NULL);
+  fail_unless (gst_tag_list_get_string (tags, GST_TAG_TITLE, &tag_c));
+  fail_unless_equals_string (tag_c, ENTRY_TAG);
+  g_free (tag_c);
 }
 
-#define CHECK_TOC(toc_t)                                                 \
-{                                                                        \
-  GstTocEntry *entry_t, *subentry_t;                                     \
-  gchar *tag_t;                                                          \
-  const GValue *val;                                                     \
-  GstStructure *struct_toc;                                              \
-                                                                         \
-  /* check TOC */                                                        \
-  fail_unless (g_list_length (toc_t->entries) == 2);                     \
-  fail_unless (toc_t->tags != NULL);                                     \
-  fail_unless (gst_tag_list_get_string (toc_t->tags,                     \
-      GST_TAG_TITLE, &tag_t));                                           \
-  fail_unless_equals_string (tag_t, TOC_TAG);                            \
-  g_free (tag_t);                                                        \
-                                                                         \
-  fail_unless (toc_t->info != NULL);                                     \
-  gst_structure_get (toc_t->info, INFO_NAME, GST_TYPE_STRUCTURE,         \
-      &struct_toc, NULL);                                                \
-  fail_unless (struct_toc != NULL);                                      \
-  val = gst_structure_get_value (struct_toc, INFO_FIELD);                \
-  fail_unless (val != NULL);                                             \
-  fail_unless_equals_string (g_value_get_string (val), INFO_TEXT_TOC);   \
-  gst_structure_free (struct_toc);                                       \
-                                                                         \
-  /* check edition1 */                                                   \
-  entry_t = g_list_nth_data (toc_t->entries, 0);                         \
-  fail_if (entry_t == NULL);                                             \
-  fail_unless (g_list_length (entry_t->subentries) == 2);                \
-  CHECK_TOC_ENTRY (entry_t, GST_TOC_ENTRY_TYPE_EDITION, ENTRY_ED1);      \
-  /* check chapter1 */                                                   \
-  subentry_t = g_list_nth_data (entry_t->subentries, 0);                 \
-  fail_if (subentry_t == NULL);                                          \
-  fail_unless (g_list_length (subentry_t->subentries) == 0);             \
-  CHECK_TOC_ENTRY (subentry_t, GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_CH1);   \
-  /* check chapter2 */                                                   \
-  subentry_t = g_list_nth_data (entry_t->subentries, 1);                 \
-  fail_if (subentry_t == NULL);                                          \
-  fail_unless (g_list_length (subentry_t->subentries) == 0);             \
-  CHECK_TOC_ENTRY (subentry_t, GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_CH2);   \
-  /* check edition2 */                                                   \
-  entry_t = g_list_nth_data (toc_t->entries, 1);                         \
-  fail_if (entry_t == NULL);                                             \
-  fail_unless (g_list_length (entry_t->subentries) == 1);                \
-  CHECK_TOC_ENTRY (entry_t, GST_TOC_ENTRY_TYPE_EDITION, ENTRY_ED2);      \
-  /* check chapter3 */                                                   \
-  subentry_t = g_list_nth_data (entry_t->subentries, 0);                 \
-  fail_if (subentry_t == NULL);                                          \
-  fail_unless (g_list_length (subentry_t->subentries) == 1);             \
-  CHECK_TOC_ENTRY (subentry_t, GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_CH3);   \
-  /* check subchapter1 */                                                \
-  subentry_t = g_list_nth_data (subentry_t->subentries, 0);              \
-  fail_if (subentry_t == NULL);                                          \
-  fail_unless (g_list_length (subentry_t->subentries) == 0);             \
-  CHECK_TOC_ENTRY (subentry_t, GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_SUB1);  \
+static void
+CHECK_TOC (GstToc * toc_t)
+{
+  GstTocEntry *entry_t, *subentry_t;
+  GstTagList *tags;
+  GList *entries, *subentries, *subsubentries;
+  gchar *tag_t;
+
+  /* dump TOC */
+  gst_toc_dump (toc_t);
+
+  /* check TOC */
+  tags = gst_toc_get_tags (toc_t);
+  fail_unless (tags != NULL);
+  fail_unless (gst_tag_list_get_string (tags, GST_TAG_TITLE, &tag_t));
+  fail_unless_equals_string (tag_t, TOC_TAG);
+  g_free (tag_t);
+
+  entries = gst_toc_get_entries (toc_t);
+  fail_unless_equals_int (g_list_length (entries), 2);
+
+  /* check edition1 */
+  entry_t = g_list_nth_data (entries, 0);
+  fail_if (entry_t == NULL);
+  subentries = gst_toc_entry_get_sub_entries (entry_t);
+  fail_unless_equals_int (g_list_length (subentries), 2);
+  CHECK_TOC_ENTRY (entry_t, GST_TOC_ENTRY_TYPE_EDITION, ENTRY_ED1);
+  /* check chapter1 */
+  subentry_t = g_list_nth_data (subentries, 0);
+  fail_if (subentry_t == NULL);
+  subsubentries = gst_toc_entry_get_sub_entries (subentry_t);
+  fail_unless_equals_int (g_list_length (subsubentries), 0);
+  CHECK_TOC_ENTRY (subentry_t, GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_CH1);
+  /* check chapter2 */
+  subentry_t = g_list_nth_data (subentries, 1);
+  fail_if (subentry_t == NULL);
+  subsubentries = gst_toc_entry_get_sub_entries (subentry_t);
+  fail_unless_equals_int (g_list_length (subsubentries), 0);
+  CHECK_TOC_ENTRY (subentry_t, GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_CH2);
+
+  /* check edition2 */
+  entry_t = g_list_nth_data (entries, 1);
+  fail_if (entry_t == NULL);
+  CHECK_TOC_ENTRY (entry_t, GST_TOC_ENTRY_TYPE_EDITION, ENTRY_ED2);
+  subentries = gst_toc_entry_get_sub_entries (entry_t);
+  fail_unless_equals_int (g_list_length (subentries), 1);
+  /* check chapter3 */
+  subentry_t = g_list_nth_data (subentries, 0);
+  fail_if (subentry_t == NULL);
+  CHECK_TOC_ENTRY (subentry_t, GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_CH3);
+  subsubentries = gst_toc_entry_get_sub_entries (subentry_t);
+  fail_unless_equals_int (g_list_length (subsubentries), 1);
+  /* check subchapter1 */
+  subentry_t = g_list_nth_data (subsubentries, 0);
+  fail_if (subentry_t == NULL);
+  CHECK_TOC_ENTRY (subentry_t, GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_SUB1);
+  subsubentries = gst_toc_entry_get_sub_entries (subentry_t);
+  fail_unless_equals_int (g_list_length (subsubentries), 0);
 }
 
+/* This whole test is a bit pointless now that we just stuff a ref of
+ * the original TOC into the message/query/event */
 GST_START_TEST (test_serializing)
 {
-  GstStructure *structure;
   GstToc *toc, *test_toc = NULL;
   GstTocEntry *ed, *ch, *subch;
+  GstTagList *tags;
   GstEvent *event;
   GstMessage *message;
-  GstQuery *query;
   gboolean updated;
   gchar *uid;
   gint64 start = -1, stop = -1;
 
-  toc = gst_toc_new ();
+  toc = gst_toc_new (GST_TOC_SCOPE_GLOBAL);
+  fail_unless_equals_int (gst_toc_get_scope (toc), GST_TOC_SCOPE_GLOBAL);
   fail_if (toc == NULL);
-  gst_tag_list_add (toc->tags, GST_TAG_MERGE_APPEND, GST_TAG_TITLE,
-      TOC_TAG, NULL);
-  structure =
-      gst_structure_new (INFO_NAME, INFO_FIELD, G_TYPE_STRING, INFO_TEXT_TOC,
-      NULL);
-  gst_structure_set (toc->info, INFO_NAME, GST_TYPE_STRUCTURE, structure, NULL);
-  gst_structure_free (structure);
+  tags = gst_tag_list_new (GST_TAG_TITLE, TOC_TAG, NULL);
+  gst_toc_set_tags (toc, tags);
 
   /* create edition1 */
   ed = gst_toc_entry_new (GST_TOC_ENTRY_TYPE_EDITION, ENTRY_ED1);
   fail_if (ed == NULL);
-  gst_tag_list_add (ed->tags, GST_TAG_MERGE_APPEND, GST_TAG_TITLE,
-      ENTRY_TAG, NULL);
-  structure =
-      gst_structure_new (INFO_NAME, INFO_FIELD, G_TYPE_STRING, INFO_TEXT_EN,
-      NULL);
-  gst_structure_set (ed->info, INFO_NAME, GST_TYPE_STRUCTURE, structure, NULL);
-  gst_structure_free (structure);
+  tags = gst_tag_list_new (GST_TAG_TITLE, ENTRY_TAG, NULL);
+  gst_toc_entry_set_tags (ed, tags);
 
   CHECK_TOC_ENTRY (ed, GST_TOC_ENTRY_TYPE_EDITION, ENTRY_ED1);
 
   /* append chapter1 to edition1 */
   ch = gst_toc_entry_new (GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_CH1);
   fail_if (ch == NULL);
-  gst_tag_list_add (ch->tags, GST_TAG_MERGE_APPEND, GST_TAG_TITLE,
-      ENTRY_TAG, NULL);
-  structure =
-      gst_structure_new (INFO_NAME, INFO_FIELD, G_TYPE_STRING, INFO_TEXT_EN,
-      NULL);
-  gst_structure_set (ch->info, INFO_NAME, GST_TYPE_STRUCTURE, structure, NULL);
-  gst_structure_free (structure);
+  tags = gst_tag_list_new (GST_TAG_TITLE, ENTRY_TAG, NULL);
+  gst_toc_entry_set_tags (ch, tags);
 
   CHECK_TOC_ENTRY (ch, GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_CH1);
 
-  ed->subentries = g_list_append (ed->subentries, ch);
-  fail_unless (g_list_length (ed->subentries) == 1);
+  gst_toc_entry_append_sub_entry (ed, ch);
+  fail_unless_equals_int (g_list_length (gst_toc_entry_get_sub_entries (ed)),
+      1);
 
   /* append chapter2 to edition1 */
   ch = gst_toc_entry_new (GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_CH2);
   fail_if (ch == NULL);
-  gst_tag_list_add (ch->tags, GST_TAG_MERGE_APPEND, GST_TAG_TITLE,
-      ENTRY_TAG, NULL);
-  structure =
-      gst_structure_new (INFO_NAME, INFO_FIELD, G_TYPE_STRING, INFO_TEXT_EN,
-      NULL);
-  gst_structure_set (ch->info, INFO_NAME, GST_TYPE_STRUCTURE, structure, NULL);
-  gst_structure_free (structure);
+  tags = gst_tag_list_new (GST_TAG_TITLE, ENTRY_TAG, NULL);
+  gst_toc_entry_set_tags (ch, tags);
 
   CHECK_TOC_ENTRY (ch, GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_CH2);
 
-  ed->subentries = g_list_append (ed->subentries, ch);
-  fail_unless (g_list_length (ed->subentries) == 2);
+  gst_toc_entry_append_sub_entry (ed, ch);
+  fail_unless_equals_int (g_list_length (gst_toc_entry_get_sub_entries (ed)),
+      2);
 
   /* append edition1 to the TOC */
-  toc->entries = g_list_append (toc->entries, ed);
-  fail_unless (g_list_length (toc->entries) == 1);
+  gst_toc_append_entry (toc, ed);
+  fail_unless_equals_int (g_list_length (gst_toc_get_entries (toc)), 1);
 
   /* test gst_toc_entry_find() */
   ed = NULL;
@@ -213,68 +188,58 @@
   CHECK_TOC_ENTRY (ed, GST_TOC_ENTRY_TYPE_EDITION, ENTRY_ED1);
 
   /* test info GstStructure */
-  gst_toc_entry_set_start_stop (ch, 100, 1000);
-  fail_if (!gst_toc_entry_get_start_stop (ch, &start, &stop));
+  gst_toc_entry_set_start_stop_times (ch, 100, 1000);
+  fail_if (!gst_toc_entry_get_start_stop_times (ch, &start, &stop));
   fail_unless (start == 100);
   fail_unless (stop == 1000);
 
   /* create edition2 */
   ed = gst_toc_entry_new (GST_TOC_ENTRY_TYPE_EDITION, ENTRY_ED2);
   fail_if (ed == NULL);
-  gst_tag_list_add (ed->tags, GST_TAG_MERGE_APPEND, GST_TAG_TITLE,
-      ENTRY_TAG, NULL);
-  structure =
-      gst_structure_new (INFO_NAME, INFO_FIELD, G_TYPE_STRING, INFO_TEXT_EN,
-      NULL);
-  gst_structure_set (ed->info, INFO_NAME, GST_TYPE_STRUCTURE, structure, NULL);
-  gst_structure_free (structure);
+  tags = gst_tag_list_new (GST_TAG_TITLE, ENTRY_TAG, NULL);
+  gst_toc_entry_set_tags (ed, tags);
 
   CHECK_TOC_ENTRY (ed, GST_TOC_ENTRY_TYPE_EDITION, ENTRY_ED2);
 
   /* create chapter3 */
   ch = gst_toc_entry_new (GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_CH3);
   fail_if (ch == NULL);
-  gst_tag_list_add (ch->tags, GST_TAG_MERGE_APPEND, GST_TAG_TITLE,
-      ENTRY_TAG, NULL);
-  structure =
-      gst_structure_new (INFO_NAME, INFO_FIELD, G_TYPE_STRING, INFO_TEXT_EN,
-      NULL);
-  gst_structure_set (ch->info, INFO_NAME, GST_TYPE_STRUCTURE, structure, NULL);
-  gst_structure_free (structure);
+  tags = gst_tag_list_new (GST_TAG_TITLE, ENTRY_TAG, NULL);
+  gst_toc_entry_set_tags (ch, tags);
 
   CHECK_TOC_ENTRY (ch, GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_CH3);
 
   /* create subchapter1 */
   subch = gst_toc_entry_new (GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_SUB1);
   fail_if (subch == NULL);
-  gst_tag_list_add (subch->tags, GST_TAG_MERGE_APPEND, GST_TAG_TITLE,
-      ENTRY_TAG, NULL);
-  structure =
-      gst_structure_new (INFO_NAME, INFO_FIELD, G_TYPE_STRING, INFO_TEXT_EN,
-      NULL);
-  gst_structure_set (subch->info, INFO_NAME, GST_TYPE_STRUCTURE, structure,
-      NULL);
-  gst_structure_free (structure);
+  tags = gst_tag_list_new (GST_TAG_TITLE, ENTRY_TAG, NULL);
+  gst_toc_entry_set_tags (subch, tags);
 
   CHECK_TOC_ENTRY (subch, GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_SUB1);
 
   /* append subchapter1 to chapter3 */
-  ch->subentries = g_list_append (ch->subentries, subch);
-  fail_unless (g_list_length (ch->subentries) == 1);
+  gst_toc_entry_append_sub_entry (ch, subch);
+  fail_unless_equals_int (g_list_length (gst_toc_entry_get_sub_entries (ch)),
+      1);
 
   /* append chapter3 to edition2 */
-  ed->subentries = g_list_append (ed->subentries, ch);
-  fail_unless (g_list_length (ed->subentries) == 1);
+  gst_toc_entry_append_sub_entry (ed, ch);
+  fail_unless_equals_int (g_list_length (gst_toc_entry_get_sub_entries (ed)),
+      1);
 
   /* finally append edition2 to the TOC */
-  toc->entries = g_list_append (toc->entries, ed);
-  fail_unless (g_list_length (toc->entries) == 2);
+  gst_toc_append_entry (toc, ed);
+  fail_unless_equals_int (g_list_length (gst_toc_get_entries (toc)), 2);
+
+  GST_INFO ("check original TOC");
+  CHECK_TOC (toc);
 
   /* test gst_toc_copy() */
   test_toc = gst_toc_copy (toc);
   fail_if (test_toc == NULL);
+  GST_INFO ("check TOC copy");
   CHECK_TOC (test_toc);
-  gst_toc_free (test_toc);
+  gst_toc_unref (test_toc);
   test_toc = NULL;
 
   /* check TOC event handling */
@@ -286,8 +251,9 @@
   gst_event_parse_toc (event, &test_toc, &updated);
   fail_unless (updated == TRUE);
   fail_if (test_toc == NULL);
+  GST_INFO ("check TOC parsed from event");
   CHECK_TOC (test_toc);
-  gst_toc_free (test_toc);
+  gst_toc_unref (test_toc);
   gst_event_unref (event);
   updated = FALSE;
   test_toc = NULL;
@@ -302,7 +268,7 @@
   fail_unless (updated == TRUE);
   fail_if (test_toc == NULL);
   CHECK_TOC (test_toc);
-  gst_toc_free (test_toc);
+  gst_toc_unref (test_toc);
   gst_message_unref (message);
   test_toc = NULL;
 
@@ -317,21 +283,9 @@
   gst_event_unref (event);
   g_free (uid);
 
-  /* check TOC query handling */
-  query = gst_query_new_toc ();
-  fail_if (query == NULL);
-  gst_query_set_toc (query, toc, TEST_UID);
-  fail_unless (query->type == GST_QUERY_TOC);
-  ASSERT_MINI_OBJECT_REFCOUNT (GST_MINI_OBJECT (query), "GstQuery", 1);
-
-  gst_query_parse_toc (query, &test_toc, &uid);
-  fail_unless_equals_string (uid, TEST_UID);
-  fail_if (test_toc == NULL);
-  CHECK_TOC (test_toc);
-  gst_toc_free (test_toc);
-  gst_query_unref (query);
-  g_free (uid);
-
+  /* FIXME: toc validation / verification should probably be done on the fly
+   * while creating it, and not when putting the toc in events or messages ? */
+#if 0
   /* that's wrong code, we should fail */
   ch = gst_toc_entry_new (GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_CH4);
   toc->entries = g_list_prepend (toc->entries, ch);
@@ -339,13 +293,14 @@
 
   /* and yet another one */
   toc->entries = g_list_remove (toc->entries, ch);
-  gst_toc_entry_free (ch);
+  gst_toc_entry_unref (ch);
   ed = gst_toc_entry_new (GST_TOC_ENTRY_TYPE_EDITION, ENTRY_ED3);
   ch = (GstTocEntry *) (toc->entries->data);
   ch->subentries = g_list_prepend (ch->subentries, ed);
   ASSERT_WARNING (message = gst_message_new_toc (NULL, toc, TRUE));
+#endif
 
-  gst_toc_free (toc);
+  gst_toc_unref (toc);
 }
 
 GST_END_TEST;
diff --git a/tests/check/gst/gsttocsetter.c b/tests/check/gst/gsttocsetter.c
index 3fefcdc..4cdd3bf 100644
--- a/tests/check/gst/gsttocsetter.c
+++ b/tests/check/gst/gsttocsetter.c
@@ -34,91 +34,80 @@
 
 #define ENTRY_TAG       "EntryTag"
 #define TOC_TAG         "TocTag"
-#define INFO_NAME       "gst-toc-setter-check"
-#define INFO_FIELD      "info-test"
-#define INFO_TEXT_EN    "info-text-entry"
-#define INFO_TEXT_TOC   "info-text-toc"
 
-#define CHECK_TOC_ENTRY(entry_c,type_c,uid_c)                            \
-{                                                                        \
-  gchar *tag_c;                                                          \
-  const GValue *val;                                                     \
-  GstStructure *struct_c;                                                \
-                                                                         \
-  fail_unless_equals_string (entry_c->uid, uid_c);                       \
-  fail_unless (entry_c->type == type_c);                                 \
-  fail_unless (entry_c->tags != NULL);                                   \
-  fail_unless (entry_c->pads == NULL);                                   \
-                                                                         \
-  fail_unless (entry_c->info != NULL);                                   \
-  gst_structure_get (entry_c->info, INFO_NAME, GST_TYPE_STRUCTURE,       \
-      &struct_c, NULL);                                                  \
-  fail_unless (struct_c != NULL);                                        \
-  val = gst_structure_get_value (struct_c, INFO_FIELD);             \
-  fail_unless (val != NULL);                                             \
-  fail_unless_equals_string (g_value_get_string (val), INFO_TEXT_EN);    \
-                                                                         \
-  fail_unless (gst_tag_list_get_string (entry_c->tags,                   \
-               GST_TAG_TITLE, &tag_c));                                  \
-  fail_unless_equals_string (tag_c, ENTRY_TAG);                          \
-  g_free (tag_c);                                                        \
-  gst_structure_free (struct_c);                                         \
+static void
+CHECK_TOC_ENTRY (GstTocEntry * entry_c, GstTocEntryType type_c,
+    const gchar * uid_c)
+{
+  GstTagList *tags;
+  gchar *tag_c;
+
+  fail_unless_equals_string (gst_toc_entry_get_uid (entry_c), uid_c);
+  fail_unless (gst_toc_entry_get_entry_type (entry_c) == type_c);
+
+  tags = gst_toc_entry_get_tags (entry_c);
+  fail_unless (tags != NULL);
+  fail_unless (gst_tag_list_get_string (tags, GST_TAG_TITLE, &tag_c));
+  fail_unless_equals_string (tag_c, ENTRY_TAG);
+  g_free (tag_c);
 }
 
-#define CHECK_TOC(toc_t)                                                 \
-{                                                                        \
-  GstTocEntry *entry_t, *subentry_t;                                     \
-  gchar *tag_t;                                                          \
-  const GValue *val;                                                     \
-  GstStructure *struct_toc;                                              \
-                                                                         \
-  /* check TOC */                                                        \
-  fail_unless (g_list_length (toc_t->entries) == 2);                     \
-  fail_unless (toc_t->tags != NULL);                                     \
-  fail_unless (gst_tag_list_get_string (toc_t->tags,                     \
-               GST_TAG_TITLE, &tag_t));                                  \
-  fail_unless_equals_string (tag_t, TOC_TAG);                            \
-  g_free (tag_t);                                                        \
-                                                                         \
-  fail_unless (toc_t->info != NULL);                                     \
-  gst_structure_get (toc_t->info, INFO_NAME, GST_TYPE_STRUCTURE,         \
-      &struct_toc, NULL);                                                \
-  fail_unless (struct_toc != NULL);                                      \
-  val = gst_structure_get_value (struct_toc, INFO_FIELD);                \
-  fail_unless (val != NULL);                                             \
-  fail_unless_equals_string (g_value_get_string (val), INFO_TEXT_TOC);   \
-  gst_structure_free (struct_toc);                                       \
-                                                                         \
-  /* check edition1 */                                                   \
-  entry_t = g_list_nth_data (toc_t->entries, 0);                         \
-  fail_if (entry_t == NULL);                                             \
-  fail_unless (g_list_length (entry_t->subentries) == 2);                \
-  CHECK_TOC_ENTRY (entry_t, GST_TOC_ENTRY_TYPE_EDITION, ENTRY_ED1);      \
-  /* check chapter1 */                                                   \
-  subentry_t = g_list_nth_data (entry_t->subentries, 0);                 \
-  fail_if (subentry_t == NULL);                                          \
-  fail_unless (g_list_length (subentry_t->subentries) == 0);             \
-  CHECK_TOC_ENTRY (subentry_t, GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_CH1);   \
-  /* check chapter2 */                                                   \
-  subentry_t = g_list_nth_data (entry_t->subentries, 1);                 \
-  fail_if (subentry_t == NULL);                                          \
-  fail_unless (g_list_length (subentry_t->subentries) == 0);             \
-  CHECK_TOC_ENTRY (subentry_t, GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_CH2);   \
-  /* check edition2 */                                                   \
-  entry_t = g_list_nth_data (toc_t->entries, 1);                         \
-  fail_if (entry_t == NULL);                                             \
-  fail_unless (g_list_length (entry_t->subentries) == 1);                \
-  CHECK_TOC_ENTRY (entry_t, GST_TOC_ENTRY_TYPE_EDITION, ENTRY_ED2);      \
-  /* check chapter3 */                                                   \
-  subentry_t = g_list_nth_data (entry_t->subentries, 0);                 \
-  fail_if (subentry_t == NULL);                                          \
-  fail_unless (g_list_length (subentry_t->subentries) == 1);             \
-  CHECK_TOC_ENTRY (subentry_t, GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_CH3);   \
-  /* check subchapter1 */                                                \
-  subentry_t = g_list_nth_data (subentry_t->subentries, 0);              \
-  fail_if (subentry_t == NULL);                                          \
-  fail_unless (g_list_length (subentry_t->subentries) == 0);             \
-  CHECK_TOC_ENTRY (subentry_t, GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_SUB1);  \
+static void
+CHECK_TOC (GstToc * toc_t)
+{
+  GstTocEntry *entry_t, *subentry_t;
+  GstTagList *tags;
+  GList *entries, *subentries, *subsubentries;
+  gchar *tag_t;
+
+  /* dump TOC */
+  gst_toc_dump (toc_t);
+
+  /* check TOC */
+  tags = gst_toc_get_tags (toc_t);
+  fail_unless (tags != NULL);
+  fail_unless (gst_tag_list_get_string (tags, GST_TAG_TITLE, &tag_t));
+  fail_unless_equals_string (tag_t, TOC_TAG);
+  g_free (tag_t);
+
+  entries = gst_toc_get_entries (toc_t);
+  fail_unless_equals_int (g_list_length (entries), 2);
+  /* check edition1 */
+  entry_t = g_list_nth_data (entries, 0);
+  fail_if (entry_t == NULL);
+  subentries = gst_toc_entry_get_sub_entries (entry_t);
+  fail_unless_equals_int (g_list_length (subentries), 2);
+  CHECK_TOC_ENTRY (entry_t, GST_TOC_ENTRY_TYPE_EDITION, ENTRY_ED1);
+  /* check chapter1 */
+  subentry_t = g_list_nth_data (subentries, 0);
+  fail_if (subentry_t == NULL);
+  subsubentries = gst_toc_entry_get_sub_entries (subentry_t);
+  fail_unless_equals_int (g_list_length (subsubentries), 0);
+  CHECK_TOC_ENTRY (subentry_t, GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_CH1);
+  /* check chapter2 */
+  subentry_t = g_list_nth_data (subentries, 1);
+  fail_if (subentry_t == NULL);
+  subsubentries = gst_toc_entry_get_sub_entries (subentry_t);
+  fail_unless_equals_int (g_list_length (subsubentries), 0);
+  CHECK_TOC_ENTRY (subentry_t, GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_CH2);
+  /* check edition2 */
+  entry_t = g_list_nth_data (entries, 1);
+  fail_if (entry_t == NULL);
+  subentries = gst_toc_entry_get_sub_entries (entry_t);
+  fail_unless_equals_int (g_list_length (subentries), 1);
+  CHECK_TOC_ENTRY (entry_t, GST_TOC_ENTRY_TYPE_EDITION, ENTRY_ED2);
+  /* check chapter3 */
+  subentry_t = g_list_nth_data (subentries, 0);
+  fail_if (subentry_t == NULL);
+  subsubentries = gst_toc_entry_get_sub_entries (subentry_t);
+  fail_unless_equals_int (g_list_length (subsubentries), 1);
+  CHECK_TOC_ENTRY (subentry_t, GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_CH3);
+  /* check subchapter1 */
+  subentry_t = g_list_nth_data (subsubentries, 0);
+  fail_if (subentry_t == NULL);
+  subsubentries = gst_toc_entry_get_sub_entries (subentry_t);
+  fail_unless_equals_int (g_list_length (subsubentries), 0);
+  CHECK_TOC_ENTRY (subentry_t, GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_SUB1);
 }
 
 /* some minimal GstTocSetter object */
@@ -144,95 +133,66 @@
 static GstToc *
 create_toc (void)
 {
-  GstStructure *structure;
   GstToc *toc;
   GstTocEntry *ed, *ch, *subch;
+  GstTagList *tags;
 
-  toc = gst_toc_new ();
-  gst_tag_list_add (toc->tags, GST_TAG_MERGE_APPEND, GST_TAG_TITLE,
-      TOC_TAG, NULL);
-  structure =
-      gst_structure_new (INFO_NAME, INFO_FIELD, G_TYPE_STRING, INFO_TEXT_TOC,
-      NULL);
-  gst_structure_set (toc->info, INFO_NAME, GST_TYPE_STRUCTURE, structure, NULL);
-  gst_structure_free (structure);
+  toc = gst_toc_new (GST_TOC_SCOPE_GLOBAL);
+  tags = gst_tag_list_new_empty ();
+  gst_tag_list_add (tags, GST_TAG_MERGE_APPEND, GST_TAG_TITLE, TOC_TAG, NULL);
+  gst_toc_set_tags (toc, tags);
 
   /* create edition1 */
   ed = gst_toc_entry_new (GST_TOC_ENTRY_TYPE_EDITION, ENTRY_ED1);
-  gst_tag_list_add (ed->tags, GST_TAG_MERGE_APPEND, GST_TAG_TITLE,
-      ENTRY_TAG, NULL);
-  structure =
-      gst_structure_new (INFO_NAME, INFO_FIELD, G_TYPE_STRING, INFO_TEXT_EN,
-      NULL);
-  gst_structure_set (ed->info, INFO_NAME, GST_TYPE_STRUCTURE, structure, NULL);
-  gst_structure_free (structure);
+  tags = gst_tag_list_new_empty ();
+  gst_tag_list_add (tags, GST_TAG_MERGE_APPEND, GST_TAG_TITLE, ENTRY_TAG, NULL);
+  gst_toc_entry_set_tags (ed, tags);
 
   /* append chapter1 to edition1 */
   ch = gst_toc_entry_new (GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_CH1);
-  gst_tag_list_add (ch->tags, GST_TAG_MERGE_APPEND, GST_TAG_TITLE,
-      ENTRY_TAG, NULL);
-  structure =
-      gst_structure_new (INFO_NAME, INFO_FIELD, G_TYPE_STRING, INFO_TEXT_EN,
-      NULL);
-  gst_structure_set (ch->info, INFO_NAME, GST_TYPE_STRUCTURE, structure, NULL);
-  gst_structure_free (structure);
+  tags = gst_tag_list_new_empty ();
+  gst_tag_list_add (tags, GST_TAG_MERGE_APPEND, GST_TAG_TITLE, ENTRY_TAG, NULL);
+  gst_toc_entry_set_tags (ch, tags);
 
-  ed->subentries = g_list_append (ed->subentries, ch);
+  gst_toc_entry_append_sub_entry (ed, ch);
 
   /* append chapter2 to edition1 */
   ch = gst_toc_entry_new (GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_CH2);
-  gst_tag_list_add (ch->tags, GST_TAG_MERGE_APPEND, GST_TAG_TITLE,
-      ENTRY_TAG, NULL);
-  structure =
-      gst_structure_new (INFO_NAME, INFO_FIELD, G_TYPE_STRING, INFO_TEXT_EN,
-      NULL);
-  gst_structure_set (ch->info, INFO_NAME, GST_TYPE_STRUCTURE, structure, NULL);
-  gst_structure_free (structure);
+  tags = gst_tag_list_new_empty ();
+  gst_tag_list_add (tags, GST_TAG_MERGE_APPEND, GST_TAG_TITLE, ENTRY_TAG, NULL);
+  gst_toc_entry_set_tags (ch, tags);
 
-  ed->subentries = g_list_append (ed->subentries, ch);
+  gst_toc_entry_append_sub_entry (ed, ch);
 
   /* append edition1 to the TOC */
-  toc->entries = g_list_append (toc->entries, ed);
+  gst_toc_append_entry (toc, ed);
 
   /* create edition2 */
   ed = gst_toc_entry_new (GST_TOC_ENTRY_TYPE_EDITION, ENTRY_ED2);
-  gst_tag_list_add (ed->tags, GST_TAG_MERGE_APPEND, GST_TAG_TITLE,
-      ENTRY_TAG, NULL);
-  structure =
-      gst_structure_new (INFO_NAME, INFO_FIELD, G_TYPE_STRING, INFO_TEXT_EN,
-      NULL);
-  gst_structure_set (ed->info, INFO_NAME, GST_TYPE_STRUCTURE, structure, NULL);
-  gst_structure_free (structure);
+  tags = gst_tag_list_new_empty ();
+  gst_tag_list_add (tags, GST_TAG_MERGE_APPEND, GST_TAG_TITLE, ENTRY_TAG, NULL);
+  gst_toc_entry_set_tags (ed, tags);
 
   /* create chapter3 */
   ch = gst_toc_entry_new (GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_CH3);
-  gst_tag_list_add (ch->tags, GST_TAG_MERGE_APPEND, GST_TAG_TITLE,
-      ENTRY_TAG, NULL);
-  structure =
-      gst_structure_new (INFO_NAME, INFO_FIELD, G_TYPE_STRING, INFO_TEXT_EN,
-      NULL);
-  gst_structure_set (ch->info, INFO_NAME, GST_TYPE_STRUCTURE, structure, NULL);
-  gst_structure_free (structure);
+  tags = gst_tag_list_new_empty ();
+  gst_tag_list_add (tags, GST_TAG_MERGE_APPEND, GST_TAG_TITLE, ENTRY_TAG, NULL);
+  gst_toc_entry_set_tags (ch, tags);
 
   /* create subchapter1 */
   subch = gst_toc_entry_new (GST_TOC_ENTRY_TYPE_CHAPTER, ENTRY_SUB1);
-  gst_tag_list_add (subch->tags, GST_TAG_MERGE_APPEND, GST_TAG_TITLE,
-      ENTRY_TAG, NULL);
-  structure =
-      gst_structure_new (INFO_NAME, INFO_FIELD, G_TYPE_STRING, INFO_TEXT_EN,
-      NULL);
-  gst_structure_set (subch->info, INFO_NAME, GST_TYPE_STRUCTURE, structure,
-      NULL);
-  gst_structure_free (structure);
+  tags = gst_tag_list_new_empty ();
+  gst_tag_list_add (tags, GST_TAG_MERGE_APPEND, GST_TAG_TITLE, ENTRY_TAG, NULL);
+  gst_toc_entry_set_tags (subch, tags);
 
   /* append subchapter1 to chapter3 */
-  ch->subentries = g_list_append (ch->subentries, subch);
+  gst_toc_entry_append_sub_entry (ch, subch);
 
   /* append chapter3 to edition2 */
-  ed->subentries = g_list_append (ed->subentries, ch);
+  gst_toc_entry_append_sub_entry (ed, ch);
 
   /* finally append edition2 to the TOC */
-  toc->entries = g_list_append (toc->entries, ed);
+  gst_toc_append_entry (toc, ed);
 
   return toc;
 }
@@ -240,7 +200,9 @@
 GST_START_TEST (test_set)
 {
   GstToc *toc;
+#if 0
   GstTocEntry *entry, *ed;
+#endif
   GstTocSetter *setter;
   GstElement *enc;
 
@@ -254,11 +216,12 @@
 
   gst_toc_setter_set_toc (setter, toc);
 
-  gst_toc_free (toc);
-  toc = gst_toc_setter_get_toc_copy (setter);
+  gst_toc_unref (toc);
+  toc = gst_toc_setter_get_toc (setter);
 
   CHECK_TOC (toc);
 
+#if 0
   /* test entry adding into the root TOC */
   entry = g_list_last (toc->entries)->data;
   toc->entries = g_list_remove (toc->entries, entry);
@@ -266,12 +229,14 @@
   gst_toc_setter_set_toc (setter, toc);
   gst_toc_setter_add_toc_entry (setter, "0", entry);
 
-  gst_toc_free (toc);
-  gst_toc_entry_free (entry);
-  toc = gst_toc_setter_get_toc_copy (setter);
+  gst_toc_unref (toc);
+  gst_toc_entry_unref (entry);
+  toc = gst_toc_setter_get_toc (setter);
 
   CHECK_TOC (toc);
+#endif
 
+#if 0
   /* test entry adding into the arbitrary entry */
   entry = gst_toc_find_entry (toc, ENTRY_CH2);
   fail_if (entry == NULL);
@@ -282,10 +247,11 @@
   gst_toc_setter_add_toc_entry (setter, ed->uid, entry);
 
   CHECK_TOC (toc);
+#endif
 
-  gst_toc_free (toc);
-  gst_toc_setter_reset_toc (setter);
-  toc = gst_toc_setter_get_toc_copy (setter);
+  gst_toc_unref (toc);
+  gst_toc_setter_reset (setter);
+  toc = gst_toc_setter_get_toc (setter);
 
   fail_unless (toc == NULL);
 
@@ -317,7 +283,7 @@
   while (g_timer_elapsed (timer, NULL) < THREADS_TEST_SECONDS)
     gst_toc_setter_set_toc (setter, toc);
 
-  gst_toc_free (toc);
+  gst_toc_unref (toc);
   g_timer_destroy (timer);
   GST_INFO ("Done");
 
@@ -344,7 +310,7 @@
   while (g_timer_elapsed (timer, NULL) < THREADS_TEST_SECONDS)
     gst_toc_setter_set_toc (setter, toc);
 
-  gst_toc_free (toc);
+  gst_toc_unref (toc);
   g_timer_destroy (timer);
   GST_INFO ("Done");
 
@@ -367,7 +333,7 @@
   g_timer_start (timer);
 
   while (g_timer_elapsed (timer, NULL) < THREADS_TEST_SECONDS) {
-    gst_toc_setter_reset_toc (setter);
+    gst_toc_setter_reset (setter);
   }
 
   g_timer_destroy (timer);
diff --git a/tests/check/gst/gsturi.c b/tests/check/gst/gsturi.c
index 4eee4f1..259b3a0 100644
--- a/tests/check/gst/gsturi.c
+++ b/tests/check/gst/gsturi.c
@@ -23,15 +23,20 @@
 GST_START_TEST (test_protocol_case)
 {
   GstElement *element;
+  GError *err = NULL;
 
-  element = gst_element_make_from_uri (GST_URI_SRC, "file:///foo/bar", NULL);
+  element = gst_element_make_from_uri (GST_URI_SRC, "file:///foo/bar", NULL,
+      &err);
 
   /* no element? probably no registry, bail out */
-  if (element == NULL)
+  if (element == NULL && err->code == GST_URI_ERROR_UNSUPPORTED_PROTOCOL) {
+    g_error_free (err);
     return;
+  }
 
   gst_object_unref (element);
-  element = gst_element_make_from_uri (GST_URI_SRC, "FILE:///foo/bar", NULL);
+  element = gst_element_make_from_uri (GST_URI_SRC, "FILE:///foo/bar", NULL,
+      NULL);
   fail_unless (element != NULL,
       "Got source for 'file://' URI but not for 'FILE://' URI");
   gst_object_unref (element);
@@ -107,16 +112,17 @@
 
 GST_START_TEST (test_uri_misc)
 {
-  /* require at least three characters for the protocol */
+  /* require at least two characters for the protocol */
   fail_if (gst_uri_is_valid ("B:\\foo.txt"));
   fail_if (gst_uri_is_valid ("B:/foo.txt"));
   fail_if (gst_uri_is_valid ("B://foo.txt"));
   fail_if (gst_uri_is_valid ("B:foo.txt"));
 
-  fail_if (gst_uri_is_valid ("AB:\\foo.txt"));
-  fail_if (gst_uri_is_valid ("AB:/foo.txt"));
-  fail_if (gst_uri_is_valid ("AB://foo.txt"));
-  fail_if (gst_uri_is_valid ("AB:foo.txt"));
+  fail_unless (gst_uri_is_valid ("fd://0"));
+  fail_unless (gst_uri_is_valid ("AB:\\foo.txt"));
+  fail_unless (gst_uri_is_valid ("AB:/foo.txt"));
+  fail_unless (gst_uri_is_valid ("AB://foo.txt"));
+  fail_unless (gst_uri_is_valid ("AB:foo.txt"));
 
   fail_unless (gst_uri_is_valid ("ABC:/foo.txt"));
   fail_unless (gst_uri_is_valid ("ABC://foo.txt"));
@@ -129,6 +135,35 @@
 
 GST_END_TEST;
 
+GST_START_TEST (test_element_make_from_uri)
+{
+  GstElement *element;
+  GError *err = NULL;
+
+  element = gst_element_make_from_uri (GST_URI_SRC, "foo://", NULL, NULL);
+  fail_unless (element == NULL);
+
+  element = gst_element_make_from_uri (GST_URI_SRC, "foo://", NULL, &err);
+  fail_unless (element == NULL);
+  fail_unless (err != NULL);
+  fail_unless (err->code == GST_URI_ERROR_UNSUPPORTED_PROTOCOL);
+  g_error_free (err);
+  err = NULL;
+
+  if (gst_registry_check_feature_version (gst_registry_get (), "filesrc",
+          GST_VERSION_MAJOR, GST_VERSION_MINOR, GST_VERSION_MICRO)) {
+    element = gst_element_make_from_uri (GST_URI_SRC, "file://host/foo", NULL,
+        &err);
+    fail_unless (element == NULL);
+    fail_unless (err != NULL);
+    fail_unless (err->code == GST_URI_ERROR_BAD_URI);
+    g_error_free (err);
+    err = NULL;
+  }
+}
+
+GST_END_TEST;
+
 static Suite *
 gst_uri_suite (void)
 {
@@ -141,6 +176,7 @@
   tcase_add_test (tc_chain, test_protocol_case);
   tcase_add_test (tc_chain, test_uri_get_location);
   tcase_add_test (tc_chain, test_uri_misc);
+  tcase_add_test (tc_chain, test_element_make_from_uri);
 #ifdef G_OS_WIN32
   tcase_add_test (tc_chain, test_win32_uri);
 #endif
diff --git a/tests/check/gst/gstutils.c b/tests/check/gst/gstutils.c
index f26baa4..e0d0ff3 100644
--- a/tests/check/gst/gstutils.c
+++ b/tests/check/gst/gstutils.c
@@ -504,7 +504,7 @@
   gst_element_set_state (pipeline, GST_STATE_PLAYING);
 
   srcpad = gst_element_get_static_pad (fakesrc, "src");
-  gst_pad_push_event (srcpad, gst_event_new_tag ("test", list));
+  gst_pad_push_event (srcpad, gst_event_new_tag (list));
   gst_object_unref (srcpad);
 
   bus = gst_element_get_bus (pipeline);
@@ -1083,6 +1083,167 @@
 
 GST_END_TEST;
 
+GST_START_TEST (test_read_macros)
+{
+  guint8 carray[] = "ABCDEFGH"; /* 0x41 ... 0x48 */
+  guint32 uarray[2];
+  guint8 *cpointer;
+
+#define fail_unless_equals_int_hex(a, b)                                \
+G_STMT_START {								\
+  int first = a;							\
+  int second = b;							\
+  fail_unless(first == second,						\
+    "'" #a "' (0x%08x) is not equal to '" #b"' (0x%08x)", first, second);	\
+} G_STMT_END;
+
+#define fail_unless_equals_int64_hex(a, b)                                \
+G_STMT_START {								\
+  gint64 first = a;							\
+  gint64 second = b;							\
+  fail_unless(first == second,						\
+    "'" #a "' (0x%016x) is not equal to '" #b"' (0x%016x)", first, second);	\
+} G_STMT_END;
+
+  memcpy (uarray, carray, 8);
+  cpointer = carray;
+
+  /* 16 bit */
+  /* First try the standard pointer variants */
+  fail_unless_equals_int_hex (GST_READ_UINT16_BE (cpointer), 0x4142);
+  fail_unless_equals_int_hex (GST_READ_UINT16_BE (cpointer + 1), 0x4243);
+  fail_unless_equals_int_hex (GST_READ_UINT16_BE (cpointer + 2), 0x4344);
+  fail_unless_equals_int_hex (GST_READ_UINT16_BE (cpointer + 3), 0x4445);
+  fail_unless_equals_int_hex (GST_READ_UINT16_BE (cpointer + 4), 0x4546);
+  fail_unless_equals_int_hex (GST_READ_UINT16_BE (cpointer + 5), 0x4647);
+  fail_unless_equals_int_hex (GST_READ_UINT16_BE (cpointer + 6), 0x4748);
+
+  fail_unless_equals_int_hex (GST_READ_UINT16_LE (cpointer), 0x4241);
+  fail_unless_equals_int_hex (GST_READ_UINT16_LE (cpointer + 1), 0x4342);
+  fail_unless_equals_int_hex (GST_READ_UINT16_LE (cpointer + 2), 0x4443);
+  fail_unless_equals_int_hex (GST_READ_UINT16_LE (cpointer + 3), 0x4544);
+  fail_unless_equals_int_hex (GST_READ_UINT16_LE (cpointer + 4), 0x4645);
+  fail_unless_equals_int_hex (GST_READ_UINT16_LE (cpointer + 5), 0x4746);
+  fail_unless_equals_int_hex (GST_READ_UINT16_LE (cpointer + 6), 0x4847);
+
+  /* On an array of guint8 */
+  fail_unless_equals_int_hex (GST_READ_UINT16_BE (carray), 0x4142);
+  fail_unless_equals_int_hex (GST_READ_UINT16_BE (carray + 1), 0x4243);
+  fail_unless_equals_int_hex (GST_READ_UINT16_BE (carray + 2), 0x4344);
+  fail_unless_equals_int_hex (GST_READ_UINT16_BE (carray + 3), 0x4445);
+  fail_unless_equals_int_hex (GST_READ_UINT16_BE (carray + 4), 0x4546);
+  fail_unless_equals_int_hex (GST_READ_UINT16_BE (carray + 5), 0x4647);
+  fail_unless_equals_int_hex (GST_READ_UINT16_BE (carray + 6), 0x4748);
+
+  fail_unless_equals_int_hex (GST_READ_UINT16_LE (carray), 0x4241);
+  fail_unless_equals_int_hex (GST_READ_UINT16_LE (carray + 1), 0x4342);
+  fail_unless_equals_int_hex (GST_READ_UINT16_LE (carray + 2), 0x4443);
+  fail_unless_equals_int_hex (GST_READ_UINT16_LE (carray + 3), 0x4544);
+  fail_unless_equals_int_hex (GST_READ_UINT16_LE (carray + 4), 0x4645);
+  fail_unless_equals_int_hex (GST_READ_UINT16_LE (carray + 5), 0x4746);
+  fail_unless_equals_int_hex (GST_READ_UINT16_LE (carray + 6), 0x4847);
+
+  /* On an array of guint32 */
+  fail_unless_equals_int_hex (GST_READ_UINT16_BE (uarray), 0x4142);
+  fail_unless_equals_int_hex (GST_READ_UINT16_BE (uarray + 1), 0x4546);
+
+  fail_unless_equals_int_hex (GST_READ_UINT16_LE (uarray), 0x4241);
+  fail_unless_equals_int_hex (GST_READ_UINT16_LE (uarray + 1), 0x4645);
+
+
+  /* 24bit */
+  /* First try the standard pointer variants */
+  fail_unless_equals_int_hex (GST_READ_UINT24_BE (cpointer), 0x414243);
+  fail_unless_equals_int_hex (GST_READ_UINT24_BE (cpointer + 1), 0x424344);
+  fail_unless_equals_int_hex (GST_READ_UINT24_BE (cpointer + 2), 0x434445);
+  fail_unless_equals_int_hex (GST_READ_UINT24_BE (cpointer + 3), 0x444546);
+  fail_unless_equals_int_hex (GST_READ_UINT24_BE (cpointer + 4), 0x454647);
+  fail_unless_equals_int_hex (GST_READ_UINT24_BE (cpointer + 5), 0x464748);
+
+  fail_unless_equals_int_hex (GST_READ_UINT24_LE (cpointer), 0x434241);
+  fail_unless_equals_int_hex (GST_READ_UINT24_LE (cpointer + 1), 0x444342);
+  fail_unless_equals_int_hex (GST_READ_UINT24_LE (cpointer + 2), 0x454443);
+  fail_unless_equals_int_hex (GST_READ_UINT24_LE (cpointer + 3), 0x464544);
+  fail_unless_equals_int_hex (GST_READ_UINT24_LE (cpointer + 4), 0x474645);
+  fail_unless_equals_int_hex (GST_READ_UINT24_LE (cpointer + 5), 0x484746);
+
+  /* On an array of guint8 */
+  fail_unless_equals_int_hex (GST_READ_UINT24_BE (carray), 0x414243);
+  fail_unless_equals_int_hex (GST_READ_UINT24_BE (carray + 1), 0x424344);
+  fail_unless_equals_int_hex (GST_READ_UINT24_BE (carray + 2), 0x434445);
+  fail_unless_equals_int_hex (GST_READ_UINT24_BE (carray + 3), 0x444546);
+  fail_unless_equals_int_hex (GST_READ_UINT24_BE (carray + 4), 0x454647);
+  fail_unless_equals_int_hex (GST_READ_UINT24_BE (carray + 5), 0x464748);
+
+  fail_unless_equals_int_hex (GST_READ_UINT24_LE (carray), 0x434241);
+  fail_unless_equals_int_hex (GST_READ_UINT24_LE (carray + 1), 0x444342);
+  fail_unless_equals_int_hex (GST_READ_UINT24_LE (carray + 2), 0x454443);
+  fail_unless_equals_int_hex (GST_READ_UINT24_LE (carray + 3), 0x464544);
+  fail_unless_equals_int_hex (GST_READ_UINT24_LE (carray + 4), 0x474645);
+  fail_unless_equals_int_hex (GST_READ_UINT24_LE (carray + 5), 0x484746);
+
+  /* On an array of guint32 */
+  fail_unless_equals_int_hex (GST_READ_UINT24_BE (uarray), 0x414243);
+  fail_unless_equals_int_hex (GST_READ_UINT24_BE (uarray + 1), 0x454647);
+
+  fail_unless_equals_int_hex (GST_READ_UINT24_LE (uarray), 0x434241);
+  fail_unless_equals_int_hex (GST_READ_UINT24_LE (uarray + 1), 0x474645);
+
+
+  /* 32bit */
+  /* First try the standard pointer variants */
+  fail_unless_equals_int_hex (GST_READ_UINT32_BE (cpointer), 0x41424344);
+  fail_unless_equals_int_hex (GST_READ_UINT32_BE (cpointer + 1), 0x42434445);
+  fail_unless_equals_int_hex (GST_READ_UINT32_BE (cpointer + 2), 0x43444546);
+  fail_unless_equals_int_hex (GST_READ_UINT32_BE (cpointer + 3), 0x44454647);
+  fail_unless_equals_int_hex (GST_READ_UINT32_BE (cpointer + 4), 0x45464748);
+
+  fail_unless_equals_int_hex (GST_READ_UINT32_LE (cpointer), 0x44434241);
+  fail_unless_equals_int_hex (GST_READ_UINT32_LE (cpointer + 1), 0x45444342);
+  fail_unless_equals_int_hex (GST_READ_UINT32_LE (cpointer + 2), 0x46454443);
+  fail_unless_equals_int_hex (GST_READ_UINT32_LE (cpointer + 3), 0x47464544);
+  fail_unless_equals_int_hex (GST_READ_UINT32_LE (cpointer + 4), 0x48474645);
+
+  /* On an array of guint8 */
+  fail_unless_equals_int_hex (GST_READ_UINT32_BE (carray), 0x41424344);
+  fail_unless_equals_int_hex (GST_READ_UINT32_BE (carray + 1), 0x42434445);
+  fail_unless_equals_int_hex (GST_READ_UINT32_BE (carray + 2), 0x43444546);
+  fail_unless_equals_int_hex (GST_READ_UINT32_BE (carray + 3), 0x44454647);
+  fail_unless_equals_int_hex (GST_READ_UINT32_BE (carray + 4), 0x45464748);
+
+  fail_unless_equals_int_hex (GST_READ_UINT32_LE (carray), 0x44434241);
+  fail_unless_equals_int_hex (GST_READ_UINT32_LE (carray + 1), 0x45444342);
+  fail_unless_equals_int_hex (GST_READ_UINT32_LE (carray + 2), 0x46454443);
+  fail_unless_equals_int_hex (GST_READ_UINT32_LE (carray + 3), 0x47464544);
+  fail_unless_equals_int_hex (GST_READ_UINT32_LE (carray + 4), 0x48474645);
+
+  /* On an array of guint32 */
+  fail_unless_equals_int_hex (GST_READ_UINT32_BE (uarray), 0x41424344);
+  fail_unless_equals_int_hex (GST_READ_UINT32_BE (uarray + 1), 0x45464748);
+
+  fail_unless_equals_int_hex (GST_READ_UINT32_LE (uarray), 0x44434241);
+  fail_unless_equals_int_hex (GST_READ_UINT32_LE (uarray + 1), 0x48474645);
+
+
+  /* 64bit */
+  fail_unless_equals_int64_hex (GST_READ_UINT64_BE (cpointer),
+      0x4142434445464748);
+  fail_unless_equals_int64_hex (GST_READ_UINT64_LE (cpointer),
+      0x4847464544434241);
+
+  fail_unless_equals_int64_hex (GST_READ_UINT64_BE (carray),
+      0x4142434445464748);
+  fail_unless_equals_int64_hex (GST_READ_UINT64_LE (carray),
+      0x4847464544434241);
+
+  fail_unless_equals_int64_hex (GST_READ_UINT64_BE (uarray),
+      0x4142434445464748);
+  fail_unless_equals_int64_hex (GST_READ_UINT64_LE (uarray),
+      0x4847464544434241);
+}
+
+GST_END_TEST;
+
 static Suite *
 gst_utils_suite (void)
 {
@@ -1116,6 +1277,8 @@
 
   tcase_add_test (tc_chain, test_pad_proxy_query_caps_aggregation);
   tcase_add_test (tc_chain, test_greatest_common_divisor);
+
+  tcase_add_test (tc_chain, test_read_macros);
   return s;
 }
 
diff --git a/tests/check/gst/gstvalue.c b/tests/check/gst/gstvalue.c
index 4de03c0..480840b 100644
--- a/tests/check/gst/gstvalue.c
+++ b/tests/check/gst/gstvalue.c
@@ -2022,6 +2022,7 @@
 {
   GstStructure *s;
   GstDateTime *datetime, *datetime2;
+  GValue val = { 0, };
   gchar *str;
 
   /* utc timezone */
@@ -2046,8 +2047,8 @@
   gst_structure_free (s);
   s = NULL;
 
-  fail_unless (g_str_equal (str,
-          "media/x-type, SOME_DATE_TIME_TAG=(datetime)\"2010-06-23T07:40:10.000000+0000\";"));
+  fail_unless_equals_string (str,
+      "media/x-type, SOME_DATE_TIME_TAG=(datetime)2010-06-23T07:40:10Z;");
 
   s = gst_structure_from_string (str, NULL);
   g_free (str);
@@ -2075,8 +2076,8 @@
   gst_structure_free (s);
   s = NULL;
 
-  fail_unless (g_str_equal (str,
-          "media/x-type, SOME_DATE_TIME_TAG=(datetime)\"2010-06-23T07:40:10.000000+0000\";"));
+  fail_unless_equals_string (str,
+      "media/x-type, SOME_DATE_TIME_TAG=(datetime)2010-06-23T07:40:10Z;");
   g_free (str);
   str = NULL;
 
@@ -2102,8 +2103,8 @@
   gst_structure_free (s);
   s = NULL;
 
-  fail_unless (g_str_equal (str,
-          "media/x-type, SOME_DATE_TIME_TAG=(datetime)\"2010-06-23T07:40:10.000001-0300\";"));
+  fail_unless_equals_string (str,
+      "media/x-type, SOME_DATE_TIME_TAG=(datetime)2010-06-23T07:40:10.000001-0300;");
 
   s = gst_structure_from_string (str, NULL);
   g_free (str);
@@ -2130,8 +2131,8 @@
   str = gst_structure_to_string (s);
   gst_structure_free (s);
   s = NULL;
-  fail_unless (g_str_equal (str,
-          "media/x-type, SOME_DATE_TIME_TAG=(datetime)\"2010-06-23T07:40:10.000001-0300\";"));
+  fail_unless_equals_string (str,
+      "media/x-type, SOME_DATE_TIME_TAG=(datetime)2010-06-23T07:40:10.000001-0300;");
 
   g_free (str);
   str = NULL;
@@ -2158,8 +2159,8 @@
   gst_structure_free (s);
   s = NULL;
 
-  fail_unless (g_str_equal (str,
-          "media/x-type, SOME_DATE_TIME_TAG=(datetime)\"2010-06-23T07:40:10.000001+0200\";"));
+  fail_unless_equals_string (str,
+      "media/x-type, SOME_DATE_TIME_TAG=(datetime)2010-06-23T07:40:10.000001+0200;");
 
   s = gst_structure_from_string (str, NULL);
   g_free (str);
@@ -2186,12 +2187,127 @@
   str = gst_structure_to_string (s);
   gst_structure_free (s);
   s = NULL;
-  fail_unless (g_str_equal (str,
-          "media/x-type, SOME_DATE_TIME_TAG=(datetime)\"2010-06-23T07:40:10.000001+0200\";"));
+  fail_unless_equals_string (str,
+      "media/x-type, SOME_DATE_TIME_TAG=(datetime)2010-06-23T07:40:10.000001+0200;");
 
   g_free (str);
   str = NULL;
 
+  /* test partial dates */
+  datetime = gst_date_time_new (0.0, 2010, -1, -1, -1, -1, -1.0);
+  g_value_init (&val, GST_TYPE_DATE_TIME);
+  g_value_take_boxed (&val, datetime);
+  str = gst_value_serialize (&val);
+  g_value_reset (&val);
+  fail_unless_equals_string (str, "2010");
+  fail_unless (gst_value_deserialize (&val, str));
+  datetime = g_value_get_boxed (&val);
+  fail_if (!gst_date_time_has_year (datetime));
+  fail_if (gst_date_time_has_month (datetime));
+  fail_if (gst_date_time_has_day (datetime));
+  fail_if (gst_date_time_has_time (datetime));
+  g_value_unset (&val);
+  g_free (str);
+
+  datetime = gst_date_time_new (0.0, 2010, 9, -1, -1, -1, -1.0);
+  g_value_init (&val, GST_TYPE_DATE_TIME);
+  g_value_take_boxed (&val, datetime);
+  str = gst_value_serialize (&val);
+  g_value_reset (&val);
+  fail_unless_equals_string (str, "2010-09");
+  fail_unless (gst_value_deserialize (&val, str));
+  datetime = g_value_get_boxed (&val);
+  fail_if (!gst_date_time_has_year (datetime));
+  fail_if (!gst_date_time_has_month (datetime));
+  fail_if (gst_date_time_has_day (datetime));
+  fail_if (gst_date_time_has_time (datetime));
+  g_value_unset (&val);
+  g_free (str);
+
+  datetime = gst_date_time_new (0.0, 1983, 11, 30, -1, -1, -1.0);
+  g_value_init (&val, GST_TYPE_DATE_TIME);
+  g_value_take_boxed (&val, datetime);
+  str = gst_value_serialize (&val);
+  g_value_reset (&val);
+  fail_unless_equals_string (str, "1983-11-30");
+  fail_unless (gst_value_deserialize (&val, str));
+  datetime = g_value_get_boxed (&val);
+  fail_if (!gst_date_time_has_year (datetime));
+  fail_if (!gst_date_time_has_month (datetime));
+  fail_if (!gst_date_time_has_day (datetime));
+  fail_if (gst_date_time_has_time (datetime));
+  g_value_unset (&val);
+  g_free (str);
+
+  datetime = gst_date_time_new (0.0, 1983, 11, 30, 3, 52, -1.0);
+  g_value_init (&val, GST_TYPE_DATE_TIME);
+  g_value_take_boxed (&val, datetime);
+  str = gst_value_serialize (&val);
+  g_value_reset (&val);
+  fail_unless_equals_string (str, "1983-11-30T03:52Z");
+  fail_unless (gst_value_deserialize (&val, str));
+  datetime = g_value_get_boxed (&val);
+  fail_if (!gst_date_time_has_year (datetime));
+  fail_if (!gst_date_time_has_month (datetime));
+  fail_if (!gst_date_time_has_day (datetime));
+  fail_if (!gst_date_time_has_time (datetime));
+  fail_if (gst_date_time_has_second (datetime));
+  fail_unless_equals_float (gst_date_time_get_time_zone_offset (datetime), 0.0);
+  g_value_unset (&val);
+  g_free (str);
+
+  datetime = gst_date_time_new (-4.5, 1983, 11, 30, 3, 52, -1.0);
+  g_value_init (&val, GST_TYPE_DATE_TIME);
+  g_value_take_boxed (&val, datetime);
+  str = gst_value_serialize (&val);
+  g_value_reset (&val);
+  fail_unless_equals_string (str, "1983-11-30T03:52-0430");
+  fail_unless (gst_value_deserialize (&val, str));
+  datetime = g_value_get_boxed (&val);
+  fail_if (!gst_date_time_has_year (datetime));
+  fail_if (!gst_date_time_has_month (datetime));
+  fail_if (!gst_date_time_has_day (datetime));
+  fail_if (!gst_date_time_has_time (datetime));
+  fail_if (gst_date_time_has_second (datetime));
+  fail_unless_equals_float (gst_date_time_get_time_zone_offset (datetime),
+      -4.5);
+  g_value_unset (&val);
+  g_free (str);
+
+  datetime = gst_date_time_new (4.5, 1983, 11, 30, 14, 52, 9);
+  g_value_init (&val, GST_TYPE_DATE_TIME);
+  g_value_take_boxed (&val, datetime);
+  str = gst_value_serialize (&val);
+  g_value_reset (&val);
+  fail_unless_equals_string (str, "1983-11-30T14:52:09+0430");
+  fail_unless (gst_value_deserialize (&val, str));
+  datetime = g_value_get_boxed (&val);
+  fail_if (!gst_date_time_has_year (datetime));
+  fail_if (!gst_date_time_has_month (datetime));
+  fail_if (!gst_date_time_has_day (datetime));
+  fail_if (!gst_date_time_has_time (datetime));
+  fail_if (!gst_date_time_has_second (datetime));
+  fail_unless_equals_float (gst_date_time_get_time_zone_offset (datetime), 4.5);
+  g_value_unset (&val);
+  g_free (str);
+
+  datetime = gst_date_time_new (-4.5, 1983, 11, 30, 14, 52, 9.702);
+  g_value_init (&val, GST_TYPE_DATE_TIME);
+  g_value_take_boxed (&val, datetime);
+  str = gst_value_serialize (&val);
+  g_value_reset (&val);
+  fail_unless_equals_string (str, "1983-11-30T14:52:09.702-0430");
+  fail_unless (gst_value_deserialize (&val, str));
+  datetime = g_value_get_boxed (&val);
+  fail_if (!gst_date_time_has_year (datetime));
+  fail_if (!gst_date_time_has_month (datetime));
+  fail_if (!gst_date_time_has_day (datetime));
+  fail_if (!gst_date_time_has_time (datetime));
+  fail_if (!gst_date_time_has_second (datetime));
+  fail_unless_equals_float (gst_date_time_get_time_zone_offset (datetime),
+      -4.5);
+  g_value_unset (&val);
+  g_free (str);
 }
 
 GST_END_TEST;
diff --git a/tests/check/libs/basesrc.c b/tests/check/libs/basesrc.c
index 7e09488..21e2481 100644
--- a/tests/check/libs/basesrc.c
+++ b/tests/check/libs/basesrc.c
@@ -25,6 +25,7 @@
 #endif
 #include <gst/gst.h>
 #include <gst/check/gstcheck.h>
+#include <gst/check/gstconsistencychecker.h>
 #include <gst/base/gstbasesrc.h>
 
 static GstPadProbeReturn
@@ -54,6 +55,7 @@
   GstBus *bus;
   GstPad *srcpad;
   guint probe, num_eos = 0;
+  GstStreamConsistency *consistency;
 
   pipe = gst_pipeline_new ("pipeline");
   sink = gst_element_factory_make ("fakesink", "sink");
@@ -78,6 +80,8 @@
   srcpad = gst_element_get_static_pad (src, "src");
   fail_unless (srcpad != NULL);
 
+  consistency = gst_consistency_checker_new (srcpad);
+
   probe = gst_pad_add_probe (srcpad, GST_PAD_PROBE_TYPE_EVENT_BOTH,
       (GstPadProbeCallback) eos_event_counter, &num_eos, NULL);
 
@@ -108,6 +112,8 @@
   /* make sure source hasn't sent a second one when going PAUSED => READY */
   fail_unless (num_eos == 1);
 
+  gst_consistency_checker_free (consistency);
+
   gst_pad_remove_probe (srcpad, probe);
   gst_object_unref (srcpad);
   gst_message_unref (msg);
@@ -131,6 +137,7 @@
   GstBus *bus;
   GstPad *srcpad;
   guint probe, num_eos = 0;
+  GstStreamConsistency *consistency;
 
   pipe = gst_pipeline_new ("pipeline");
   sink = gst_element_factory_make ("fakesink", "sink");
@@ -156,6 +163,8 @@
   srcpad = gst_element_get_static_pad (src, "src");
   fail_unless (srcpad != NULL);
 
+  consistency = gst_consistency_checker_new (srcpad);
+
   probe = gst_pad_add_probe (srcpad, GST_PAD_PROBE_TYPE_EVENT_BOTH,
       (GstPadProbeCallback) eos_event_counter, &num_eos, NULL);
 
@@ -179,6 +188,8 @@
   /* make sure source hasn't sent a second one when going PAUSED => READY */
   fail_unless (num_eos == 1);
 
+  gst_consistency_checker_free (consistency);
+
   gst_pad_remove_probe (srcpad, probe);
   gst_object_unref (srcpad);
   gst_message_unref (msg);
diff --git a/tests/check/libs/gstnetclientclock.c b/tests/check/libs/gstnetclientclock.c
index f72109a..72b7af3 100644
--- a/tests/check/libs/gstnetclientclock.c
+++ b/tests/check/libs/gstnetclientclock.c
@@ -73,7 +73,7 @@
   g_object_get (client, "port", &port, NULL);
 
   /* let the clocks synchronize */
-  g_usleep (G_USEC_PER_SEC / 2);
+  g_usleep (G_USEC_PER_SEC);
 
   servtime = gst_clock_get_time (server);
   clienttime = gst_clock_get_time (client);
diff --git a/tests/check/libs/queuearray.c b/tests/check/libs/queuearray.c
new file mode 100644
index 0000000..ca5024b
--- /dev/null
+++ b/tests/check/libs/queuearray.c
@@ -0,0 +1,247 @@
+/* GStreamer
+ *
+ * unit test for GstQueueArray
+ *
+ * Copyright (C) <2009> Edward Hervey <bilboed@bilboed.com>
+ *
+ * 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.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <gst/gst.h>
+#include <gst/check/gstcheck.h>
+#include "../../../plugins/elements/gstqueuearray.h"
+#include "../../../plugins/elements/gstqueuearray.c"
+
+/* Simplest test
+ * Initial size : 10
+ * Add 10, Remove 10
+ */
+GST_START_TEST (test_array_1)
+{
+  GstQueueArray *array;
+  guint i;
+
+  /* Create an array of initial size 10 */
+  array = gst_queue_array_new (10);
+
+  /* push 5 values in */
+  for (i = 0; i < 5; i++)
+    gst_queue_array_push_tail (array, GINT_TO_POINTER (i));
+
+  fail_unless_equals_int (array->length, 5);
+
+  /* pull 5 values out */
+  for (i = 0; i < 5; i++) {
+    fail_unless_equals_int (GPOINTER_TO_INT (gst_queue_array_pop_head (array)),
+        i);
+  }
+
+  fail_unless_equals_int (array->length, 0);
+
+  gst_queue_array_free (array);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_array_grow)
+{
+  GstQueueArray *array;
+  guint i;
+
+  /* Create an array of initial size 10 */
+  array = gst_queue_array_new (10);
+  fail_unless_equals_int (array->size, 10);
+
+  /* push 10 values in */
+  for (i = 0; i < 10; i++)
+    gst_queue_array_push_tail (array, GINT_TO_POINTER (i));
+
+  fail_unless_equals_int (array->length, 10);
+  /* It did not grow beyond initial size */
+  fail_unless_equals_int (array->size, 10);
+  /* The head is still at the beginning */
+  fail_unless_equals_int (array->head, 0);
+  /* The tail wrapped around to the head */
+  fail_unless_equals_int (array->tail, 0);
+
+
+  /* If we add one value, it will grow */
+  gst_queue_array_push_tail (array, GINT_TO_POINTER (10));
+
+  fail_unless_equals_int (array->length, 11);
+  /* It did grow beyond initial size */
+  fail_unless_equals_int (array->size, 15);
+  /* The head remains the same */
+  fail_unless_equals_int (array->head, 0);
+  /* The tail was brought to position 11 */
+  fail_unless_equals_int (array->tail, 11);
+
+  /* pull the 11 values out */
+  for (i = 0; i < 11; i++) {
+    fail_unless_equals_int (GPOINTER_TO_INT (gst_queue_array_pop_head (array)),
+        i);
+  }
+
+  fail_unless_equals_int (array->length, 0);
+  gst_queue_array_free (array);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_array_grow_multiple)
+{
+  GstQueueArray *array;
+  guint i;
+
+  /* Create an array of initial size 10 */
+  array = gst_queue_array_new (10);
+  fail_unless_equals_int (array->size, 10);
+
+  /* push 11 values in */
+  for (i = 0; i < 11; i++)
+    gst_queue_array_push_tail (array, GINT_TO_POINTER (i));
+
+  /* With 11 values, it should have grown once (15) */
+  fail_unless_equals_int (array->length, 11);
+  fail_unless_equals_int (array->size, 15);
+
+  for (i = 11; i < 20; i++)
+    gst_queue_array_push_tail (array, GINT_TO_POINTER (i));
+
+  /* With 20 total values, it should have grown another time (3 * 15) / 2 = 22) */
+  fail_unless_equals_int (array->length, 20);
+  /* It did grow beyond initial size */
+  fail_unless_equals_int (array->size, 22);
+
+  /* pull the 20 values out */
+  for (i = 0; i < 20; i++) {
+    fail_unless_equals_int (GPOINTER_TO_INT (gst_queue_array_pop_head (array)),
+        i);
+  }
+
+  fail_unless_equals_int (array->length, 0);
+  gst_queue_array_free (array);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_array_grow_middle)
+{
+  GstQueueArray *array;
+  guint i;
+
+  /* Create an array of initial size 10 */
+  array = gst_queue_array_new (10);
+  fail_unless_equals_int (array->size, 10);
+
+  /* push/pull 5 values to end up in the middle */
+  for (i = 0; i < 5; i++) {
+    gst_queue_array_push_tail (array, GINT_TO_POINTER (i));
+    fail_unless_equals_int (GPOINTER_TO_INT (gst_queue_array_pop_head (array)),
+        i);
+  }
+
+  /* push 10 values in */
+  for (i = 0; i < 10; i++)
+    gst_queue_array_push_tail (array, GINT_TO_POINTER (i));
+
+  fail_unless_equals_int (array->length, 10);
+  /* It did not grow beyond initial size */
+  fail_unless_equals_int (array->size, 10);
+
+  /* If we add one value, it will grow */
+  gst_queue_array_push_tail (array, GINT_TO_POINTER (10));
+  fail_unless_equals_int (array->length, 11);
+  /* It did grow beyond initial size */
+  fail_unless_equals_int (array->size, 15);
+
+  /* pull the 11 values out */
+  for (i = 0; i < 11; i++) {
+    fail_unless_equals_int (GPOINTER_TO_INT (gst_queue_array_pop_head (array)),
+        i);
+  }
+
+  fail_unless_equals_int (array->length, 0);
+  gst_queue_array_free (array);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_array_grow_end)
+{
+  GstQueueArray *array;
+  guint i;
+
+  /* Create an array of initial size 10 */
+  array = gst_queue_array_new (10);
+  fail_unless_equals_int (array->size, 10);
+
+  /* push/pull 9 values to end up at the last position */
+  for (i = 0; i < 9; i++) {
+    gst_queue_array_push_tail (array, GINT_TO_POINTER (i));
+    fail_unless_equals_int (GPOINTER_TO_INT (gst_queue_array_pop_head (array)),
+        i);
+  }
+
+  /* push 10 values in */
+  for (i = 0; i < 10; i++)
+    gst_queue_array_push_tail (array, GINT_TO_POINTER (i));
+
+  fail_unless_equals_int (array->length, 10);
+  /* It did not grow beyond initial size */
+  fail_unless_equals_int (array->size, 10);
+
+  /* If we add one value, it will grow */
+  gst_queue_array_push_tail (array, GINT_TO_POINTER (10));
+  fail_unless_equals_int (array->length, 11);
+  /* It did grow beyond initial size */
+  fail_unless_equals_int (array->size, 15);
+
+  /* pull the 11 values out */
+  for (i = 0; i < 11; i++) {
+    fail_unless_equals_int (GPOINTER_TO_INT (gst_queue_array_pop_head (array)),
+        i);
+  }
+
+  fail_unless_equals_int (array->length, 0);
+  gst_queue_array_free (array);
+}
+
+GST_END_TEST;
+
+static Suite *
+gst_queue_array_suite (void)
+{
+  Suite *s = suite_create ("GstQueueArray");
+  TCase *tc_chain = tcase_create ("general");
+
+  suite_add_tcase (s, tc_chain);
+
+  tcase_add_test (tc_chain, test_array_1);
+  tcase_add_test (tc_chain, test_array_grow);
+  tcase_add_test (tc_chain, test_array_grow_multiple);
+  tcase_add_test (tc_chain, test_array_grow_middle);
+  tcase_add_test (tc_chain, test_array_grow_end);
+
+  return s;
+}
+
+
+GST_CHECK_MAIN (gst_queue_array);
diff --git a/tests/check/pipelines/cleanup.c b/tests/check/pipelines/cleanup.c
index 4c7232a..ffab6ec 100644
--- a/tests/check/pipelines/cleanup.c
+++ b/tests/check/pipelines/cleanup.c
@@ -91,7 +91,8 @@
 
   run_pipeline (pipeline, s,
       GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
-      GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE, GST_MESSAGE_EOS);
+      GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE |
+      GST_MESSAGE_STREAM_START, GST_MESSAGE_EOS);
   while (GST_OBJECT_REFCOUNT_VALUE (src) > 1)
     THREAD_SWITCH ();
   ASSERT_OBJECT_REFCOUNT (src, "src", 1);
diff --git a/tests/check/pipelines/simple-launch-lines.c b/tests/check/pipelines/simple-launch-lines.c
index fb72a2f..0a56563 100644
--- a/tests/check/pipelines/simple-launch-lines.c
+++ b/tests/check/pipelines/simple-launch-lines.c
@@ -102,28 +102,32 @@
   s = "fakesrc can-activate-push=false ! fakesink can-activate-pull=true";
   run_pipeline (setup_pipeline (s), s,
       GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
-      GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE, GST_MESSAGE_UNKNOWN);
+      GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE |
+      GST_MESSAGE_STREAM_START, GST_MESSAGE_UNKNOWN);
 
   s = "fakesrc can-activate-push=true ! fakesink can-activate-pull=false";
   run_pipeline (setup_pipeline (s), s,
       GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
-      GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE, GST_MESSAGE_UNKNOWN);
+      GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE |
+      GST_MESSAGE_STREAM_START, GST_MESSAGE_UNKNOWN);
 
   s = "fakesrc can-activate-push=false num-buffers=10 ! fakesink can-activate-pull=true";
   run_pipeline (setup_pipeline (s), s,
       GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
-      GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE, GST_MESSAGE_EOS);
+      GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE |
+      GST_MESSAGE_STREAM_START, GST_MESSAGE_EOS);
 
   s = "fakesrc can-activate-push=true num-buffers=10 ! fakesink can-activate-pull=false";
   run_pipeline (setup_pipeline (s), s,
       GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
-      GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE, GST_MESSAGE_EOS);
+      GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE |
+      GST_MESSAGE_STREAM_START, GST_MESSAGE_EOS);
 
   s = "fakesrc can-activate-push=false ! fakesink can-activate-pull=false";
   ASSERT_CRITICAL (run_pipeline (setup_pipeline (s), s,
           GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
-          GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE,
-          GST_MESSAGE_UNKNOWN));
+          GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE |
+          GST_MESSAGE_STREAM_START, GST_MESSAGE_UNKNOWN));
 }
 
 GST_END_TEST;
@@ -192,45 +196,51 @@
 
   s = "fakesrc can-activate-push=true ! tee ! fakesink can-activate-push=true";
   run_pipeline (setup_pipeline (s), s,
-      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED, GST_MESSAGE_UNKNOWN);
+      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
+      GST_MESSAGE_STREAM_START, GST_MESSAGE_UNKNOWN);
 
   s = "fakesrc can-activate-push=true num-buffers=10 ! tee ! fakesink can-activate-push=true";
   run_pipeline (setup_pipeline (s), s,
-      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED, GST_MESSAGE_EOS);
+      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
+      GST_MESSAGE_STREAM_START, GST_MESSAGE_EOS);
 
   s = "fakesrc can-activate-push=false can-activate-pull=true ! tee ! fakesink can-activate-pull=true";
   ASSERT_CRITICAL (run_pipeline (setup_pipeline (s), s,
-          GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED,
-          GST_MESSAGE_UNKNOWN));
+          GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
+          GST_MESSAGE_STREAM_START, GST_MESSAGE_UNKNOWN));
 
   s = "fakesrc can-activate-push=false can-activate-pull=true "
       "! tee pull-mode=single ! fakesink can-activate-pull=true";
   run_pipeline (setup_pipeline (s), s,
-      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED, GST_MESSAGE_UNKNOWN);
+      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
+      GST_MESSAGE_STREAM_START, GST_MESSAGE_UNKNOWN);
 
   s = "fakesrc can-activate-push=false can-activate-pull=true num-buffers=10 "
       "! tee pull-mode=single ! fakesink can-activate-pull=true";
   run_pipeline (setup_pipeline (s), s,
-      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED, GST_MESSAGE_EOS);
+      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
+      GST_MESSAGE_STREAM_START, GST_MESSAGE_EOS);
 
   s = "fakesrc can-activate-push=false can-activate-pull=true "
       "! tee name=t pull-mode=single ! fakesink can-activate-pull=true "
       "t. ! queue ! fakesink can-activate-pull=true can-activate-push=false";
   ASSERT_CRITICAL (run_pipeline (setup_pipeline (s), s,
-          GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED,
-          GST_MESSAGE_UNKNOWN));
+          GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
+          GST_MESSAGE_STREAM_START, GST_MESSAGE_UNKNOWN));
 
   s = "fakesrc can-activate-push=false can-activate-pull=true "
       "! tee name=t pull-mode=single ! fakesink can-activate-pull=true "
       "t. ! queue ! fakesink";
   run_pipeline (setup_pipeline (s), s,
-      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED, GST_MESSAGE_UNKNOWN);
+      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
+      GST_MESSAGE_STREAM_START, GST_MESSAGE_UNKNOWN);
 
   s = "fakesrc can-activate-push=false can-activate-pull=true num-buffers=10 "
       "! tee name=t pull-mode=single ! fakesink can-activate-pull=true "
       "t. ! queue ! fakesink";
   run_pipeline (setup_pipeline (s), s,
-      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED, GST_MESSAGE_EOS);
+      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
+      GST_MESSAGE_STREAM_START, GST_MESSAGE_EOS);
 }
 
 GST_END_TEST;
diff --git a/tests/examples/Makefile.am b/tests/examples/Makefile.am
index f4e059b..7454b5c 100644
--- a/tests/examples/Makefile.am
+++ b/tests/examples/Makefile.am
@@ -15,6 +15,7 @@
 	controller \
 	helloworld \
 	manual     \
+	memory   \
 	metadata   \
 	queue      \
 	stepping \
diff --git a/tests/examples/Makefile.in b/tests/examples/Makefile.in
index 85d8849..a10532c 100644
--- a/tests/examples/Makefile.in
+++ b/tests/examples/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -212,7 +212,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
@@ -437,6 +439,7 @@
 	controller \
 	helloworld \
 	manual     \
+	memory   \
 	metadata   \
 	queue      \
 	stepping \
diff --git a/tests/examples/adapter/Makefile.in b/tests/examples/adapter/Makefile.in
index 6c99309..5f39a69 100644
--- a/tests/examples/adapter/Makefile.in
+++ b/tests/examples/adapter/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -203,7 +203,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/tests/examples/controller/Makefile.in b/tests/examples/controller/Makefile.in
index ffd3b16..2e9cc06 100644
--- a/tests/examples/controller/Makefile.in
+++ b/tests/examples/controller/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -212,7 +212,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/tests/examples/helloworld/Makefile.in b/tests/examples/helloworld/Makefile.in
index d32e06d..4c5d16c 100644
--- a/tests/examples/helloworld/Makefile.in
+++ b/tests/examples/helloworld/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -202,7 +202,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/tests/examples/launch/Makefile.in b/tests/examples/launch/Makefile.in
index 0fb702a..2f01e35 100644
--- a/tests/examples/launch/Makefile.in
+++ b/tests/examples/launch/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -203,7 +203,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/tests/examples/manual/Makefile.in b/tests/examples/manual/Makefile.in
index c6e01ed..d260b7e 100644
--- a/tests/examples/manual/Makefile.in
+++ b/tests/examples/manual/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -309,7 +309,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/tests/examples/memory/Makefile.am b/tests/examples/memory/Makefile.am
new file mode 100644
index 0000000..b0399c0
--- /dev/null
+++ b/tests/examples/memory/Makefile.am
@@ -0,0 +1,5 @@
+noinst_PROGRAMS = memory_test
+
+memory_test_SOURCES = memory_test.c my-memory.c my-memory.h my-vidmem.c my-vidmem.h
+memory_test_LDADD = $(GST_OBJ_LIBS)
+memory_test_CFLAGS = $(GST_OBJ_CFLAGS)
diff --git a/tests/examples/memory/Makefile.in b/tests/examples/memory/Makefile.in
new file mode 100644
index 0000000..b36358b
--- /dev/null
+++ b/tests/examples/memory/Makefile.in
@@ -0,0 +1,758 @@
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+noinst_PROGRAMS = memory_test$(EXEEXT)
+subdir = tests/examples/memory
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
+	$(top_srcdir)/common/m4/as-auto-alt.m4 \
+	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
+	$(top_srcdir)/common/m4/as-docbook.m4 \
+	$(top_srcdir)/common/m4/as-libtool.m4 \
+	$(top_srcdir)/common/m4/as-python.m4 \
+	$(top_srcdir)/common/m4/as-scrub-include.m4 \
+	$(top_srcdir)/common/m4/as-version.m4 \
+	$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
+	$(top_srcdir)/common/m4/gst-arch.m4 \
+	$(top_srcdir)/common/m4/gst-args.m4 \
+	$(top_srcdir)/common/m4/gst-check.m4 \
+	$(top_srcdir)/common/m4/gst-doc.m4 \
+	$(top_srcdir)/common/m4/gst-error.m4 \
+	$(top_srcdir)/common/m4/gst-feature.m4 \
+	$(top_srcdir)/common/m4/gst-function.m4 \
+	$(top_srcdir)/common/m4/gst-gettext.m4 \
+	$(top_srcdir)/common/m4/gst-glib2.m4 \
+	$(top_srcdir)/common/m4/gst-package-release-datetime.m4 \
+	$(top_srcdir)/common/m4/gst-parser.m4 \
+	$(top_srcdir)/common/m4/gst-platform.m4 \
+	$(top_srcdir)/common/m4/gst-plugin-docs.m4 \
+	$(top_srcdir)/common/m4/gst-plugindir.m4 \
+	$(top_srcdir)/common/m4/gst.m4 \
+	$(top_srcdir)/common/m4/gtk-doc.m4 \
+	$(top_srcdir)/common/m4/introspection.m4 \
+	$(top_srcdir)/common/m4/pkg.m4 \
+	$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
+	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_memory_test_OBJECTS = memory_test-memory_test.$(OBJEXT) \
+	memory_test-my-memory.$(OBJEXT) \
+	memory_test-my-vidmem.$(OBJEXT)
+memory_test_OBJECTS = $(am_memory_test_OBJECTS)
+am__DEPENDENCIES_1 =
+memory_test_DEPENDENCIES = $(am__DEPENDENCIES_1)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+memory_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(memory_test_CFLAGS) \
+	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC    " $@;
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD  " $@;
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN   " $@;
+SOURCES = $(memory_test_SOURCES)
+DIST_SOURCES = $(memory_test_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BISON_PATH = @BISON_PATH@
+CAT_ENTRY_END = @CAT_ENTRY_END@
+CAT_ENTRY_START = @CAT_ENTRY_START@
+CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CHECK_MAJOR_VERSION = @CHECK_MAJOR_VERSION@
+CHECK_MICRO_VERSION = @CHECK_MICRO_VERSION@
+CHECK_MINOR_VERSION = @CHECK_MINOR_VERSION@
+CHECK_VERSION = @CHECK_VERSION@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DATADIR = @DATADIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DEPRECATED_CFLAGS = @DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCBOOK_ROOT = @DOCBOOK_ROOT@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_SUBUNIT = @ENABLE_SUBUNIT@
+ERROR_CFLAGS = @ERROR_CFLAGS@
+EXEEXT = @EXEEXT@
+FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLEX_PATH = @FLEX_PATH@
+GCOV = @GCOV@
+GCOV_CFLAGS = @GCOV_CFLAGS@
+GCOV_LIBS = @GCOV_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GIO_CFLAGS = @GIO_CFLAGS@
+GIO_LDFLAGS = @GIO_LDFLAGS@
+GIO_LIBS = @GIO_LIBS@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
+GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GLIB_PREFIX = @GLIB_PREFIX@
+GLIB_REQ = @GLIB_REQ@
+GMP_LIBS = @GMP_LIBS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GSL_LIBS = @GSL_LIBS@
+GST_AGE = @GST_AGE@
+GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
+GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
+GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
+GST_ALL_LIBS = @GST_ALL_LIBS@
+GST_API_VERSION = @GST_API_VERSION@
+GST_CURRENT = @GST_CURRENT@
+GST_DISABLE_ALLOC_TRACE_DEFINE = @GST_DISABLE_ALLOC_TRACE_DEFINE@
+GST_DISABLE_GST_DEBUG_DEFINE = @GST_DISABLE_GST_DEBUG_DEFINE@
+GST_DISABLE_OPTION_PARSING_DEFINE = @GST_DISABLE_OPTION_PARSING_DEFINE@
+GST_DISABLE_PARSE_DEFINE = @GST_DISABLE_PARSE_DEFINE@
+GST_DISABLE_PLUGIN_DEFINE = @GST_DISABLE_PLUGIN_DEFINE@
+GST_DISABLE_REGISTRY_DEFINE = @GST_DISABLE_REGISTRY_DEFINE@
+GST_DISABLE_TRACE_DEFINE = @GST_DISABLE_TRACE_DEFINE@
+GST_HAVE_MONOTONIC_CLOCK_DEFINE = @GST_HAVE_MONOTONIC_CLOCK_DEFINE@
+GST_HAVE_POSIX_TIMERS_DEFINE = @GST_HAVE_POSIX_TIMERS_DEFINE@
+GST_HAVE_UNALIGNED_ACCESS_DEFINE = @GST_HAVE_UNALIGNED_ACCESS_DEFINE@
+GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
+GST_LIBVERSION = @GST_LIBVERSION@
+GST_LIB_LDFLAGS = @GST_LIB_LDFLAGS@
+GST_LICENSE = @GST_LICENSE@
+GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
+GST_OBJ_CFLAGS = @GST_OBJ_CFLAGS@
+GST_OBJ_CXXFLAGS = @GST_OBJ_CXXFLAGS@
+GST_OBJ_LIBS = @GST_OBJ_LIBS@
+GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
+GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
+GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
+GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
+GST_PKG_DEPS = @GST_PKG_DEPS@
+GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
+GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
+GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
+GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
+GST_REVISION = @GST_REVISION@
+GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
+GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
+GST_VERSION_MICRO = @GST_VERSION_MICRO@
+GST_VERSION_MINOR = @GST_VERSION_MINOR@
+GST_VERSION_NANO = @GST_VERSION_NANO@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
+HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
+HAVE_DVIPS = @HAVE_DVIPS@
+HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
+HAVE_FIG2DEV = @HAVE_FIG2DEV@
+HAVE_GMP = @HAVE_GMP@
+HAVE_GSL = @HAVE_GSL@
+HAVE_JADETEX = @HAVE_JADETEX@
+HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
+HAVE_PNMTOPS = @HAVE_PNMTOPS@
+HAVE_PS2PDF = @HAVE_PS2PDF@
+HAVE_XMLLINT = @HAVE_XMLLINT@
+HOST_CPU = @HOST_CPU@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBDIR = @LIBDIR@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBM = @LIBM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LOCALEDIR = @LOCALEDIR@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@
+PACKAGE_VERSION_MICRO = @PACKAGE_VERSION_MICRO@
+PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@
+PACKAGE_VERSION_NANO = @PACKAGE_VERSION_NANO@
+PACKAGE_VERSION_RELEASE = @PACKAGE_VERSION_RELEASE@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+PLUGINDIR = @PLUGINDIR@
+POSUB = @POSUB@
+PROFILE_CFLAGS = @PROFILE_CFLAGS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+USE_NLS = @USE_NLS@
+VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
+VALGRIND_LIBS = @VALGRIND_LIBS@
+VALGRIND_PATH = @VALGRIND_PATH@
+VERSION = @VERSION@
+WARNING_CFLAGS = @WARNING_CFLAGS@
+WIN32_LIBS = @WIN32_LIBS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+XML_CATALOG = @XML_CATALOG@
+XSLTPROC = @XSLTPROC@
+XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+plugindir = @plugindir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+memory_test_SOURCES = memory_test.c my-memory.c my-memory.h my-vidmem.c my-vidmem.h
+memory_test_LDADD = $(GST_OBJ_LIBS)
+memory_test_CFLAGS = $(GST_OBJ_CFLAGS)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/examples/memory/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu tests/examples/memory/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstPROGRAMS:
+	@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
+memory_test$(EXEEXT): $(memory_test_OBJECTS) $(memory_test_DEPENDENCIES) $(EXTRA_memory_test_DEPENDENCIES) 
+	@rm -f memory_test$(EXEEXT)
+	$(AM_V_CCLD)$(memory_test_LINK) $(memory_test_OBJECTS) $(memory_test_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memory_test-memory_test.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memory_test-my-memory.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memory_test-my-vidmem.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+memory_test-memory_test.o: memory_test.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memory_test_CFLAGS) $(CFLAGS) -MT memory_test-memory_test.o -MD -MP -MF $(DEPDIR)/memory_test-memory_test.Tpo -c -o memory_test-memory_test.o `test -f 'memory_test.c' || echo '$(srcdir)/'`memory_test.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/memory_test-memory_test.Tpo $(DEPDIR)/memory_test-memory_test.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='memory_test.c' object='memory_test-memory_test.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) $(memory_test_CFLAGS) $(CFLAGS) -c -o memory_test-memory_test.o `test -f 'memory_test.c' || echo '$(srcdir)/'`memory_test.c
+
+memory_test-memory_test.obj: memory_test.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memory_test_CFLAGS) $(CFLAGS) -MT memory_test-memory_test.obj -MD -MP -MF $(DEPDIR)/memory_test-memory_test.Tpo -c -o memory_test-memory_test.obj `if test -f 'memory_test.c'; then $(CYGPATH_W) 'memory_test.c'; else $(CYGPATH_W) '$(srcdir)/memory_test.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/memory_test-memory_test.Tpo $(DEPDIR)/memory_test-memory_test.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='memory_test.c' object='memory_test-memory_test.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) $(memory_test_CFLAGS) $(CFLAGS) -c -o memory_test-memory_test.obj `if test -f 'memory_test.c'; then $(CYGPATH_W) 'memory_test.c'; else $(CYGPATH_W) '$(srcdir)/memory_test.c'; fi`
+
+memory_test-my-memory.o: my-memory.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memory_test_CFLAGS) $(CFLAGS) -MT memory_test-my-memory.o -MD -MP -MF $(DEPDIR)/memory_test-my-memory.Tpo -c -o memory_test-my-memory.o `test -f 'my-memory.c' || echo '$(srcdir)/'`my-memory.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/memory_test-my-memory.Tpo $(DEPDIR)/memory_test-my-memory.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='my-memory.c' object='memory_test-my-memory.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) $(memory_test_CFLAGS) $(CFLAGS) -c -o memory_test-my-memory.o `test -f 'my-memory.c' || echo '$(srcdir)/'`my-memory.c
+
+memory_test-my-memory.obj: my-memory.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memory_test_CFLAGS) $(CFLAGS) -MT memory_test-my-memory.obj -MD -MP -MF $(DEPDIR)/memory_test-my-memory.Tpo -c -o memory_test-my-memory.obj `if test -f 'my-memory.c'; then $(CYGPATH_W) 'my-memory.c'; else $(CYGPATH_W) '$(srcdir)/my-memory.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/memory_test-my-memory.Tpo $(DEPDIR)/memory_test-my-memory.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='my-memory.c' object='memory_test-my-memory.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) $(memory_test_CFLAGS) $(CFLAGS) -c -o memory_test-my-memory.obj `if test -f 'my-memory.c'; then $(CYGPATH_W) 'my-memory.c'; else $(CYGPATH_W) '$(srcdir)/my-memory.c'; fi`
+
+memory_test-my-vidmem.o: my-vidmem.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memory_test_CFLAGS) $(CFLAGS) -MT memory_test-my-vidmem.o -MD -MP -MF $(DEPDIR)/memory_test-my-vidmem.Tpo -c -o memory_test-my-vidmem.o `test -f 'my-vidmem.c' || echo '$(srcdir)/'`my-vidmem.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/memory_test-my-vidmem.Tpo $(DEPDIR)/memory_test-my-vidmem.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='my-vidmem.c' object='memory_test-my-vidmem.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) $(memory_test_CFLAGS) $(CFLAGS) -c -o memory_test-my-vidmem.o `test -f 'my-vidmem.c' || echo '$(srcdir)/'`my-vidmem.c
+
+memory_test-my-vidmem.obj: my-vidmem.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memory_test_CFLAGS) $(CFLAGS) -MT memory_test-my-vidmem.obj -MD -MP -MF $(DEPDIR)/memory_test-my-vidmem.Tpo -c -o memory_test-my-vidmem.obj `if test -f 'my-vidmem.c'; then $(CYGPATH_W) 'my-vidmem.c'; else $(CYGPATH_W) '$(srcdir)/my-vidmem.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/memory_test-my-vidmem.Tpo $(DEPDIR)/memory_test-my-vidmem.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='my-vidmem.c' object='memory_test-my-vidmem.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) $(memory_test_CFLAGS) $(CFLAGS) -c -o memory_test-my-vidmem.obj `if test -f 'my-vidmem.c'; then $(CYGPATH_W) 'my-vidmem.c'; else $(CYGPATH_W) '$(srcdir)/my-vidmem.c'; fi`
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	set x; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstPROGRAMS ctags distclean \
+	distclean-compile distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/tests/examples/memory/memory_test.c b/tests/examples/memory/memory_test.c
new file mode 100644
index 0000000..96d9afb
--- /dev/null
+++ b/tests/examples/memory/memory_test.c
@@ -0,0 +1,54 @@
+#include <gst/gst.h>
+
+#include "my-memory.h"
+#include "my-vidmem.h"
+
+int
+main (int argc, char **argv)
+{
+  GstAllocator *alloc;
+  GstMemory *mem;
+  GstAllocationParams params;
+  GstMapInfo info;
+  guint f, w, h;
+
+  gst_init (&argc, &argv);
+
+  /* memory using the default API */
+  my_memory_init ();
+
+  alloc = gst_allocator_find ("MyMemory");
+
+  gst_allocation_params_init (&params);
+  mem = gst_allocator_alloc (alloc, 1024, &params);
+
+  gst_memory_map (mem, &info, GST_MAP_READ);
+  gst_memory_unmap (mem, &info);
+
+  gst_memory_unref (mem);
+  gst_object_unref (alloc);
+
+  /* allocator with custom alloc API */
+  my_vidmem_init ();
+
+  /* we can get the allocator but we can only make objects from it when we know
+   * the API */
+  alloc = gst_allocator_find ("MyVidmem");
+
+  /* use custom api to alloc */
+  mem = my_vidmem_alloc (0, 640, 480);
+  g_assert (my_is_vidmem (mem));
+
+  my_vidmem_get_format (mem, &f, &w, &h);
+  g_assert (f == 0);
+  g_assert (w == 640);
+  g_assert (h == 480);
+
+  gst_memory_map (mem, &info, GST_MAP_READ);
+  gst_memory_unmap (mem, &info);
+
+  gst_memory_unref (mem);
+  gst_object_unref (alloc);
+
+  return 0;
+}
diff --git a/tests/examples/memory/my-memory.c b/tests/examples/memory/my-memory.c
new file mode 100644
index 0000000..1bbd960
--- /dev/null
+++ b/tests/examples/memory/my-memory.c
@@ -0,0 +1,159 @@
+/* GStreamer
+ * Copyright (C) 2012 Wim Taymans <wim.taymans@gmail.be>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "my-memory.h"
+
+typedef struct
+{
+  GstMemory mem;
+
+  gpointer data;
+
+} MyMemory;
+
+
+static GstMemory *
+_my_alloc (GstAllocator * allocator, gsize size, GstAllocationParams * params)
+{
+  MyMemory *mem;
+  gsize maxsize = size + params->prefix + params->padding;
+
+  GST_DEBUG ("alloc from allocator %p", allocator);
+
+  mem = g_slice_new (MyMemory);
+
+  gst_memory_init (GST_MEMORY_CAST (mem), params->flags, allocator, NULL,
+      maxsize, params->align, params->prefix, size);
+
+  mem->data = NULL;
+
+  return (GstMemory *) mem;
+}
+
+static void
+_my_free (GstAllocator * allocator, GstMemory * mem)
+{
+  MyMemory *mmem = (MyMemory *) mem;
+
+  g_free (mmem->data);
+  g_slice_free (MyMemory, mmem);
+  GST_DEBUG ("%p: freed", mmem);
+}
+
+static gpointer
+_my_mem_map (MyMemory * mem, gsize maxsize, GstMapFlags flags)
+{
+  gpointer res;
+
+  while (TRUE) {
+    if ((res = g_atomic_pointer_get (&mem->data)) != NULL)
+      break;
+
+    res = g_malloc (maxsize);
+
+    if (g_atomic_pointer_compare_and_exchange (&mem->data, NULL, res))
+      break;
+
+    g_free (res);
+  }
+
+  GST_DEBUG ("%p: mapped %p", mem, res);
+
+  return res;
+}
+
+static gboolean
+_my_mem_unmap (MyMemory * mem)
+{
+  GST_DEBUG ("%p: unmapped", mem);
+  return TRUE;
+}
+
+static MyMemory *
+_my_mem_share (MyMemory * mem, gssize offset, gsize size)
+{
+  MyMemory *sub;
+  GstMemory *parent;
+
+  GST_DEBUG ("%p: share %" G_GSSIZE_FORMAT " %" G_GSIZE_FORMAT, mem, offset,
+      size);
+
+  /* find the real parent */
+  if ((parent = mem->mem.parent) == NULL)
+    parent = (GstMemory *) mem;
+
+  if (size == -1)
+    size = mem->mem.size - offset;
+
+  sub = g_slice_new (MyMemory);
+  /* the shared memory is always readonly */
+  gst_memory_init (GST_MEMORY_CAST (sub), GST_MINI_OBJECT_FLAGS (parent) |
+      GST_MINI_OBJECT_FLAG_LOCK_READONLY, mem->mem.allocator, parent,
+      mem->mem.maxsize, mem->mem.align, mem->mem.offset + offset, size);
+
+  /* install pointer */
+  sub->data = _my_mem_map (mem, mem->mem.maxsize, GST_MAP_READ);
+
+  return sub;
+}
+
+typedef struct
+{
+  GstAllocator parent;
+} MyMemoryAllocator;
+
+typedef struct
+{
+  GstAllocatorClass parent_class;
+} MyMemoryAllocatorClass;
+
+GType my_memory_allocator_get_type (void);
+G_DEFINE_TYPE (MyMemoryAllocator, my_memory_allocator, GST_TYPE_ALLOCATOR);
+
+static void
+my_memory_allocator_class_init (MyMemoryAllocatorClass * klass)
+{
+  GstAllocatorClass *allocator_class;
+
+  allocator_class = (GstAllocatorClass *) klass;
+
+  allocator_class->alloc = _my_alloc;
+  allocator_class->free = _my_free;
+}
+
+static void
+my_memory_allocator_init (MyMemoryAllocator * allocator)
+{
+  GstAllocator *alloc = GST_ALLOCATOR_CAST (allocator);
+
+  alloc->mem_type = "MyMemory";
+  alloc->mem_map = (GstMemoryMapFunction) _my_mem_map;
+  alloc->mem_unmap = (GstMemoryUnmapFunction) _my_mem_unmap;
+  alloc->mem_share = (GstMemoryShareFunction) _my_mem_share;
+}
+
+void
+my_memory_init (void)
+{
+  GstAllocator *allocator;
+
+  allocator = g_object_new (my_memory_allocator_get_type (), NULL);
+
+  gst_allocator_register ("MyMemory", allocator);
+}
diff --git a/tests/examples/memory/my-memory.h b/tests/examples/memory/my-memory.h
new file mode 100644
index 0000000..dad2d24
--- /dev/null
+++ b/tests/examples/memory/my-memory.h
@@ -0,0 +1,26 @@
+/* GStreamer
+ * Copyright (C) 2012 Wim Taymans <wim.taymans@gmail.be>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <gst/gst.h>
+
+
+/* example of an allocator that delays allocation of the memory
+ * until the memory is mapped */
+void my_memory_init (void);
+
diff --git a/tests/examples/memory/my-vidmem.c b/tests/examples/memory/my-vidmem.c
new file mode 100644
index 0000000..b1a58be
--- /dev/null
+++ b/tests/examples/memory/my-vidmem.c
@@ -0,0 +1,192 @@
+/* GStreamer
+ * Copyright (C) 2012 Wim Taymans <wim.taymans@gmail.be>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "my-vidmem.h"
+
+static GstAllocator *_my_allocator;
+
+typedef struct
+{
+  GstMemory mem;
+
+  guint format;
+  guint width;
+  guint height;
+  gpointer data;
+
+} MyVidmem;
+
+
+static GstMemory *
+_my_alloc (GstAllocator * allocator, gsize size, GstAllocationParams * params)
+{
+  g_warning ("Use my_vidmem_alloc() to allocate from this allocator");
+
+  return NULL;
+}
+
+static void
+_my_free (GstAllocator * allocator, GstMemory * mem)
+{
+  MyVidmem *vmem = (MyVidmem *) mem;
+
+  g_free (vmem->data);
+  g_slice_free (MyVidmem, vmem);
+  GST_DEBUG ("%p: freed", vmem);
+}
+
+static gpointer
+_my_vidmem_map (MyVidmem * mem, gsize maxsize, GstMapFlags flags)
+{
+  gpointer res;
+
+  while (TRUE) {
+    if ((res = g_atomic_pointer_get (&mem->data)) != NULL)
+      break;
+
+    res = g_malloc (maxsize);
+
+    if (g_atomic_pointer_compare_and_exchange (&mem->data, NULL, res))
+      break;
+
+    g_free (res);
+  }
+
+  GST_DEBUG ("%p: mapped %p", mem, res);
+
+  return res;
+}
+
+static gboolean
+_my_vidmem_unmap (MyVidmem * mem)
+{
+  GST_DEBUG ("%p: unmapped", mem);
+  return TRUE;
+}
+
+static MyVidmem *
+_my_vidmem_share (MyVidmem * mem, gssize offset, gsize size)
+{
+  MyVidmem *sub;
+  GstMemory *parent;
+
+  GST_DEBUG ("%p: share %" G_GSSIZE_FORMAT " %" G_GSIZE_FORMAT, mem, offset,
+      size);
+
+  /* find the real parent */
+  if ((parent = mem->mem.parent) == NULL)
+    parent = (GstMemory *) mem;
+
+  if (size == -1)
+    size = mem->mem.size - offset;
+
+  sub = g_slice_new (MyVidmem);
+  /* the shared memory is always readonly */
+  gst_memory_init (GST_MEMORY_CAST (sub), GST_MINI_OBJECT_FLAGS (parent) |
+      GST_MINI_OBJECT_FLAG_LOCK_READONLY, mem->mem.allocator, parent,
+      mem->mem.maxsize, mem->mem.align, mem->mem.offset + offset, size);
+
+  /* install pointer */
+  sub->data = _my_vidmem_map (mem, mem->mem.maxsize, GST_MAP_READ);
+
+  return sub;
+}
+
+typedef struct
+{
+  GstAllocator parent;
+} MyVidmemAllocator;
+
+typedef struct
+{
+  GstAllocatorClass parent_class;
+} MyVidmemAllocatorClass;
+
+GType my_vidmem_allocator_get_type (void);
+G_DEFINE_TYPE (MyVidmemAllocator, my_vidmem_allocator, GST_TYPE_ALLOCATOR);
+
+static void
+my_vidmem_allocator_class_init (MyVidmemAllocatorClass * klass)
+{
+  GstAllocatorClass *allocator_class;
+
+  allocator_class = (GstAllocatorClass *) klass;
+
+  allocator_class->alloc = _my_alloc;
+  allocator_class->free = _my_free;
+}
+
+static void
+my_vidmem_allocator_init (MyVidmemAllocator * allocator)
+{
+  GstAllocator *alloc = GST_ALLOCATOR_CAST (allocator);
+
+  alloc->mem_type = "MyVidmem";
+  alloc->mem_map = (GstMemoryMapFunction) _my_vidmem_map;
+  alloc->mem_unmap = (GstMemoryUnmapFunction) _my_vidmem_unmap;
+  alloc->mem_share = (GstMemoryShareFunction) _my_vidmem_share;
+}
+
+void
+my_vidmem_init (void)
+{
+  _my_allocator = g_object_new (my_vidmem_allocator_get_type (), NULL);
+
+  gst_allocator_register ("MyVidmem", gst_object_ref (_my_allocator));
+}
+
+GstMemory *
+my_vidmem_alloc (guint format, guint width, guint height)
+{
+  MyVidmem *mem;
+  gsize maxsize;
+
+  GST_DEBUG ("alloc frame format %u %ux%u", format, width, height);
+
+  maxsize = (GST_ROUND_UP_4 (width) * height);
+
+  mem = g_slice_new (MyVidmem);
+
+  gst_memory_init (GST_MEMORY_CAST (mem), 0, _my_allocator, NULL,
+      maxsize, 31, 0, maxsize);
+
+  mem->format = format;
+  mem->width = width;
+  mem->height = height;
+  mem->data = NULL;
+
+  return (GstMemory *) mem;
+}
+
+gboolean
+my_is_vidmem (GstMemory * mem)
+{
+  return mem->allocator == _my_allocator;
+}
+
+void
+my_vidmem_get_format (GstMemory * mem, guint * format, guint * width,
+    guint * height)
+{
+  MyVidmem *vmem = (MyVidmem *) mem;
+
+  *format = vmem->format;
+  *width = vmem->width;
+  *height = vmem->height;
+}
diff --git a/tests/examples/memory/my-vidmem.h b/tests/examples/memory/my-vidmem.h
new file mode 100644
index 0000000..337ebbb
--- /dev/null
+++ b/tests/examples/memory/my-vidmem.h
@@ -0,0 +1,31 @@
+/* GStreamer
+ * Copyright (C) 2012 Wim Taymans <wim.taymans@gmail.be>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <gst/gst.h>
+
+/* example of an allocator that needs a custom alloc function */
+void my_vidmem_init (void);
+
+GstMemory * my_vidmem_alloc             (guint format, guint width, guint height);
+
+gboolean    my_is_vidmem                (GstMemory *mem);
+
+void        my_vidmem_get_format        (GstMemory *mem, guint *format,
+                                         guint *width, guint *height);
+
diff --git a/tests/examples/metadata/Makefile.in b/tests/examples/metadata/Makefile.in
index d8fc778..a3cb815 100644
--- a/tests/examples/metadata/Makefile.in
+++ b/tests/examples/metadata/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -202,7 +202,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/tests/examples/queue/Makefile.in b/tests/examples/queue/Makefile.in
index 4891ef4..d4bb1d6 100644
--- a/tests/examples/queue/Makefile.in
+++ b/tests/examples/queue/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -202,7 +202,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/tests/examples/stepping/Makefile.in b/tests/examples/stepping/Makefile.in
index e6d4e1f..5e5057a 100644
--- a/tests/examples/stepping/Makefile.in
+++ b/tests/examples/stepping/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -202,7 +202,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/tests/examples/stepping/framestep1.c b/tests/examples/stepping/framestep1.c
index 6eb1881..70a33a9 100644
--- a/tests/examples/stepping/framestep1.c
+++ b/tests/examples/stepping/framestep1.c
@@ -123,8 +123,9 @@
 
   /* step two frames, flush so that new preroll is queued */
   g_message ("stepping three frames");
-  g_assert (gst_element_send_event (bin,
-          gst_event_new_step (GST_FORMAT_BUFFERS, 2, 1.0, TRUE, FALSE)));
+  if (!gst_element_send_event (bin,
+          gst_event_new_step (GST_FORMAT_BUFFERS, 2, 1.0, TRUE, FALSE)))
+    g_warning ("Filed to send STEP event!");
 
   /* blocks and returns when we received the step done message */
   event_loop (bin);
@@ -138,9 +139,10 @@
 
   /* step 3 frames, flush so that new preroll is queued */
   g_message ("stepping 120 milliseconds ");
-  g_assert (gst_element_send_event (bin,
+  if (!gst_element_send_event (bin,
           gst_event_new_step (GST_FORMAT_TIME, 120 * GST_MSECOND, 1.0, TRUE,
-              FALSE)));
+              FALSE)))
+    g_warning ("Filed to send STEP event!");
 
   /* blocks and returns when we received the step done message */
   event_loop (bin);
diff --git a/tests/examples/streams/Makefile.in b/tests/examples/streams/Makefile.in
index 5187d85..0d76343 100644
--- a/tests/examples/streams/Makefile.in
+++ b/tests/examples/streams/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -211,7 +211,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/tests/examples/streams/rtpool-test.c b/tests/examples/streams/rtpool-test.c
index 960b6ea..fe129d2 100644
--- a/tests/examples/streams/rtpool-test.c
+++ b/tests/examples/streams/rtpool-test.c
@@ -154,7 +154,8 @@
 
   /* get the bus, we need to install a sync handler */
   bus = gst_pipeline_get_bus (GST_PIPELINE (bin));
-  gst_bus_set_sync_handler (bus, (GstBusSyncHandler) sync_bus_handler, bin);
+  gst_bus_set_sync_handler (bus, (GstBusSyncHandler) sync_bus_handler, bin,
+      NULL);
 
   /* start playing */
   ret = gst_element_set_state (bin, GST_STATE_PLAYING);
diff --git a/tests/examples/streams/stream-status.c b/tests/examples/streams/stream-status.c
index 0494ebd..1331110 100644
--- a/tests/examples/streams/stream-status.c
+++ b/tests/examples/streams/stream-status.c
@@ -130,7 +130,8 @@
 
   /* get the bus, we need to install a sync handler */
   bus = gst_pipeline_get_bus (GST_PIPELINE (bin));
-  gst_bus_set_sync_handler (bus, (GstBusSyncHandler) sync_bus_handler, bin);
+  gst_bus_set_sync_handler (bus, (GstBusSyncHandler) sync_bus_handler, bin,
+      NULL);
 
   /* start playing */
   gst_element_set_state (bin, GST_STATE_PLAYING);
diff --git a/tests/examples/typefind/Makefile.in b/tests/examples/typefind/Makefile.in
index a5b5743..0858fd9 100644
--- a/tests/examples/typefind/Makefile.in
+++ b/tests/examples/typefind/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -202,7 +202,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/tests/misc/Makefile.in b/tests/misc/Makefile.in
index e281b0d..5888927 100644
--- a/tests/misc/Makefile.in
+++ b/tests/misc/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -167,7 +167,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/tools/Makefile.in b/tools/Makefile.in
index c282f92..a6495d9 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -268,7 +268,9 @@
 GIO_LIBS = @GIO_LIBS@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
 GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
 GLIB_PREFIX = @GLIB_PREFIX@
 GLIB_REQ = @GLIB_REQ@
 GMP_LIBS = @GMP_LIBS@
diff --git a/tools/gst-inspect.c b/tools/gst-inspect.c
index 9642ea9..9616a0e 100644
--- a/tools/gst-inspect.c
+++ b/tools/gst-inspect.c
@@ -21,14 +21,14 @@
  * 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
-
 #ifdef HAVE_CONFIG_H
 #  include "config.h"
 #endif
 
+/* FIXME 0.11: suppress warnings for deprecated API such as GValueArray
+ * with newer GLib versions (>= 2.31.0) */
+#define GLIB_DISABLE_DEPRECATION_WARNINGS
+
 #include "tools.h"
 
 #include <string.h>
@@ -1535,7 +1535,7 @@
   textdomain (GETTEXT_PACKAGE);
 #endif
 
-  gst_tools_set_prgname ("gst-inspect");
+  g_set_prgname ("gst-inspect-" GST_API_VERSION);
 
 #ifndef GST_DISABLE_OPTION_PARSING
   ctx = g_option_context_new ("[ELEMENT-NAME | PLUGIN-NAME]");
@@ -1550,7 +1550,7 @@
   gst_init (&argc, &argv);
 #endif
 
-  gst_tools_print_version ("gst-inspect");
+  gst_tools_print_version ();
 
   if (print_all && argc > 1) {
     g_print ("-a requires no extra arguments\n");
diff --git a/tools/gst-launch.c b/tools/gst-launch.c
index 4abb429..1cce4d1 100644
--- a/tools/gst-launch.c
+++ b/tools/gst-launch.c
@@ -136,14 +136,15 @@
   int spinning = TRUE;
 
   glib_on_error_halt = FALSE;
-  g_on_error_stack_trace ("gst-launch");
+  g_on_error_stack_trace ("gst-launch-" GST_API_VERSION);
 
   wait (NULL);
 
   /* FIXME how do we know if we were run by libtool? */
   fprintf (stderr,
-      "Spinning.  Please run 'gdb gst-launch %d' to continue debugging, "
-      "Ctrl-C to quit, or Ctrl-\\ to dump core.\n", (gint) getpid ());
+      "Spinning.  Please run 'gdb gst-launch- " GST_API_VERSION " %d' to "
+      "continue debugging, Ctrl-C to quit, or Ctrl-\\ to dump core.\n",
+      (gint) getpid ());
   while (spinning)
     g_usleep (1000000);
 }
@@ -384,27 +385,35 @@
     if (gst_tag_get_type (tag) == G_TYPE_STRING) {
       if (!gst_tag_list_get_string_index (list, tag, i, &str))
         g_assert_not_reached ();
-    } else if (gst_tag_get_type (tag) == GST_TYPE_BUFFER) {
-      GstBuffer *img;
+    } else if (gst_tag_get_type (tag) == GST_TYPE_SAMPLE) {
+      GstSample *sample = NULL;
 
-      img = gst_value_get_buffer (gst_tag_list_get_value_index (list, tag, i));
-      if (img) {
-        gchar *caps_str;
+      if (gst_tag_list_get_sample_index (list, tag, i, &sample)) {
+        GstBuffer *img = gst_sample_get_buffer (sample);
+        GstCaps *caps = gst_sample_get_caps (sample);
 
-        caps_str = g_strdup ("unknown");
-        str = g_strdup_printf ("buffer of %" G_GSIZE_FORMAT " bytes, type: %s",
-            gst_buffer_get_size (img), caps_str);
-        g_free (caps_str);
-      } else {
-        str = g_strdup ("NULL buffer");
+        if (img) {
+          if (caps) {
+            gchar *caps_str;
+
+            caps_str = gst_caps_to_string (caps);
+            str = g_strdup_printf ("buffer of %" G_GSIZE_FORMAT " bytes, "
+                "type: %s", gst_buffer_get_size (img), caps_str);
+            g_free (caps_str);
+          } else {
+            str = g_strdup_printf ("buffer of %" G_GSIZE_FORMAT " bytes",
+                gst_buffer_get_size (img));
+          }
+        } else {
+          str = g_strdup ("NULL buffer");
+        }
       }
     } else if (gst_tag_get_type (tag) == GST_TYPE_DATE_TIME) {
       GstDateTime *dt = NULL;
 
       gst_tag_list_get_date_time_index (list, tag, i, &dt);
-      if (gst_date_time_get_hour (dt) < 0) {
-        str = g_strdup_printf ("%02u-%02u-%04u", gst_date_time_get_day (dt),
-            gst_date_time_get_month (dt), gst_date_time_get_year (dt));
+      if (!gst_date_time_has_time (dt)) {
+        str = gst_date_time_to_iso8601_string (dt);
       } else {
         gdouble tz_offset = gst_date_time_get_time_zone_offset (dt);
         gchar tz_str[32];
@@ -467,12 +476,14 @@
   GstTocEntry *entry = (GstTocEntry *) data;
   const gchar spc[MAX_INDENT + 1] = "                                        ";
   guint indent = MIN (GPOINTER_TO_UINT (user_data), MAX_INDENT);
+  const GstTagList *tags;
+  GList *subentries;
   gint64 start, stop;
 
-  gst_toc_entry_get_start_stop (entry, &start, &stop);
+  gst_toc_entry_get_start_stop_times (entry, &start, &stop);
 
   PRINT ("%s%s:", &spc[MAX_INDENT - indent],
-      gst_toc_entry_type_get_nick (entry->type));
+      gst_toc_entry_type_get_nick (gst_toc_entry_get_entry_type (entry)));
   if (GST_CLOCK_TIME_IS_VALID (start)) {
     PRINT (" start: %" GST_TIME_FORMAT, GST_TIME_ARGS (start));
   }
@@ -483,12 +494,13 @@
   indent += 2;
 
   /* print tags */
-  gst_tag_list_foreach (entry->tags, print_tag_foreach,
-      GUINT_TO_POINTER (indent));
+  tags = gst_toc_entry_get_tags (entry);
+  if (tags)
+    gst_tag_list_foreach (tags, print_tag_foreach, GUINT_TO_POINTER (indent));
 
   /* loop over sub-toc entries */
-  g_list_foreach (entry->subentries, print_toc_entry,
-      GUINT_TO_POINTER (indent));
+  subentries = gst_toc_entry_get_sub_entries (entry);
+  g_list_foreach (subentries, print_toc_entry, GUINT_TO_POINTER (indent));
 }
 
 #ifndef DISABLE_FAULT_HANDLER
@@ -668,7 +680,8 @@
         break;
       case GST_MESSAGE_TOC:
         if (toc) {
-          GstToc *toc_msg;
+          GstToc *toc;
+          GList *entries;
           gboolean updated;
 
           if (GST_IS_ELEMENT (GST_MESSAGE_SRC (message))) {
@@ -681,11 +694,11 @@
             PRINT (_("FOUND TOC\n"));
           }
 
-          gst_message_parse_toc (message, &toc_msg, &updated);
+          gst_message_parse_toc (message, &toc, &updated);
           /* recursively loop over toc entries */
-          g_list_foreach (toc_msg->entries, print_toc_entry,
-              GUINT_TO_POINTER (0));
-          gst_toc_free (toc_msg);
+          entries = gst_toc_get_entries (toc);
+          g_list_foreach (entries, print_toc_entry, GUINT_TO_POINTER (0));
+          gst_toc_unref (toc);
         }
         break;
       case GST_MESSAGE_INFO:{
@@ -948,7 +961,7 @@
   textdomain (GETTEXT_PACKAGE);
 #endif
 
-  gst_tools_set_prgname ("gst-launch");
+  g_set_prgname ("gst-launch-" GST_API_VERSION);
 
 #ifndef GST_DISABLE_OPTION_PARSING
   ctx = g_option_context_new ("PIPELINE-DESCRIPTION");
@@ -966,7 +979,7 @@
   gst_init (&argc, &argv);
 #endif
 
-  gst_tools_print_version ("gst-launch");
+  gst_tools_print_version ();
 
 #ifndef DISABLE_FAULT_HANDLER
   if (!no_fault)
@@ -1041,7 +1054,7 @@
 #endif
 
     bus = gst_element_get_bus (pipeline);
-    gst_bus_set_sync_handler (bus, bus_sync_handler, (gpointer) pipeline);
+    gst_bus_set_sync_handler (bus, bus_sync_handler, (gpointer) pipeline, NULL);
     gst_object_unref (bus);
 
     PRINT (_("Setting pipeline to PAUSED ...\n"));
@@ -1161,7 +1174,6 @@
   end:
     PRINT (_("Setting pipeline to NULL ...\n"));
     gst_element_set_state (pipeline, GST_STATE_NULL);
-    gst_element_get_state (pipeline, &state, &pending, GST_CLOCK_TIME_NONE);
   }
 
   PRINT (_("Freeing pipeline ...\n"));
diff --git a/tools/gst-typefind.c b/tools/gst-typefind.c
index a466859..4cab8c4 100644
--- a/tools/gst-typefind.c
+++ b/tools/gst-typefind.c
@@ -153,7 +153,7 @@
   textdomain (GETTEXT_PACKAGE);
 #endif
 
-  gst_tools_set_prgname ("gst-typefind");
+  g_set_prgname ("gst-typefind-" GST_API_VERSION);
 
   ctx = g_option_context_new ("FILES");
   g_option_context_add_main_entries (ctx, options, GETTEXT_PACKAGE);
@@ -164,7 +164,7 @@
   }
   g_option_context_free (ctx);
 
-  gst_tools_print_version ("gst-typefind");
+  gst_tools_print_version ();
 
   if (filenames == NULL || *filenames == NULL) {
     g_print ("Please give a filename to typefind\n\n");
diff --git a/tools/tools.h b/tools/tools.h
index 93ac542..084085e 100644
--- a/tools/tools.h
+++ b/tools/tools.h
@@ -42,7 +42,7 @@
       N_("Print version information and exit"), NULL }
 
 static void
-gst_tools_print_version (const gchar * tool)
+gst_tools_print_version (void)
 {
   if (__gst_tools_version) {
     gchar *version_str;
@@ -57,14 +57,4 @@
   }
 }
 
-static void
-gst_tools_set_prgname (const gchar * tool)
-{
-  gchar *s;
-
-  s = g_strdup_printf ("%s-%u.%u", tool, GST_VERSION_MAJOR, GST_VERSION_MINOR);
-  g_set_prgname (s);
-  g_free (s);
-}
-
 #endif /* __GST_TOOLS_H__ */
diff --git a/win32/common/config.h b/win32/common/config.h
index 577e889..aebbc13 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-06-07"
+#define GST_PACKAGE_RELEASE_DATETIME "2012-08-08"
 
 /* location of the installed gst-plugin-scanner */
 #define GST_PLUGIN_SCANNER_INSTALLED LIBDIR "\\gst-plugin-scanner"
@@ -187,6 +187,9 @@
 /* Define to 1 if you have the `poll' function. */
 #undef HAVE_POLL
 
+/* Define to 1 if you have the <poll.h> header file. */
+#undef HAVE_POLL_H
+
 /* Define to 1 if you have the `posix_memalign' function. */
 #undef HAVE_POSIX_MEMALIGN
 
@@ -334,7 +337,7 @@
 #define PACKAGE_NAME "GStreamer"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GStreamer 0.11.92"
+#define PACKAGE_STRING "GStreamer 0.11.93"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gstreamer"
@@ -343,7 +346,7 @@
 #undef PACKAGE_URL
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "0.11.92"
+#define PACKAGE_VERSION "0.11.93"
 
 /* directory where plugins are located */
 #ifdef _DEBUG
@@ -377,7 +380,7 @@
 #undef USE_POISONING
 
 /* Version number of package */
-#define VERSION "0.11.92"
+#define VERSION "0.11.93"
 
 /* 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 27bead8..517f84e 100644
--- a/win32/common/gstenumtypes.c
+++ b/win32/common/gstenumtypes.c
@@ -25,6 +25,26 @@
   return (GType) id;
 }
 
+/* enumerations from "gstallocator.h" */
+GType
+gst_allocator_flags_get_type (void)
+{
+  static gsize id = 0;
+  static const GFlagsValue values[] = {
+    {C_FLAGS (GST_ALLOCATOR_FLAG_CUSTOM_ALLOC),
+        "GST_ALLOCATOR_FLAG_CUSTOM_ALLOC", "custom-alloc"},
+    {C_FLAGS (GST_ALLOCATOR_FLAG_LAST), "GST_ALLOCATOR_FLAG_LAST", "last"},
+    {0, NULL, NULL}
+  };
+
+  if (g_once_init_enter (&id)) {
+    GType tmp = g_flags_register_static ("GstAllocatorFlags", values);
+    g_once_init_leave (&id, tmp);
+  }
+
+  return (GType) id;
+}
+
 /* enumerations from "gstbin.h" */
 GType
 gst_bin_flags_get_type (void)
@@ -374,8 +394,6 @@
 {
   static gsize id = 0;
   static const GFlagsValue values[] = {
-    {C_FLAGS (GST_ELEMENT_FLAG_UNPARENTING), "GST_ELEMENT_FLAG_UNPARENTING",
-        "unparenting"},
     {C_FLAGS (GST_ELEMENT_FLAG_LOCKED_STATE), "GST_ELEMENT_FLAG_LOCKED_STATE",
         "locked-state"},
     {C_FLAGS (GST_ELEMENT_FLAG_SINK), "GST_ELEMENT_FLAG_SINK", "sink"},
@@ -817,6 +835,9 @@
     {C_FLAGS (GST_MESSAGE_QOS), "GST_MESSAGE_QOS", "qos"},
     {C_FLAGS (GST_MESSAGE_PROGRESS), "GST_MESSAGE_PROGRESS", "progress"},
     {C_FLAGS (GST_MESSAGE_TOC), "GST_MESSAGE_TOC", "toc"},
+    {C_FLAGS (GST_MESSAGE_RESET_TIME), "GST_MESSAGE_RESET_TIME", "reset-time"},
+    {C_FLAGS (GST_MESSAGE_STREAM_START), "GST_MESSAGE_STREAM_START",
+        "stream-start"},
     {C_FLAGS (GST_MESSAGE_ANY), "GST_MESSAGE_ANY", "any"},
     {0, NULL, NULL}
   };
@@ -976,6 +997,10 @@
 {
   static gsize id = 0;
   static const GFlagsValue values[] = {
+    {C_FLAGS (GST_MINI_OBJECT_FLAG_LOCKABLE), "GST_MINI_OBJECT_FLAG_LOCKABLE",
+        "lockable"},
+    {C_FLAGS (GST_MINI_OBJECT_FLAG_LOCK_READONLY),
+        "GST_MINI_OBJECT_FLAG_LOCK_READONLY", "lock-readonly"},
     {C_FLAGS (GST_MINI_OBJECT_FLAG_LAST), "GST_MINI_OBJECT_FLAG_LAST", "last"},
     {0, NULL, NULL}
   };
@@ -988,6 +1013,26 @@
   return (GType) id;
 }
 
+GType
+gst_lock_flags_get_type (void)
+{
+  static gsize id = 0;
+  static const GFlagsValue values[] = {
+    {C_FLAGS (GST_LOCK_FLAG_READ), "GST_LOCK_FLAG_READ", "read"},
+    {C_FLAGS (GST_LOCK_FLAG_WRITE), "GST_LOCK_FLAG_WRITE", "write"},
+    {C_FLAGS (GST_LOCK_FLAG_EXCLUSIVE), "GST_LOCK_FLAG_EXCLUSIVE", "exclusive"},
+    {C_FLAGS (GST_LOCK_FLAG_LAST), "GST_LOCK_FLAG_LAST", "last"},
+    {0, NULL, NULL}
+  };
+
+  if (g_once_init_enter (&id)) {
+    GType tmp = g_flags_register_static ("GstLockFlags", values);
+    g_once_init_leave (&id, tmp);
+  }
+
+  return (GType) id;
+}
+
 /* enumerations from "gstpad.h" */
 GType
 gst_pad_direction_get_type (void)
@@ -1188,6 +1233,8 @@
         "proxy-caps"},
     {C_FLAGS (GST_PAD_FLAG_PROXY_ALLOCATION), "GST_PAD_FLAG_PROXY_ALLOCATION",
         "proxy-allocation"},
+    {C_FLAGS (GST_PAD_FLAG_PROXY_SCHEDULING), "GST_PAD_FLAG_PROXY_SCHEDULING",
+        "proxy-scheduling"},
     {C_FLAGS (GST_PAD_FLAG_LAST), "GST_PAD_FLAG_LAST", "last"},
     {0, NULL, NULL}
   };
@@ -1391,7 +1438,6 @@
     {C_ENUM (GST_QUERY_ACCEPT_CAPS), "GST_QUERY_ACCEPT_CAPS", "accept-caps"},
     {C_ENUM (GST_QUERY_CAPS), "GST_QUERY_CAPS", "caps"},
     {C_ENUM (GST_QUERY_DRAIN), "GST_QUERY_DRAIN", "drain"},
-    {C_ENUM (GST_QUERY_TOC), "GST_QUERY_TOC", "toc"},
     {0, NULL, NULL}
   };
 
@@ -1499,6 +1545,7 @@
     {C_ENUM (GST_SEGMENT_FLAG_NONE), "GST_SEGMENT_FLAG_NONE", "none"},
     {C_ENUM (GST_SEGMENT_FLAG_RESET), "GST_SEGMENT_FLAG_RESET", "reset"},
     {C_ENUM (GST_SEGMENT_FLAG_SKIP), "GST_SEGMENT_FLAG_SKIP", "skip"},
+    {C_ENUM (GST_SEGMENT_FLAG_SEGMENT), "GST_SEGMENT_FLAG_SEGMENT", "segment"},
     {0, NULL, NULL}
   };
 
@@ -1577,6 +1624,24 @@
   return (GType) id;
 }
 
+GType
+gst_tag_scope_get_type (void)
+{
+  static gsize id = 0;
+  static const GEnumValue values[] = {
+    {C_ENUM (GST_TAG_SCOPE_STREAM), "GST_TAG_SCOPE_STREAM", "stream"},
+    {C_ENUM (GST_TAG_SCOPE_GLOBAL), "GST_TAG_SCOPE_GLOBAL", "global"},
+    {0, NULL, NULL}
+  };
+
+  if (g_once_init_enter (&id)) {
+    GType tmp = g_enum_register_static ("GstTagScope", values);
+    g_once_init_leave (&id, tmp);
+  }
+
+  return (GType) id;
+}
+
 /* enumerations from "gsttask.h" */
 GType
 gst_task_state_get_type (void)
@@ -1599,14 +1664,39 @@
 
 /* enumerations from "gsttoc.h" */
 GType
+gst_toc_scope_get_type (void)
+{
+  static gsize id = 0;
+  static const GEnumValue values[] = {
+    {C_ENUM (GST_TOC_SCOPE_GLOBAL), "GST_TOC_SCOPE_GLOBAL", "global"},
+    {C_ENUM (GST_TOC_SCOPE_CURRENT), "GST_TOC_SCOPE_CURRENT", "current"},
+    {0, NULL, NULL}
+  };
+
+  if (g_once_init_enter (&id)) {
+    GType tmp = g_enum_register_static ("GstTocScope", values);
+    g_once_init_leave (&id, tmp);
+  }
+
+  return (GType) id;
+}
+
+GType
 gst_toc_entry_type_get_type (void)
 {
   static gsize id = 0;
   static const GEnumValue values[] = {
-    {C_ENUM (GST_TOC_ENTRY_TYPE_CHAPTER), "GST_TOC_ENTRY_TYPE_CHAPTER",
-        "chapter"},
+    {C_ENUM (GST_TOC_ENTRY_TYPE_ANGLE), "GST_TOC_ENTRY_TYPE_ANGLE", "angle"},
+    {C_ENUM (GST_TOC_ENTRY_TYPE_VERSION), "GST_TOC_ENTRY_TYPE_VERSION",
+        "version"},
     {C_ENUM (GST_TOC_ENTRY_TYPE_EDITION), "GST_TOC_ENTRY_TYPE_EDITION",
         "edition"},
+    {C_ENUM (GST_TOC_ENTRY_TYPE_INVALID), "GST_TOC_ENTRY_TYPE_INVALID",
+        "invalid"},
+    {C_ENUM (GST_TOC_ENTRY_TYPE_TITLE), "GST_TOC_ENTRY_TYPE_TITLE", "title"},
+    {C_ENUM (GST_TOC_ENTRY_TYPE_TRACK), "GST_TOC_ENTRY_TYPE_TRACK", "track"},
+    {C_ENUM (GST_TOC_ENTRY_TYPE_CHAPTER), "GST_TOC_ENTRY_TYPE_CHAPTER",
+        "chapter"},
     {0, NULL, NULL}
   };
 
@@ -1648,12 +1738,12 @@
 {
   static gsize id = 0;
   static const GEnumValue values[] = {
-    {C_ENUM (GST_URI_ERROR_BAD_PROTOCOL), "GST_URI_ERROR_BAD_PROTOCOL",
-        "protocol"},
-    {C_ENUM (GST_URI_ERROR_BAD_URI), "GST_URI_ERROR_BAD_URI", "uri"},
-    {C_ENUM (GST_URI_ERROR_BAD_STATE), "GST_URI_ERROR_BAD_STATE", "state"},
+    {C_ENUM (GST_URI_ERROR_UNSUPPORTED_PROTOCOL),
+        "GST_URI_ERROR_UNSUPPORTED_PROTOCOL", "unsupported-protocol"},
+    {C_ENUM (GST_URI_ERROR_BAD_URI), "GST_URI_ERROR_BAD_URI", "bad-uri"},
+    {C_ENUM (GST_URI_ERROR_BAD_STATE), "GST_URI_ERROR_BAD_STATE", "bad-state"},
     {C_ENUM (GST_URI_ERROR_BAD_REFERENCE), "GST_URI_ERROR_BAD_REFERENCE",
-        "reference"},
+        "bad-reference"},
     {0, NULL, NULL}
   };
 
diff --git a/win32/common/gstenumtypes.h b/win32/common/gstenumtypes.h
index d8dcca4..9f2566d 100644
--- a/win32/common/gstenumtypes.h
+++ b/win32/common/gstenumtypes.h
@@ -12,6 +12,10 @@
 GType gst_object_flags_get_type (void);
 #define GST_TYPE_OBJECT_FLAGS (gst_object_flags_get_type())
 
+/* enumerations from "gstallocator.h" */
+GType gst_allocator_flags_get_type (void);
+#define GST_TYPE_ALLOCATOR_FLAGS (gst_allocator_flags_get_type())
+
 /* enumerations from "gstbin.h" */
 GType gst_bin_flags_get_type (void);
 #define GST_TYPE_BIN_FLAGS (gst_bin_flags_get_type())
@@ -119,6 +123,8 @@
 /* enumerations from "gstminiobject.h" */
 GType gst_mini_object_flags_get_type (void);
 #define GST_TYPE_MINI_OBJECT_FLAGS (gst_mini_object_flags_get_type())
+GType gst_lock_flags_get_type (void);
+#define GST_TYPE_LOCK_FLAGS (gst_lock_flags_get_type())
 
 /* enumerations from "gstpad.h" */
 GType gst_pad_direction_get_type (void);
@@ -187,12 +193,16 @@
 #define GST_TYPE_TAG_MERGE_MODE (gst_tag_merge_mode_get_type())
 GType gst_tag_flag_get_type (void);
 #define GST_TYPE_TAG_FLAG (gst_tag_flag_get_type())
+GType gst_tag_scope_get_type (void);
+#define GST_TYPE_TAG_SCOPE (gst_tag_scope_get_type())
 
 /* enumerations from "gsttask.h" */
 GType gst_task_state_get_type (void);
 #define GST_TYPE_TASK_STATE (gst_task_state_get_type())
 
 /* enumerations from "gsttoc.h" */
+GType gst_toc_scope_get_type (void);
+#define GST_TYPE_TOC_SCOPE (gst_toc_scope_get_type())
 GType gst_toc_entry_type_get_type (void);
 #define GST_TYPE_TOC_ENTRY_TYPE (gst_toc_entry_type_get_type())
 
diff --git a/win32/common/gstversion.h b/win32/common/gstversion.h
index 312fa11..bb3e471 100644
--- a/win32/common/gstversion.h
+++ b/win32/common/gstversion.h
@@ -74,8 +74,6 @@
  *
  * Check whether a GStreamer version equal to or greater than
  * major.minor.micro is present.
- *
- * Since: 0.10.18
  */
 #define	GST_CHECK_VERSION(major,minor,micro)	\
     (GST_VERSION_MAJOR > (major) || \
diff --git a/win32/common/libgstbase.def b/win32/common/libgstbase.def
index 236c4a7..e8f92b1 100644
--- a/win32/common/libgstbase.def
+++ b/win32/common/libgstbase.def
@@ -56,8 +56,8 @@
 	gst_base_sink_set_sync
 	gst_base_sink_set_throttle_time
 	gst_base_sink_set_ts_offset
+	gst_base_sink_wait
 	gst_base_sink_wait_clock
-	gst_base_sink_wait_eos
 	gst_base_sink_wait_preroll
 	gst_base_src_get_blocksize
 	gst_base_src_get_do_timestamp
@@ -213,12 +213,9 @@
 	gst_collect_pads_add_pad_full
 	gst_collect_pads_available
 	gst_collect_pads_clip_running_time
-	gst_collect_pads_collect
-	gst_collect_pads_collect_range
 	gst_collect_pads_event_default
 	gst_collect_pads_flush
 	gst_collect_pads_get_type
-	gst_collect_pads_is_active
 	gst_collect_pads_new
 	gst_collect_pads_peek
 	gst_collect_pads_pop
diff --git a/win32/common/libgstnet.def b/win32/common/libgstnet.def
index 42c28ba..4478bcb 100644
--- a/win32/common/libgstnet.def
+++ b/win32/common/libgstnet.def
@@ -4,6 +4,9 @@
 	gst_net_address_meta_get_info
 	gst_net_client_clock_get_type
 	gst_net_client_clock_new
+	gst_net_time_packet_copy
+	gst_net_time_packet_free
+	gst_net_time_packet_get_type
 	gst_net_time_packet_new
 	gst_net_time_packet_receive
 	gst_net_time_packet_send
diff --git a/win32/common/libgstreamer.def b/win32/common/libgstreamer.def
index ce04b94..062bc83 100644
--- a/win32/common/libgstreamer.def
+++ b/win32/common/libgstreamer.def
@@ -10,6 +10,7 @@
 	GST_CAT_ERROR_SYSTEM DATA
 	GST_CAT_EVENT DATA
 	GST_CAT_GST_INIT DATA
+	GST_CAT_LOCKING DATA
 	GST_CAT_MEMORY DATA
 	GST_CAT_MESSAGE DATA
 	GST_CAT_META DATA
@@ -56,13 +57,12 @@
 	gst_allocation_params_init
 	gst_allocator_alloc
 	gst_allocator_find
-	gst_allocator_get_memory_type
+	gst_allocator_flags_get_type
+	gst_allocator_free
 	gst_allocator_get_type
-	gst_allocator_new
-	gst_allocator_ref
 	gst_allocator_register
 	gst_allocator_set_default
-	gst_allocator_unref
+	gst_atomic_queue_get_type
 	gst_atomic_queue_length
 	gst_atomic_queue_new
 	gst_atomic_queue_peek
@@ -90,7 +90,7 @@
 	gst_bin_remove_many
 	gst_bitmask_get_type
 	gst_buffer_add_meta
-	gst_buffer_append
+	gst_buffer_append_region
 	gst_buffer_copy_flags_get_type
 	gst_buffer_copy_into
 	gst_buffer_copy_region
@@ -242,7 +242,6 @@
 	gst_clock_id_unschedule
 	gst_clock_id_wait
 	gst_clock_id_wait_async
-	gst_clock_id_wait_async_full
 	gst_clock_new_periodic_id
 	gst_clock_new_single_shot_id
 	gst_clock_periodic_id_reinit
@@ -275,13 +274,25 @@
 	gst_date_time_get_time_zone_offset
 	gst_date_time_get_type
 	gst_date_time_get_year
+	gst_date_time_has_day
+	gst_date_time_has_month
+	gst_date_time_has_second
+	gst_date_time_has_time
+	gst_date_time_has_year
 	gst_date_time_new
+	gst_date_time_new_from_g_date_time
+	gst_date_time_new_from_iso8601_string
 	gst_date_time_new_from_unix_epoch_local_time
 	gst_date_time_new_from_unix_epoch_utc
 	gst_date_time_new_local_time
 	gst_date_time_new_now_local_time
 	gst_date_time_new_now_utc
+	gst_date_time_new_y
+	gst_date_time_new_ym
+	gst_date_time_new_ymd
 	gst_date_time_ref
+	gst_date_time_to_g_date_time
+	gst_date_time_to_iso8601_string
 	gst_date_time_unref
 	gst_debug_add_log_function
 	gst_debug_bin_to_dot_file
@@ -315,6 +326,7 @@
 	gst_debug_set_default_threshold
 	gst_debug_set_threshold_for_name
 	gst_debug_unset_threshold_for_name
+	gst_default_allocator_get_type
 	gst_deinit
 	gst_double_range_get_type
 	gst_element_abort_state
@@ -421,6 +433,7 @@
 	gst_event_new_reconfigure
 	gst_event_new_seek
 	gst_event_new_segment
+	gst_event_new_segment_done
 	gst_event_new_sink_message
 	gst_event_new_step
 	gst_event_new_stream_config
@@ -437,10 +450,12 @@
 	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
@@ -471,13 +486,11 @@
 	gst_ghost_pad_get_target
 	gst_ghost_pad_get_type
 	gst_ghost_pad_internal_activate_mode_default
-	gst_ghost_pad_link_default
 	gst_ghost_pad_new
 	gst_ghost_pad_new_from_template
 	gst_ghost_pad_new_no_target
 	gst_ghost_pad_new_no_target_from_template
 	gst_ghost_pad_set_target
-	gst_ghost_pad_unlink_default
 	gst_init
 	gst_init_check
 	gst_init_get_option_group
@@ -501,22 +514,21 @@
 	gst_iterator_resync
 	gst_library_error_get_type
 	gst_library_error_quark
+	gst_lock_flags_get_type
 	gst_map_flags_get_type
 	gst_memory_alignment DATA
 	gst_memory_copy
 	gst_memory_flags_get_type
 	gst_memory_get_sizes
 	gst_memory_get_type
-	gst_memory_is_exclusive
+	gst_memory_init
 	gst_memory_is_span
 	gst_memory_make_mapped
 	gst_memory_map
 	gst_memory_new_wrapped
-	gst_memory_ref
 	gst_memory_resize
 	gst_memory_share
 	gst_memory_unmap
-	gst_memory_unref
 	gst_message_get_seqnum
 	gst_message_get_stream_status_object
 	gst_message_get_structure
@@ -539,12 +551,14 @@
 	gst_message_new_progress
 	gst_message_new_qos
 	gst_message_new_request_state
+	gst_message_new_reset_time
 	gst_message_new_segment_done
 	gst_message_new_segment_start
 	gst_message_new_state_changed
 	gst_message_new_state_dirty
 	gst_message_new_step_done
 	gst_message_new_step_start
+	gst_message_new_stream_start
 	gst_message_new_stream_status
 	gst_message_new_structure_change
 	gst_message_new_tag
@@ -564,6 +578,7 @@
 	gst_message_parse_qos_stats
 	gst_message_parse_qos_values
 	gst_message_parse_request_state
+	gst_message_parse_reset_time
 	gst_message_parse_segment_done
 	gst_message_parse_segment_start
 	gst_message_parse_state_changed
@@ -589,13 +604,18 @@
 	gst_meta_register
 	gst_mini_object_copy
 	gst_mini_object_flags_get_type
+	gst_mini_object_get_qdata
 	gst_mini_object_init
 	gst_mini_object_is_writable
+	gst_mini_object_lock
 	gst_mini_object_make_writable
 	gst_mini_object_ref
 	gst_mini_object_replace
+	gst_mini_object_set_qdata
 	gst_mini_object_steal
+	gst_mini_object_steal_qdata
 	gst_mini_object_take
+	gst_mini_object_unlock
 	gst_mini_object_unref
 	gst_mini_object_weak_ref
 	gst_mini_object_weak_unref
@@ -634,6 +654,9 @@
 	gst_pad_chain
 	gst_pad_chain_list
 	gst_pad_check_reconfigure
+	gst_pad_create_stream_id
+	gst_pad_create_stream_id_printf
+	gst_pad_create_stream_id_printf_valist
 	gst_pad_direction_get_type
 	gst_pad_event_default
 	gst_pad_flags_get_type
@@ -694,7 +717,6 @@
 	gst_pad_set_activate_function_full
 	gst_pad_set_activatemode_function_full
 	gst_pad_set_active
-	gst_pad_set_caps
 	gst_pad_set_chain_function_full
 	gst_pad_set_chain_list_function_full
 	gst_pad_set_element_private
@@ -808,24 +830,20 @@
 	gst_preset_save_preset
 	gst_preset_set_app_dir
 	gst_preset_set_meta
-	gst_print_element_args
-	gst_print_pad_caps
 	gst_progress_type_get_type
 	gst_proxy_pad_chain_default
 	gst_proxy_pad_chain_list_default
-	gst_proxy_pad_event_default
 	gst_proxy_pad_get_internal
 	gst_proxy_pad_get_type
 	gst_proxy_pad_getrange_default
 	gst_proxy_pad_iterate_internal_links_default
-	gst_proxy_pad_query_default
-	gst_proxy_pad_unlink_default
 	gst_qos_type_get_type
 	gst_query_add_allocation_meta
 	gst_query_add_allocation_param
 	gst_query_add_allocation_pool
 	gst_query_add_buffering_range
 	gst_query_add_scheduling_mode
+	gst_query_find_allocation_meta
 	gst_query_get_n_allocation_metas
 	gst_query_get_n_allocation_params
 	gst_query_get_n_allocation_pools
@@ -833,9 +851,7 @@
 	gst_query_get_n_scheduling_modes
 	gst_query_get_structure
 	gst_query_get_type
-	gst_query_has_allocation_meta
 	gst_query_has_scheduling_mode
-	gst_query_intersect_caps_result
 	gst_query_new_accept_caps
 	gst_query_new_allocation
 	gst_query_new_buffering
@@ -850,7 +866,6 @@
 	gst_query_new_scheduling
 	gst_query_new_seeking
 	gst_query_new_segment
-	gst_query_new_toc
 	gst_query_new_uri
 	gst_query_parse_accept_caps
 	gst_query_parse_accept_caps_result
@@ -874,7 +889,6 @@
 	gst_query_parse_scheduling
 	gst_query_parse_seeking
 	gst_query_parse_segment
-	gst_query_parse_toc
 	gst_query_parse_uri
 	gst_query_remove_nth_allocation_meta
 	gst_query_set_accept_caps_result
@@ -893,7 +907,6 @@
 	gst_query_set_scheduling
 	gst_query_set_seeking
 	gst_query_set_segment
-	gst_query_set_toc
 	gst_query_set_uri
 	gst_query_type_flags_get_type
 	gst_query_type_get_flags
@@ -1046,8 +1059,6 @@
 	gst_tag_list_foreach
 	gst_tag_list_get_boolean
 	gst_tag_list_get_boolean_index
-	gst_tag_list_get_buffer
-	gst_tag_list_get_buffer_index
 	gst_tag_list_get_date
 	gst_tag_list_get_date_index
 	gst_tag_list_get_date_time
@@ -1062,6 +1073,9 @@
 	gst_tag_list_get_int_index
 	gst_tag_list_get_pointer
 	gst_tag_list_get_pointer_index
+	gst_tag_list_get_sample
+	gst_tag_list_get_sample_index
+	gst_tag_list_get_scope
 	gst_tag_list_get_string
 	gst_tag_list_get_string_index
 	gst_tag_list_get_tag_size
@@ -1083,12 +1097,14 @@
 	gst_tag_list_nth_tag_name
 	gst_tag_list_peek_string_index
 	gst_tag_list_remove_tag
+	gst_tag_list_set_scope
 	gst_tag_list_to_string
 	gst_tag_merge_mode_get_type
 	gst_tag_merge_strings_with_comma
 	gst_tag_merge_use_first
 	gst_tag_register
 	gst_tag_register_static
+	gst_tag_scope_get_type
 	gst_tag_setter_add_tag_valist
 	gst_tag_setter_add_tag_valist_values
 	gst_tag_setter_add_tag_value
@@ -1113,34 +1129,45 @@
 	gst_task_pool_new
 	gst_task_pool_prepare
 	gst_task_pool_push
+	gst_task_set_enter_callback
+	gst_task_set_leave_callback
 	gst_task_set_lock
 	gst_task_set_pool
 	gst_task_set_state
-	gst_task_set_thread_callbacks
 	gst_task_start
 	gst_task_state_get_type
 	gst_task_stop
-	gst_toc_copy
-	gst_toc_entry_copy
-	gst_toc_entry_free
-	gst_toc_entry_get_start_stop
+	gst_toc_append_entry
+	gst_toc_dump
+	gst_toc_entry_append_sub_entry
+	gst_toc_entry_get_entry_type
+	gst_toc_entry_get_parent
+	gst_toc_entry_get_start_stop_times
+	gst_toc_entry_get_sub_entries
+	gst_toc_entry_get_tags
+	gst_toc_entry_get_toc
 	gst_toc_entry_get_type
+	gst_toc_entry_get_uid
+	gst_toc_entry_is_alternative
+	gst_toc_entry_is_sequence
+	gst_toc_entry_merge_tags
 	gst_toc_entry_new
-	gst_toc_entry_new_with_pad
-	gst_toc_entry_set_start_stop
+	gst_toc_entry_set_start_stop_times
+	gst_toc_entry_set_tags
 	gst_toc_entry_type_get_nick
 	gst_toc_entry_type_get_type
 	gst_toc_find_entry
-	gst_toc_free
+	gst_toc_get_entries
+	gst_toc_get_scope
+	gst_toc_get_tags
 	gst_toc_get_type
+	gst_toc_merge_tags
 	gst_toc_new
-	gst_toc_setter_add_toc_entry
+	gst_toc_scope_get_type
+	gst_toc_set_tags
 	gst_toc_setter_get_toc
-	gst_toc_setter_get_toc_copy
-	gst_toc_setter_get_toc_entry
-	gst_toc_setter_get_toc_entry_copy
 	gst_toc_setter_get_type
-	gst_toc_setter_reset_toc
+	gst_toc_setter_reset
 	gst_toc_setter_set_toc
 	gst_type_find_factory_call_function
 	gst_type_find_factory_get_caps