diff --git a/ChangeLog b/ChangeLog
index 25ebea8..1b251d9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,709 @@
-=== release 0.11.91 ===
+=== release 0.11.92 ===
 
-2012-05-13  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+2012-06-07  Sebastian Dröge <sebastian.droege@collabora.co.uk>
 
 	* configure.ac:
-	  releasing 0.11.91, "I smell the blood of an Englishman"
+	  releasing 0.11.92, "Money"
+
+2012-06-07 15:03:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* ext/pulse/pulsesrc.c:
+	  pulsesrc: improve clock handling
+	  Post the notify outside of the pa_lock to avoid a deadlock caused by basesrc
+	  calling get_time with the object lock.
+	  Reset the clock on connect.
+	  Post clock-lost and clock-provide messages.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=673977
+	  Conflicts:
+	  ext/pulse/pulsesrc.c
+
+2012-04-12 13:21:17 +0300  Mohammed Sameer <msameer@foolab.org>
+
+	* ext/pulse/pulsesrc.c:
+	  Better GstClock for pulsesrc
+	  This clock uses the actual stream time (pa_stream_get_time) to get a more accurate timestamp.
+	  Conflicts:
+	  ext/pulse/pulsesrc.c
+
+2012-06-07 11:16:50 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/libpng/gstpngdec.c:
+	* ext/libpng/gstpngenc.c:
+	  png: fix video state leaks
+
+2012-06-07 11:16:37 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/jpeg/gstjpegdec.c:
+	  jpegdec: fix video state leak
+
+2012-06-07 12:11:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/rtsp/gstrtspsrc.c:
+	  rtspsrc: only reset the manager object when we did a seek
+	  Only reset the manager object when we used a Range header, ie. when we did a
+	  seek. Otherwise we just paused and we can resume just fine.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677475
+
+2012-06-06 16:13:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* tests/check/elements/rtpbin.c:
+	  tests: add test for rtpsession cleanup
+
+2012-06-06 18:18:41 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* common:
+	  Automatic update of common submodule
+	  From 1fab359 to 03a0e57
+
+2012-06-06 14:17:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* gst/matroska/matroska-demux.c:
+	  matroskademux: Update for TOC event API change
+
+2012-06-06 13:02:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* ext/dv/gstdvdemux.c:
+	* ext/flac/gstflactag.c:
+	* ext/soup/gstsouphttpsrc.c:
+	* gst/audioparsers/gstflacparse.c:
+	* gst/audioparsers/gstmpegaudioparse.c:
+	* gst/avi/gstavidemux.c:
+	* gst/avi/gstavisubtitle.c:
+	* gst/debugutils/gsttaginject.c:
+	* gst/flv/gstflvdemux.c:
+	* gst/icydemux/gsticydemux.c:
+	* gst/isomp4/qtdemux.c:
+	* gst/matroska/matroska-demux.c:
+	* gst/matroska/matroska-read-common.c:
+	* gst/multipart/multipartdemux.c:
+	* gst/replaygain/gstrganalysis.c:
+	* gst/wavparse/gstwavparse.c:
+	* tests/check/elements/rganalysis.c:
+	* tests/check/elements/rgvolume.c:
+	  update for tag event change
+
+2012-06-06 13:00:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/videocrop/gstaspectratiocrop.c:
+	* gst/videocrop/gstvideocrop.c:
+	* tests/check/elements/aspectratiocrop.c:
+	* tests/check/elements/videocrop.c:
+	  fix Y800 format
+
+2012-06-01 01:19:35 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+	* configure.ac:
+	* sys/osxvideo/cocoawindow.h:
+	* sys/osxvideo/osxvideosink.m:
+	  osxvideo: straightforward port to 0.11
+
+2012-05-31 18:39:25 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+	* ext/libpng/gstpngdec.c:
+	* gst/rtp/gstrtph264depay.c:
+	* gst/rtp/gstrtpmp2tpay.c:
+	  Some printf variable format fixes
+	  The osx compiler complains about those
+
+2012-06-05 09:18:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* gst/audioparsers/gstaacparse.c:
+	* gst/audioparsers/gstac3parse.c:
+	* gst/audioparsers/gstamrparse.c:
+	* gst/audioparsers/gstdcaparse.c:
+	* gst/audioparsers/gstflacparse.c:
+	* gst/audioparsers/gstmpegaudioparse.c:
+	* gst/audioparsers/gstwavpackparse.c:
+	  audioparsers: Fix GstBaseParse::get_sink_caps() implementations
+	  They should take the filter caps into account and always return
+	  the template caps appended to the actual caps. Otherwise the
+	  parsers stop to accept unparsed streams where upstream does not
+	  know about channels, rate, etc.
+	  Fixes bug #677401.
+
+2012-06-04 16:17:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* ext/jpeg/gstjpegdec.c:
+	  jpegdec: set colorimetry on output info
+
+2012-06-04 08:10:15 +0200  Josep Torra <n770galaxy@gmail.com>
+
+	* sys/osxaudio/gstosxringbuffer.c:
+	  osxaudiosink: Handle endianness correctly
+
+2012-06-01 16:37:00 +0200  Josep Torra <n770galaxy@gmail.com>
+
+	* sys/osxaudio/gstosxaudiosink.c:
+	* sys/osxaudio/gstosxringbuffer.c:
+	  osxaudiosink: Add support for int audio
+
+2012-06-01 10:28:53 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* common:
+	  Automatic update of common submodule
+	  From f1b5a96 to 1fab359
+
+2012-05-31 13:36:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/isomp4/qtdemux.c:
+	  qtdemux: set the palette size correctly
+
+2012-05-31 10:15:43 +0200  Michael Jones <michael.jones@matrix-vision.de>
+
+	* sys/v4l2/gstv4l2colorbalance.h:
+	* sys/v4l2/gstv4l2vidorient.h:
+	  v4l2: add missing G_END_DECLS
+	  G_BEGIN_DECLS didn't have matching G_END_DECLS
+	  https://bugzilla.gnome.org/show_bug.cgi?id=677165
+
+2012-05-31 13:08:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* common:
+	  Automatic update of common submodule
+	  From 92b7266 to f1b5a96
+
+2012-05-31 10:26:27 +0200  Josep Torra <n770galaxy@gmail.com>
+
+	* sys/osxvideo/osxvideosink.h:
+	  osxvideosink: Really fix the build on 10.5
+	  The API that we use to run the Cocoa loop in another
+	  thread does not exist in 10.5 or earlier.
+
+2012-05-26 12:21:18 +0200  Alessandro Decina <alessandro.decina@collabora.co.uk>
+
+	* sys/osxvideo/osxvideosink.h:
+	* sys/osxvideo/osxvideosink.m:
+	  osxvideosink: fix race in starting the runloop thread
+	  Block gst_osx_video_sink_run_cocoa_loop until the loop thread has started and
+	  finished initializing NSApp. Fixes occasional warnings/crashes due to two
+	  threads going inside NSApp before finishLaunching had completed.
+
+2012-05-30 16:03:55 +0200  Josep Torra <n770galaxy@gmail.com>
+
+	* sys/osxvideo/osxvideosink.h:
+	  osxvideosink: Fix last commit to actually work
+	  MAC_OS_X_VERSION_10_6 is obviously not defined on 10.5.
+
+2012-05-30 13:51:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* sys/osxvideo/Makefile.am:
+	  osxvideosink: Put the right flags in the right variable
+
+2012-05-30 13:24:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* configure.ac:
+	  configure: Fix GST_OBJCFLAGS
+
+2012-05-30 12:45:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* common:
+	  Automatic update of common submodule
+	  From ec1c4a8 to 92b7266
+
+2012-05-30 12:43:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* sys/osxvideo/osxvideosink.h:
+	  osxvideosink: NSWindowDelegate is available in all OSX versions newer than 10.6
+
+2012-05-30 12:40:57 +0200  Josep Torra <n770galaxy@gmail.com>
+
+	* sys/osxvideo/osxvideosink.h:
+	  osxvideosink: Fix build with older OSX versions
+
+2012-05-30 11:09:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* configure.ac:
+	* sys/osxvideo/Makefile.am:
+	  configure: Add OBJC specific compiler flags
+	  See bug #643939.
+
+2012-05-30 11:23:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* common:
+	  Automatic update of common submodule
+	  From 3429ba6 to ec1c4a8
+
+2012-05-29 17:50:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst/videocrop/gstvideocrop.c:
+	  video: remove duplicate format
+
+2012-05-29 16:52:02 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* gst/flv/gstflvdemux.c:
+	  flvdemux: Post error message if EOS before pads were created
+	  Happens with some files with only headers
+
+2012-05-28 15:22:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* ext/libpng/gstpngdec.c:
+	* ext/libpng/gstpngdec.h:
+	* ext/libpng/gstpngenc.c:
+	* ext/libpng/gstpngenc.h:
+	  png: Port to 0.11 again
+
+2012-05-14 12:46:57 +0200  Jens Georg <mail@jensge.org>
+
+	* ext/soup/gstsouphttpsrc.c:
+	  soup: Drop transferMode.dlna.org header
+	  Leave it to the application to decide on the header. No header at all
+	  is better than having the wrong header as DLNA mandates that a missing
+	  header has to be tolerated while a wrong header is an error.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=676020
+
+2012-04-07 09:52:09 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* ext/libpng/gstpngdec.c:
+	* ext/libpng/gstpngdec.h:
+	* ext/libpng/gstpngenc.c:
+	* ext/libpng/gstpngenc.h:
+	  png: Port to base video classes
+	  Conflicts:
+	  ext/libpng/gstpngdec.c
+	  ext/libpng/gstpngdec.h
+	  ext/libpng/gstpngenc.c
+	  ext/libpng/gstpngenc.h
+	  Reverted to 0.10, needs to be ported again.
+
+2012-05-27 00:02:08 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/flv/gstflvmux.c:
+	* gst/matroska/matroska-read-common.c:
+	  flv, matroska: don't use GstStructure API on tag lists
+
+2012-05-26 11:57:16 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* gst/rtp/gstrtpmp2tdepay.c:
+	  rtpmp2tdepay: Only output integral mpeg-ts packets
+	  From RFC 2250
+	  2. Encapsulation of MPEG System and Transport Streams
+	  ...
+	  For MPEG2 Transport Streams the RTP payload will contain an integral
+	  number of MPEG transport packets.  To avoid end system
+	  inefficiencies, data from multiple small MTS packets (normally fixed
+	  in size at 188 bytes) are aggregated into a single RTP packet.  The
+	  number of transport packets contained is computed by dividing RTP
+	  payload length by the length of an MTS packet (188).
+	  ....
+	  Since it needs to contain "an integral number of MPEG transport packets", a
+	  simple fix is to check that's the case, and strip off any leftover data.
+	  Fixes #676799
+	  Conflicts:
+	  gst/rtp/gstrtpmp2tdepay.c
+
+2012-05-24 20:43:16 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+	* sys/osxvideo/cocoawindow.h:
+	* sys/osxvideo/cocoawindow.m:
+	* sys/osxvideo/osxvideosink.h:
+	* sys/osxvideo/osxvideosink.m:
+	  osxvideosink: make sure all selectors are performed on the same thread
+	  When we are using a dedicated thread to run the main run loop we
+	  must make sure that all selectors are performed on this same thread.
+	  For instance if performSelectorOnMainThread is called from the real
+	  main thread, it will not go through the message queue and will be
+	  executed from the real main thread. By forcing the target thread,
+	  we ensure that all functions will be called either from the real
+	  main thread when the main run loop is running or from our thread
+	  spinning the main loop.
+
+2012-05-24 16:09:54 +0200  Mathias Hasselmann <mathias.hasselmann at gmx.de>
+
+	* ext/jpeg/gstjpegdec.c:
+	  jpegdec: remove framerate
+	  The jpeg decoder doesn't need/care about the framerate to so it should
+	  not be in the caps.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676302
+
+2012-05-24 13:08:35 +0200  Alessandro Decina <alessandro.decina@collabora.co.uk>
+
+	* sys/osxvideo/osxvideosink.m:
+	  osxvideosink: start the loop before calling [gstview haveSuperview]
+	  ...as haveSuperview requires the mainloop to be running
+
+2012-05-24 13:08:13 +0200  Alessandro Decina <alessandro.decina@collabora.co.uk>
+
+	* sys/osxvideo/osxvideosink.m:
+	  osxvideosink: fix indentation
+
+2012-05-22 16:47:36 +0200  Alessandro Decina <alessandro.decina@collabora.co.uk>
+
+	* sys/osxvideo/Makefile.am:
+	  osxvideosink: enable running the cocoa main runloop in a thread
+
+2012-05-22 16:45:28 +0200  Alessandro Decina <alessandro.decina@collabora.co.uk>
+
+	* sys/osxvideo/osxvideosink.h:
+	* sys/osxvideo/osxvideosink.m:
+	  osxvideosink: add code to optionally run the cocoa main runloop in a separate thread
+	  Add a little hack to run the cocoa main runloop from a separate thread _when_
+	  the main runloop is not being run (which means that the app doesn't use cocoa).
+	  Runloops are thread specific, so the hack boils down to getting the runloop for
+	  the main thread and setting it as the runloop for our dedicated thread.
+
+2012-05-22 16:32:53 +0200  Alessandro Decina <alessandro.decina@collabora.co.uk>
+
+	* sys/osxvideo/osxvideosink.m:
+	  osxvideosink: reset app_started to FALSE when shutting down
+
+2012-05-22 14:49:17 +0200  Alessandro Decina <alessandro.decina@collabora.co.uk>
+
+	* sys/osxvideo/osxvideosink.m:
+	  osxvideosink: rename cocoa runloop helper funcs
+
+2012-05-22 14:26:13 +0200  Alessandro Decina <alessandro.decina@collabora.co.uk>
+
+	* sys/osxvideo/osxvideosink.m:
+	  osxvideosink: don't create application menus
+
+2012-05-16 21:52:45 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+	* sys/osxvideo/osxvideosink.h:
+	* sys/osxvideo/osxvideosink.m:
+	  osxvideosink: reset the embed property for backward compatilibity
+
+2012-05-16 21:12:22 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+	* sys/osxvideo/cocoawindow.h:
+	* sys/osxvideo/cocoawindow.m:
+	* sys/osxvideo/osxvideosink.m:
+	  osxvideosink: fix navigation when force-aspect-ratio is activated
+
+2012-05-16 18:52:45 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+	* sys/osxvideo/cocoawindow.h:
+	* sys/osxvideo/cocoawindow.m:
+	* sys/osxvideo/osxvideosink.h:
+	* sys/osxvideo/osxvideosink.m:
+	  osxvideosink: add force-aspect-ratio property
+
+2012-05-14 18:01:02 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+	* sys/osxvideo/cocoawindow.h:
+	* sys/osxvideo/cocoawindow.m:
+	* sys/osxvideo/osxvideosink.h:
+	* sys/osxvideo/osxvideosink.m:
+	  osxvideosink: start internal window if no view is provided
+
+2012-05-14 14:27:58 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+	* sys/osxvideo/cocoawindow.h:
+	* sys/osxvideo/cocoawindow.m:
+	* sys/osxvideo/osxvideosink.m:
+	  osxvideosink: implement the navigation interface
+
+2012-05-11 18:24:08 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+	* sys/osxvideo/osxvideosink.h:
+	* sys/osxvideo/osxvideosink.m:
+	  osvideosink: create, destroy, resize and draw from the main thread
+
+2012-04-19 08:37:28 +0200  Alessandro Decina <alessandro.d@gmail.com>
+
+	* gst/matroska/matroska-demux.c:
+	  matroskademux: increase NEWSEGMENT accuracy after seeking
+	  demux->common.segment is populated during seek handling with the target
+	  start/stop positions. Don't override them when sending out a NEWSEGMENT.
+	  Conflicts:
+	  gst/matroska/matroska-demux.c
+
+2012-04-19 08:31:00 +0200  Alessandro Decina <alessandro.d@gmail.com>
+
+	* gst/matroska/matroska-demux.c:
+	  matroskademux: don't discard the incoming seek segment on push based seeking
+	  The incoming seek segment was being discarded leading to push based seeking
+	  being potentially inaccurate.
+
+2012-05-23 18:12:24 +0200  Sebastian Rasmussen <sebrn@axis.com>
+
+	* common:
+	  common: Update so the plugin scanner changes are included
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676674
+
+2012-05-23 18:07:35 +0200  Sebastian Rasmussen <sebrn@axis.com>
+
+	* configure.ac:
+	  configure: suppress some warnings when debug is disabled
+	  Warnings about unused variables should be suppressed if core has the
+	  debug system disabled.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676671
+
+2012-05-24 09:29:25 +0100  Luis de Bethencourt <luis@debethencourt.com>
+
+	* gst/rtp/gstrtph264pay.c:
+	  rtp: fix build issue in gstrtph264pay.c
+
+2012-05-21 12:17:35 +0200  Jonas Holmberg <jonashg@axis.com>
+
+	* gst/rtp/gstrtph264pay.c:
+	  rtph264pay: Add unrestricted caps
+	  If there are no profile restrictions downstream, return caps with
+	  profile=constrained-baseline in the first structure and append
+	  unrestricted caps as the last structure.
+	  Fixes bug #672019
+
+2012-05-24 09:57:31 +0200  Maria Giovanna Chiossa <mariagiovanna.chiossa at selexelsag.com>
+
+	* gst/rtsp/gstrtspsrc.c:
+	  rtsp: add the Scale header when needed
+	  Setting GST_SEEK_FLAG_SKIP when sending a seek event in rtspsrc should
+	  set the "Scale" field in the rtsp PLAY header.
+	  Because the boolean "src->skip" is set after the call, "Speed" instead
+	  of "Scale" is always set. Move the assignment before issuing the _play
+	  request.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676618
+
+2012-05-17 16:23:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst/videobox/gstvideobox.c:
+	  videobox: Fix the sample pipeline.
+
+2012-05-22 12:35:04 +0400  Anton Novikov <random.plant@gmail.com>
+
+	* gst/icydemux/gsticydemux.c:
+	  icydemux: warning if setting srcpad caps fails
+
+2012-05-22 12:35:29 +0400  Anton Novikov <random.plant@gmail.com>
+
+	* gst/icydemux/gsticydemux.c:
+	  icydemux: activate srcpad before setting caps
+	  Before gst_pad_set_active() is called, the pad has
+	  FLUSHING flag set, so setting the caps fails
+
+2012-05-22 13:46:27 +0100  Luis de Bethencourt <luis@debethencourt.com>
+
+	* ext/Makefile.am:
+	* ext/libmng/Makefile.am:
+	* ext/libmng/gstmng.c:
+	* ext/libmng/gstmng.h:
+	* ext/libmng/gstmngdec.c:
+	* ext/libmng/gstmngdec.h:
+	* ext/libmng/gstmngenc.c:
+	* ext/libmng/gstmngenc.h:
+	  mng: remove ext/libmng
+	  Port to 0.10 was never finished.
+	  Interest was lost.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=324364
+
+2012-05-18 16:37:04 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+	* gst/avi/gstavimux.c:
+	  avimux: fix assertion when handling a date tag as a string
+	  Date tags are GDate, not strings. Add a special case to convert
+	  it to the exif date format representation in string to avoid
+	  the assertion
+
+2012-05-21 11:47:07 +0200  Sjoerd Simons <sjoerd@luon.net>
+
+	* ext/pulse/pulsesrc.c:
+	  pulsesrc: Listen to source output events, not sink input
+
+2012-05-18 12:53:44 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+	* gst/rtp/gstrtpmp2tpay.c:
+	  rtpmp2tpay: respect mtu and packet boundaries
+	  See #659915.
+
+2012-05-18 11:10:46 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* ext/jpeg/gstjpegdec.c:
+	  jpeg: Remove dead code
+	  Conflicts:
+	  ext/jpeg/gstjpegdec.c
+
+2012-05-18 11:05:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* ext/jpeg/gstjpegdec.c:
+	  jpegdec: Fix compilation
+
+2012-05-18 11:02:52 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* ext/jpeg/gstjpegdec.c:
+	  jpegdec: When dropping frames on EOS, flush out data
+	  Cleaner way of handling stray data
+
+2012-05-17 09:34:03 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* ext/jpeg/gstjpegdec.c:
+	* ext/jpeg/gstjpegdec.h:
+	  jpegdec: Remove unused variable
+	  Conflicts:
+	  ext/jpeg/gstjpegdec.c
+
+2012-05-17 09:33:18 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* ext/jpeg/gstjpegdec.c:
+	  jpegdec: Only parse for SOI when we didn't see it before
+
+2012-05-17 09:31:41 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* ext/jpeg/gstjpegdec.c:
+	  jpegdec: Remember if we saw SOI and handle stray data on EOS
+
+2012-05-15 20:58:25 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+	* gst/rtp/gstrtpjpegpay.c:
+	  rtpjpegpay: Allow U and V components to use different quant tables if they contain the same data
+	  This allows some cameras (Logitech C920) that specify different quant
+	  tables but both with the same data, to work.
+	  Bug reported by Robert Krakora
+
+2012-05-14 15:51:29 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* ext/soup/gstsouphttpsrc.c:
+	  souphttpsrc: fix possible data corruption after seeking
+	  Consider a downstream element that may issue seeks in very short
+	  succession (e.g. queue2), depending on the access pattern of
+	  the downstream element (e.g. qtdemux with audio/video chunks
+	  interleaved so that there's always a sizeable gap between the
+	  current chunks for each stream). In this case, queue2 will maintain
+	  two ranges, and even when it serves a chunk from memory, it will
+	  switch ranges and make souphttpsrc seek to the end of the available
+	  data for that range, assuming that that's where we'll want to
+	  continue reading from next.
+	  This may lead to the following seek request pattern:
+	  - source reading position A
+	  - seek to B
+	  - now reading position still A, requested_postion is B
+	  - streaming thread to be restarted to continue from B
+	  - seek to A, before streaming thread had time to do the seek
+	  - do_seek() now sees reading position == seek position and
+	  returns early.
+	  - however, requested position is still B from the earlier
+	  seek request
+	  - streaming thread starts up, sees that a seek to B is pending
+	  and requests data from B from the server, while the GstBaseSrc
+	  segment has of course been updated/reset to position A, which
+	  was the last seek request.
+	  - we will now send data for position B and pretend that's the
+	  data from position A (via the newsegment event, etc.)
+	  - this causes data corruption
+	  Reproducible doing seek-emulated fast-forward/backward on 006648.
+
+2012-05-16 09:12:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* configure.ac:
+	  configure: Require core/base 0.11.91
+
+2012-01-13 18:09:50 -0500  Matej Knopp <matej.knopp@gmail.com>
+
+	* .gitignore:
+	  .gitignore: add visual studio IDE files and OS X .DS_Store files
+	  https://bugzilla.gnome.org/show_bug.cgi?id=667899
+
+2012-05-03 09:32:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* ext/jpeg/gstjpegdec.c:
+	* ext/jpeg/gstjpegdec.h:
+	* ext/jpeg/gstjpegenc.c:
+	* ext/jpeg/gstjpegenc.h:
+	  jpeg: Port to 0.11 again
+
+2012-04-06 12:13:24 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* ext/jpeg/gstjpegdec.c:
+	* ext/jpeg/gstjpegdec.h:
+	* ext/jpeg/gstjpegenc.c:
+	* ext/jpeg/gstjpegenc.h:
+	  jpeg: Port jpegdec/jpegenc to base video classes
+	  Conflicts:
+	  ext/jpeg/gstjpegdec.c
+	  ext/jpeg/gstjpegdec.h
+	  ext/jpeg/gstjpegenc.c
+	  ext/jpeg/gstjpegenc.h
+	  Reverted to 0.10 versions for now, next port again.
+
+2012-05-13 19:21:19 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* configure.ac:
+	* docs/plugins/Makefile.am:
+	* docs/plugins/gst-plugins-good-plugins-docs.sgml:
+	* docs/plugins/gst-plugins-good-plugins-sections.txt:
+	* docs/plugins/inspect/plugin-annodex.xml:
+	* ext/Makefile.am:
+	* ext/annodex/Makefile.am:
+	* ext/annodex/gstannodex.c:
+	* ext/annodex/gstannodex.h:
+	* ext/annodex/gstcmmldec.c:
+	* ext/annodex/gstcmmldec.h:
+	* ext/annodex/gstcmmlenc.c:
+	* ext/annodex/gstcmmlenc.h:
+	* ext/annodex/gstcmmlparser.c:
+	* ext/annodex/gstcmmlparser.h:
+	* ext/annodex/gstcmmltag.c:
+	* ext/annodex/gstcmmltag.h:
+	* ext/annodex/gstcmmlutils.c:
+	* ext/annodex/gstcmmlutils.h:
+	* tests/check/Makefile.am:
+	* tests/check/elements/.gitignore:
+	* tests/check/elements/cmmldec.c:
+	* tests/check/elements/cmmlenc.c:
+	  annodex: remove annodex plugin and CMML elements
+	  This never really took off and is most likely completely
+	  unused. If there is still a need for this, it should
+	  probably be done differently, perhaps inside oggdemux/mux.
+
+2012-05-13 16:59:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* configure.ac:
+	  Back to development
+
+=== release 0.11.91 ===
+
+2012-05-13 16:31:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* ChangeLog:
+	* NEWS:
+	* RELEASE:
+	* common:
+	* configure.ac:
+	* gst-plugins-good.doap:
+	* win32/common/config.h:
+	  Release 0.11.91
+
+2012-05-13 16:30:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+	* po/af.po:
+	* po/az.po:
+	* po/bg.po:
+	* po/ca.po:
+	* po/cs.po:
+	* po/da.po:
+	* po/de.po:
+	* po/el.po:
+	* po/en_GB.po:
+	* po/eo.po:
+	* po/es.po:
+	* po/eu.po:
+	* po/fi.po:
+	* po/fr.po:
+	* po/gl.po:
+	* po/hu.po:
+	* po/id.po:
+	* po/it.po:
+	* po/ja.po:
+	* po/lt.po:
+	* po/lv.po:
+	* po/mt.po:
+	* po/nb.po:
+	* po/nl.po:
+	* po/or.po:
+	* po/pl.po:
+	* po/pt_BR.po:
+	* po/ro.po:
+	* po/ru.po:
+	* po/sk.po:
+	* po/sl.po:
+	* po/sq.po:
+	* po/sr.po:
+	* po/sv.po:
+	* po/tr.po:
+	* po/uk.po:
+	* po/vi.po:
+	* po/zh_CN.po:
+	* po/zh_HK.po:
+	* po/zh_TW.po:
+	  Update .po files
 
 2012-05-13 15:56:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
 
diff --git a/Makefile.in b/Makefile.in
index 83a36ad..ab69a8b 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -62,6 +62,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 DIST_COMMON = README $(am__configure_deps) $(noinst_HEADERS) \
 	$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 	$(srcdir)/config.h.in $(srcdir)/gst-plugins-good.spec.in \
@@ -79,7 +80,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -193,8 +193,6 @@
 ACLOCAL_AMFLAGS = -I m4 -I common/m4
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -241,6 +239,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -285,8 +284,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -301,6 +302,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -366,7 +371,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -422,6 +427,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -494,7 +500,11 @@
 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@
diff --git a/NEWS b/NEWS
index 9162c3c..b51c1e7 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,10 @@
-This is GStreamer Good Plug-ins 0.11.91 "I smell the blood of an Englishman"
+This is GStreamer Good Plug-ins 0.11.92 "Money"
+
+New features in 0.11.92:
+
+      * Parallel installability with 0.10.x series
+      * API cleanup and minor API improvements
+      * Lots of bugfixes, cleanup and other improvements
 
 New features in 0.11.91:
 
diff --git a/RELEASE b/RELEASE
index ae072f0..7d64fd0 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,5 +1,5 @@
 
-Release notes for GStreamer Good Plug-ins 0.11.91 "I smell the blood of an Englishman"
+Release notes for GStreamer Good Plug-ins 0.11.92 "Money"
         
 
 
@@ -8,6 +8,7 @@
 GStreamer Good Plug-ins.
 
 
+
 The 0.11.x series is an unstable series targeted at developers and will
 eventually lead up to the stable 1.0 series.
 It is not API or ABI compatible with the stable 0.10.x series.
@@ -15,6 +16,9 @@
 
 
 
+"Such ingratitude.  After all the times I've saved your life."
+
+
 A collection of plug-ins you'd want to have right next to you on the
 battlefield.  Shooting sharp and making no mistakes, these plug-ins have it
 all: good looks, good code, and good licensing.  Documented and dressed up
@@ -52,8 +56,9 @@
 
 Features of this release
     
-      * Ported flx, dv1394, oss and oss4 plugins
-      * Lots of bugfixes and other improvements
+      * Parallel installability with 0.10.x series
+      * API cleanup and minor API improvements
+      * Lots of bugfixes, cleanup and other improvements
 There were no bugs fixed in this release
     
 
@@ -84,23 +89,27 @@
   
 Contributors to this release
     
-      * Alban Browaeys
-      * Bastien Nocera
-      * Chris Pankow
+      * Alessandro Decina
+      * Andoni Morales Alastruey
+      * Anton Novikov
       * Edward Hervey
+      * Jens Georg
+      * Jonas Holmberg
+      * Josep Torra
       * Luis de Bethencourt
+      * Maria Giovanna Chiossa
       * Mark Nauwelaerts
-      * Mart Raudsepp
-      * Pascal Buhler
-      * Peter Seiderer
+      * Matej Knopp
+      * Mathias Hasselmann
+      * Michael Jones
+      * Mohammed Sameer
       * Sebastian Dröge
+      * Sebastian Rasmussen
+      * Sjoerd Simons
+      * Sreerenj Balachandran
       * Thiago Santos
       * Tim-Philipp Müller
       * Vincent Penquerc'h
-      * Víctor Manuel Jáquez Leal
       * Wim Taymans
       * Youness Alaoui
-      * idc-dragon
-      * uraeus
-      * Руслан Ижбулатов
  
\ No newline at end of file
diff --git a/aclocal.m4 b/aclocal.m4
index e4dafa2..64a643a 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1159,7 +1159,6 @@
 m4_include([common/m4/as-compiler-flag.m4])
 m4_include([common/m4/as-gcc-inline-assembly.m4])
 m4_include([common/m4/as-libtool.m4])
-m4_include([common/m4/as-objc.m4])
 m4_include([common/m4/as-python.m4])
 m4_include([common/m4/as-scrub-include.m4])
 m4_include([common/m4/as-version.m4])
diff --git a/common/Makefile.in b/common/Makefile.in
index 2c26f50..54ba879 100644
--- a/common/Makefile.in
+++ b/common/Makefile.in
@@ -50,6 +50,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = common
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ChangeLog
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -58,7 +59,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -156,8 +156,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -204,6 +202,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -248,8 +247,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -264,6 +265,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -329,7 +334,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -385,6 +390,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -457,7 +463,11 @@
 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@
diff --git a/common/gstdoc-scangobj b/common/gstdoc-scangobj
index b0699c7..0d69a86 100755
--- a/common/gstdoc-scangobj
+++ b/common/gstdoc-scangobj
@@ -245,11 +245,13 @@
       if (gst_plugin_get_filename (plugin) == NULL)
         continue;
 
-      $debug_log ("plugin: %s source: %s", plugin->desc.name, source);
+      $debug_log ("plugin: %s source: %s", gst_plugin_get_name (plugin), source);
 
       if (reinspect) {
+        gchar *basename;
+
         inspect_name = g_strdup_printf ("$INSPECT_DIR" G_DIR_SEPARATOR_S "plugin-%s.xml",
-            plugin->desc.name);
+            gst_plugin_get_name (plugin));
         inspect = fopen (inspect_name, "w");
         if (inspect == NULL) {
           g_error ("Could not open %s for writing: %s\\n", inspect_name,
@@ -257,23 +259,27 @@
         }
         g_free (inspect_name);
 
+		  basename = g_path_get_basename (gst_plugin_get_filename (plugin));
+
         /* output plugin data */
         fputs ("<plugin>\\n",inspect);
-        fputs (xmlprint(2, "name", plugin->desc.name),inspect);
-        fputs (xmlprint(2, "description", plugin->desc.description),inspect);
-        fputs (xmlprint(2, "filename", plugin->filename),inspect);
-        fputs (xmlprint(2, "basename", plugin->basename),inspect);
-        fputs (xmlprint(2, "version", plugin->desc.version),inspect);
-        fputs (xmlprint(2, "license", plugin->desc.license),inspect);
-        fputs (xmlprint(2, "source", plugin->desc.source),inspect);
-        fputs (xmlprint(2, "package", plugin->desc.package),inspect);
-        fputs (xmlprint(2, "origin", plugin->desc.origin),inspect);
+        fputs (xmlprint(2, "name", gst_plugin_get_name (plugin)),inspect);
+        fputs (xmlprint(2, "description", gst_plugin_get_description (plugin)),inspect);
+        fputs (xmlprint(2, "filename", gst_plugin_get_filename (plugin)),inspect);
+        fputs (xmlprint(2, "basename", basename),inspect);
+        fputs (xmlprint(2, "version", gst_plugin_get_version (plugin)),inspect);
+        fputs (xmlprint(2, "license", gst_plugin_get_license (plugin)),inspect);
+        fputs (xmlprint(2, "source", gst_plugin_get_source (plugin)),inspect);
+        fputs (xmlprint(2, "package", gst_plugin_get_package (plugin)),inspect);
+        fputs (xmlprint(2, "origin", gst_plugin_get_origin (plugin)),inspect);
         fputs ("  <elements>\\n", inspect);
+
+		  g_free (basename);
       }
 
       features =
           gst_registry_get_feature_list_by_plugin (gst_registry_get (),
-          plugin->desc.name);
+          gst_plugin_get_name (plugin));
 
       /* sort factories by feature->name */
       features = g_list_sort (features, gst_feature_sort_compare);
diff --git a/common/m4/Makefile.am b/common/m4/Makefile.am
index 2ddb8a7..856d6e3 100644
--- a/common/m4/Makefile.am
+++ b/common/m4/Makefile.am
@@ -8,7 +8,6 @@
 	as-gcc-inline-assembly.m4 \
 	as-libtool.m4 \
 	as-libtool-tags.m4 \
-	as-objc.m4 \
 	as-python.m4 \
 	as-scrub-include.m4 \
 	as-version.m4 \
diff --git a/common/m4/Makefile.in b/common/m4/Makefile.in
index 1368559..0339945 100644
--- a/common/m4/Makefile.in
+++ b/common/m4/Makefile.in
@@ -50,6 +50,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = common/m4
 DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -58,7 +59,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -116,8 +116,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -164,6 +162,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -208,8 +207,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -224,6 +225,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -289,7 +294,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -345,6 +350,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -417,7 +423,11 @@
 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@
@@ -431,7 +441,6 @@
 	as-gcc-inline-assembly.m4 \
 	as-libtool.m4 \
 	as-libtool-tags.m4 \
-	as-objc.m4 \
 	as-python.m4 \
 	as-scrub-include.m4 \
 	as-version.m4 \
diff --git a/common/m4/as-compiler-flag.m4 b/common/m4/as-compiler-flag.m4
index 882a4c7..8bb853a 100644
--- a/common/m4/as-compiler-flag.m4
+++ b/common/m4/as-compiler-flag.m4
@@ -62,3 +62,35 @@
   AC_MSG_RESULT([$flag_ok])
 ])
 
+dnl AS_OBJC_COMPILER_FLAG(CPPFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED])
+dnl Tries to compile with the given CPPFLAGS.
+dnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags,
+dnl and ACTION-IF-NOT-ACCEPTED otherwise.
+
+AC_DEFUN([AS_OBJC_COMPILER_FLAG],
+[
+  AC_REQUIRE([AC_PROG_OBJC])
+
+  AC_MSG_CHECKING([to see if Objective C compiler understands $1])
+
+  save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS $1"
+
+  AC_LANG_PUSH([Objective C])
+
+  AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no])
+  CPPFLAGS="$save_CPPFLAGS"
+
+  if test "X$flag_ok" = Xyes ; then
+    $2
+    true
+  else
+    $3
+    true
+  fi
+
+  AC_LANG_POP([Objective C])
+
+  AC_MSG_RESULT([$flag_ok])
+])
+
diff --git a/common/m4/as-objc.m4 b/common/m4/as-objc.m4
deleted file mode 100644
index 1e7066a..0000000
--- a/common/m4/as-objc.m4
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-# AC_PROG_OBJC([LIST-OF-COMPILERS])
-#
-AC_DEFUN([AS_PROG_OBJC],
-[
-AC_CHECK_TOOLS(OBJC,
-	[m4_default([$1], [objcc objc gcc cc CC])],
-	none)
-AC_SUBST(OBJC)
-OBJC_LDFLAGS="-lobjc"
-AC_SUBST(OBJC_LDFLAGS)
-if test "x$OBJC" != xnone ; then
-  _AM_DEPENDENCIES(OBJC)
-  AC_MSG_CHECKING([if Objective C compiler works])
-  cat >>conftest.m <<EOF
-#include <objc/Object.h>
-@interface Moo:Object
-{
-}
-- moo;
-int main();
-@end
-
-@implementation Moo
-- moo
-{
-  exit(0);
-}
-
-int main()
-{
-  id moo;
-  moo = [[Moo new]];
-  [[moo moo]];
-  return 1;
-}
-@end
-EOF
-  ${OBJC} conftest.m ${OBJC_LDFLAGS} >&5 2>&5
-  if test -f a.out -o -f a.exe ; then
-    result=yes
-  else
-    result=no
-    echo failed program is: >&5
-    cat conftest.m >&5
-  fi
-  rm -f conftest.m a.out a.exe
-  AC_MSG_RESULT([$result])
-else
-  _AM_DEPENDENCIES(OBJC)
-fi
-
-])
-
-
diff --git a/common/m4/gst-arch.m4 b/common/m4/gst-arch.m4
index 2e935d2..ff0954a 100644
--- a/common/m4/gst-arch.m4
+++ b/common/m4/gst-arch.m4
@@ -6,31 +6,32 @@
 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${host_cpu}" in
+  case "x${target_cpu}" in
     xi?86 | xk? | xi?86_64)
-      case $host_os in
+      case $target_os in
          solaris*)
             AC_CHECK_DECL([__i386],	[I386_ABI="yes"], [I386_ABI="no"])
             AC_CHECK_DECL([__amd64], [AMD64_ABI="yes"], [AMD64_ABI="no"])
 
             if test "x$I386_ABI" = "xyes" ; then
                HAVE_CPU_I386=yes
-               AC_DEFINE(HAVE_CPU_I386, 1, [Define if the host CPU is an x86])
+               AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
             fi
             if test "x$AMD64_ABI" = "xyes" ; then
                 HAVE_CPU_X86_64=yes
-                AC_DEFINE(HAVE_CPU_X86_64, 1, [Define if the host CPU is a x86_64])
+                AC_DEFINE(HAVE_CPU_X86_64, 1, [Define if the target CPU is a x86_64])
             fi
             ;;
          *)
             HAVE_CPU_I386=yes
-            AC_DEFINE(HAVE_CPU_I386, 1, [Define if the host CPU is an x86])
+            AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
 
             dnl FIXME could use some better detection
             dnl (ie CPUID)
-            case "x${host_cpu}" in
+            case "x${target_cpu}" in
               xi386 | xi486) ;;
             *)
               AC_DEFINE(HAVE_RDTSC, 1, [Define if RDTSC is available]) ;;
@@ -40,43 +41,43 @@
       ;;
     xpowerpc)
       HAVE_CPU_PPC=yes
-      AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the host CPU is a PowerPC]) ;;
+      AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PowerPC]) ;;
     xpowerpc64)
       HAVE_CPU_PPC64=yes
-      AC_DEFINE(HAVE_CPU_PPC64, 1, [Define if the host CPU is a 64 bit PowerPC]) ;;
+      AC_DEFINE(HAVE_CPU_PPC64, 1, [Define if the target CPU is a 64 bit PowerPC]) ;;
     xalpha*)
       HAVE_CPU_ALPHA=yes
-      AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the host CPU is an Alpha]) ;;
+      AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
     xarm*)
       HAVE_CPU_ARM=yes
-      AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the host CPU is an ARM]) ;;
+      AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
     xsparc*)
       HAVE_CPU_SPARC=yes
-      AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the host CPU is a SPARC]) ;;
+      AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a SPARC]) ;;
     xmips*)
       HAVE_CPU_MIPS=yes
-      AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the host CPU is a MIPS]) ;;
+      AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
     xhppa*)
       HAVE_CPU_HPPA=yes
-      AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the host CPU is a HPPA]) ;;
+      AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
     xs390*)
       HAVE_CPU_S390=yes
-      AC_DEFINE(HAVE_CPU_S390, 1, [Define if the host CPU is a S390]) ;;
+      AC_DEFINE(HAVE_CPU_S390, 1, [Define if the target CPU is a S390]) ;;
     xia64*)
       HAVE_CPU_IA64=yes
-      AC_DEFINE(HAVE_CPU_IA64, 1, [Define if the host CPU is a IA64]) ;;
+      AC_DEFINE(HAVE_CPU_IA64, 1, [Define if the target CPU is a IA64]) ;;
     xm68k*)
       HAVE_CPU_M68K=yes
-      AC_DEFINE(HAVE_CPU_M68K, 1, [Define if the host CPU is a M68K]) ;;
+      AC_DEFINE(HAVE_CPU_M68K, 1, [Define if the target CPU is a M68K]) ;;
     xx86_64)
       HAVE_CPU_X86_64=yes
-      AC_DEFINE(HAVE_CPU_X86_64, 1, [Define if the host CPU is a x86_64]) ;;
+      AC_DEFINE(HAVE_CPU_X86_64, 1, [Define if the target CPU is a x86_64]) ;;
     xcris)
       HAVE_CPU_CRIS=yes
-      AC_DEFINE(HAVE_CPU_CRIS, 1, [Define if the host CPU is a CRIS]) ;;
+      AC_DEFINE(HAVE_CPU_CRIS, 1, [Define if the target CPU is a CRIS]) ;;
     xcrisv32)
       HAVE_CPU_CRISV32=yes
-      AC_DEFINE(HAVE_CPU_CRISV32, 1, [Define if the host CPU is a CRISv32]) ;;
+      AC_DEFINE(HAVE_CPU_CRISV32, 1, [Define if the target CPU is a CRISv32]) ;;
   esac
 
   dnl Determine endianness
@@ -98,6 +99,7 @@
   AM_CONDITIONAL(HAVE_CPU_CRISV32,    test "x$HAVE_CPU_CRISV32" = "xyes")
 
   AC_DEFINE_UNQUOTED(HOST_CPU, "$host_cpu", [the host CPU])
+  AC_DEFINE_UNQUOTED(TARGET_CPU, "$target_cpu", [the target CPU])
 ])
 
 dnl check if unaligned memory access works correctly
diff --git a/common/m4/gst-args.m4 b/common/m4/gst-args.m4
index 2dc0184..4872e3c 100644
--- a/common/m4/gst-args.m4
+++ b/common/m4/gst-args.m4
@@ -111,13 +111,13 @@
     dnl if gcov is used, we do not want default -O2 CFLAGS
     if test "x$GST_GCOV_ENABLED" = "xyes"
     then
-      CFLAGS="-O0"
+      CFLAGS="$CFLAGS -O0"
       AC_SUBST(CFLAGS)
-      CXXFLAGS="-O0"
+      CXXFLAGS="$CXXFLAGS -O0"
       AC_SUBST(CXXFLAGS)
-      FFLAGS="-O0"
+      FFLAGS="$FFLAGS -O0"
       AC_SUBST(FFLAGS)
-      CCASFLAGS="-O0"
+      CCASFLAGS="$CCASFLAGS -O0"
       AC_SUBST(CCASFLAGS)
       AC_MSG_NOTICE([gcov enabled, setting CFLAGS and friends to $CFLAGS])
     fi
diff --git a/common/m4/gst-error.m4 b/common/m4/gst-error.m4
index f8f2364..e12a04c 100644
--- a/common/m4/gst-error.m4
+++ b/common/m4/gst-error.m4
@@ -196,6 +196,91 @@
   AC_MSG_NOTICE([set ERROR_CXXFLAGS to $ERROR_CXXFLAGS])
 ])
 
+dnl Sets WARNING_OBJCFLAGS and ERROR_OBJCFLAGS to something the compiler 
+dnl will accept and AC_SUBST them so they are available in Makefile
+dnl
+dnl WARNING_OBJCFLAGS will contain flags to make the compiler emit more
+dnl   warnings.
+dnl ERROR_OBJCFLAGS will contain flags to make those warnings fatal,
+dnl   unless ADD-WERROR is set to "no"
+dnl 
+dnl If MORE_FLAGS is set, tries to add each of the given flags
+dnl to WARNING_CFLAGS if the compiler supports them. Each flag is 
+dnl tested separately.
+dnl
+dnl These flags can be overridden at make time:
+dnl make ERROR_OBJCFLAGS=
+AC_DEFUN([AG_GST_SET_ERROR_OBJCFLAGS],
+[
+  AC_REQUIRE([AC_PROG_OBJC])
+  AC_REQUIRE([AS_OBJC_COMPILER_FLAG])
+
+  ERROR_OBJCFLAGS=""
+  WARNING_OBJCFLAGS=""
+
+  dnl if we support -Wall, set it unconditionally
+  AS_OBJC_COMPILER_FLAG(-Wall, WARNING_OBJCFLAGS="$WARNING_OBJCFLAGS -Wall")
+
+  dnl if asked for, add -Werror if supported
+  if test "x$1" != "xno"
+  then
+    AS_OBJC_COMPILER_FLAG(-Werror, ERROR_OBJCFLAGS="$ERROR_OBJCFLAGS -Werror")
+
+    if test "x$ERROR_OBJCFLAGS" != "x"
+    then
+	dnl Add -fno-strict-aliasing for GLib versions before 2.19.8
+	dnl as before G_LOCK and friends caused strict aliasing compiler
+	dnl warnings.
+	PKG_CHECK_EXISTS([glib-2.0 < 2.19.8], [
+	  AS_OBJC_COMPILER_FLAG([-fno-strict-aliasing],
+	    ERROR_OBJCFLAGS="$ERROR_OBJCFLAGS -fno-strict-aliasing")
+	  ])
+    else
+      dnl if -Werror isn't suported, try -errwarn=%all
+      AS_OBJC_COMPILER_FLAG([-errwarn=%all], ERROR_OBJCFLAGS="$ERROR_OBJCFLAGS -errwarn=%all")
+      if test "x$ERROR_OBJCFLAGS" != "x"; then
+        dnl try -errwarn=%all,no%E_EMPTY_DECLARATION,
+        dnl no%E_STATEMENT_NOT_REACHED,no%E_ARGUEMENT_MISMATCH,
+        dnl no%E_MACRO_REDEFINED (Sun Forte case)
+        dnl For Forte we need disable "empty declaration" warning produced by un-needed semicolon
+        dnl "statement not reached" disabled because there is g_assert_not_reached () in some places
+        dnl "macro redefined" because of gst/gettext.h
+        dnl FIXME: is it really supposed to be 'ARGUEMENT' and not 'ARGUMENT'?
+        dnl FIXME: do any of these work with the c++ compiler? if not, why
+        dnl do we check at all?
+        for f in 'no%E_EMPTY_DECLARATION' \
+                 'no%E_STATEMENT_NOT_REACHED' \
+                 'no%E_ARGUEMENT_MISMATCH' \
+                 'no%E_MACRO_REDEFINED' \
+                 'no%E_LOOP_NOT_ENTERED_AT_TOP'
+        do
+          AS_OBJC_COMPILER_FLAG([-errwarn=%all,$f], ERROR_OBJCFLAGS="$ERROR_OBJCFLAGS,$f")
+        done
+      fi
+    fi
+  fi
+
+  if test "x$2" != "x"
+  then
+    UNSUPPORTED=""
+    list="$2"
+    for each in $list
+    do
+      AS_OBJC_COMPILER_FLAG($each,
+          WARNING_OBJCFLAGS="$WARNING_OBJCFLAGS $each",
+          UNSUPPORTED="$UNSUPPORTED $each")
+    done
+    if test "X$UNSUPPORTED" != X ; then
+      AC_MSG_NOTICE([unsupported compiler flags: $UNSUPPORTED])
+    fi
+  fi
+
+  AC_SUBST(WARNING_OBJCFLAGS)
+  AC_SUBST(ERROR_OBJCFLAGS)
+  AC_MSG_NOTICE([set WARNING_OBJCFLAGS to $WARNING_OBJCFLAGS])
+  AC_MSG_NOTICE([set ERROR_OBJCFLAGS to $ERROR_OBJCFLAGS])
+])
+
 dnl Sets the default error level for debugging messages
 AC_DEFUN([AG_GST_SET_LEVEL_DEFAULT],
 [
diff --git a/common/m4/gtk-doc.m4 b/common/m4/gtk-doc.m4
index 39a4e7d..0c1a305 100644
--- a/common/m4/gtk-doc.m4
+++ b/common/m4/gtk-doc.m4
@@ -6,8 +6,15 @@
 dnl   GTK_DOC_CHECK([minimum-gtk-doc-version])
 AC_DEFUN([GTK_DOC_CHECK],
 [
+  AC_REQUIRE([PKG_PROG_PKG_CONFIG])
   AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
   AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
+
+  dnl check for tools we added during development
+  AC_PATH_PROG([GTKDOC_CHECK],[gtkdoc-check])
+  AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true])
+  AC_PATH_PROG([GTKDOC_MKPDF],[gtkdoc-mkpdf])
+
   dnl for overriding the documentation installation directory
   AC_ARG_WITH([html-dir],
     AS_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
@@ -26,7 +33,13 @@
       [PKG_CHECK_EXISTS([gtk-doc],,
                         AC_MSG_ERROR([gtk-doc not installed and --enable-gtk-doc requested]))],
       [PKG_CHECK_EXISTS([gtk-doc >= $1],,
-                        AC_MSG_ERROR([You need to have gtk-doc >= $1 installed to build gtk-doc]))])
+                        AC_MSG_ERROR([You need to have gtk-doc >= $1 installed to build $PACKAGE_NAME]))])
+    dnl don't check for glib if we build glib
+    if test "x$PACKAGE_NAME" != "xglib"; then
+      dnl don't fail if someone does not have glib
+      PKG_CHECK_MODULES(GTKDOC_DEPS, glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0,,)
+    fi
+    dnl don't rely on sed being pulled in implicitly. Fixes Solaris build.
     if test -z "$SED"; then
       AC_PROG_SED
     fi
@@ -35,8 +48,24 @@
   AC_MSG_CHECKING([whether to build gtk-doc documentation])
   AC_MSG_RESULT($enable_gtk_doc)
 
-  AC_PATH_PROGS(GTKDOC_CHECK,gtkdoc-check,)
+  dnl enable/disable output formats
+  AC_ARG_ENABLE([gtk-doc-html],
+    AS_HELP_STRING([--enable-gtk-doc-html],
+                   [build documentation in html format [[default=yes]]]),,
+    [enable_gtk_doc_html=yes])
+    AC_ARG_ENABLE([gtk-doc-pdf],
+      AS_HELP_STRING([--enable-gtk-doc-pdf],
+                     [build documentation in pdf format [[default=no]]]),,
+      [enable_gtk_doc_pdf=no])
+
+  if test -z "$GTKDOC_MKPDF"; then
+    enable_gtk_doc_pdf=no
+  fi
+
 
   AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes])
+  AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes])
+  AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes])
   AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], [test -n "$LIBTOOL"])
+  AM_CONDITIONAL([GTK_DOC_USE_REBASE], [test -n "$GTKDOC_REBASE"])
 ])
diff --git a/config.h.in b/config.h.in
index 65a30ae..412a2a9 100644
--- a/config.h.in
+++ b/config.h.in
@@ -64,9 +64,6 @@
 /* Define to enable aalib ASCII Art library (used by aasink). */
 #undef HAVE_AALIB
 
-/* Define to enable XML library (used by annodex). */
-#undef HAVE_ANNODEX
-
 /* Define to 1 if you have the `asinh' function. */
 #undef HAVE_ASINH
 
@@ -91,46 +88,46 @@
 /* Define to 1 if you have the `cosh' function. */
 #undef HAVE_COSH
 
-/* Define if the host CPU is an Alpha */
+/* Define if the target CPU is an Alpha */
 #undef HAVE_CPU_ALPHA
 
-/* Define if the host CPU is an ARM */
+/* Define if the target CPU is an ARM */
 #undef HAVE_CPU_ARM
 
-/* Define if the host CPU is a CRIS */
+/* Define if the target CPU is a CRIS */
 #undef HAVE_CPU_CRIS
 
-/* Define if the host CPU is a CRISv32 */
+/* Define if the target CPU is a CRISv32 */
 #undef HAVE_CPU_CRISV32
 
-/* Define if the host CPU is a HPPA */
+/* Define if the target CPU is a HPPA */
 #undef HAVE_CPU_HPPA
 
-/* Define if the host CPU is an x86 */
+/* Define if the target CPU is an x86 */
 #undef HAVE_CPU_I386
 
-/* Define if the host CPU is a IA64 */
+/* Define if the target CPU is a IA64 */
 #undef HAVE_CPU_IA64
 
-/* Define if the host CPU is a M68K */
+/* Define if the target CPU is a M68K */
 #undef HAVE_CPU_M68K
 
-/* Define if the host CPU is a MIPS */
+/* Define if the target CPU is a MIPS */
 #undef HAVE_CPU_MIPS
 
-/* Define if the host CPU is a PowerPC */
+/* Define if the target CPU is a PowerPC */
 #undef HAVE_CPU_PPC
 
-/* Define if the host CPU is a 64 bit PowerPC */
+/* Define if the target CPU is a 64 bit PowerPC */
 #undef HAVE_CPU_PPC64
 
-/* Define if the host CPU is a S390 */
+/* Define if the target CPU is a S390 */
 #undef HAVE_CPU_S390
 
-/* Define if the host CPU is a SPARC */
+/* Define if the target CPU is a SPARC */
 #undef HAVE_CPU_SPARC
 
-/* Define if the host CPU is a x86_64 */
+/* Define if the target CPU is a x86_64 */
 #undef HAVE_CPU_X86_64
 
 /* Define if the GNU dcgettext() function is already present or preinstalled.
@@ -399,6 +396,9 @@
 /* Define to 1 if you have the ANSI C header files. */
 #undef STDC_HEADERS
 
+/* the target CPU */
+#undef TARGET_CPU
+
 /* Version number of package */
 #undef VERSION
 
diff --git a/configure b/configure
index aa6e2b2..46a9ac2 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 Good Plug-ins 0.11.91.
+# Generated by GNU Autoconf 2.69 for GStreamer Good Plug-ins 0.11.92.
 #
 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>.
 #
@@ -591,8 +591,8 @@
 # Identity of this package.
 PACKAGE_NAME='GStreamer Good Plug-ins'
 PACKAGE_TARNAME='gst-plugins-good'
-PACKAGE_VERSION='0.11.91'
-PACKAGE_STRING='GStreamer Good Plug-ins 0.11.91'
+PACKAGE_VERSION='0.11.92'
+PACKAGE_STRING='GStreamer Good Plug-ins 0.11.92'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
 PACKAGE_URL=''
 
@@ -641,7 +641,9 @@
 LIBOBJS
 GST_PLUGIN_LDFLAGS
 GST_ALL_LDFLAGS
+GST_OBJCFLAGS
 GST_CXXFLAGS
+GST_OPTION_OBJCFLAGS
 GST_OPTION_CXXFLAGS
 GST_OPTION_CFLAGS
 DEPRECATED_CFLAGS
@@ -731,10 +733,6 @@
 USE_CAIRO_TRUE
 CAIRO_LIBS
 CAIRO_CFLAGS
-USE_ANNODEX_FALSE
-USE_ANNODEX_TRUE
-ANNODEX_LIBS
-ANNODEX_CFLAGS
 USE_AALIB_FALSE
 USE_AALIB_TRUE
 AALIB_LIBS
@@ -873,6 +871,8 @@
 DEFAULT_AUDIOSRC
 DEFAULT_AUDIOSINK
 GST_LEVEL_DEFAULT
+ERROR_OBJCFLAGS
+WARNING_OBJCFLAGS
 ERROR_CXXFLAGS
 WARNING_CXXFLAGS
 ERROR_CFLAGS
@@ -940,12 +940,22 @@
 PYTHON_PREFIX
 PYTHON_VERSION
 PYTHON
+GTK_DOC_USE_REBASE_FALSE
+GTK_DOC_USE_REBASE_TRUE
 GTK_DOC_USE_LIBTOOL_FALSE
 GTK_DOC_USE_LIBTOOL_TRUE
+GTK_DOC_BUILD_PDF_FALSE
+GTK_DOC_BUILD_PDF_TRUE
+GTK_DOC_BUILD_HTML_FALSE
+GTK_DOC_BUILD_HTML_TRUE
 ENABLE_GTK_DOC_FALSE
 ENABLE_GTK_DOC_TRUE
-GTKDOC_CHECK
+GTKDOC_DEPS_LIBS
+GTKDOC_DEPS_CFLAGS
 HTML_DIR
+GTKDOC_MKPDF
+GTKDOC_REBASE
+GTKDOC_CHECK
 HAVE_VALGRIND_FALSE
 HAVE_VALGRIND_TRUE
 VALGRIND_PATH
@@ -956,8 +966,8 @@
 am__fastdepOBJC_FALSE
 am__fastdepOBJC_TRUE
 OBJCDEPMODE
-OBJC_LDFLAGS
 ac_ct_OBJC
+OBJCFLAGS
 OBJC
 HAVE_CXX
 CXXCPP
@@ -994,6 +1004,10 @@
 HAVE_CPU_PPC_TRUE
 HAVE_CPU_I386_FALSE
 HAVE_CPU_I386_TRUE
+target_os
+target_vendor
+target_cpu
+target
 BUILD_EXPERIMENTAL_FALSE
 BUILD_EXPERIMENTAL_TRUE
 USE_EXPERIMENTAL_FALSE
@@ -1202,6 +1216,8 @@
 enable_experimental
 with_html_dir
 enable_gtk_doc
+enable_gtk_doc_html
+enable_gtk_doc_pdf
 enable_gobject_cast_checks
 enable_glib_asserts
 enable_orc
@@ -1271,7 +1287,6 @@
 with_aalib_prefix
 with_aalib_exec_prefix
 enable_aalibtest
-enable_annodex
 enable_cairo
 enable_cairo_gobject
 enable_flac
@@ -1308,8 +1323,12 @@
 CXXFLAGS
 CCC
 CXXCPP
+OBJC
+OBJCFLAGS
 CCAS
 CCASFLAGS
+GTKDOC_DEPS_CFLAGS
+GTKDOC_DEPS_LIBS
 GLIB_CFLAGS
 GLIB_LIBS
 GIO_CFLAGS
@@ -1341,8 +1360,6 @@
 XFIXES_LIBS
 XDAMAGE_CFLAGS
 XDAMAGE_LIBS
-ANNODEX_CFLAGS
-ANNODEX_LIBS
 CAIRO_CFLAGS
 CAIRO_LIBS
 CAIRO_GOBJECT_CFLAGS
@@ -1919,7 +1936,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 Good Plug-ins 0.11.91 to adapt to many kinds of systems.
+\`configure' configures GStreamer Good Plug-ins 0.11.92 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1989,12 +2006,13 @@
 System types:
   --build=BUILD     configure for building on BUILD [guessed]
   --host=HOST       cross-compile to build programs to run on HOST [BUILD]
+  --target=TARGET   configure for building compilers for TARGET [HOST]
 _ACEOF
 fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GStreamer Good Plug-ins 0.11.91:";;
+     short | recursive ) echo "Configuration of GStreamer Good Plug-ins 0.11.92:";;
    esac
   cat <<\_ACEOF
 
@@ -2026,6 +2044,8 @@
   --disable-external           disable building of plug-ins with external deps
   --enable-experimental        enable building of experimental plug-ins
   --enable-gtk-doc        use gtk-doc to build documentation [[default=no]]
+  --enable-gtk-doc-html   build documentation in html format [[default=yes]]
+  --enable-gtk-doc-pdf    build documentation in pdf format [[default=no]]
   --enable-gobject-cast-checks=[no/auto/yes]
                           Enable GObject cast checks
   --enable-glib-asserts=[no/auto/yes]
@@ -2086,7 +2106,6 @@
   --disable-xvideo             disable X11 XVideo extensions
   --disable-aalib              disable aalib ASCII Art library: aasink
   --disable-aalibtest     do not try to compile and run a test AALIB program
-  --disable-annodex            disable XML library: annodex
   --disable-cairo              disable Cairo graphics rendering: cairo
   --disable-cairo_gobject      disable Cairo graphics rendering gobject bindings: cairooverlay
   --disable-flac               disable FLAC lossless audio: flac
@@ -2167,8 +2186,14 @@
   CXX         C++ compiler command
   CXXFLAGS    C++ compiler flags
   CXXCPP      C++ preprocessor
+  OBJC        Objective C compiler command
+  OBJCFLAGS   Objective C compiler flags
   CCAS        assembler compiler command (defaults to CC)
   CCASFLAGS   assembler compiler flags (defaults to CFLAGS)
+  GTKDOC_DEPS_CFLAGS
+              C compiler flags for GTKDOC_DEPS, overriding pkg-config
+  GTKDOC_DEPS_LIBS
+              linker flags for GTKDOC_DEPS, overriding pkg-config
   GLIB_CFLAGS C compiler flags for GLIB, overriding pkg-config
   GLIB_LIBS   linker flags for GLIB, overriding pkg-config
   GIO_CFLAGS  C compiler flags for GIO, overriding pkg-config
@@ -2218,10 +2243,6 @@
               C compiler flags for XDAMAGE, overriding pkg-config
   XDAMAGE_LIBS
               linker flags for XDAMAGE, overriding pkg-config
-  ANNODEX_CFLAGS
-              C compiler flags for ANNODEX, overriding pkg-config
-  ANNODEX_LIBS
-              linker flags for ANNODEX, overriding pkg-config
   CAIRO_CFLAGS
               C compiler flags for CAIRO, overriding pkg-config
   CAIRO_LIBS  linker flags for CAIRO, overriding pkg-config
@@ -2348,7 +2369,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GStreamer Good Plug-ins configure 0.11.91
+GStreamer Good Plug-ins configure 0.11.92
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2790,6 +2811,44 @@
 
 } # ac_fn_cxx_try_link
 
+# ac_fn_objc_try_compile LINENO
+# -----------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_objc_try_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext
+  if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_objc_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_objc_try_compile
+
 # ac_fn_c_check_type LINENO TYPE VAR INCLUDES
 # -------------------------------------------
 # Tests whether TYPE exists after having included INCLUDES, setting cache
@@ -3121,7 +3180,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 Good Plug-ins $as_me 0.11.91, which was
+It was created by GStreamer Good Plug-ins $as_me 0.11.92, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3945,7 +4004,7 @@
 
 # Define the identity of the package.
  PACKAGE='gst-plugins-good'
- VERSION='0.11.91'
+ VERSION='0.11.92'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4068,9 +4127,9 @@
 
 
 
-  PACKAGE_VERSION_MAJOR=$(echo 0.11.91 | cut -d'.' -f1)
-  PACKAGE_VERSION_MINOR=$(echo 0.11.91 | cut -d'.' -f2)
-  PACKAGE_VERSION_MICRO=$(echo 0.11.91 | cut -d'.' -f3)
+  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)
 
 
 
@@ -4081,7 +4140,7 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
 $as_echo_n "checking nano version... " >&6; }
 
-  NANO=$(echo 0.11.91 | cut -d'.' -f4)
+  NANO=$(echo 0.11.92 | cut -d'.' -f4)
 
   if test x"$NANO" = x || test "x$NANO" = "x0" ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -13077,8 +13136,8 @@
 
 
 
-GST_REQ=0.11.90
-GSTPB_REQ=0.11.90
+GST_REQ=0.11.91
+GSTPB_REQ=0.11.91
 
 
 
@@ -15450,13 +15509,13 @@
 
         if test "x$GST_GCOV_ENABLED" = "xyes"
     then
-      CFLAGS="-O0"
+      CFLAGS="$CFLAGS -O0"
 
-      CXXFLAGS="-O0"
+      CXXFLAGS="$CXXFLAGS -O0"
 
-      FFLAGS="-O0"
+      FFLAGS="$FFLAGS -O0"
 
-      CCASFLAGS="-O0"
+      CCASFLAGS="$CCASFLAGS -O0"
 
       { $as_echo "$as_me:${as_lineno-$LINENO}: gcov enabled, setting CFLAGS and friends to $CFLAGS" >&5
 $as_echo "$as_me: gcov enabled, setting CFLAGS and friends to $CFLAGS" >&6;}
@@ -15804,11 +15863,50 @@
 
 
 
+{ $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
 
 
-    case "x${host_cpu}" in
+# 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)
-      case $host_os in
+      case $target_os in
          solaris*)
             ac_fn_c_check_decl "$LINENO" "__i386" "ac_cv_have_decl___i386" "$ac_includes_default"
 if test "x$ac_cv_have_decl___i386" = xyes; then :
@@ -15844,7 +15942,7 @@
 $as_echo "#define HAVE_CPU_I386 1" >>confdefs.h
 
 
-                                    case "x${host_cpu}" in
+                                    case "x${target_cpu}" in
               xi386 | xi486) ;;
             *)
 
@@ -16265,6 +16363,11 @@
 _ACEOF
 
 
+cat >>confdefs.h <<_ACEOF
+#define TARGET_CPU "$target_cpu"
+_ACEOF
+
+
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
@@ -21224,9 +21327,13 @@
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-
+ac_ext=m
+ac_cpp='$OBJCPP $CPPFLAGS'
+ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$OBJC -o conftest$ac_exeext $OBJCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_objc_compiler_gnu
 if test -n "$ac_tool_prefix"; then
-  for ac_prog in objcc objc gcc cc CC
+  for ac_prog in gcc objcc objc cc CC
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
@@ -21270,7 +21377,7 @@
 fi
 if test -z "$OBJC"; then
   ac_ct_OBJC=$OBJC
-  for ac_prog in objcc objc gcc cc CC
+  for ac_prog in gcc objcc objc cc CC
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -21313,7 +21420,7 @@
 done
 
   if test "x$ac_ct_OBJC" = x; then
-    OBJC="none"
+    OBJC="gcc"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
@@ -21325,175 +21432,151 @@
   fi
 fi
 
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for Objective C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
 
-OBJC_LDFLAGS="-lobjc"
-
-if test "x$OBJC" != xnone ; then
-
-depcc="$OBJC" am_compiler_list='gcc3 gcc'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_OBJC_dependencies_compiler_type+:} false; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Objective C compiler" >&5
+$as_echo_n "checking whether we are using the GNU Objective C compiler... " >&6; }
+if ${ac_cv_objc_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-  am_cv_OBJC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
 
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-	continue
-      else
-	break
-      fi
-      ;;
-    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_OBJC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_objc_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
 else
-  am_cv_OBJC_dependencies_compiler_type=none
+  ac_compiler_gnu=no
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_objc_compiler_gnu=$ac_compiler_gnu
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_OBJC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_OBJC_dependencies_compiler_type" >&6; }
-OBJCDEPMODE=depmode=$am_cv_OBJC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_OBJC_dependencies_compiler_type" = gcc3; then
-  am__fastdepOBJC_TRUE=
-  am__fastdepOBJC_FALSE='#'
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objc_compiler_gnu" >&5
+$as_echo "$ac_cv_objc_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GOBJC=yes
 else
-  am__fastdepOBJC_TRUE='#'
-  am__fastdepOBJC_FALSE=
+  GOBJC=
 fi
+ac_test_OBJCFLAGS=${OBJCFLAGS+set}
+ac_save_OBJCFLAGS=$OBJCFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $OBJC accepts -g" >&5
+$as_echo_n "checking whether $OBJC accepts -g... " >&6; }
+if ${ac_cv_prog_objc_g+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_objc_werror_flag=$ac_objc_werror_flag
+   ac_objc_werror_flag=yes
+   ac_cv_prog_objc_g=no
+   OBJCFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Objective C compiler works" >&5
-$as_echo_n "checking if Objective C compiler works... " >&6; }
-  cat >>conftest.m <<EOF
-#include <objc/Object.h>
-@interface Moo:Object
+int
+main ()
 {
-}
-- moo;
-int main();
-@end
 
-@implementation Moo
-- moo
-{
-  exit(0);
+  ;
+  return 0;
 }
+_ACEOF
+if ac_fn_objc_try_compile "$LINENO"; then :
+  ac_cv_prog_objc_g=yes
+else
+  OBJCFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-int main()
+int
+main ()
 {
-  id moo;
-  moo = [Moo new];
-  [moo moo];
-  return 1;
+
+  ;
+  return 0;
 }
-@end
-EOF
-  ${OBJC} conftest.m ${OBJC_LDFLAGS} >&5 2>&5
-  if test -f a.out -o -f a.exe ; then
-    result=yes
+_ACEOF
+if ac_fn_objc_try_compile "$LINENO"; then :
+
+else
+  ac_objc_werror_flag=$ac_save_objc_werror_flag
+	 OBJCFLAGS="-g"
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_objc_try_compile "$LINENO"; then :
+  ac_cv_prog_objc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_objc_werror_flag=$ac_save_objc_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_objc_g" >&5
+$as_echo "$ac_cv_prog_objc_g" >&6; }
+if test "$ac_test_OBJCFLAGS" = set; then
+  OBJCFLAGS=$ac_save_OBJCFLAGS
+elif test $ac_cv_prog_objc_g = yes; then
+  if test "$GOBJC" = yes; then
+    OBJCFLAGS="-g -O2"
   else
-    result=no
-    echo failed program is: >&5
-    cat conftest.m >&5
+    OBJCFLAGS="-g"
   fi
-  rm -f conftest.m a.out a.exe
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $result" >&5
-$as_echo "$result" >&6; }
 else
+  if test "$GOBJC" = yes; then
+    OBJCFLAGS="-O2"
+  else
+    OBJCFLAGS=
+  fi
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 depcc="$OBJC" am_compiler_list='gcc3 gcc'
 
@@ -21621,9 +21704,6 @@
 fi
 
 
-fi
-
-
 
 if test "x$CC" != xcc; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
@@ -21978,6 +22058,135 @@
 
 
 
+
+    # Extract the first word of "gtkdoc-check", so it can be a program name with args.
+set dummy gtkdoc-check; 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_GTKDOC_CHECK+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $GTKDOC_CHECK in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_GTKDOC_CHECK="$GTKDOC_CHECK" # 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_GTKDOC_CHECK="$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
+
+  ;;
+esac
+fi
+GTKDOC_CHECK=$ac_cv_path_GTKDOC_CHECK
+if test -n "$GTKDOC_CHECK"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK" >&5
+$as_echo "$GTKDOC_CHECK" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  for ac_prog in gtkdoc-rebase
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; 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_GTKDOC_REBASE+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $GTKDOC_REBASE in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_GTKDOC_REBASE="$GTKDOC_REBASE" # 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_GTKDOC_REBASE="$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
+
+  ;;
+esac
+fi
+GTKDOC_REBASE=$ac_cv_path_GTKDOC_REBASE
+if test -n "$GTKDOC_REBASE"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_REBASE" >&5
+$as_echo "$GTKDOC_REBASE" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$GTKDOC_REBASE" && break
+done
+test -n "$GTKDOC_REBASE" || GTKDOC_REBASE="true"
+
+  # Extract the first word of "gtkdoc-mkpdf", so it can be a program name with args.
+set dummy gtkdoc-mkpdf; 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_GTKDOC_MKPDF+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $GTKDOC_MKPDF in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_GTKDOC_MKPDF="$GTKDOC_MKPDF" # 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_GTKDOC_MKPDF="$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
+
+  ;;
+esac
+fi
+GTKDOC_MKPDF=$ac_cv_path_GTKDOC_MKPDF
+if test -n "$GTKDOC_MKPDF"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_MKPDF" >&5
+$as_echo "$GTKDOC_MKPDF" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
 # Check whether --with-html-dir was given.
 if test "${with_html_dir+set}" = set; then :
   withval=$with_html_dir;
@@ -22005,9 +22214,101 @@
   test $ac_status = 0; }; then
   :
 else
-  as_fn_error $? "You need to have gtk-doc >= 1.3 installed to build gtk-doc" "$LINENO" 5
+  as_fn_error $? "You need to have gtk-doc >= 1.3 installed to build $PACKAGE_NAME" "$LINENO" 5
 fi
-    if test -z "$SED"; then
+        if test "x$PACKAGE_NAME" != "xglib"; then
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTKDOC_DEPS" >&5
+$as_echo_n "checking for GTKDOC_DEPS... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$GTKDOC_DEPS_CFLAGS"; then
+        pkg_cv_GTKDOC_DEPS_CFLAGS="$GTKDOC_DEPS_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_GTKDOC_DEPS_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$GTKDOC_DEPS_LIBS"; then
+        pkg_cv_GTKDOC_DEPS_LIBS="$GTKDOC_DEPS_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_GTKDOC_DEPS_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        GTKDOC_DEPS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0"`
+        else
+	        GTKDOC_DEPS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$GTKDOC_DEPS_PKG_ERRORS" >&5
+
+	as_fn_error $? "Package requirements (glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0) were not met:
+
+$GTKDOC_DEPS_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables GTKDOC_DEPS_CFLAGS
+and GTKDOC_DEPS_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" "$LINENO" 5
+elif test $pkg_failed = untried; then
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables GTKDOC_DEPS_CFLAGS
+and GTKDOC_DEPS_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details" "$LINENO" 5; }
+else
+	GTKDOC_DEPS_CFLAGS=$pkg_cv_GTKDOC_DEPS_CFLAGS
+	GTKDOC_DEPS_LIBS=$pkg_cv_GTKDOC_DEPS_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	:
+fi
+    fi
+        if test -z "$SED"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
 if ${ac_cv_path_SED+:} false; then :
@@ -22085,50 +22386,24 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_gtk_doc" >&5
 $as_echo "$enable_gtk_doc" >&6; }
 
-  for ac_prog in gtkdoc-check
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; 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_GTKDOC_CHECK+:} false; then :
-  $as_echo_n "(cached) " >&6
+    # Check whether --enable-gtk-doc-html was given.
+if test "${enable_gtk_doc_html+set}" = set; then :
+  enableval=$enable_gtk_doc_html;
 else
-  case $GTKDOC_CHECK in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_GTKDOC_CHECK="$GTKDOC_CHECK" # 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_GTKDOC_CHECK="$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
+  enable_gtk_doc_html=yes
+fi
+
+    # Check whether --enable-gtk-doc-pdf was given.
+if test "${enable_gtk_doc_pdf+set}" = set; then :
+  enableval=$enable_gtk_doc_pdf;
+else
+  enable_gtk_doc_pdf=no
+fi
+
+
+  if test -z "$GTKDOC_MKPDF"; then
+    enable_gtk_doc_pdf=no
   fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-GTKDOC_CHECK=$ac_cv_path_GTKDOC_CHECK
-if test -n "$GTKDOC_CHECK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK" >&5
-$as_echo "$GTKDOC_CHECK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$GTKDOC_CHECK" && break
-done
 
 
    if test x$enable_gtk_doc = xyes; then
@@ -22139,6 +22414,22 @@
   ENABLE_GTK_DOC_FALSE=
 fi
 
+   if test x$enable_gtk_doc_html = xyes; then
+  GTK_DOC_BUILD_HTML_TRUE=
+  GTK_DOC_BUILD_HTML_FALSE='#'
+else
+  GTK_DOC_BUILD_HTML_TRUE='#'
+  GTK_DOC_BUILD_HTML_FALSE=
+fi
+
+   if test x$enable_gtk_doc_pdf = xyes; then
+  GTK_DOC_BUILD_PDF_TRUE=
+  GTK_DOC_BUILD_PDF_FALSE='#'
+else
+  GTK_DOC_BUILD_PDF_TRUE='#'
+  GTK_DOC_BUILD_PDF_FALSE=
+fi
+
    if test -n "$LIBTOOL"; then
   GTK_DOC_USE_LIBTOOL_TRUE=
   GTK_DOC_USE_LIBTOOL_FALSE='#'
@@ -22147,6 +22438,14 @@
   GTK_DOC_USE_LIBTOOL_FALSE=
 fi
 
+   if test -n "$GTKDOC_REBASE"; then
+  GTK_DOC_USE_REBASE_TRUE=
+  GTK_DOC_USE_REBASE_FALSE='#'
+else
+  GTK_DOC_USE_REBASE_TRUE='#'
+  GTK_DOC_USE_REBASE_FALSE=
+fi
+
 
 
 
@@ -24882,7 +25181,56 @@
   fi
 
 
-if test "x$HAVE_OSX_VIDEO" != "xyes"; then
+# set by AG_GST_PARSE_SUBSYSTEM_DISABLES above
+NO_WARNINGS=""
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the GStreamer debugging system is enabled" >&5
+$as_echo_n "checking whether the GStreamer debugging system is enabled... " >&6; }
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+  save_CFLAGS="$CFLAGS"
+  CFLAGS="$GST_CFLAGS $CFLAGS"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+
+      #include <gst/gstconfig.h>
+      #ifdef GST_DISABLE_GST_DEBUG
+      #error "debugging disabled, make compiler fail"
+      #endif
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+   debug_system_enabled=yes
+else
+  debug_system_enabled=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS="$save_CFLAGS"
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $debug_system_enabled" >&5
+$as_echo "$debug_system_enabled" >&6; }
+
+  if test "x$debug_system_enabled" = "xyes" ; then
+    NO_WARNINGS=""
+    true
+  else
+    NO_WARNINGS="-Wno-unused"
+    true
+  fi
+
+
 
 
 
@@ -25212,17 +25560,17 @@
   fi
 
   if test "x
-        -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
-        -Wwrite-strings -Wold-style-definition -Waggregate-return
-        -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar
-        -Wnested-externs " != "x"
+      -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
+      -Wwrite-strings -Wold-style-definition -Waggregate-return
+      -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar
+      -Wnested-externs $NO_WARNINGS" != "x"
   then
     UNSUPPORTED=""
     list="
-        -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
-        -Wwrite-strings -Wold-style-definition -Waggregate-return
-        -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar
-        -Wnested-externs "
+      -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
+      -Wwrite-strings -Wold-style-definition -Waggregate-return
+      -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar
+      -Wnested-externs $NO_WARNINGS"
     for each in $list
     do
 
@@ -25275,400 +25623,6 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: set ERROR_CFLAGS to $ERROR_CFLAGS" >&5
 $as_echo "$as_me: set ERROR_CFLAGS to $ERROR_CFLAGS" >&6;}
 
-else
-
-
-
-
-  WARNING_CFLAGS=""
-  ERROR_CFLAGS=""
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking to see if compiler understands -Wall" >&5
-$as_echo_n "checking to see if compiler understands -Wall... " >&6; }
-
-  save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -Wall"
-
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  flag_ok=yes
-else
-  flag_ok=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS="$save_CFLAGS"
-
-  if test "X$flag_ok" = Xyes ; then
-    WARNING_CFLAGS="$WARNING_CFLAGS -Wall"
-    true
-  else
-
-    true
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $flag_ok" >&5
-$as_echo "$flag_ok" >&6; }
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking to see if compiler understands -Wdeclaration-after-statement" >&5
-$as_echo_n "checking to see if compiler understands -Wdeclaration-after-statement... " >&6; }
-
-  save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -Wdeclaration-after-statement"
-
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  flag_ok=yes
-else
-  flag_ok=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS="$save_CFLAGS"
-
-  if test "X$flag_ok" = Xyes ; then
-    WARNING_CFLAGS="$WARNING_CFLAGS -Wdeclaration-after-statement"
-    true
-  else
-
-    true
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $flag_ok" >&5
-$as_echo "$flag_ok" >&6; }
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking to see if compiler understands -Wvla" >&5
-$as_echo_n "checking to see if compiler understands -Wvla... " >&6; }
-
-  save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -Wvla"
-
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  flag_ok=yes
-else
-  flag_ok=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS="$save_CFLAGS"
-
-  if test "X$flag_ok" = Xyes ; then
-    WARNING_CFLAGS="$WARNING_CFLAGS -Wvla"
-    true
-  else
-
-    true
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $flag_ok" >&5
-$as_echo "$flag_ok" >&6; }
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking to see if compiler understands -Wpointer-arith" >&5
-$as_echo_n "checking to see if compiler understands -Wpointer-arith... " >&6; }
-
-  save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -Wpointer-arith"
-
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  flag_ok=yes
-else
-  flag_ok=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS="$save_CFLAGS"
-
-  if test "X$flag_ok" = Xyes ; then
-    WARNING_CFLAGS="$WARNING_CFLAGS -Wpointer-arith"
-    true
-  else
-
-    true
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $flag_ok" >&5
-$as_echo "$flag_ok" >&6; }
-
-
-    if test "x$FATAL_WARNINGS" != "xno"
-  then
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking to see if compiler understands -Werror" >&5
-$as_echo_n "checking to see if compiler understands -Werror... " >&6; }
-
-  save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -Werror"
-
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  flag_ok=yes
-else
-  flag_ok=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS="$save_CFLAGS"
-
-  if test "X$flag_ok" = Xyes ; then
-    ERROR_CFLAGS="$ERROR_CFLAGS -Werror"
-    true
-  else
-
-    true
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $flag_ok" >&5
-$as_echo "$flag_ok" >&6; }
-
-
-        if test "x$ERROR_CFLAGS" = "x"
-    then
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking to see if compiler understands -errwarn=%all" >&5
-$as_echo_n "checking to see if compiler understands -errwarn=%all... " >&6; }
-
-  save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -errwarn=%all"
-
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  flag_ok=yes
-else
-  flag_ok=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS="$save_CFLAGS"
-
-  if test "X$flag_ok" = Xyes ; then
-
-          ERROR_CFLAGS="-errwarn=%all"
-                                                                                for f in 'no%E_EMPTY_DECLARATION' \
-                   'no%E_STATEMENT_NOT_REACHED' \
-                   'no%E_ARGUEMENT_MISMATCH' \
-                   'no%E_MACRO_REDEFINED' \
-                   'no%E_LOOP_NOT_ENTERED_AT_TOP'
-          do
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking to see if compiler understands -errwarn=%all,$f" >&5
-$as_echo_n "checking to see if compiler understands -errwarn=%all,$f... " >&6; }
-
-  save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -errwarn=%all,$f"
-
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  flag_ok=yes
-else
-  flag_ok=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS="$save_CFLAGS"
-
-  if test "X$flag_ok" = Xyes ; then
-
-              ERROR_CFLAGS="$ERROR_CFLAGS,$f"
-
-    true
-  else
-
-    true
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $flag_ok" >&5
-$as_echo "$flag_ok" >&6; }
-
-          done
-
-    true
-  else
-
-    true
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $flag_ok" >&5
-$as_echo "$flag_ok" >&6; }
-
-    else
-                        if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 < 2.19.8\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "glib-2.0 < 2.19.8") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking to see if compiler understands -fno-strict-aliasing" >&5
-$as_echo_n "checking to see if compiler understands -fno-strict-aliasing... " >&6; }
-
-  save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -fno-strict-aliasing"
-
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  flag_ok=yes
-else
-  flag_ok=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS="$save_CFLAGS"
-
-  if test "X$flag_ok" = Xyes ; then
-    ERROR_CFLAGS="$ERROR_CFLAGS -fno-strict-aliasing"
-    true
-  else
-
-    true
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $flag_ok" >&5
-$as_echo "$flag_ok" >&6; }
-
-
-fi
-    fi
-  fi
-
-  if test "x
-        -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
-        -Wwrite-strings -Wold-style-definition
-        -Winit-self -Wmissing-include-dirs -Wno-multichar
-        -Wnested-externs " != "x"
-  then
-    UNSUPPORTED=""
-    list="
-        -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
-        -Wwrite-strings -Wold-style-definition
-        -Winit-self -Wmissing-include-dirs -Wno-multichar
-        -Wnested-externs "
-    for each in $list
-    do
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking to see if compiler understands $each" >&5
-$as_echo_n "checking to see if compiler understands $each... " >&6; }
-
-  save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $each"
-
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  flag_ok=yes
-else
-  flag_ok=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS="$save_CFLAGS"
-
-  if test "X$flag_ok" = Xyes ; then
-    WARNING_CFLAGS="$WARNING_CFLAGS $each"
-    true
-  else
-    UNSUPPORTED="$UNSUPPORTED $each"
-    true
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $flag_ok" >&5
-$as_echo "$flag_ok" >&6; }
-
-    done
-    if test "X$UNSUPPORTED" != X ; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: unsupported compiler flags: $UNSUPPORTED" >&5
-$as_echo "$as_me: unsupported compiler flags: $UNSUPPORTED" >&6;}
-    fi
-  fi
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: set WARNING_CFLAGS to $WARNING_CFLAGS" >&5
-$as_echo "$as_me: set WARNING_CFLAGS to $WARNING_CFLAGS" >&6;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: set ERROR_CFLAGS to $ERROR_CFLAGS" >&5
-$as_echo "$as_me: set ERROR_CFLAGS to $ERROR_CFLAGS" >&6;}
-
-fi
 
 
 
@@ -26080,13 +26034,15 @@
   if test "x
         -Wmissing-declarations -Wredundant-decls
         -Wwrite-strings
-        -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar " != "x"
+        -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar
+        $NO_WARNINGS" != "x"
   then
     UNSUPPORTED=""
     list="
         -Wmissing-declarations -Wredundant-decls
         -Wwrite-strings
-        -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar "
+        -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar
+        $NO_WARNINGS"
     for each in $list
     do
 
@@ -26158,6 +26114,442 @@
 
 
 
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking to see if Objective C compiler understands " >&5
+$as_echo_n "checking to see if Objective C compiler understands ... " >&6; }
+
+  save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS "
+
+  ac_ext=m
+ac_cpp='$OBJCPP $CPPFLAGS'
+ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$OBJC -o conftest$ac_exeext $OBJCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_objc_compiler_gnu
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_objc_try_compile "$LINENO"; then :
+  flag_ok=yes
+else
+  flag_ok=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$save_CPPFLAGS"
+
+  if test "X$flag_ok" = Xyes ; then
+
+    true
+  else
+
+    true
+  fi
+
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $flag_ok" >&5
+$as_echo "$flag_ok" >&6; }
+
+
+
+
+
+  ERROR_OBJCFLAGS=""
+  WARNING_OBJCFLAGS=""
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking to see if Objective C compiler understands -Wall" >&5
+$as_echo_n "checking to see if Objective C compiler understands -Wall... " >&6; }
+
+  save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS -Wall"
+
+  ac_ext=m
+ac_cpp='$OBJCPP $CPPFLAGS'
+ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$OBJC -o conftest$ac_exeext $OBJCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_objc_compiler_gnu
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_objc_try_compile "$LINENO"; then :
+  flag_ok=yes
+else
+  flag_ok=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$save_CPPFLAGS"
+
+  if test "X$flag_ok" = Xyes ; then
+    WARNING_OBJCFLAGS="$WARNING_OBJCFLAGS -Wall"
+    true
+  else
+
+    true
+  fi
+
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $flag_ok" >&5
+$as_echo "$flag_ok" >&6; }
+
+
+    if test "x$FATAL_WARNINGS" != "xno"
+  then
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking to see if Objective C compiler understands -Werror" >&5
+$as_echo_n "checking to see if Objective C compiler understands -Werror... " >&6; }
+
+  save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS -Werror"
+
+  ac_ext=m
+ac_cpp='$OBJCPP $CPPFLAGS'
+ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$OBJC -o conftest$ac_exeext $OBJCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_objc_compiler_gnu
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_objc_try_compile "$LINENO"; then :
+  flag_ok=yes
+else
+  flag_ok=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$save_CPPFLAGS"
+
+  if test "X$flag_ok" = Xyes ; then
+    ERROR_OBJCFLAGS="$ERROR_OBJCFLAGS -Werror"
+    true
+  else
+
+    true
+  fi
+
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $flag_ok" >&5
+$as_echo "$flag_ok" >&6; }
+
+
+    if test "x$ERROR_OBJCFLAGS" != "x"
+    then
+				if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 < 2.19.8\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "glib-2.0 < 2.19.8") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking to see if Objective C compiler understands -fno-strict-aliasing" >&5
+$as_echo_n "checking to see if Objective C compiler understands -fno-strict-aliasing... " >&6; }
+
+  save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS -fno-strict-aliasing"
+
+  ac_ext=m
+ac_cpp='$OBJCPP $CPPFLAGS'
+ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$OBJC -o conftest$ac_exeext $OBJCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_objc_compiler_gnu
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_objc_try_compile "$LINENO"; then :
+  flag_ok=yes
+else
+  flag_ok=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$save_CPPFLAGS"
+
+  if test "X$flag_ok" = Xyes ; then
+    ERROR_OBJCFLAGS="$ERROR_OBJCFLAGS -fno-strict-aliasing"
+    true
+  else
+
+    true
+  fi
+
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $flag_ok" >&5
+$as_echo "$flag_ok" >&6; }
+
+
+fi
+    else
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking to see if Objective C compiler understands -errwarn=%all" >&5
+$as_echo_n "checking to see if Objective C compiler understands -errwarn=%all... " >&6; }
+
+  save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS -errwarn=%all"
+
+  ac_ext=m
+ac_cpp='$OBJCPP $CPPFLAGS'
+ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$OBJC -o conftest$ac_exeext $OBJCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_objc_compiler_gnu
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_objc_try_compile "$LINENO"; then :
+  flag_ok=yes
+else
+  flag_ok=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$save_CPPFLAGS"
+
+  if test "X$flag_ok" = Xyes ; then
+    ERROR_OBJCFLAGS="$ERROR_OBJCFLAGS -errwarn=%all"
+    true
+  else
+
+    true
+  fi
+
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $flag_ok" >&5
+$as_echo "$flag_ok" >&6; }
+
+      if test "x$ERROR_OBJCFLAGS" != "x"; then
+                                                                                for f in 'no%E_EMPTY_DECLARATION' \
+                 'no%E_STATEMENT_NOT_REACHED' \
+                 'no%E_ARGUEMENT_MISMATCH' \
+                 'no%E_MACRO_REDEFINED' \
+                 'no%E_LOOP_NOT_ENTERED_AT_TOP'
+        do
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking to see if Objective C compiler understands -errwarn=%all,$f" >&5
+$as_echo_n "checking to see if Objective C compiler understands -errwarn=%all,$f... " >&6; }
+
+  save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS -errwarn=%all,$f"
+
+  ac_ext=m
+ac_cpp='$OBJCPP $CPPFLAGS'
+ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$OBJC -o conftest$ac_exeext $OBJCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_objc_compiler_gnu
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_objc_try_compile "$LINENO"; then :
+  flag_ok=yes
+else
+  flag_ok=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$save_CPPFLAGS"
+
+  if test "X$flag_ok" = Xyes ; then
+    ERROR_OBJCFLAGS="$ERROR_OBJCFLAGS
+    true
+  else
+    $f"
+    true
+  fi
+
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $flag_ok" >&5
+$as_echo "$flag_ok" >&6; }
+
+        done
+      fi
+    fi
+  fi
+
+  if test "x
+      -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
+      -Wwrite-strings -Wold-style-definition
+      -Winit-self -Wmissing-include-dirs -Wno-multichar
+      -Wnested-externs $NO_WARNINGS" != "x"
+  then
+    UNSUPPORTED=""
+    list="
+      -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
+      -Wwrite-strings -Wold-style-definition
+      -Winit-self -Wmissing-include-dirs -Wno-multichar
+      -Wnested-externs $NO_WARNINGS"
+    for each in $list
+    do
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking to see if Objective C compiler understands $each" >&5
+$as_echo_n "checking to see if Objective C compiler understands $each... " >&6; }
+
+  save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS $each"
+
+  ac_ext=m
+ac_cpp='$OBJCPP $CPPFLAGS'
+ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$OBJC -o conftest$ac_exeext $OBJCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_objc_compiler_gnu
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_objc_try_compile "$LINENO"; then :
+  flag_ok=yes
+else
+  flag_ok=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$save_CPPFLAGS"
+
+  if test "X$flag_ok" = Xyes ; then
+    WARNING_OBJCFLAGS="$WARNING_OBJCFLAGS $each"
+    true
+  else
+    UNSUPPORTED="$UNSUPPORTED $each"
+    true
+  fi
+
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $flag_ok" >&5
+$as_echo "$flag_ok" >&6; }
+
+    done
+    if test "X$UNSUPPORTED" != X ; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: unsupported compiler flags: $UNSUPPORTED" >&5
+$as_echo "$as_me: unsupported compiler flags: $UNSUPPORTED" >&6;}
+    fi
+  fi
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: set WARNING_OBJCFLAGS to $WARNING_OBJCFLAGS" >&5
+$as_echo "$as_me: set WARNING_OBJCFLAGS to $WARNING_OBJCFLAGS" >&6;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: set ERROR_OBJCFLAGS to $ERROR_OBJCFLAGS" >&5
+$as_echo "$as_me: set ERROR_OBJCFLAGS to $ERROR_OBJCFLAGS" >&6;}
+
+
+
       if test "x$GST_GIT" = "xyes"; then
     GST_LEVEL_DEFAULT=GST_LEVEL_ERROR
   else
@@ -26315,7 +26707,7 @@
 
 GST_PLUGINS_NONPORTED="deinterlace \
  cairo cairo_gobject gdk_pixbuf \
- osx_video osx_audio "
+ osx_audio "
 
 
 
@@ -31081,189 +31473,6 @@
 
 
 echo
-{ $as_echo "$as_me:${as_lineno-$LINENO}: *** checking feature: XML library ***" >&5
-$as_echo "$as_me: *** checking feature: XML library ***" >&6;}
-if test "xannodex" != "x"
-then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: *** for plug-ins: annodex ***" >&5
-$as_echo "$as_me: *** for plug-ins: annodex ***" >&6;}
-fi
-NOUSE=
-if test "x$USE_ANNODEX" = "xno"; then
-  NOUSE="yes"
-fi
-# Check whether --enable-annodex was given.
-if test "${enable_annodex+set}" = set; then :
-  enableval=$enable_annodex;  case "${enableval}" in
-      yes) USE_ANNODEX=yes;;
-      no) USE_ANNODEX=no;;
-      *) as_fn_error $? "bad value ${enableval} for --enable-annodex" "$LINENO" 5 ;;
-    esac
-else
-   USE_ANNODEX=yes
-fi
-
-if test "x$NOUSE" = "xyes"; then
-  USE_ANNODEX="no"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** annodex pre-configured not to be built" >&5
-$as_echo "$as_me: WARNING: *** annodex pre-configured not to be built" >&2;}
-fi
-NOUSE=
-
-if echo " $GST_PLUGINS_NONPORTED " | tr , ' ' | grep -i " ANNODEX " > /dev/null; then
-  USE_ANNODEX="no"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** annodex not ported" >&5
-$as_echo "$as_me: WARNING: *** annodex not ported" >&2;}
-fi
-
-
-if test x$USE_ANNODEX = xyes; then
-
-  gst_check_save_LIBS=$LIBS
-  gst_check_save_LDFLAGS=$LDFLAGS
-  gst_check_save_CFLAGS=$CFLAGS
-  gst_check_save_CPPFLAGS=$CPPFLAGS
-  gst_check_save_CXXFLAGS=$CXXFLAGS
-
-  HAVE_ANNODEX=no
-
-
-  which="libxml-2.0 >= 2.4.9"
-    required="no"
-
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANNODEX" >&5
-$as_echo_n "checking for ANNODEX... " >&6; }
-
-if test -n "$PKG_CONFIG"; then
-    if test -n "$ANNODEX_CFLAGS"; then
-        pkg_cv_ANNODEX_CFLAGS="$ANNODEX_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$which\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$which") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_ANNODEX_CFLAGS=`$PKG_CONFIG --cflags "$which" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
-    fi
-else
-	pkg_failed=untried
-fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$ANNODEX_LIBS"; then
-        pkg_cv_ANNODEX_LIBS="$ANNODEX_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$which\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$which") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_ANNODEX_LIBS=`$PKG_CONFIG --libs "$which" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
-    fi
-else
-	pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-	        ANNODEX_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$which"`
-        else
-	        ANNODEX_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$which"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$ANNODEX_PKG_ERRORS" >&5
-
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-      HAVE_ANNODEX="no"
-      if test "x$required" = "xyes"; then
-        as_fn_error $? "$ANNODEX_PKG_ERRORS" "$LINENO" 5
-      else
-        { $as_echo "$as_me:${as_lineno-$LINENO}: $ANNODEX_PKG_ERRORS" >&5
-$as_echo "$as_me: $ANNODEX_PKG_ERRORS" >&6;}
-      fi
-
-elif test $pkg_failed = untried; then
-
-      HAVE_ANNODEX="no"
-      if test "x$required" = "xyes"; then
-        as_fn_error $? "$ANNODEX_PKG_ERRORS" "$LINENO" 5
-      else
-        { $as_echo "$as_me:${as_lineno-$LINENO}: $ANNODEX_PKG_ERRORS" >&5
-$as_echo "$as_me: $ANNODEX_PKG_ERRORS" >&6;}
-      fi
-
-else
-	ANNODEX_CFLAGS=$pkg_cv_ANNODEX_CFLAGS
-	ANNODEX_LIBS=$pkg_cv_ANNODEX_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-      HAVE_ANNODEX="yes"
-
-fi
-
-
-
-
-  LIBS=$gst_check_save_LIBS
-  LDFLAGS=$gst_check_save_LDFLAGS
-  CFLAGS=$gst_check_save_CFLAGS
-  CPPFLAGS=$gst_check_save_CPPFLAGS
-  CXXFLAGS=$gst_check_save_CXXFLAGS
-
-    if test x$HAVE_ANNODEX = xno; then
-    USE_ANNODEX=no
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: *** These plugins will be built: annodex" >&5
-$as_echo "$as_me: *** These plugins will be built: annodex" >&6;}
-  fi
-fi
-if test x$USE_ANNODEX = xyes; then
-  :
-  if test "xannodex" != "x"; then
-    GST_PLUGINS_YES="\tannodex\n$GST_PLUGINS_YES"
-  fi
-
-$as_echo "#define HAVE_ANNODEX /**/" >>confdefs.h
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: *** These plugins will not be built: annodex" >&5
-$as_echo "$as_me: *** These plugins will not be built: annodex" >&6;}
-  if test "xannodex" != "x"; then
-    GST_PLUGINS_NO="\tannodex\n$GST_PLUGINS_NO"
-  fi
-  :
-fi
- if test x$USE_ANNODEX = xyes; then
-  USE_ANNODEX_TRUE=
-  USE_ANNODEX_FALSE='#'
-else
-  USE_ANNODEX_TRUE='#'
-  USE_ANNODEX_FALSE=
-fi
-
-
-
-echo
 { $as_echo "$as_me:${as_lineno-$LINENO}: *** checking feature: Cairo graphics rendering ***" >&5
 $as_echo "$as_me: *** checking feature: Cairo graphics rendering ***" >&6;}
 if test "xcairo" != "x"
@@ -35695,14 +35904,6 @@
 fi
 
  if false; then
-  USE_ANNODEX_TRUE=
-  USE_ANNODEX_FALSE='#'
-else
-  USE_ANNODEX_TRUE='#'
-  USE_ANNODEX_FALSE=
-fi
-
- if false; then
   USE_BZ2_TRUE=
   USE_BZ2_FALSE='#'
 else
@@ -35960,6 +36161,8 @@
 
 GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
 GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
+GST_OPTION_OBJCFLAGS="\$(WARNING_OBJCFLAGS) \$(ERROR_OBJCFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
+
 
 
 
@@ -35967,11 +36170,13 @@
 
 GST_CFLAGS="$GST_CFLAGS -DGST_USE_UNSTABLE_API"
 GST_CXXFLAGS="-I\$(top_srcdir)/gst-libs $GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)"
+GST_OBJCFLAGS="-I\$(top_srcdir)/gst-libs $GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_OBJCFLAGS)"
 GST_CFLAGS="-I\$(top_srcdir)/gst-libs $GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)"
 
 
 
 
+
 GST_ALL_LDFLAGS="-no-undefined"
 
 
@@ -35979,7 +36184,7 @@
 
 
 
-ac_config_files="$ac_config_files Makefile gst/Makefile gst/alpha/Makefile gst/apetag/Makefile gst/audiofx/Makefile gst/audioparsers/Makefile gst/auparse/Makefile gst/autodetect/Makefile gst/avi/Makefile gst/cutter/Makefile gst/deinterlace/Makefile gst/debugutils/Makefile gst/effectv/Makefile gst/equalizer/Makefile gst/flv/Makefile gst/goom/Makefile gst/goom2k1/Makefile gst/id3demux/Makefile gst/icydemux/Makefile gst/imagefreeze/Makefile gst/interleave/Makefile gst/isomp4/Makefile gst/law/Makefile gst/level/Makefile gst/matroska/Makefile gst/monoscope/Makefile gst/multifile/Makefile gst/multipart/Makefile gst/replaygain/Makefile gst/rtp/Makefile gst/rtpmanager/Makefile gst/rtsp/Makefile gst/shapewipe/Makefile gst/smpte/Makefile gst/spectrum/Makefile gst/udp/Makefile gst/videobox/Makefile gst/videocrop/Makefile gst/videofilter/Makefile gst/videomixer/Makefile gst/wavenc/Makefile gst/wavparse/Makefile gst/flx/Makefile gst/y4m/Makefile ext/Makefile ext/aalib/Makefile ext/annodex/Makefile ext/cairo/Makefile ext/dv/Makefile ext/flac/Makefile ext/gdk_pixbuf/Makefile ext/jack/Makefile ext/jpeg/Makefile ext/libcaca/Makefile ext/libpng/Makefile ext/pulse/Makefile ext/raw1394/Makefile ext/shout2/Makefile ext/soup/Makefile ext/speex/Makefile ext/taglib/Makefile ext/wavpack/Makefile sys/Makefile sys/directsound/Makefile sys/oss/Makefile sys/oss4/Makefile sys/osxaudio/Makefile sys/osxvideo/Makefile sys/sunaudio/Makefile sys/v4l2/Makefile sys/waveform/Makefile sys/ximage/Makefile po/Makefile.in tests/Makefile tests/check/Makefile tests/examples/Makefile tests/examples/audiofx/Makefile tests/examples/cairo/Makefile tests/examples/equalizer/Makefile tests/examples/jack/Makefile tests/examples/level/Makefile tests/examples/pulse/Makefile tests/examples/rtp/Makefile tests/examples/shapewipe/Makefile tests/examples/spectrum/Makefile tests/examples/v4l2/Makefile tests/files/Makefile tests/icles/Makefile common/Makefile common/m4/Makefile m4/Makefile docs/Makefile docs/plugins/Makefile docs/version.entities pkgconfig/Makefile pkgconfig/gstreamer-plugins-good-uninstalled.pc gst-plugins-good.spec"
+ac_config_files="$ac_config_files Makefile gst/Makefile gst/alpha/Makefile gst/apetag/Makefile gst/audiofx/Makefile gst/audioparsers/Makefile gst/auparse/Makefile gst/autodetect/Makefile gst/avi/Makefile gst/cutter/Makefile gst/deinterlace/Makefile gst/debugutils/Makefile gst/effectv/Makefile gst/equalizer/Makefile gst/flv/Makefile gst/goom/Makefile gst/goom2k1/Makefile gst/id3demux/Makefile gst/icydemux/Makefile gst/imagefreeze/Makefile gst/interleave/Makefile gst/isomp4/Makefile gst/law/Makefile gst/level/Makefile gst/matroska/Makefile gst/monoscope/Makefile gst/multifile/Makefile gst/multipart/Makefile gst/replaygain/Makefile gst/rtp/Makefile gst/rtpmanager/Makefile gst/rtsp/Makefile gst/shapewipe/Makefile gst/smpte/Makefile gst/spectrum/Makefile gst/udp/Makefile gst/videobox/Makefile gst/videocrop/Makefile gst/videofilter/Makefile gst/videomixer/Makefile gst/wavenc/Makefile gst/wavparse/Makefile gst/flx/Makefile gst/y4m/Makefile ext/Makefile ext/aalib/Makefile ext/cairo/Makefile ext/dv/Makefile ext/flac/Makefile ext/gdk_pixbuf/Makefile ext/jack/Makefile ext/jpeg/Makefile ext/libcaca/Makefile ext/libpng/Makefile ext/pulse/Makefile ext/raw1394/Makefile ext/shout2/Makefile ext/soup/Makefile ext/speex/Makefile ext/taglib/Makefile ext/wavpack/Makefile sys/Makefile sys/directsound/Makefile sys/oss/Makefile sys/oss4/Makefile sys/osxaudio/Makefile sys/osxvideo/Makefile sys/sunaudio/Makefile sys/v4l2/Makefile sys/waveform/Makefile sys/ximage/Makefile po/Makefile.in tests/Makefile tests/check/Makefile tests/examples/Makefile tests/examples/audiofx/Makefile tests/examples/cairo/Makefile tests/examples/equalizer/Makefile tests/examples/jack/Makefile tests/examples/level/Makefile tests/examples/pulse/Makefile tests/examples/rtp/Makefile tests/examples/shapewipe/Makefile tests/examples/spectrum/Makefile tests/examples/v4l2/Makefile tests/files/Makefile tests/icles/Makefile common/Makefile common/m4/Makefile m4/Makefile docs/Makefile docs/plugins/Makefile docs/version.entities pkgconfig/Makefile pkgconfig/gstreamer-plugins-good-uninstalled.pc gst-plugins-good.spec"
 
 
 sed \
@@ -36243,10 +36448,6 @@
   as_fn_error $? "conditional \"am__fastdepOBJC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${am__fastdepOBJC_TRUE}" && test -z "${am__fastdepOBJC_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepOBJC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
   as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -36259,10 +36460,22 @@
   as_fn_error $? "conditional \"ENABLE_GTK_DOC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${GTK_DOC_BUILD_HTML_TRUE}" && test -z "${GTK_DOC_BUILD_HTML_FALSE}"; then
+  as_fn_error $? "conditional \"GTK_DOC_BUILD_HTML\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GTK_DOC_BUILD_PDF_TRUE}" && test -z "${GTK_DOC_BUILD_PDF_FALSE}"; then
+  as_fn_error $? "conditional \"GTK_DOC_BUILD_PDF\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${GTK_DOC_USE_LIBTOOL_TRUE}" && test -z "${GTK_DOC_USE_LIBTOOL_FALSE}"; then
   as_fn_error $? "conditional \"GTK_DOC_USE_LIBTOOL\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${GTK_DOC_USE_REBASE_TRUE}" && test -z "${GTK_DOC_USE_REBASE_FALSE}"; then
+  as_fn_error $? "conditional \"GTK_DOC_USE_REBASE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${ENABLE_PLUGIN_DOCS_TRUE}" && test -z "${ENABLE_PLUGIN_DOCS_FALSE}"; then
   as_fn_error $? "conditional \"ENABLE_PLUGIN_DOCS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -36515,10 +36728,6 @@
   as_fn_error $? "conditional \"USE_AALIB\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${USE_ANNODEX_TRUE}" && test -z "${USE_ANNODEX_FALSE}"; then
-  as_fn_error $? "conditional \"USE_ANNODEX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 if test -z "${USE_CAIRO_TRUE}" && test -z "${USE_CAIRO_FALSE}"; then
   as_fn_error $? "conditional \"USE_CAIRO\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -36599,10 +36808,6 @@
   as_fn_error $? "conditional \"USE_AALIB\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${USE_ANNODEX_TRUE}" && test -z "${USE_ANNODEX_FALSE}"; then
-  as_fn_error $? "conditional \"USE_ANNODEX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 if test -z "${USE_BZ2_TRUE}" && test -z "${USE_BZ2_FALSE}"; then
   as_fn_error $? "conditional \"USE_BZ2\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -37120,7 +37325,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by GStreamer Good Plug-ins $as_me 0.11.91, which was
+This file was extended by GStreamer Good Plug-ins $as_me 0.11.92, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -37186,7 +37391,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 Good Plug-ins config.status 0.11.91
+GStreamer Good Plug-ins config.status 0.11.92
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -37768,7 +37973,6 @@
     "gst/y4m/Makefile") CONFIG_FILES="$CONFIG_FILES gst/y4m/Makefile" ;;
     "ext/Makefile") CONFIG_FILES="$CONFIG_FILES ext/Makefile" ;;
     "ext/aalib/Makefile") CONFIG_FILES="$CONFIG_FILES ext/aalib/Makefile" ;;
-    "ext/annodex/Makefile") CONFIG_FILES="$CONFIG_FILES ext/annodex/Makefile" ;;
     "ext/cairo/Makefile") CONFIG_FILES="$CONFIG_FILES ext/cairo/Makefile" ;;
     "ext/dv/Makefile") CONFIG_FILES="$CONFIG_FILES ext/dv/Makefile" ;;
     "ext/flac/Makefile") CONFIG_FILES="$CONFIG_FILES ext/flac/Makefile" ;;
diff --git a/configure.ac b/configure.ac
index a9cbe23..7aa6543 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,7 +5,7 @@
 dnl initialize autoconf
 dnl releases only do -Wall, git and prerelease does -Werror too
 dnl use a three digit version number for releases, and four for git/pre
-AC_INIT(GStreamer Good Plug-ins, 0.11.91,
+AC_INIT(GStreamer Good Plug-ins, 0.11.92,
     http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
     gst-plugins-good)
 
@@ -48,8 +48,8 @@
 AS_LIBTOOL(GST, 0, 0, 0)
 
 dnl *** required versions of GStreamer stuff ***
-GST_REQ=0.11.90
-GSTPB_REQ=0.11.90
+GST_REQ=0.11.91
+GSTPB_REQ=0.11.91
 
 dnl *** autotools stuff ****
 
@@ -112,7 +112,7 @@
 dnl FIXME: do we need this ?
 AC_PROG_CXXCPP
 
-AS_PROG_OBJC
+AC_PROG_OBJC
 
 dnl check if the compiler supports '-c' and '-o' options
 AM_PROG_CC_C_O
@@ -273,30 +273,32 @@
   ["${srcdir}/gst-plugins-good.doap"],
   [$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_MICRO])
 
+# set by AG_GST_PARSE_SUBSYSTEM_DISABLES above
+dnl make sure it doesn't complain about unused variables if debugging is disabled
+NO_WARNINGS=""
+AG_GST_CHECK_GST_DEBUG_DISABLED([NO_WARNINGS="-Wno-unused"], [NO_WARNINGS=""])
+
 dnl define an ERROR_CFLAGS Makefile variable
 dnl -Wundef: too many broken headers
-if test "x$HAVE_OSX_VIDEO" != "xyes"; then
-  AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [
-        -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
-        -Wwrite-strings -Wold-style-definition -Waggregate-return
-        -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar
-        -Wnested-externs ])
-else
-  dnl work-around for us passing GST_CFLAGS to the ObjC-compiler, which
-  dnl doesn't understand all warning flags that the C compiler knows about
-  dnl (e.g. -Waddress) or causes problems with some flags (-Waggregate-return)
-  AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [
-        -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
-        -Wwrite-strings -Wold-style-definition
-        -Winit-self -Wmissing-include-dirs -Wno-multichar
-        -Wnested-externs ])
-fi
+AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [
+      -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
+      -Wwrite-strings -Wold-style-definition -Waggregate-return
+      -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar
+      -Wnested-externs $NO_WARNINGS])
 
 dnl define an ERROR_CXXFLAGS Makefile variable
 AG_GST_SET_ERROR_CXXFLAGS($FATAL_WARNINGS, [
         -Wmissing-declarations -Wredundant-decls
         -Wwrite-strings
-        -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar ])
+        -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar
+        $NO_WARNINGS])
+
+dnl define an ERROR_OBJCFLAGS Makefile variable
+AG_GST_SET_ERROR_OBJCFLAGS($FATAL_WARNINGS, [
+      -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
+      -Wwrite-strings -Wold-style-definition
+      -Winit-self -Wmissing-include-dirs -Wno-multichar
+      -Wnested-externs $NO_WARNINGS])
 
 dnl define correct level for debugging messages
 AG_GST_SET_LEVEL_DEFAULT($GST_GIT)
@@ -310,7 +312,7 @@
 dnl Make sure you have a space before and after all plugins
 GST_PLUGINS_NONPORTED="deinterlace \
  cairo cairo_gobject gdk_pixbuf \
- osx_video osx_audio "
+ osx_audio "
 AC_SUBST(GST_PLUGINS_NONPORTED)
 
 dnl these are all the gst plug-ins, compilable without additional libs
@@ -686,12 +688,6 @@
   AS_SCRUB_INCLUDE(AALIB_CFLAGS)
 ])
 
-dnl *** annodex ***
-translit(dnm, m, l) AM_CONDITIONAL(USE_ANNODEX, true)
-AG_GST_CHECK_FEATURE(ANNODEX, [XML library], annodex, [
-  AG_GST_PKG_CHECK_MODULES(ANNODEX, libxml-2.0 >= 2.4.9)
-])
-
 dnl *** cairo ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_CAIRO, true)
 AG_GST_CHECK_FEATURE(CAIRO, [Cairo graphics rendering], cairo, [
@@ -954,7 +950,6 @@
 dnl not building plugins with external dependencies,
 dnl but we still need to set the conditionals
 AM_CONDITIONAL(USE_AALIB, false)
-AM_CONDITIONAL(USE_ANNODEX, false)
 AM_CONDITIONAL(USE_BZ2, false)
 AM_CONDITIONAL(USE_CAIRO, false)
 AM_CONDITIONAL(USE_CAIRO_GOBJECT, false)
@@ -1012,12 +1007,14 @@
 fi
 AC_SUBST(DEPRECATED_CFLAGS)
 
-dnl every flag in GST_OPTION_CFLAGS and GST_OPTION_CXXFLAGS can be overridden
+dnl every flag in GST_OPTION_CFLAGS, GST_OPTION_CXXFLAGS and GST_OPTION_OBJCFLAGS can be overridden
 dnl at make time with e.g. make ERROR_CFLAGS=""
 GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
 GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
+GST_OPTION_OBJCFLAGS="\$(WARNING_OBJCFLAGS) \$(ERROR_OBJCFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
 AC_SUBST(GST_OPTION_CFLAGS)
 AC_SUBST(GST_OPTION_CXXFLAGS)
+AC_SUBST(GST_OPTION_OBJCFLAGS)
 
 dnl our libraries need to be versioned correctly
 AC_SUBST(GST_LT_LDFLAGS)
@@ -1028,9 +1025,11 @@
 dnl add ERROR_CFLAGS, but overridable
 GST_CFLAGS="$GST_CFLAGS -DGST_USE_UNSTABLE_API"
 GST_CXXFLAGS="-I\$(top_srcdir)/gst-libs $GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)"
+GST_OBJCFLAGS="-I\$(top_srcdir)/gst-libs $GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_OBJCFLAGS)"
 GST_CFLAGS="-I\$(top_srcdir)/gst-libs $GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)"
 AC_SUBST(GST_CFLAGS)
 AC_SUBST(GST_CXXFLAGS)
+AC_SUBST(GST_OBJCFLAGS)
 AC_SUBST(GST_LIBS)
 
 dnl LDFLAGS really should only contain flags, not libs - they get added before
@@ -1093,7 +1092,6 @@
 gst/y4m/Makefile
 ext/Makefile
 ext/aalib/Makefile
-ext/annodex/Makefile
 ext/cairo/Makefile
 ext/dv/Makefile
 ext/flac/Makefile
diff --git a/docs/Makefile.in b/docs/Makefile.in
index 36f583a..9b826c4 100644
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -50,6 +50,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = docs
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 	$(srcdir)/version.entities.in
@@ -59,7 +60,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -156,8 +156,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -204,6 +202,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -248,8 +247,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -264,6 +265,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -329,7 +334,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -385,6 +390,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -457,7 +463,11 @@
 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@
diff --git a/docs/plugins/Makefile.am b/docs/plugins/Makefile.am
index 5c73726..6ad0953 100644
--- a/docs/plugins/Makefile.am
+++ b/docs/plugins/Makefile.am
@@ -53,8 +53,6 @@
 
 EXTRA_HFILES = \
 	$(top_srcdir)/ext/aalib/gstaasink.h \
-	$(top_srcdir)/ext/annodex/gstcmmldec.h \
-	$(top_srcdir)/ext/annodex/gstcmmlenc.h \
 	$(top_srcdir)/ext/cairo/gsttextoverlay.h \
 	$(top_srcdir)/ext/cairo/gsttimeoverlay.h \
 	$(top_srcdir)/ext/cairo/gstcairorender.h \
diff --git a/docs/plugins/Makefile.in b/docs/plugins/Makefile.in
index dbc8a58..c73bb1d 100644
--- a/docs/plugins/Makefile.in
+++ b/docs/plugins/Makefile.in
@@ -67,6 +67,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 	$(top_srcdir)/common/gtk-doc-plugins.mak \
 	$(top_srcdir)/common/upload-doc.mak
@@ -77,7 +78,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -135,8 +135,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -183,6 +181,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -227,8 +226,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -243,6 +244,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -308,7 +313,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -364,6 +369,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -436,7 +442,11 @@
 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@
@@ -498,8 +508,6 @@
 # the registry won't have the element
 EXTRA_HFILES = \
 	$(top_srcdir)/ext/aalib/gstaasink.h \
-	$(top_srcdir)/ext/annodex/gstcmmldec.h \
-	$(top_srcdir)/ext/annodex/gstcmmlenc.h \
 	$(top_srcdir)/ext/cairo/gsttextoverlay.h \
 	$(top_srcdir)/ext/cairo/gsttimeoverlay.h \
 	$(top_srcdir)/ext/cairo/gstcairorender.h \
diff --git a/docs/plugins/gst-plugins-good-plugins-docs.sgml b/docs/plugins/gst-plugins-good-plugins-docs.sgml
index cbedd70..bac3622 100644
--- a/docs/plugins/gst-plugins-good-plugins-docs.sgml
+++ b/docs/plugins/gst-plugins-good-plugins-docs.sgml
@@ -57,8 +57,6 @@
     <xi:include href="xml/element-cairorender.xml" />
     <xi:include href="xml/element-cairooverlay.xml" />
     <xi:include href="xml/element-capssetter.xml" />
-    <xi:include href="xml/element-cmmldec.xml" />
-    <xi:include href="xml/element-cmmlenc.xml" />
     <xi:include href="xml/element-cutter.xml" />
     <xi:include href="xml/element-dcaparse.xml" />
     <xi:include href="xml/element-deinterlace.xml" />
@@ -187,7 +185,6 @@
     <xi:include href="xml/plugin-alaw.xml" />
     <xi:include href="xml/plugin-alpha.xml" />
     <xi:include href="xml/plugin-alphacolor.xml" />
-    <xi:include href="xml/plugin-annodex.xml" />
     <xi:include href="xml/plugin-apetag.xml" />
     <xi:include href="xml/plugin-audiofx.xml" />
     <xi:include href="xml/plugin-auparse.xml" />
diff --git a/docs/plugins/gst-plugins-good-plugins-sections.txt b/docs/plugins/gst-plugins-good-plugins-sections.txt
index d37038c..0dbe574 100644
--- a/docs/plugins/gst-plugins-good-plugins-sections.txt
+++ b/docs/plugins/gst-plugins-good-plugins-sections.txt
@@ -541,38 +541,6 @@
 </SECTION>
 
 <SECTION>
-<FILE>element-cmmldec</FILE>
-<TITLE>cmmldec</TITLE>
-GstCmmlDec
-<SUBSECTION Standard>
-GstCmmlDecClass
-GST_TYPE_CMML_DEC
-GST_CMML_DEC
-GST_CMML_DEC_CLASS
-GST_CMML_DEC_GET_CLASS
-GST_IS_CMML_DEC
-GST_IS_CMML_DEC_CLASS
-gst_cmml_dec_plugin_init
-gst_cmml_dec_get_type
-</SECTION>
-
-<SECTION>
-<FILE>element-cmmlenc</FILE>
-<TITLE>cmmlenc</TITLE>
-GstCmmlEnc
-<SUBSECTION Standard>
-GstCmmlEncClass
-GST_TYPE_CMML_ENC
-GST_CMML_ENC
-GST_CMML_ENC_CLASS
-GST_CMML_ENC_GET_CLASS
-GST_IS_CMML_ENC
-GST_IS_CMML_ENC_CLASS
-gst_cmml_enc_plugin_init
-gst_cmml_enc_get_type
-</SECTION>
-
-<SECTION>
 <FILE>element-cutter</FILE>
 <TITLE>cutter</TITLE>
 GstCutter
diff --git a/docs/plugins/gst-plugins-good-plugins.hierarchy b/docs/plugins/gst-plugins-good-plugins.hierarchy
index f4fd390..5dd6921 100644
--- a/docs/plugins/gst-plugins-good-plugins.hierarchy
+++ b/docs/plugins/gst-plugins-good-plugins.hierarchy
@@ -2,6 +2,7 @@
   GInitiallyUnowned
     GstObject
       GstAudioRingBuffer
+        GstAudioSinkRingBuffer
         GstAudioSrcRingBuffer
         GstJackAudioSinkRingBuffer
         GstJackAudioSrcRingBuffer
@@ -38,6 +39,9 @@
           GstWavpackParse
         GstBaseSink
           GstAudioBaseSink
+            GstAudioSink
+              GstOss4Sink
+              GstOssSink
             GstJackAudioSink
             GstPulseSink
           GstCACASink
@@ -55,8 +59,12 @@
           GstPushSrc
             GstAudioBaseSrc
               GstAudioSrc
+                GstOss4Source
+                GstOssSrc
                 GstPulseSrc
               GstJackAudioSrc
+            GstDV1394Src
+            GstHDV1394Src
             GstMultiFileSrc
             GstSoupHTTPSrc
             GstUDPSrc
@@ -112,6 +120,7 @@
             GstStreakTV
             GstVertigoTV
             GstVideoBalance
+            GstVideoBox
             GstVideoFlip
             GstWarpTV
         GstBin
@@ -135,6 +144,7 @@
         GstFlacTag
         GstFlvDemux
         GstFlvMux
+        GstFlxDec
         GstGPPMux
         GstGoom
         GstGoom2k1
@@ -142,8 +152,6 @@
         GstISMLMux
         GstImageFreeze
         GstInterleave
-        GstJpegDec
-        GstJpegEnc
         GstMJ2Mux
         GstMP4Mux
         GstMatroskaDemux
@@ -154,9 +162,6 @@
         GstMuLawEnc
         GstMultipartDemux
         GstMultipartMux
-        GstPngDec
-        GstPngEnc
-        GstPulseMixer
         GstQTDemux
         GstQTMux
         GstRTPBaseDepayload
@@ -245,6 +250,12 @@
           GstApev2Mux
           GstId3v2Mux
         GstV4l2Radio
+        GstVideoDecoder
+          GstJpegDec
+          GstPngDec
+        GstVideoEncoder
+          GstJpegEnc
+          GstPngEnc
         GstVideoMixer2
         GstWavEnc
         GstWavParse
@@ -274,7 +285,6 @@
   GTypePlugin
   GstChildProxy
   GstColorBalance
-  GstMixer
   GstNavigation
   GstPreset
   GstStreamVolume
diff --git a/docs/plugins/gst-plugins-good-plugins.interfaces b/docs/plugins/gst-plugins-good-plugins.interfaces
index 66bac0b..39ec737 100644
--- a/docs/plugins/gst-plugins-good-plugins.interfaces
+++ b/docs/plugins/gst-plugins-good-plugins.interfaces
@@ -10,6 +10,7 @@
 GstAutoVideoSrc GstChildProxy
 GstAviMux GstTagSetter
 GstBin GstChildProxy
+GstDV1394Src GstURIHandler
 GstDV1394Src GstURIHandler GstPropertyProbe
 GstDeinterlace GstChildProxy
 GstFlacEnc GstPreset GstTagSetter
@@ -21,6 +22,7 @@
 GstGConfVideoSink GstChildProxy
 GstGConfVideoSrc GstChildProxy
 GstGPPMux GstTagSetter GstTagXmpWriter
+GstHDV1394Src GstURIHandler
 GstHDV1394Src GstURIHandler GstPropertyProbe
 GstHalAudioSink GstChildProxy
 GstHalAudioSrc GstChildProxy
@@ -30,16 +32,19 @@
 GstIirEqualizer10Bands GstChildProxy GstPreset
 GstIirEqualizer3Bands GstChildProxy GstPreset
 GstIirEqualizerNBands GstChildProxy
+GstJpegEnc GstPreset
 GstMJ2Mux GstTagSetter GstTagXmpWriter
 GstMP4Mux GstTagSetter GstTagXmpWriter
 GstMatroskaMux GstTagSetter
 GstMatroskaMux GstTagSetter GstTocSetter
 GstOss4Mixer GstImplementsInterface GstMixer GstPropertyProbe
+GstOss4Sink GstStreamVolume
 GstOss4Sink GstStreamVolume GstPropertyProbe
 GstOss4Source GstImplementsInterface GstMixer GstPropertyProbe
 GstOssMixerElement GstImplementsInterface GstMixer
 GstOssSrc GstImplementsInterface GstMixer
 GstPipeline GstChildProxy
+GstPngEnc GstPreset
 GstPulseAudioSink GstChildProxy
 GstPulseMixer GstImplementsInterface GstMixer GstPropertyProbe
 GstPulseMixer GstMixer
@@ -47,6 +52,7 @@
 GstPulseSink GstStreamVolume GstImplementsInterface GstPropertyProbe
 GstPulseSrc GstImplementsInterface GstMixer GstPropertyProbe
 GstPulseSrc GstMixer GstStreamVolume
+GstPulseSrc GstStreamVolume
 GstPulseSrc GstStreamVolume GstImplementsInterface GstMixer GstPropertyProbe
 GstPushFileSrc GstChildProxy GstURIHandler
 GstQTMoovRecover GstChildProxy
@@ -72,6 +78,7 @@
 GstV4l2Src GstURIHandler GstTuner GstColorBalance GstVideoOrientation
 GstVideoBalance GstColorBalance
 GstVideoBalance GstImplementsInterface GstColorBalance
+GstVideoEncoder GstPreset
 GstVideoMixer GstChildProxy
 GstVideoMixer2 GstChildProxy
 GstWavpackEnc GstPreset
diff --git a/docs/plugins/gst-plugins-good-plugins.signals b/docs/plugins/gst-plugins-good-plugins.signals
index 2a4ab7d..605c082 100644
--- a/docs/plugins/gst-plugins-good-plugins.signals
+++ b/docs/plugins/gst-plugins-good-plugins.signals
@@ -680,3 +680,14 @@
 guint64  arg3
 </SIGNAL>
 
+<SIGNAL>
+<NAME>GstV4l2Src::prepare-format</NAME>
+<RETURNS>void</RETURNS>
+<FLAGS>l</FLAGS>
+GstV4l2Src *gstv4l2src
+gint  arg1
+guint  arg2
+guint  arg3
+guint  arg4
+</SIGNAL>
+
diff --git a/docs/plugins/html/ch01.html b/docs/plugins/html/ch01.html
index d8589b2..f36f651 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="idp178848"></a>gst-plugins-good Elements</h2></div></div></div>
+<a name="idp281824"></a>gst-plugins-good Elements</h2></div></div></div>
 <div class="toc"><dl>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-good-plugins-3gppmux.html">3gppmux</a></span><span class="refpurpose"> — Muxer for 3GPP (.3gp) files</span>
@@ -141,12 +141,6 @@
 <span class="refentrytitle"><a href="gst-plugins-good-plugins-capssetter.html">capssetter</a></span><span class="refpurpose"> — Set/merge caps on stream</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-good-plugins-cmmldec.html">cmmldec</a></span><span class="refpurpose"> — Decodes CMML streams</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gst-plugins-good-plugins-cmmlenc.html">cmmlenc</a></span><span class="refpurpose"> — Encodes CMML streams</span>
-</dt>
-<dt>
 <span class="refentrytitle"><a href="gst-plugins-good-plugins-cutter.html">cutter</a></span><span class="refpurpose"> — Audio Cutter to split audio into non-silent bits</span>
 </dt>
 <dt>
@@ -339,7 +333,7 @@
 <span class="refentrytitle"><a href="gst-plugins-good-plugins-pulsesrc.html">pulsesrc</a></span><span class="refpurpose"> — Captures audio from a PulseAudio server</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-good-plugins-pulsemixer.html">pulsemixer</a></span><span class="refpurpose"> — Control sound input and output levels for PulseAudio</span>
+<span class="refentrytitle"><a href="gst-plugins-good-plugins-pulsemixer.html">pulsemixer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-good-plugins-quarktv.html">quarktv</a></span><span class="refpurpose"> — Motion dissolver</span>
diff --git a/docs/plugins/html/ch02.html b/docs/plugins/html/ch02.html
index 958a236..cae3ad9 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="idp4986944"></a>gst-plugins-good Plugins</h2></div></div></div>
+<a name="idp5378064"></a>gst-plugins-good Plugins</h2></div></div></div>
 <div class="toc"><dl>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-good-plugins-plugin-1394.html">1394</a></span><span class="refpurpose"> — <a name="plugin-1394"></a>Source for video data via IEEE1394 interface</span>
@@ -39,9 +39,6 @@
 <span class="refentrytitle"><a href="gst-plugins-good-plugins-plugin-alphacolor.html">alphacolor</a></span><span class="refpurpose"> — <a name="plugin-alphacolor"></a>RGBA from/to AYUV colorspace conversion preserving the alpha channel</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-good-plugins-plugin-annodex.html">annodex</a></span><span class="refpurpose"> — <a name="plugin-annodex"></a>annodex stream manipulation (info about annodex: http://www.annodex.net)</span>
-</dt>
-<dt>
 <span class="refentrytitle"><a href="gst-plugins-good-plugins-plugin-apetag.html">apetag</a></span><span class="refpurpose"> — <a name="plugin-apetag"></a>APEv1/2 tag reader</span>
 </dt>
 <dt>
diff --git a/docs/plugins/html/ch03.html b/docs/plugins/html/ch03.html
index bce2a80..9d9e775 100644
--- a/docs/plugins/html/ch03.html
+++ b/docs/plugins/html/ch03.html
@@ -21,7 +21,7 @@
 </tr></table>
 <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="idp5022432"></a>gst-plugins-good Base Classes</h2></div></div></div>
+<a name="idp5413056"></a>gst-plugins-good Base Classes</h2></div></div></div>
 <div class="toc"><dl>
 <dt>
 <span class="refentrytitle"><a href="GstIirEqualizer.html">GstIirEqualizer</a></span><span class="refpurpose"></span>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-3gppmux.html b/docs/plugins/html/gst-plugins-good-plugins-3gppmux.html
index 1d35bf7..fed32fb 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-3gppmux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-3gppmux.html
@@ -96,7 +96,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp9398192"></a><h3>Example pipelines</h3>
+<a name="idp8328720"></a><h3>Example pipelines</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="idp9135536"></a><h3>Element Information</h3>
+<a name="idp6518336"></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="idp7843984"></a><h3>Element Pads</h3>
+<a name="idp6229168"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-aacparse.html b/docs/plugins/html/gst-plugins-good-plugins-aacparse.html
index 16469e5..9fc7ccb 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-aacparse.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-aacparse.html
@@ -66,7 +66,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp6492544"></a><h3>Example launch line</h3>
+<a name="idp9559600"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -84,7 +84,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp4505456"></a><h3>Element Information</h3>
+<a name="idp6596800"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -107,7 +107,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp7993424"></a><h3>Element Pads</h3>
+<a name="idp7982560"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-aasink.html b/docs/plugins/html/gst-plugins-good-plugins-aasink.html
index f8c76ef..0ddc10c 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-aasink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-aasink.html
@@ -86,7 +86,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp5374656"></a><h3>Element Information</h3>
+<a name="idp8268384"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -109,7 +109,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp8617504"></a><h3>Element Pads</h3>
+<a name="idp7952176"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-ac3parse.html b/docs/plugins/html/gst-plugins-good-plugins-ac3parse.html
index 0325454..808f2fd 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-ac3parse.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-ac3parse.html
@@ -61,7 +61,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp5885568"></a><h3>Example launch line</h3>
+<a name="idp9335856"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -79,7 +79,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp5794640"></a><h3>Element Information</h3>
+<a name="idp6399376"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -102,7 +102,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp8081552"></a><h3>Element Pads</h3>
+<a name="idp7492656"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-agingtv.html b/docs/plugins/html/gst-plugins-good-plugins-agingtv.html
index 9707d4f..98d3a07 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-agingtv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-agingtv.html
@@ -74,7 +74,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp9792304"></a><h3>Example launch line</h3>
+<a name="idp9746128"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -92,7 +92,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp8947712"></a><h3>Element Information</h3>
+<a name="idp5701344"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -115,7 +115,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp7299200"></a><h3>Element Pads</h3>
+<a name="idp9838144"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-alawdec.html b/docs/plugins/html/gst-plugins-good-plugins-alawdec.html
index 2cac5f2..f9b02d6 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-alawdec.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-alawdec.html
@@ -60,7 +60,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9033600"></a><h3>Element Information</h3>
+<a name="idp5919136"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -83,7 +83,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp5484128"></a><h3>Element Pads</h3>
+<a name="idp9205920"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-alawenc.html b/docs/plugins/html/gst-plugins-good-plugins-alawenc.html
index c3e702e..a9488cd 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-alawenc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-alawenc.html
@@ -49,7 +49,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp7489152"></a><h3>Element Information</h3>
+<a name="idp7084208"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -72,7 +72,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp9499328"></a><h3>Element Pads</h3>
+<a name="idp7973840"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-alpha.html b/docs/plugins/html/gst-plugins-good-plugins-alpha.html
index 2c4198b..1c3cf5a 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-alpha.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-alpha.html
@@ -105,7 +105,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp7693376"></a><h3>Element Information</h3>
+<a name="idp6436096"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -130,7 +130,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp5828128"></a><h3>Element Pads</h3>
+<a name="idp10122416"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-alphacolor.html b/docs/plugins/html/gst-plugins-good-plugins-alphacolor.html
index 0591a7b..4211126 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-alphacolor.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-alphacolor.html
@@ -82,7 +82,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp5656096"></a><h3>Element Information</h3>
+<a name="idp5533136"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -105,7 +105,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp6968704"></a><h3>Element Pads</h3>
+<a name="idp9398432"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-amrparse.html b/docs/plugins/html/gst-plugins-good-plugins-amrparse.html
index ff4497c..2256d3e 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-amrparse.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-amrparse.html
@@ -62,7 +62,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp7306176"></a><h3>Example launch line</h3>
+<a name="idp7826944"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -80,7 +80,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9919136"></a><h3>Element Information</h3>
+<a name="idp8715728"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -103,7 +103,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp5826544"></a><h3>Element Pads</h3>
+<a name="idm32288"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-apedemux.html b/docs/plugins/html/gst-plugins-good-plugins-apedemux.html
index fb9a358..05fa89b 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-apedemux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-apedemux.html
@@ -72,7 +72,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp8171328"></a><h3>Example launch line</h3>
+<a name="idp9161520"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -92,7 +92,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9800000"></a><h3>Element Information</h3>
+<a name="idp8269344"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -115,7 +115,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp9114816"></a><h3>Element Pads</h3>
+<a name="idp7065776"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-apev2mux.html b/docs/plugins/html/gst-plugins-good-plugins-apev2mux.html
index dd33d3c..06fa287 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-apev2mux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-apev2mux.html
@@ -66,7 +66,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp7630320"></a><h3>Element Information</h3>
+<a name="idp5917840"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -89,7 +89,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp5530256"></a><h3>Element Pads</h3>
+<a name="idp6930672"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-aspectratiocrop.html b/docs/plugins/html/gst-plugins-good-plugins-aspectratiocrop.html
index 5dc75bc..d0fca24 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-aspectratiocrop.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-aspectratiocrop.html
@@ -81,7 +81,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp8244624"></a><h3>Example launch line</h3>
+<a name="idp8880032"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -99,7 +99,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9218592"></a><h3>Element Information</h3>
+<a name="idp10181968"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -122,7 +122,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp6577024"></a><h3>Element Pads</h3>
+<a name="idp8844816"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -140,7 +140,7 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>video/x-raw, format=(string){ RGBx, xRGB, BGRx, xBGR, RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, YUY2, YVYU, UYVY, Y800, I420, RGB16, RGB15, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td>video/x-raw, format=(string){ RGBx, xRGB, BGRx, xBGR, RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, YUY2, YVYU, UYVY, I420, RGB16, RGB15, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 </tbody>
 </table></div>
@@ -161,7 +161,7 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>video/x-raw, format=(string){ RGBx, xRGB, BGRx, xBGR, RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, YUY2, YVYU, UYVY, Y800, I420, RGB16, RGB15, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td>video/x-raw, format=(string){ RGBx, xRGB, BGRx, xBGR, RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, YUY2, YVYU, UYVY, I420, RGB16, RGB15, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-audioamplify.html b/docs/plugins/html/gst-plugins-good-plugins-audioamplify.html
index b938989..5bbfaeb 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-audioamplify.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-audioamplify.html
@@ -72,7 +72,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp7361040"></a><h3>Example launch line</h3>
+<a name="idp9991504"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -94,7 +94,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp10685616"></a><h3>Element Information</h3>
+<a name="idp8439776"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -117,7 +117,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp9453504"></a><h3>Element Pads</h3>
+<a name="idp8274080"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-audiochebband.html b/docs/plugins/html/gst-plugins-good-plugins-audiochebband.html
index d6404a2..fd59c4d 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-audiochebband.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-audiochebband.html
@@ -103,7 +103,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp5931136"></a><h3>Example launch line</h3>
+<a name="idp8513472"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -125,7 +125,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp6868224"></a><h3>Element Information</h3>
+<a name="idp8843520"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -148,7 +148,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp10155648"></a><h3>Element Pads</h3>
+<a name="idp7544080"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-audiocheblimit.html b/docs/plugins/html/gst-plugins-good-plugins-audiocheblimit.html
index 9c46711..3549aae 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-audiocheblimit.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-audiocheblimit.html
@@ -100,7 +100,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp9289040"></a><h3>Example launch line</h3>
+<a name="idp6782368"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -122,7 +122,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9722064"></a><h3>Element Information</h3>
+<a name="idp8527136"></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="idp6156160"></a><h3>Element Pads</h3>
+<a name="idp7678736"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-audiodynamic.html b/docs/plugins/html/gst-plugins-good-plugins-audiodynamic.html
index 17e79ea..527a4e6 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-audiodynamic.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-audiodynamic.html
@@ -76,7 +76,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idm7184"></a><h3>Example launch line</h3>
+<a name="idp10827520"></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="idp7281264"></a><h3>Element Information</h3>
+<a name="idp9888192"></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="idp7251216"></a><h3>Element Pads</h3>
+<a name="idp7949072"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-audioecho.html b/docs/plugins/html/gst-plugins-good-plugins-audioecho.html
index f9caee3..65117eb 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-audioecho.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-audioecho.html
@@ -84,7 +84,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp8240144"></a><h3>Example launch line</h3>
+<a name="idp8803856"></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="idp7131664"></a><h3>Element Information</h3>
+<a name="idp8686672"></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="idp5696480"></a><h3>Element Pads</h3>
+<a name="idp9744128"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-audiofirfilter.html b/docs/plugins/html/gst-plugins-good-plugins-audiofirfilter.html
index 6d7973e..30ba431 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-audiofirfilter.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-audiofirfilter.html
@@ -95,7 +95,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp5737296"></a><h3>Example application</h3>
+<a name="idp11231552"></a><h3>Example application</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -441,7 +441,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp8854768"></a><h3>Element Information</h3>
+<a name="idp9528224"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -464,7 +464,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp6572736"></a><h3>Element Pads</h3>
+<a name="idp10238000"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-audioiirfilter.html b/docs/plugins/html/gst-plugins-good-plugins-audioiirfilter.html
index 78b37f2..521f36d 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-audioiirfilter.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-audioiirfilter.html
@@ -91,7 +91,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp5979696"></a><h3>Example application</h3>
+<a name="idp9177520"></a><h3>Example application</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -389,7 +389,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp8061232"></a><h3>Element Information</h3>
+<a name="idp2790368"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -412,7 +412,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp7643008"></a><h3>Element Pads</h3>
+<a name="idp6233376"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-audioinvert.html b/docs/plugins/html/gst-plugins-good-plugins-audioinvert.html
index 234eca7..18f430b 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-audioinvert.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-audioinvert.html
@@ -72,7 +72,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp8744464"></a><h3>Example launch line</h3>
+<a name="idp10929664"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -94,7 +94,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp10117632"></a><h3>Element Information</h3>
+<a name="idp8620496"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -117,7 +117,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp7165968"></a><h3>Element Pads</h3>
+<a name="idp7399888"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-audiokaraoke.html b/docs/plugins/html/gst-plugins-good-plugins-audiokaraoke.html
index 7cd077f..0f64c20 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-audiokaraoke.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-audiokaraoke.html
@@ -74,7 +74,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp9808992"></a><h3>Example launch line</h3>
+<a name="idp4884352"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -92,7 +92,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp7990032"></a><h3>Element Information</h3>
+<a name="idp6238576"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -115,7 +115,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idm5296"></a><h3>Element Pads</h3>
+<a name="idm6320"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-audiopanorama.html b/docs/plugins/html/gst-plugins-good-plugins-audiopanorama.html
index 04a0b9a..a4d0e41 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-audiopanorama.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-audiopanorama.html
@@ -71,7 +71,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp6898352"></a><h3>Example launch line</h3>
+<a name="idp10565616"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -95,7 +95,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9239664"></a><h3>Element Information</h3>
+<a name="idp7714992"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -118,7 +118,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp10045600"></a><h3>Element Pads</h3>
+<a name="idp6869376"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-audiowsincband.html b/docs/plugins/html/gst-plugins-good-plugins-audiowsincband.html
index 5bbd916..f908976 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-audiowsincband.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-audiowsincband.html
@@ -83,7 +83,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp7767040"></a><h3>Example launch line</h3>
+<a name="idp8942528"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -105,7 +105,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp10068864"></a><h3>Element Information</h3>
+<a name="idp8261168"></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="idp6333312"></a><h3>Element Pads</h3>
+<a name="idp6138256"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-audiowsinclimit.html b/docs/plugins/html/gst-plugins-good-plugins-audiowsinclimit.html
index b2b5840..417af7f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-audiowsinclimit.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-audiowsinclimit.html
@@ -83,7 +83,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp7146640"></a><h3>Example launch line</h3>
+<a name="idp6850720"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -105,7 +105,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp6506432"></a><h3>Element Information</h3>
+<a name="idp10982944"></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="idp5621488"></a><h3>Element Pads</h3>
+<a name="idp6873056"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-auparse.html b/docs/plugins/html/gst-plugins-good-plugins-auparse.html
index 3abda14..0ebbc72 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-auparse.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-auparse.html
@@ -60,7 +60,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp7290656"></a><h3>Element Information</h3>
+<a name="idp6093648"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -83,7 +83,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp6911408"></a><h3>Element Pads</h3>
+<a name="idp9170592"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-autoaudiosink.html b/docs/plugins/html/gst-plugins-good-plugins-autoaudiosink.html
index 95cfaf9..40b476a 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-autoaudiosink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-autoaudiosink.html
@@ -80,7 +80,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp7451552"></a><h3>Example launch line</h3>
+<a name="idp5485152"></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="idp10052208"></a><h3>Element Information</h3>
+<a name="idp10627184"></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="idp7658096"></a><h3>Element Pads</h3>
+<a name="idp9738464"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-autoaudiosrc.html b/docs/plugins/html/gst-plugins-good-plugins-autoaudiosrc.html
index 8ff11bb..ce4befc 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-autoaudiosrc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-autoaudiosrc.html
@@ -80,7 +80,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp7388048"></a><h3>Example launch line</h3>
+<a name="idp11817920"></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="idp6433824"></a><h3>Element Information</h3>
+<a name="idp1882064"></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="idp7519456"></a><h3>Element Pads</h3>
+<a name="idp6081344"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-autovideosink.html b/docs/plugins/html/gst-plugins-good-plugins-autovideosink.html
index 1e5b254..0af7ece 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-autovideosink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-autovideosink.html
@@ -80,7 +80,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp5033936"></a><h3>Example launch line</h3>
+<a name="idp7435376"></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="idp7376240"></a><h3>Element Information</h3>
+<a name="idp5800176"></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="idp5968880"></a><h3>Element Pads</h3>
+<a name="idp6481776"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-autovideosrc.html b/docs/plugins/html/gst-plugins-good-plugins-autovideosrc.html
index 1807a1f..3fd4a7e 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-autovideosrc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-autovideosrc.html
@@ -80,7 +80,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp5941360"></a><h3>Example launch line</h3>
+<a name="idp8726784"></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="idp11212608"></a><h3>Element Information</h3>
+<a name="idp11712912"></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="idp10080320"></a><h3>Element Pads</h3>
+<a name="idp11996464"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-avidemux.html b/docs/plugins/html/gst-plugins-good-plugins-avidemux.html
index e222798..5ca3189 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-avidemux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-avidemux.html
@@ -64,7 +64,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp10829264"></a><h3>Example launch line</h3>
+<a name="idp11770896"></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="idp10826064"></a><h3>Element Information</h3>
+<a name="idp11768592"></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="idp10820288"></a><h3>Element Pads</h3>
+<a name="idp7449344"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-avimux.html b/docs/plugins/html/gst-plugins-good-plugins-avimux.html
index b0bd870..0fbe5d8 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-avimux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-avimux.html
@@ -76,7 +76,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp9384352"></a><h3>Example launch lines</h3>
+<a name="idp6898096"></a><h3>Example launch lines</h3>
 <p>(write everything in one line, without the backslash characters)</p>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
@@ -130,7 +130,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9136560"></a><h3>Element Information</h3>
+<a name="idp11140432"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -153,7 +153,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp6523328"></a><h3>Element Pads</h3>
+<a name="idp11273712"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-avisubtitle.html b/docs/plugins/html/gst-plugins-good-plugins-avisubtitle.html
index 569f1e9..079eadb 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-avisubtitle.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-avisubtitle.html
@@ -57,7 +57,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp5684848"></a><h3>Example launch line</h3>
+<a name="idp8874720"></a><h3>Example launch line</h3>
 <p>
 Parses the subtitle stream from an avi file.
 </p>
@@ -78,7 +78,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp10139664"></a><h3>Element Information</h3>
+<a name="idp6866848"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -101,7 +101,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp11705264"></a><h3>Element Pads</h3>
+<a name="idp9114720"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-cacasink.html b/docs/plugins/html/gst-plugins-good-plugins-cacasink.html
index 4f96788..fd57b6b 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-cacasink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-cacasink.html
@@ -69,7 +69,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp7448224"></a><h3>Element Information</h3>
+<a name="idp8935536"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -92,7 +92,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp9739808"></a><h3>Element Pads</h3>
+<a name="idp11904096"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-cairooverlay.html b/docs/plugins/html/gst-plugins-good-plugins-cairooverlay.html
index 0294375..e8941a5 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-cairooverlay.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-cairooverlay.html
@@ -54,7 +54,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp7042880"></a><h3>Element Information</h3>
+<a name="idp5975568"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -77,7 +77,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp9743824"></a><h3>Element Pads</h3>
+<a name="idp6409152"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-cairorender.html b/docs/plugins/html/gst-plugins-good-plugins-cairorender.html
index 4098939..34ce31b 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-cairorender.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-cairorender.html
@@ -45,7 +45,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9220544"></a><h3>Element Information</h3>
+<a name="idp12788464"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -68,7 +68,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp7482848"></a><h3>Element Pads</h3>
+<a name="idp5654080"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-cairotextoverlay.html b/docs/plugins/html/gst-plugins-good-plugins-cairotextoverlay.html
index 682f115..c504d2d 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-cairotextoverlay.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-cairotextoverlay.html
@@ -62,7 +62,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp5318272"></a><h3>Element Information</h3>
+<a name="idp9043296"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -85,7 +85,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp12091712"></a><h3>Element Pads</h3>
+<a name="idp2670656"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-cairotimeoverlay.html b/docs/plugins/html/gst-plugins-good-plugins-cairotimeoverlay.html
index 32fedd1..602d64f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-cairotimeoverlay.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-cairotimeoverlay.html
@@ -45,7 +45,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9575648"></a><h3>Element Information</h3>
+<a name="idp9081552"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -68,7 +68,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp11024432"></a><h3>Element Pads</h3>
+<a name="idp5598848"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-capssetter.html b/docs/plugins/html/gst-plugins-good-plugins-capssetter.html
index cd9580c..9e77965 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-capssetter.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-capssetter.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer Good Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-good Elements">
 <link rel="prev" href="gst-plugins-good-plugins-cairooverlay.html" title="cairooverlay">
-<link rel="next" href="gst-plugins-good-plugins-cmmldec.html" title="cmmldec">
+<link rel="next" href="gst-plugins-good-plugins-cutter.html" title="cutter">
 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -18,7 +18,7 @@
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
 <th width="100%" align="center">GStreamer Good Plugins 1.0 Plugins Reference Manual</th>
-<td><a accesskey="n" href="gst-plugins-good-plugins-cmmldec.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gst-plugins-good-plugins-cutter.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
 </tr>
 <tr><td colspan="5" class="shortcuts">
 <a href="#gst-plugins-good-plugins-capssetter.synopsis" class="shortcut">Top</a>
@@ -68,7 +68,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp6126832"></a><p>
+<a name="idp11329776"></a><p>
 Sets or merges caps on a stream's buffers.
 That is, a buffer's caps are updated using (fields of)
 <a class="link" href="gst-plugins-good-plugins-capssetter.html#GstCapsSetter--caps" title='The "caps" property'>caps</a>.  Note that this may
@@ -99,7 +99,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp5148688"></a><h3>Element Information</h3>
+<a name="idp9102800"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -122,7 +122,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp7369216"></a><h3>Element Pads</h3>
+<a name="idp13297232"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-cmmldec.html b/docs/plugins/html/gst-plugins-good-plugins-cmmldec.html
deleted file mode 100644
index c574885..0000000
--- a/docs/plugins/html/gst-plugins-good-plugins-cmmldec.html
+++ /dev/null
@@ -1,162 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>cmmldec</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="index.html" title="GStreamer Good Plugins 1.0 Plugins Reference Manual">
-<link rel="up" href="ch01.html" title="gst-plugins-good Elements">
-<link rel="prev" href="gst-plugins-good-plugins-capssetter.html" title="capssetter">
-<link rel="next" href="gst-plugins-good-plugins-cmmlenc.html" title="cmmlenc">
-<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gst-plugins-good-plugins-capssetter.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GStreamer Good Plugins 1.0 Plugins Reference Manual</th>
-<td><a accesskey="n" href="gst-plugins-good-plugins-cmmlenc.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gst-plugins-good-plugins-cmmldec.synopsis" class="shortcut">Top</a>
-                   | 
-                  <a href="#gst-plugins-good-plugins-cmmldec.description" class="shortcut">Description</a>
-                   | 
-                  <a href="#gst-plugins-good-plugins-cmmldec.object-hierarchy" class="shortcut">Object Hierarchy</a>
-                   | 
-                  <a href="#gst-plugins-good-plugins-cmmldec.properties" class="shortcut">Properties</a>
-</td></tr>
-</table>
-<div class="refentry">
-<a name="gst-plugins-good-plugins-cmmldec"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="gst-plugins-good-plugins-cmmldec.top_of_page"></a>cmmldec</span></h2>
-<p>cmmldec — Decodes CMML streams</p>
-</td>
-<td valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="gst-plugins-good-plugins-cmmldec.synopsis"></a><h2>Synopsis</h2>
-<a name="GstCmmlDec"></a><pre class="synopsis">struct              <a class="link" href="gst-plugins-good-plugins-cmmldec.html#GstCmmlDec-struct" title="struct GstCmmlDec">GstCmmlDec</a>;
-</pre>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-good-plugins-cmmldec.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="synopsis">
-  <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
-   +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a 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>
-                     +----GstCmmlDec
-</pre>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-good-plugins-cmmldec.properties"></a><h2>Properties</h2>
-<pre class="synopsis">
-  "<a class="link" href="gst-plugins-good-plugins-cmmldec.html#GstCmmlDec--wait-clip-end-time" title='The "wait-clip-end-time" property'>wait-clip-end-time</a>"       <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
-</pre>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-good-plugins-cmmldec.description"></a><h2>Description</h2>
-<div class="refsynopsisdiv">
-<h2>Synopsis</h2>
-<div class="refsect2">
-<a name="idp12697024"></a><h3>Element Information</h3>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">plugin</span></p></td>
-<td>
-            <a class="link" href="gst-plugins-good-plugins-plugin-annodex.html#plugin-annodex">annodex</a>
-          </td>
-</tr>
-<tr>
-<td><p><span class="term">author</span></p></td>
-<td>Alessandro Decina &lt;alessandro@nnva.org&gt;</td>
-</tr>
-<tr>
-<td><p><span class="term">class</span></p></td>
-<td>Codec/Decoder</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="idp7453904"></a><h3>Element Pads</h3>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">name</span></p></td>
-<td>sink</td>
-</tr>
-<tr>
-<td><p><span class="term">direction</span></p></td>
-<td>sink</td>
-</tr>
-<tr>
-<td><p><span class="term">presence</span></p></td>
-<td>always</td>
-</tr>
-<tr>
-<td><p><span class="term">details</span></p></td>
-<td>text/x-cmml, encoded=(boolean)true</td>
-</tr>
-</tbody>
-</table></div>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">name</span></p></td>
-<td>src</td>
-</tr>
-<tr>
-<td><p><span class="term">direction</span></p></td>
-<td>source</td>
-</tr>
-<tr>
-<td><p><span class="term">presence</span></p></td>
-<td>always</td>
-</tr>
-<tr>
-<td><p><span class="term">details</span></p></td>
-<td>text/x-cmml, encoded=(boolean)false</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<p>
-</p>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-good-plugins-cmmldec.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="GstCmmlDec-struct"></a><h3>struct GstCmmlDec</h3>
-<pre class="programlisting">struct GstCmmlDec;</pre>
-<p>
-</p>
-</div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-good-plugins-cmmldec.property-details"></a><h2>Property Details</h2>
-<div class="refsect2">
-<a name="GstCmmlDec--wait-clip-end-time"></a><h3>The <code class="literal">"wait-clip-end-time"</code> property</h3>
-<pre class="programlisting">  "wait-clip-end-time"       <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write</pre>
-<p>Send a tag for a clip when the clip ends, setting its end-time. Use when you need to know both clip's start-time and end-time.</p>
-<p>Default value: FALSE</p>
-</div>
-</div>
-</div>
-<div class="footer">
-<hr>
-          Generated by GTK-Doc V1.18</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-good-plugins-cmmlenc.html b/docs/plugins/html/gst-plugins-good-plugins-cmmlenc.html
deleted file mode 100644
index efc62db..0000000
--- a/docs/plugins/html/gst-plugins-good-plugins-cmmlenc.html
+++ /dev/null
@@ -1,181 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>cmmlenc</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="index.html" title="GStreamer Good Plugins 1.0 Plugins Reference Manual">
-<link rel="up" href="ch01.html" title="gst-plugins-good Elements">
-<link rel="prev" href="gst-plugins-good-plugins-cmmldec.html" title="cmmldec">
-<link rel="next" href="gst-plugins-good-plugins-cutter.html" title="cutter">
-<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gst-plugins-good-plugins-cmmldec.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GStreamer Good Plugins 1.0 Plugins Reference Manual</th>
-<td><a accesskey="n" href="gst-plugins-good-plugins-cutter.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gst-plugins-good-plugins-cmmlenc.synopsis" class="shortcut">Top</a>
-                   | 
-                  <a href="#gst-plugins-good-plugins-cmmlenc.description" class="shortcut">Description</a>
-                   | 
-                  <a href="#gst-plugins-good-plugins-cmmlenc.object-hierarchy" class="shortcut">Object Hierarchy</a>
-                   | 
-                  <a href="#gst-plugins-good-plugins-cmmlenc.properties" class="shortcut">Properties</a>
-</td></tr>
-</table>
-<div class="refentry">
-<a name="gst-plugins-good-plugins-cmmlenc"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="gst-plugins-good-plugins-cmmlenc.top_of_page"></a>cmmlenc</span></h2>
-<p>cmmlenc — Encodes CMML streams</p>
-</td>
-<td valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="gst-plugins-good-plugins-cmmlenc.synopsis"></a><h2>Synopsis</h2>
-<a name="GstCmmlEnc"></a><pre class="synopsis">struct              <a class="link" href="gst-plugins-good-plugins-cmmlenc.html#GstCmmlEnc-struct" title="struct GstCmmlEnc">GstCmmlEnc</a>;
-</pre>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-good-plugins-cmmlenc.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="synopsis">
-  <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
-   +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
-         +----<a 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>
-                     +----GstCmmlEnc
-</pre>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-good-plugins-cmmlenc.properties"></a><h2>Properties</h2>
-<pre class="synopsis">
-  "<a class="link" href="gst-plugins-good-plugins-cmmlenc.html#GstCmmlEnc--granule-rate-denominator" title='The "granule-rate-denominator" property'>granule-rate-denominator</a>" <span class="type">gint64</span>                : Read / Write / Construct
-  "<a class="link" href="gst-plugins-good-plugins-cmmlenc.html#GstCmmlEnc--granule-rate-numerator" title='The "granule-rate-numerator" property'>granule-rate-numerator</a>"   <span class="type">gint64</span>                : Read / Write / Construct
-  "<a class="link" href="gst-plugins-good-plugins-cmmlenc.html#GstCmmlEnc--granule-shift" title='The "granule-shift" property'>granule-shift</a>"            <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guchar"><span class="type">guchar</span></a>                : Read / Write / Construct
-</pre>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-good-plugins-cmmlenc.description"></a><h2>Description</h2>
-<div class="refsynopsisdiv">
-<h2>Synopsis</h2>
-<div class="refsect2">
-<a name="idp8019104"></a><h3>Element Information</h3>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">plugin</span></p></td>
-<td>
-            <a class="link" href="gst-plugins-good-plugins-plugin-annodex.html#plugin-annodex">annodex</a>
-          </td>
-</tr>
-<tr>
-<td><p><span class="term">author</span></p></td>
-<td>Alessandro Decina &lt;alessandro@nnva.org&gt;</td>
-</tr>
-<tr>
-<td><p><span class="term">class</span></p></td>
-<td>Codec/Encoder</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="idp6488208"></a><h3>Element Pads</h3>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">name</span></p></td>
-<td>sink</td>
-</tr>
-<tr>
-<td><p><span class="term">direction</span></p></td>
-<td>sink</td>
-</tr>
-<tr>
-<td><p><span class="term">presence</span></p></td>
-<td>always</td>
-</tr>
-<tr>
-<td><p><span class="term">details</span></p></td>
-<td>text/x-cmml, encoded=(boolean)false</td>
-</tr>
-</tbody>
-</table></div>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">name</span></p></td>
-<td>src</td>
-</tr>
-<tr>
-<td><p><span class="term">direction</span></p></td>
-<td>source</td>
-</tr>
-<tr>
-<td><p><span class="term">presence</span></p></td>
-<td>always</td>
-</tr>
-<tr>
-<td><p><span class="term">details</span></p></td>
-<td>text/x-cmml, encoded=(boolean)true</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<p>
-</p>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-good-plugins-cmmlenc.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="GstCmmlEnc-struct"></a><h3>struct GstCmmlEnc</h3>
-<pre class="programlisting">struct GstCmmlEnc;</pre>
-<p>
-</p>
-</div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-good-plugins-cmmlenc.property-details"></a><h2>Property Details</h2>
-<div class="refsect2">
-<a name="GstCmmlEnc--granule-rate-denominator"></a><h3>The <code class="literal">"granule-rate-denominator"</code> property</h3>
-<pre class="programlisting">  "granule-rate-denominator" <span class="type">gint64</span>                : Read / Write / Construct</pre>
-<p>Granulerate denominator.</p>
-<p>Allowed values: &gt;= 0</p>
-<p>Default value: 1</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstCmmlEnc--granule-rate-numerator"></a><h3>The <code class="literal">"granule-rate-numerator"</code> property</h3>
-<pre class="programlisting">  "granule-rate-numerator"   <span class="type">gint64</span>                : Read / Write / Construct</pre>
-<p>Granulerate numerator.</p>
-<p>Allowed values: &gt;= 0</p>
-<p>Default value: 1000</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstCmmlEnc--granule-shift"></a><h3>The <code class="literal">"granule-shift"</code> property</h3>
-<pre class="programlisting">  "granule-shift"            <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guchar"><span class="type">guchar</span></a>                : Read / Write / Construct</pre>
-<p>The number of lower bits to use for partitioning a granule position.</p>
-<p>Allowed values: &lt;= 64</p>
-<p>Default value: 32</p>
-</div>
-</div>
-</div>
-<div class="footer">
-<hr>
-          Generated by GTK-Doc V1.18</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-good-plugins-cutter.html b/docs/plugins/html/gst-plugins-good-plugins-cutter.html
index 6927dcb..70407af 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-cutter.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-cutter.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="GStreamer Good Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-good Elements">
-<link rel="prev" href="gst-plugins-good-plugins-cmmlenc.html" title="cmmlenc">
+<link rel="prev" href="gst-plugins-good-plugins-capssetter.html" title="capssetter">
 <link rel="next" href="gst-plugins-good-plugins-dcaparse.html" title="dcaparse">
 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
@@ -14,7 +14,7 @@
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
 <tr valign="middle">
-<td><a accesskey="p" href="gst-plugins-good-plugins-cmmlenc.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gst-plugins-good-plugins-capssetter.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
 <th width="100%" align="center">GStreamer Good Plugins 1.0 Plugins Reference Manual</th>
@@ -89,7 +89,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp6820592"></a><h3>Example launch line</h3>
+<a name="idp6357504"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -107,7 +107,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11220400"></a><h3>Element Information</h3>
+<a name="idp11153952"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -130,7 +130,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp12243184"></a><h3>Element Pads</h3>
+<a name="idp5732816"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-dcaparse.html b/docs/plugins/html/gst-plugins-good-plugins-dcaparse.html
index fc03706..4b3664f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-dcaparse.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-dcaparse.html
@@ -61,7 +61,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp6247152"></a><h3>Example launch line</h3>
+<a name="idp8712592"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -79,7 +79,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp10880000"></a><h3>Element Information</h3>
+<a name="idp6418704"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -102,7 +102,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp12005760"></a><h3>Element Pads</h3>
+<a name="idp11837600"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-deinterlace.html b/docs/plugins/html/gst-plugins-good-plugins-deinterlace.html
index dd7ab6c..d9b5a44 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-deinterlace.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-deinterlace.html
@@ -71,7 +71,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp12433392"></a><h3>Example launch line</h3>
+<a name="idp9660032"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -89,7 +89,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11957088"></a><h3>Element Information</h3>
+<a name="idp8786960"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -112,7 +112,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp12030128"></a><h3>Element Pads</h3>
+<a name="idp7331136"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-deinterleave.html b/docs/plugins/html/gst-plugins-good-plugins-deinterleave.html
index 6d2a4d4..af3a25b 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-deinterleave.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-deinterleave.html
@@ -78,7 +78,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp10211568"></a><h3>Example launch line</h3>
+<a name="idp10126080"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -110,7 +110,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11802256"></a><h3>Element Information</h3>
+<a name="idp6979312"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -133,7 +133,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp6094560"></a><h3>Element Pads</h3>
+<a name="idp2710896"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-dicetv.html b/docs/plugins/html/gst-plugins-good-plugins-dicetv.html
index fbfbd0e..218a878 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-dicetv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-dicetv.html
@@ -83,7 +83,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp6313056"></a><h3>Example launch line</h3>
+<a name="idp5734848"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -101,7 +101,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11138992"></a><h3>Element Information</h3>
+<a name="idp11133024"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -124,7 +124,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp6793888"></a><h3>Element Pads</h3>
+<a name="idp6606032"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-directsoundsink.html b/docs/plugins/html/gst-plugins-good-plugins-directsoundsink.html
index 07d3dd9..1da577c 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-directsoundsink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-directsoundsink.html
@@ -45,7 +45,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11550240"></a><h3>Element Information</h3>
+<a name="idp4543536"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -68,7 +68,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp12563776"></a><h3>Element Pads</h3>
+<a name="idp10870960"></a><h3>Element Pads</h3>
 </div>
 </div>
 <p>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-dv1394src.html b/docs/plugins/html/gst-plugins-good-plugins-dv1394src.html
index 037e688..23e5cd0 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-dv1394src.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-dv1394src.html
@@ -25,6 +25,8 @@
                    | 
                   <a href="#gst-plugins-good-plugins-dv1394src.description" class="shortcut">Description</a>
                    | 
+                  <a href="#gst-plugins-good-plugins-dv1394src.object-hierarchy" class="shortcut">Object Hierarchy</a>
+                   | 
                   <a href="#gst-plugins-good-plugins-dv1394src.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
                    | 
                   <a href="#gst-plugins-good-plugins-dv1394src.properties" class="shortcut">Properties</a>
@@ -43,7 +45,19 @@
 </tr></table></div>
 <div class="refsynopsisdiv">
 <a name="gst-plugins-good-plugins-dv1394src.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">struct              <a class="link" href="gst-plugins-good-plugins-dv1394src.html#GstDV1394Src" title="struct GstDV1394Src">GstDV1394Src</a>;
+<a name="GstDV1394Src"></a><pre class="synopsis">struct              <a class="link" href="gst-plugins-good-plugins-dv1394src.html#GstDV1394Src-struct" title="struct GstDV1394Src">GstDV1394Src</a>;
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-good-plugins-dv1394src.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="synopsis">
+  <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+   +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+         +----<a 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>
+                                 +----GstDV1394Src
 </pre>
 </div>
 <div class="refsect1">
@@ -76,7 +90,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp12148768"></a><h3>Element Information</h3>
+<a name="idp11892656"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -99,7 +113,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp11487712"></a><h3>Element Pads</h3>
+<a name="idp10643440"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -129,47 +143,8 @@
 <div class="refsect1">
 <a name="gst-plugins-good-plugins-dv1394src.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="GstDV1394Src"></a><h3>struct GstDV1394Src</h3>
-<pre class="programlisting">struct GstDV1394Src {
-  GstPushSrc element;
-
-  // consecutive=2, skip=4 will skip 4 frames, then let 2 consecutive ones thru
-  gint consecutive;
-  gint skip;
-  gboolean drop_incomplete;
-
-  gint num_ports;
-  gint port;
-  gint channel;
-  octlet_t guid;
-  gint avc_node;
-  gboolean use_avc;
-
-  struct raw1394_portinfo pinfo[16];
-  raw1394handle_t handle;
-
-  GstBuffer *buf;
-  
-  GstBuffer *frame;
-  guint frame_size;
-  guint frame_rate;
-  guint bytes_in_frame;
-  guint frame_sequence;
-
-  int control_sock[2];
-
-  gchar *uri;
-
-  gchar *device_name;
-
-  gboolean connected;
-  #ifdef HAVE_LIBIEC61883
-  iec61883_dv_fb_t iec61883dv;
-  #endif
-
-  Gst1394Clock *provided_clock;
-};
-</pre>
+<a name="GstDV1394Src-struct"></a><h3>struct GstDV1394Src</h3>
+<pre class="programlisting">struct GstDV1394Src;</pre>
 <p>
 </p>
 </div>
@@ -240,7 +215,7 @@
 <a name="gst-plugins-good-plugins-dv1394src.signal-details"></a><h2>Signal Details</h2>
 <div class="refsect2">
 <a name="GstDV1394Src-frame-dropped"></a><h3>The <code class="literal">"frame-dropped"</code> signal</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-good-plugins-dv1394src.html#GstDV1394Src" title="struct GstDV1394Src"><span class="type">GstDV1394Src</span></a> *gstdv1394src,
+<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-good-plugins-dv1394src.html#GstDV1394Src"><span class="type">GstDV1394Src</span></a> *gstdv1394src,
                                                         <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>
 </p>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-dvdec.html b/docs/plugins/html/gst-plugins-good-plugins-dvdec.html
index 8e4bc18..eac5a28 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-dvdec.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-dvdec.html
@@ -68,7 +68,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp10268272"></a><h3>Element Information</h3>
+<a name="idp11066512"></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="idp10917088"></a><h3>Element Pads</h3>
+<a name="idp11540880"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-dvdemux.html b/docs/plugins/html/gst-plugins-good-plugins-dvdemux.html
index d314f1b..6e30ad2 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-dvdemux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-dvdemux.html
@@ -57,7 +57,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp10746464"></a><h3>Element Information</h3>
+<a name="idp2690912"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -80,7 +80,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp8336992"></a><h3>Element Pads</h3>
+<a name="idp7547488"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-edgetv.html b/docs/plugins/html/gst-plugins-good-plugins-edgetv.html
index 900db60..9d1876f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-edgetv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-edgetv.html
@@ -63,7 +63,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp7492944"></a><h3>Example launch line</h3>
+<a name="idp2704416"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -81,7 +81,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp6725056"></a><h3>Element Information</h3>
+<a name="idp7328208"></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="idp7995024"></a><h3>Element Pads</h3>
+<a name="idp10036848"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-equalizer-10bands.html b/docs/plugins/html/gst-plugins-good-plugins-equalizer-10bands.html
index badc083..1e1504f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-equalizer-10bands.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-equalizer-10bands.html
@@ -89,7 +89,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp10621088"></a><h3>Example launch line</h3>
+<a name="idp12681408"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -107,7 +107,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp10844480"></a><h3>Element Information</h3>
+<a name="idp6681536"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -130,7 +130,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp12502864"></a><h3>Element Pads</h3>
+<a name="idp13272720"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-equalizer-3bands.html b/docs/plugins/html/gst-plugins-good-plugins-equalizer-3bands.html
index 17328f5..0ed17d2 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-equalizer-3bands.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-equalizer-3bands.html
@@ -82,7 +82,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp8414880"></a><h3>Example launch line</h3>
+<a name="idp13457696"></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="idp11754272"></a><h3>Element Information</h3>
+<a name="idp12006848"></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="idp8398928"></a><h3>Element Pads</h3>
+<a name="idp11650640"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-equalizer-nbands.html b/docs/plugins/html/gst-plugins-good-plugins-equalizer-nbands.html
index bcb32da..b6b0190 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-equalizer-nbands.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-equalizer-nbands.html
@@ -81,7 +81,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp5958288"></a><h3>Example launch line</h3>
+<a name="idp12256624"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -98,7 +98,7 @@
 </p>
 <hr>
 <div class="refsect2">
-<a name="idp11468416"></a><h3>Example code</h3>
+<a name="idp11701904"></a><h3>Example code</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -190,7 +190,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp14072800"></a><h3>Element Information</h3>
+<a name="idp7105376"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -213,7 +213,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp5990880"></a><h3>Element Pads</h3>
+<a name="idp6945472"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-flacdec.html b/docs/plugins/html/gst-plugins-good-plugins-flacdec.html
index 1afca3c..2b052e9 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-flacdec.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-flacdec.html
@@ -58,7 +58,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp5717312"></a><h3>Element Information</h3>
+<a name="idp8757696"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -81,7 +81,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp9572240"></a><h3>Element Pads</h3>
+<a name="idp11093664"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-flacenc.html b/docs/plugins/html/gst-plugins-good-plugins-flacenc.html
index ea814d1..0e3d2cf 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-flacenc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-flacenc.html
@@ -88,7 +88,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp12549504"></a><h3>Element Information</h3>
+<a name="idp5780272"></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="idp13589536"></a><h3>Element Pads</h3>
+<a name="idp11581408"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-flacparse.html b/docs/plugins/html/gst-plugins-good-plugins-flacparse.html
index f256f0c..c1ff6c5 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-flacparse.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-flacparse.html
@@ -80,7 +80,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp5064016"></a><h3>Example pipelines</h3>
+<a name="idp5278112"></a><h3>Example pipelines</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="idp9737008"></a><h3>Element Information</h3>
+<a name="idp9516336"></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="idp3341648"></a><h3>Element Pads</h3>
+<a name="idp2264560"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-flactag.html b/docs/plugins/html/gst-plugins-good-plugins-flactag.html
index 9d0b106..56f6b5a 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-flactag.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-flactag.html
@@ -65,7 +65,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9432064"></a><h3>Element Information</h3>
+<a name="idp7725664"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -88,7 +88,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp8078464"></a><h3>Element Pads</h3>
+<a name="idp11325344"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-flvdemux.html b/docs/plugins/html/gst-plugins-good-plugins-flvdemux.html
index 200ae76..154ce74 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-flvdemux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-flvdemux.html
@@ -60,7 +60,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp5941616"></a><h3>Example launch line</h3>
+<a name="idp8181024"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -78,7 +78,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp14008096"></a><h3>Element Information</h3>
+<a name="idp11678112"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -101,7 +101,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp13551456"></a><h3>Element Pads</h3>
+<a name="idp5862512"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-flvmux.html b/docs/plugins/html/gst-plugins-good-plugins-flvmux.html
index 82fc1fd..53dd9ba 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-flvmux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-flvmux.html
@@ -77,7 +77,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp13049856"></a><h3>Example launch line</h3>
+<a name="idp11936272"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -95,7 +95,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp10897440"></a><h3>Element Information</h3>
+<a name="idp6450800"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -118,7 +118,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp11521824"></a><h3>Element Pads</h3>
+<a name="idp10194192"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-flxdec.html b/docs/plugins/html/gst-plugins-good-plugins-flxdec.html
index f02773e..443949a 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-flxdec.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-flxdec.html
@@ -24,6 +24,8 @@
 <a href="#gst-plugins-good-plugins-flxdec.synopsis" class="shortcut">Top</a>
                    | 
                   <a href="#gst-plugins-good-plugins-flxdec.description" class="shortcut">Description</a>
+                   | 
+                  <a href="#gst-plugins-good-plugins-flxdec.object-hierarchy" class="shortcut">Object Hierarchy</a>
 </td></tr>
 </table>
 <div class="refentry">
@@ -37,7 +39,17 @@
 </tr></table></div>
 <div class="refsynopsisdiv">
 <a name="gst-plugins-good-plugins-flxdec.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">struct              <a class="link" href="gst-plugins-good-plugins-flxdec.html#GstFlxDec" title="struct GstFlxDec">GstFlxDec</a>;
+<a name="GstFlxDec"></a><pre class="synopsis">struct              <a class="link" href="gst-plugins-good-plugins-flxdec.html#GstFlxDec-struct" title="struct GstFlxDec">GstFlxDec</a>;
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-good-plugins-flxdec.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="synopsis">
+  <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+   +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+         +----<a 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>
+                     +----GstFlxDec
 </pre>
 </div>
 <div class="refsect1">
@@ -48,7 +60,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp5757568"></a><h3>Element Information</h3>
+<a name="idp8838624"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -71,7 +83,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp8040848"></a><h3>Element Pads</h3>
+<a name="idp9990176"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -110,7 +122,7 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td>video/x-raw, format=(string)BGRx, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 </tbody>
 </table></div>
@@ -122,27 +134,8 @@
 <div class="refsect1">
 <a name="gst-plugins-good-plugins-flxdec.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="GstFlxDec"></a><h3>struct GstFlxDec</h3>
-<pre class="programlisting">struct GstFlxDec {
-  GstElement element;
-
-  GstPad *sinkpad,*srcpad;
-
-  gboolean active, new_meta;
-
-  guint8 *delta_data, *frame_data;
-  GstAdapter *adapter;
-  gulong size;
-  GstFlxDecState state;
-  gint64 frame_time;
-  gint64 next_time;
-  gint64 duration;
-
-  FlxColorSpaceConverter *converter;
-
-  FlxHeader hdr;
-};
-</pre>
+<a name="GstFlxDec-struct"></a><h3>struct GstFlxDec</h3>
+<pre class="programlisting">struct GstFlxDec;</pre>
 <p>
 </p>
 </div>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-gamma.html b/docs/plugins/html/gst-plugins-good-plugins-gamma.html
index b44daf5..7661c7c 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-gamma.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-gamma.html
@@ -70,7 +70,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp10885728"></a><h3>Example launch line</h3>
+<a name="idp7831248"></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="idp10088416"></a><h3>Element Information</h3>
+<a name="idp8374064"></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="idp6598992"></a><h3>Element Pads</h3>
+<a name="idp11971904"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-gdkpixbufsink.html b/docs/plugins/html/gst-plugins-good-plugins-gdkpixbufsink.html
index 7e4d0d8..e0c91c7 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-gdkpixbufsink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-gdkpixbufsink.html
@@ -55,7 +55,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp10658096"></a><h3>Element Information</h3>
+<a name="idp10826272"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -78,7 +78,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp13592688"></a><h3>Element Pads</h3>
+<a name="idp11380528"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-goom.html b/docs/plugins/html/gst-plugins-good-plugins-goom.html
index d726394..c7285ec 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-goom.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-goom.html
@@ -61,7 +61,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp6342000"></a><h3>Example launch line</h3>
+<a name="idp13676048"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -79,7 +79,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp8318784"></a><h3>Element Information</h3>
+<a name="idp5812672"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -102,7 +102,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp10618592"></a><h3>Element Pads</h3>
+<a name="idp10060656"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-goom2k1.html b/docs/plugins/html/gst-plugins-good-plugins-goom2k1.html
index 256e428..1762d84 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-goom2k1.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-goom2k1.html
@@ -62,7 +62,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp5035872"></a><h3>Example launch line</h3>
+<a name="idp8087296"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -80,7 +80,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11061456"></a><h3>Element Information</h3>
+<a name="idp2828400"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -103,7 +103,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp9258848"></a><h3>Element Pads</h3>
+<a name="idp11687600"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-halaudiosink.html b/docs/plugins/html/gst-plugins-good-plugins-halaudiosink.html
index 88a5cf8..878d38c 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-halaudiosink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-halaudiosink.html
@@ -44,7 +44,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp14428960"></a><h3>Element Information</h3>
+<a name="idp14160688"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -67,7 +67,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp12532944"></a><h3>Element Pads</h3>
+<a name="idp14692672"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-halaudiosrc.html b/docs/plugins/html/gst-plugins-good-plugins-halaudiosrc.html
index 0763428..13d599c 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-halaudiosrc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-halaudiosrc.html
@@ -44,7 +44,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9748224"></a><h3>Element Information</h3>
+<a name="idp6929200"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -67,7 +67,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp7339280"></a><h3>Element Pads</h3>
+<a name="idp13351728"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-hdv1394src.html b/docs/plugins/html/gst-plugins-good-plugins-hdv1394src.html
index 284b62c..cea8cb6 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-hdv1394src.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-hdv1394src.html
@@ -25,6 +25,8 @@
                    | 
                   <a href="#gst-plugins-good-plugins-hdv1394src.description" class="shortcut">Description</a>
                    | 
+                  <a href="#gst-plugins-good-plugins-hdv1394src.object-hierarchy" class="shortcut">Object Hierarchy</a>
+                   | 
                   <a href="#gst-plugins-good-plugins-hdv1394src.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
                    | 
                   <a href="#gst-plugins-good-plugins-hdv1394src.properties" class="shortcut">Properties</a>
@@ -41,7 +43,19 @@
 </tr></table></div>
 <div class="refsynopsisdiv">
 <a name="gst-plugins-good-plugins-hdv1394src.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">struct              <a class="link" href="gst-plugins-good-plugins-hdv1394src.html#GstHDV1394Src" title="struct GstHDV1394Src">GstHDV1394Src</a>;
+<a name="GstHDV1394Src"></a><pre class="synopsis">struct              <a class="link" href="gst-plugins-good-plugins-hdv1394src.html#GstHDV1394Src-struct" title="struct GstHDV1394Src">GstHDV1394Src</a>;
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-good-plugins-hdv1394src.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="synopsis">
+  <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+   +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+         +----<a 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>
+                                 +----GstHDV1394Src
 </pre>
 </div>
 <div class="refsect1">
@@ -65,7 +79,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp13761712"></a><h3>Element Information</h3>
+<a name="idp14566048"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -88,7 +102,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp8682320"></a><h3>Element Pads</h3>
+<a name="idp11549312"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -118,35 +132,8 @@
 <div class="refsect1">
 <a name="gst-plugins-good-plugins-hdv1394src.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="GstHDV1394Src"></a><h3>struct GstHDV1394Src</h3>
-<pre class="programlisting">struct GstHDV1394Src {
-  GstPushSrc element;
-
-  gint num_ports;
-  gint port;
-  gint channel;
-  octlet_t guid;
-  gint avc_node;
-  gboolean use_avc;
-
-  struct raw1394_portinfo pinfo[16];
-  raw1394handle_t handle;
-
-  gpointer outdata;
-  gsize outoffset;
-  guint frame_size;
-  guint frame_sequence;
-
-  int control_sock[2];
-
-  gchar *uri;
-
-  gchar *device_name;
-
-  gboolean connected;
-  iec61883_mpeg2_t iec61883mpeg2;
-};
-</pre>
+<a name="GstHDV1394Src-struct"></a><h3>struct GstHDV1394Src</h3>
+<pre class="programlisting">struct GstHDV1394Src;</pre>
 <p>
 </p>
 </div>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-icydemux.html b/docs/plugins/html/gst-plugins-good-plugins-icydemux.html
index 2428985..d6103ce 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-icydemux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-icydemux.html
@@ -64,7 +64,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp13006848"></a><h3>Example launch line</h3>
+<a name="idp8752736"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -85,7 +85,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp6244576"></a><h3>Element Information</h3>
+<a name="idp6852624"></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="idp6616864"></a><h3>Element Pads</h3>
+<a name="idp7234704"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-id3demux.html b/docs/plugins/html/gst-plugins-good-plugins-id3demux.html
index f92e1ba..d116742 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-id3demux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-id3demux.html
@@ -83,7 +83,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp7559680"></a><h3>Example launch line</h3>
+<a name="idp1554832"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -103,7 +103,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp8137184"></a><h3>Element Information</h3>
+<a name="idp8865840"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -126,7 +126,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp8566864"></a><h3>Element Pads</h3>
+<a name="idp12020096"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-id3v2mux.html b/docs/plugins/html/gst-plugins-good-plugins-id3v2mux.html
index e357d25..2478229 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-id3v2mux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-id3v2mux.html
@@ -66,7 +66,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp8416128"></a><h3>Element Information</h3>
+<a name="idp6447088"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -89,7 +89,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp14839472"></a><h3>Element Pads</h3>
+<a name="idp13280416"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-imagefreeze.html b/docs/plugins/html/gst-plugins-good-plugins-imagefreeze.html
index 9ac9d38..971e0ec 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-imagefreeze.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-imagefreeze.html
@@ -62,7 +62,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp8924032"></a><h3>Example launch line</h3>
+<a name="idp11896576"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -80,7 +80,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9672688"></a><h3>Element Information</h3>
+<a name="idp10630384"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -103,7 +103,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp5205616"></a><h3>Element Pads</h3>
+<a name="idp8437888"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-interleave.html b/docs/plugins/html/gst-plugins-good-plugins-interleave.html
index 5208fb8..78da256 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-interleave.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-interleave.html
@@ -82,7 +82,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp13596320"></a><h3>Example launch line</h3>
+<a name="idp14622416"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -113,7 +113,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp7032912"></a><h3>Element Information</h3>
+<a name="idp14085984"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -136,7 +136,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp12196880"></a><h3>Element Pads</h3>
+<a name="idp6309776"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-ismlmux.html b/docs/plugins/html/gst-plugins-good-plugins-ismlmux.html
index a296aea..ecba103 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-ismlmux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-ismlmux.html
@@ -96,7 +96,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp9354800"></a><h3>Example pipelines</h3>
+<a name="idp12445088"></a><h3>Example pipelines</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="idp9369808"></a><h3>Element Information</h3>
+<a name="idp8296592"></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="idp10051120"></a><h3>Element Pads</h3>
+<a name="idp5735360"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-jackaudiosink.html b/docs/plugins/html/gst-plugins-good-plugins-jackaudiosink.html
index 1247560..9850bde 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-jackaudiosink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-jackaudiosink.html
@@ -71,7 +71,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp13848400"></a><h3>Element Information</h3>
+<a name="idp14199808"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -94,7 +94,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp13211280"></a><h3>Element Pads</h3>
+<a name="idp12583040"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-jackaudiosrc.html b/docs/plugins/html/gst-plugins-good-plugins-jackaudiosrc.html
index b8f085a..76b871b 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-jackaudiosrc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-jackaudiosrc.html
@@ -72,7 +72,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp14340064"></a><h3>Element Information</h3>
+<a name="idp14932784"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -95,7 +95,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp7321280"></a><h3>Element Pads</h3>
+<a name="idp7660400"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-jpegdec.html b/docs/plugins/html/gst-plugins-good-plugins-jpegdec.html
index 2c0e884..eec11c3 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-jpegdec.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-jpegdec.html
@@ -51,7 +51,8 @@
    +----<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>
-                     +----GstJpegDec
+                     +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder">GstVideoDecoder</a>
+                           +----GstJpegDec
 </pre>
 </div>
 <div class="refsect1">
@@ -66,7 +67,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp6471584"></a><h3>Element Information</h3>
+<a name="idp11913216"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -89,7 +90,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp15465520"></a><h3>Element Pads</h3>
+<a name="idp5547968"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -107,7 +108,7 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>image/jpeg, width=(int)[ 1, 65535 ], height=(int)[ 1, 65535 ], framerate=(fraction)[ 0/1, 2147483647/1 ], sof-marker=(int){ 0, 1, 2, 5, 6, 7, 9, 10, 13, 14 }</td>
+<td>image/jpeg, width=(int)[ 1, 65535 ], height=(int)[ 1, 65535 ], sof-marker=(int){ 0, 1, 2, 5, 6, 7, 9, 10, 13, 14 }</td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-jpegenc.html b/docs/plugins/html/gst-plugins-good-plugins-jpegenc.html
index a0e39f5..b5f8725 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-jpegenc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-jpegenc.html
@@ -27,6 +27,8 @@
                    | 
                   <a href="#gst-plugins-good-plugins-jpegenc.object-hierarchy" class="shortcut">Object Hierarchy</a>
                    | 
+                  <a href="#gst-plugins-good-plugins-jpegenc.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
+                   | 
                   <a href="#gst-plugins-good-plugins-jpegenc.properties" class="shortcut">Properties</a>
                    | 
                   <a href="#gst-plugins-good-plugins-jpegenc.signals" class="shortcut">Signals</a>
@@ -53,10 +55,17 @@
    +----<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>
-                     +----GstJpegEnc
+                     +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder">GstVideoEncoder</a>
+                           +----GstJpegEnc
 </pre>
 </div>
 <div class="refsect1">
+<a name="gst-plugins-good-plugins-jpegenc.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+GstJpegEnc implements
+ <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPreset.html">GstPreset</a>.</p>
+</div>
+<div class="refsect1">
 <a name="gst-plugins-good-plugins-jpegenc.properties"></a><h2>Properties</h2>
 <pre class="synopsis">
   "<a class="link" href="gst-plugins-good-plugins-jpegenc.html#GstJpegEnc--quality" title='The "quality" property'>quality</a>"                  <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write
@@ -74,7 +83,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp10954112"></a><h3>Element Information</h3>
+<a name="idp5863408"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -97,7 +106,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp12254656"></a><h3>Element Pads</h3>
+<a name="idp13358688"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-level.html b/docs/plugins/html/gst-plugins-good-plugins-level.html
index f3db31c..6f106dd 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-level.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-level.html
@@ -127,7 +127,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp15820688"></a><h3>Example application</h3>
+<a name="idp10054000"></a><h3>Example application</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -401,7 +401,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp14201312"></a><h3>Element Information</h3>
+<a name="idp12188624"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -424,7 +424,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp13629760"></a><h3>Element Pads</h3>
+<a name="idp15134432"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-matroskademux.html b/docs/plugins/html/gst-plugins-good-plugins-matroskademux.html
index 2ebab74..622555b 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-matroskademux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-matroskademux.html
@@ -68,7 +68,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp14757488"></a><h3>Example launch line</h3>
+<a name="idp12150016"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -86,7 +86,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp12345616"></a><h3>Element Information</h3>
+<a name="idp10071664"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -109,7 +109,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp14781968"></a><h3>Element Pads</h3>
+<a name="idp15544336"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -127,7 +127,19 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>video/x-matroska</td>
+<td>audio/x-matroska</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-matroska</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-matroska-3d</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/webm</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-matroskamux.html b/docs/plugins/html/gst-plugins-good-plugins-matroskamux.html
index ee53bd3..4fd442b 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-matroskamux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-matroskamux.html
@@ -80,7 +80,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp15449936"></a><h3>Example launch line</h3>
+<a name="idp14139872"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -109,7 +109,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp15713440"></a><h3>Element Information</h3>
+<a name="idp7143184"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -132,7 +132,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp14706336"></a><h3>Element Pads</h3>
+<a name="idp14871456"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -347,6 +347,14 @@
 <td><p><span class="term">details</span></p></td>
 <td>video/x-matroska</td>
 </tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-matroska-3d</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-matroska</td>
+</tr>
 </tbody>
 </table></div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-mj2mux.html b/docs/plugins/html/gst-plugins-good-plugins-mj2mux.html
index 372a9c9..dfba81c 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-mj2mux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-mj2mux.html
@@ -133,7 +133,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp16227872"></a><h3>Example pipelines</h3>
+<a name="idp14947264"></a><h3>Example pipelines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -156,7 +156,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp16231216"></a><h3>Element Information</h3>
+<a name="idp14950608"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -179,7 +179,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp16076064"></a><h3>Element Pads</h3>
+<a name="idp13684256"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-monoscope.html b/docs/plugins/html/gst-plugins-good-plugins-monoscope.html
index 7a78b5b..b5785e7 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-monoscope.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-monoscope.html
@@ -49,7 +49,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp14456208"></a><h3>Example launch line</h3>
+<a name="idp15098752"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -67,7 +67,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp13497744"></a><h3>Element Information</h3>
+<a name="idp10557040"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -90,7 +90,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp15224656"></a><h3>Element Pads</h3>
+<a name="idp14622192"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-mp4mux.html b/docs/plugins/html/gst-plugins-good-plugins-mp4mux.html
index 0c88084..8028e8f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-mp4mux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-mp4mux.html
@@ -133,7 +133,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp5329152"></a><h3>Example pipelines</h3>
+<a name="idp13718864"></a><h3>Example pipelines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -156,7 +156,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp16136848"></a><h3>Element Information</h3>
+<a name="idp16971472"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -179,7 +179,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp13547440"></a><h3>Element Pads</h3>
+<a name="idp14772880"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-mpegaudioparse.html b/docs/plugins/html/gst-plugins-good-plugins-mpegaudioparse.html
index 075f279..cae13ae 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-mpegaudioparse.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-mpegaudioparse.html
@@ -61,7 +61,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp11237264"></a><h3>Example launch line</h3>
+<a name="idp15916176"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -79,7 +79,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp6217696"></a><h3>Element Information</h3>
+<a name="idp12368368"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -102,7 +102,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp14659808"></a><h3>Element Pads</h3>
+<a name="idp5454560"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-mulawdec.html b/docs/plugins/html/gst-plugins-good-plugins-mulawdec.html
index be8ba2e..72fbb45 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-mulawdec.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-mulawdec.html
@@ -60,7 +60,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp15506880"></a><h3>Element Information</h3>
+<a name="idp7932992"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -83,7 +83,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp11003504"></a><h3>Element Pads</h3>
+<a name="idp13612640"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-mulawenc.html b/docs/plugins/html/gst-plugins-good-plugins-mulawenc.html
index fbae197..68a6c6f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-mulawenc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-mulawenc.html
@@ -49,7 +49,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp10734560"></a><h3>Element Information</h3>
+<a name="idp15582992"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -72,7 +72,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp12655776"></a><h3>Element Pads</h3>
+<a name="idp15600032"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-multifilesink.html b/docs/plugins/html/gst-plugins-good-plugins-multifilesink.html
index f70aff4..665a1b5 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-multifilesink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-multifilesink.html
@@ -132,7 +132,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp13200880"></a><h3>Example launch line</h3>
+<a name="idp11279248"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -155,7 +155,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp16612912"></a><h3>Element Information</h3>
+<a name="idp12899488"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -178,7 +178,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp16730464"></a><h3>Element Pads</h3>
+<a name="idp13672064"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-multifilesrc.html b/docs/plugins/html/gst-plugins-good-plugins-multifilesrc.html
index b5a9d22..2ae5603 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-multifilesrc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-multifilesrc.html
@@ -81,7 +81,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp16235120"></a><h3>Example launch line</h3>
+<a name="idp13648928"></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="idp13479456"></a><h3>Element Information</h3>
+<a name="idp14462128"></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="idp15940160"></a><h3>Element Pads</h3>
+<a name="idp13053824"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-multipartdemux.html b/docs/plugins/html/gst-plugins-good-plugins-multipartdemux.html
index 127a526..29cf6ef 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-multipartdemux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-multipartdemux.html
@@ -83,7 +83,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp15142160"></a><h3>Sample pipelines</h3>
+<a name="idp13627088"></a><h3>Sample pipelines</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="idp14411344"></a><h3>Element Information</h3>
+<a name="idp15846352"></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="idp7772000"></a><h3>Element Pads</h3>
+<a name="idp12900448"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-multipartmux.html b/docs/plugins/html/gst-plugins-good-plugins-multipartmux.html
index 3375253..d1339e4 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-multipartmux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-multipartmux.html
@@ -70,7 +70,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp14421168"></a><h3>Sample pipelines</h3>
+<a name="idp7198176"></a><h3>Sample pipelines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -89,7 +89,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp5602048"></a><h3>Element Information</h3>
+<a name="idp12671808"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -112,7 +112,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp15429392"></a><h3>Element Pads</h3>
+<a name="idp14974560"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-multiudpsink.html b/docs/plugins/html/gst-plugins-good-plugins-multiudpsink.html
index e3bbb5a..554c94c 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-multiudpsink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-multiudpsink.html
@@ -100,7 +100,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp14505456"></a><h3>Element Information</h3>
+<a name="idp13416368"></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="idp15816512"></a><h3>Element Pads</h3>
+<a name="idp14614272"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-optv.html b/docs/plugins/html/gst-plugins-good-plugins-optv.html
index 35774bf..f87bdc9 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-optv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-optv.html
@@ -74,7 +74,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp15002736"></a><h3>Example launch line</h3>
+<a name="idp15603072"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -92,7 +92,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp13362336"></a><h3>Element Information</h3>
+<a name="idp11528464"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -115,7 +115,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp11497760"></a><h3>Element Pads</h3>
+<a name="idp15019408"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-oss4sink.html b/docs/plugins/html/gst-plugins-good-plugins-oss4sink.html
index f179ba3..139ad25 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-oss4sink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-oss4sink.html
@@ -25,6 +25,8 @@
                    | 
                   <a href="#gst-plugins-good-plugins-oss4sink.description" class="shortcut">Description</a>
                    | 
+                  <a href="#gst-plugins-good-plugins-oss4sink.object-hierarchy" class="shortcut">Object Hierarchy</a>
+                   | 
                   <a href="#gst-plugins-good-plugins-oss4sink.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
                    | 
                   <a href="#gst-plugins-good-plugins-oss4sink.properties" class="shortcut">Properties</a>
@@ -41,7 +43,20 @@
 </tr></table></div>
 <div class="refsynopsisdiv">
 <a name="gst-plugins-good-plugins-oss4sink.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">struct              <a class="link" href="gst-plugins-good-plugins-oss4sink.html#GstOss4Sink" title="struct GstOss4Sink">GstOss4Sink</a>;
+<a name="GstOss4Sink"></a><pre class="synopsis">struct              <a class="link" href="gst-plugins-good-plugins-oss4sink.html#GstOss4Sink-struct" title="struct GstOss4Sink">GstOss4Sink</a>;
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-good-plugins-oss4sink.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="synopsis">
+  <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+   +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+         +----<a 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="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink">GstAudioBaseSink</a>
+                                 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiosink.html#GstAudioSink">GstAudioSink</a>
+                                       +----GstOss4Sink
 </pre>
 </div>
 <div class="refsect1">
@@ -64,7 +79,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp8117088"></a><h3>Element Information</h3>
+<a name="idp16061408"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -87,7 +102,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp14692912"></a><h3>Element Pads</h3>
+<a name="idp13535600"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -113,23 +128,7 @@
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> audio/x-raw-int, width=(int)32, depth=(int)32, signed=(boolean)true, endianness=(int)1234, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> audio/x-raw-int, width=(int)32, depth=(int){ 32, 24 }, signed=(boolean)true, endianness=(int)4321, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> audio/x-raw-int, width=(int){ 32, 24 }, depth=(int)24, signed=(boolean)true, endianness=(int)1234, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> audio/x-raw-int, width=(int)16, depth=(int)16, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> audio/x-raw-int, width=(int)8, depth=(int)8, signed=(boolean){ true, false }, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]</td>
+<td> audio/x-raw, format=(string){ S32LE, S32BE, S24_32LE, S24_32BE, S24LE, S16LE, S16BE, U16LE, U16BE, S8, U8 }, layout=(string)interleaved, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]</td>
 </tr>
 </tbody>
 </table></div>
@@ -141,20 +140,8 @@
 <div class="refsect1">
 <a name="gst-plugins-good-plugins-oss4sink.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="GstOss4Sink"></a><h3>struct GstOss4Sink</h3>
-<pre class="programlisting">struct GstOss4Sink {
-  GstAudioSink  audio_sink;
-
-  gchar       * device;             /* NULL if none was set      */
-  gchar       * open_device;        /* the device we opened      */
-  gchar       * device_name;        /* set if the device is open */
-  gint          fd;                 /* -1 if not open            */
-  gint          bytes_per_sample;
-  gint          mute_volume;
-
-  GstCaps     * probed_caps;
-};
-</pre>
+<a name="GstOss4Sink-struct"></a><h3>struct GstOss4Sink</h3>
+<pre class="programlisting">struct GstOss4Sink;</pre>
 <p>
 </p>
 </div>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-oss4src.html b/docs/plugins/html/gst-plugins-good-plugins-oss4src.html
index c78636d..b38cdfe 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-oss4src.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-oss4src.html
@@ -25,6 +25,8 @@
                    | 
                   <a href="#gst-plugins-good-plugins-oss4src.description" class="shortcut">Description</a>
                    | 
+                  <a href="#gst-plugins-good-plugins-oss4src.object-hierarchy" class="shortcut">Object Hierarchy</a>
+                   | 
                   <a href="#gst-plugins-good-plugins-oss4src.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
                    | 
                   <a href="#gst-plugins-good-plugins-oss4src.properties" class="shortcut">Properties</a>
@@ -41,7 +43,21 @@
 </tr></table></div>
 <div class="refsynopsisdiv">
 <a name="gst-plugins-good-plugins-oss4src.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">struct              <a class="link" href="gst-plugins-good-plugins-oss4src.html#GstOss4Source" title="struct GstOss4Source">GstOss4Source</a>;
+<a name="GstOss4Source"></a><pre class="synopsis">struct              <a class="link" href="gst-plugins-good-plugins-oss4src.html#GstOss4Source-struct" title="struct GstOss4Source">GstOss4Source</a>;
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-good-plugins-oss4src.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="synopsis">
+  <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+   +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+         +----<a 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="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiobasesrc.html#GstAudioBaseSrc">GstAudioBaseSrc</a>
+                                       +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiosrc.html#GstAudioSrc">GstAudioSrc</a>
+                                             +----GstOss4Source
 </pre>
 </div>
 <div class="refsect1">
@@ -62,7 +78,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11797904"></a><h3>Element Information</h3>
+<a name="idp13893984"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -85,7 +101,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp8055664"></a><h3>Element Pads</h3>
+<a name="idp13665600"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -111,23 +127,7 @@
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> audio/x-raw-int, width=(int)32, depth=(int)32, signed=(boolean)true, endianness=(int)1234, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> audio/x-raw-int, width=(int)32, depth=(int){ 32, 24 }, signed=(boolean)true, endianness=(int)4321, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> audio/x-raw-int, width=(int){ 32, 24 }, depth=(int)24, signed=(boolean)true, endianness=(int)1234, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> audio/x-raw-int, width=(int)16, depth=(int)16, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> audio/x-raw-int, width=(int)8, depth=(int)8, signed=(boolean){ true, false }, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]</td>
+<td> audio/x-raw, format=(string){ S32LE, S32BE, S24_32LE, S24_32BE, S24LE, S16LE, S16BE, U16LE, U16BE, S8, U8 }, layout=(string)interleaved, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]</td>
 </tr>
 </tbody>
 </table></div>
@@ -139,19 +139,8 @@
 <div class="refsect1">
 <a name="gst-plugins-good-plugins-oss4src.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="GstOss4Source"></a><h3>struct GstOss4Source</h3>
-<pre class="programlisting">struct GstOss4Source {
-  GstAudioSrc     audiosrc;
-
-  gchar         * device;             /* NULL if none was set      */
-  gchar         * open_device;        /* the device we opened      */
-  gchar         * device_name;        /* set if the device is open */
-  gint            fd;                 /* -1 if not open            */
-  gint            bytes_per_sample;
-
-  GstCaps       * probed_caps;
-};
-</pre>
+<a name="GstOss4Source-struct"></a><h3>struct GstOss4Source</h3>
+<pre class="programlisting">struct GstOss4Source;</pre>
 <p>
 </p>
 </div>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-osssink.html b/docs/plugins/html/gst-plugins-good-plugins-osssink.html
index e7e9755..3348d2f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-osssink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-osssink.html
@@ -25,6 +25,8 @@
                    | 
                   <a href="#gst-plugins-good-plugins-osssink.description" class="shortcut">Description</a>
                    | 
+                  <a href="#gst-plugins-good-plugins-osssink.object-hierarchy" class="shortcut">Object Hierarchy</a>
+                   | 
                   <a href="#gst-plugins-good-plugins-osssink.properties" class="shortcut">Properties</a>
 </td></tr>
 </table>
@@ -39,7 +41,20 @@
 </tr></table></div>
 <div class="refsynopsisdiv">
 <a name="gst-plugins-good-plugins-osssink.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">struct              <a class="link" href="gst-plugins-good-plugins-osssink.html#GstOssSink" title="struct GstOssSink">GstOssSink</a>;
+<a name="GstOssSink"></a><pre class="synopsis">struct              <a class="link" href="gst-plugins-good-plugins-osssink.html#GstOssSink-struct" title="struct GstOssSink">GstOssSink</a>;
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-good-plugins-osssink.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="synopsis">
+  <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+   +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+         +----<a 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="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink">GstAudioBaseSink</a>
+                                 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiosink.html#GstAudioSink">GstAudioSink</a>
+                                       +----GstOssSink
 </pre>
 </div>
 <div class="refsect1">
@@ -53,7 +68,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp13056000"></a><h3>Element Information</h3>
+<a name="idp17396592"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -76,7 +91,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp17481680"></a><h3>Element Pads</h3>
+<a name="idp12343984"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -94,11 +109,11 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>audio/x-raw-int, endianness=(int){ 1234 }, signed=(boolean){ true, false }, width=(int)16, depth=(int)16, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2 ]</td>
+<td>audio/x-raw, format=(string){ S16LE, U16LE, S8, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)1</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> audio/x-raw-int, signed=(boolean){ true, false }, width=(int)8, depth=(int)8, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2 ]</td>
+<td> audio/x-raw, format=(string){ S16LE, U16LE, S8, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)2, channel-mask=(bitmask)0x0000000000000003</td>
 </tr>
 </tbody>
 </table></div>
@@ -110,17 +125,8 @@
 <div class="refsect1">
 <a name="gst-plugins-good-plugins-osssink.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="GstOssSink"></a><h3>struct GstOssSink</h3>
-<pre class="programlisting">struct GstOssSink {
-  GstAudioSink    sink;
-
-  gchar *device;
-  gint   fd;
-  gint   bytes_per_sample;
-
-  GstCaps *probed_caps;
-};
-</pre>
+<a name="GstOssSink-struct"></a><h3>struct GstOssSink</h3>
+<pre class="programlisting">struct GstOssSink;</pre>
 <p>
 </p>
 </div>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-osssrc.html b/docs/plugins/html/gst-plugins-good-plugins-osssrc.html
index cd70ff3..5aaf721 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-osssrc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-osssrc.html
@@ -25,6 +25,8 @@
                    | 
                   <a href="#gst-plugins-good-plugins-osssrc.description" class="shortcut">Description</a>
                    | 
+                  <a href="#gst-plugins-good-plugins-osssrc.object-hierarchy" class="shortcut">Object Hierarchy</a>
+                   | 
                   <a href="#gst-plugins-good-plugins-osssrc.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
                    | 
                   <a href="#gst-plugins-good-plugins-osssrc.properties" class="shortcut">Properties</a>
@@ -41,7 +43,21 @@
 </tr></table></div>
 <div class="refsynopsisdiv">
 <a name="gst-plugins-good-plugins-osssrc.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">struct              <a class="link" href="gst-plugins-good-plugins-osssrc.html#GstOssSrc" title="struct GstOssSrc">GstOssSrc</a>;
+<a name="GstOssSrc"></a><pre class="synopsis">struct              <a class="link" href="gst-plugins-good-plugins-osssrc.html#GstOssSrc-struct" title="struct GstOssSrc">GstOssSrc</a>;
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-good-plugins-osssrc.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="synopsis">
+  <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+   +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+         +----<a 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="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiobasesrc.html#GstAudioBaseSrc">GstAudioBaseSrc</a>
+                                       +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiosrc.html#GstAudioSrc">GstAudioSrc</a>
+                                             +----GstOssSrc
 </pre>
 </div>
 <div class="refsect1">
@@ -62,7 +78,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp12812400"></a><h3>Element Information</h3>
+<a name="idp14875536"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -85,7 +101,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp17962560"></a><h3>Element Pads</h3>
+<a name="idp12837568"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -103,11 +119,11 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>audio/x-raw-int, endianness=(int){ 1234 }, signed=(boolean){ true, false }, width=(int)16, depth=(int)16, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2 ]</td>
+<td>audio/x-raw, format=(string){ S16LE, U16LE, S8, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)1</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> audio/x-raw-int, signed=(boolean){ true, false }, width=(int)8, depth=(int)8, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2 ]</td>
+<td> audio/x-raw, format=(string){ S16LE, U16LE, S8, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)2, channel-mask=(bitmask)0x0000000000000003</td>
 </tr>
 </tbody>
 </table></div>
@@ -119,19 +135,8 @@
 <div class="refsect1">
 <a name="gst-plugins-good-plugins-osssrc.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="GstOssSrc"></a><h3>struct GstOssSrc</h3>
-<pre class="programlisting">struct GstOssSrc {
-  GstAudioSrc    src;
-
-  gint fd;
-  gint           bytes_per_sample;
-
-  gchar *device;
-  gchar *device_name;
-
-  GstCaps       *probed_caps;
-};
-</pre>
+<a name="GstOssSrc-struct"></a><h3>struct GstOssSrc</h3>
+<pre class="programlisting">struct GstOssSrc;</pre>
 <p>
 </p>
 </div>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-osxaudiosink.html b/docs/plugins/html/gst-plugins-good-plugins-osxaudiosink.html
index 0ec4c21..02a4f51 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-osxaudiosink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-osxaudiosink.html
@@ -53,7 +53,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp14807232"></a><h3>Element Information</h3>
+<a name="idp15465232"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -76,7 +76,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp15043200"></a><h3>Element Pads</h3>
+<a name="idp11952400"></a><h3>Element Pads</h3>
 </div>
 </div>
 <p>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-osxaudiosrc.html b/docs/plugins/html/gst-plugins-good-plugins-osxaudiosrc.html
index 7f9d317..f7e300a 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-osxaudiosrc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-osxaudiosrc.html
@@ -53,7 +53,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp17002976"></a><h3>Element Information</h3>
+<a name="idp14176992"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -76,7 +76,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp11916176"></a><h3>Element Pads</h3>
+<a name="idp13268544"></a><h3>Element Pads</h3>
 </div>
 </div>
 <p>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-osxvideosink.html b/docs/plugins/html/gst-plugins-good-plugins-osxvideosink.html
index 9536e1c..24c9bd9 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-osxvideosink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-osxvideosink.html
@@ -54,7 +54,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp14177904"></a><h3>Element Information</h3>
+<a name="idp16997200"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -77,7 +77,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp16961024"></a><h3>Element Pads</h3>
+<a name="idp14990512"></a><h3>Element Pads</h3>
 </div>
 </div>
 <p>
@@ -91,7 +91,18 @@
   /* Our element stuff */
   GstVideoSink videosink;
   GstOSXWindow *osxwindow;
+  void *osxvideosinkobject;
   NSView *superview;
+  NSThread *ns_app_thread;
+#ifdef RUN_NS_APP_THREAD
+  GMutex *loop_thread_lock;
+  GCond *loop_thread_cond;
+#else
+  guint cocoa_timeout;
+#endif
+  gboolean app_started;
+  gboolean keep_par;
+  gboolean embed;
 };
 </pre>
 <p>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html
index 574d79b..a938dca 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp15982832"></a><h2>Plugin Information</h2>
+<a name="idp22781584"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.10.30.1</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -47,7 +47,7 @@
 </tr>
 <tr>
 <td><p><span class="term">package</span></p></td>
-<td>GStreamer Good Plug-ins git</td>
+<td>GStreamer Good Plug-ins source release</td>
 </tr>
 <tr>
 <td><p><span class="term">origin</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp22478800"></a><h2>Elements</h2>
+<a name="idp20322912"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html
index 9ce901d..9d6ce8c 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp6641808"></a><h2>Plugin Information</h2>
+<a name="idp24986464"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp21282256"></a><h2>Elements</h2>
+<a name="idp21925168"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html
index 52bcff2..8be4730 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp23905376"></a><h2>Plugin Information</h2>
+<a name="idp17811504"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp21902480"></a><h2>Elements</h2>
+<a name="idp24819504"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html
index 18bd62e..99894eb 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp24871472"></a><h2>Plugin Information</h2>
+<a name="idp14805360"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp24076464"></a><h2>Elements</h2>
+<a name="idp13735680"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html
index f4bd5f8..df5eedd 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer Good Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch02.html" title="gst-plugins-good Plugins">
 <link rel="prev" href="gst-plugins-good-plugins-plugin-alpha.html" title="alpha">
-<link rel="next" href="gst-plugins-good-plugins-plugin-annodex.html" title="annodex">
+<link rel="next" href="gst-plugins-good-plugins-plugin-apetag.html" title="apetag">
 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -17,7 +17,7 @@
 <td><a accesskey="u" href="ch02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
 <th width="100%" align="center">GStreamer Good Plugins 1.0 Plugins Reference Manual</th>
-<td><a accesskey="n" href="gst-plugins-good-plugins-plugin-annodex.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gst-plugins-good-plugins-plugin-apetag.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-good-plugins-plugin-alphacolor"></a><div class="titlepage"></div>
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp24760352"></a><h2>Plugin Information</h2>
+<a name="idp23892144"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp22802736"></a><h2>Elements</h2>
+<a name="idp21454288"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-annodex.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-annodex.html
deleted file mode 100644
index aa58916..0000000
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-annodex.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>annodex</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="index.html" title="GStreamer Good Plugins 1.0 Plugins Reference Manual">
-<link rel="up" href="ch02.html" title="gst-plugins-good Plugins">
-<link rel="prev" href="gst-plugins-good-plugins-plugin-alphacolor.html" title="alphacolor">
-<link rel="next" href="gst-plugins-good-plugins-plugin-apetag.html" title="apetag">
-<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="gst-plugins-good-plugins-plugin-alphacolor.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GStreamer Good Plugins 1.0 Plugins Reference Manual</th>
-<td><a accesskey="n" href="gst-plugins-good-plugins-plugin-apetag.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="refentry">
-<a name="gst-plugins-good-plugins-plugin-annodex"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle">annodex</span></h2>
-<p>annodex — <a name="plugin-annodex"></a>annodex stream manipulation (info about annodex: http://www.annodex.net)</p>
-</td>
-<td valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsect1">
-<a name="idp23676624"></a><h2>Plugin Information</h2>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">filename</span></p></td>
-<td>libgstannodex.so</td>
-</tr>
-<tr>
-<td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
-</tr>
-<tr>
-<td><p><span class="term">run-time license</span></p></td>
-<td>LGPL</td>
-</tr>
-<tr>
-<td><p><span class="term">package</span></p></td>
-<td>GStreamer Good Plug-ins source release</td>
-</tr>
-<tr>
-<td><p><span class="term">origin</span></p></td>
-<td>Unknown package origin</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="idp24541648"></a><h2>Elements</h2>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><a class="link" href="gst-plugins-good-plugins-cmmldec.html" title="cmmldec">cmmldec</a></span></p></td>
-<td>Decodes CMML streams</td>
-</tr>
-<tr>
-<td><p><span class="term"><a class="link" href="gst-plugins-good-plugins-cmmlenc.html" title="cmmlenc">cmmlenc</a></span></p></td>
-<td>Encodes CMML streams</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<div class="footer">
-<hr>
-          Generated by GTK-Doc V1.18</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html
index 04f8a7d..49d4c4a 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html
@@ -6,14 +6,14 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="GStreamer Good Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch02.html" title="gst-plugins-good Plugins">
-<link rel="prev" href="gst-plugins-good-plugins-plugin-annodex.html" title="annodex">
+<link rel="prev" href="gst-plugins-good-plugins-plugin-alphacolor.html" title="alphacolor">
 <link rel="next" href="gst-plugins-good-plugins-plugin-audiofx.html" title="audiofx">
 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="gst-plugins-good-plugins-plugin-annodex.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gst-plugins-good-plugins-plugin-alphacolor.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
 <td><a accesskey="u" href="ch02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
 <th width="100%" align="center">GStreamer Good Plugins 1.0 Plugins Reference Manual</th>
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp24559168"></a><h2>Plugin Information</h2>
+<a name="idp25063344"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp24139552"></a><h2>Elements</h2>
+<a name="idp21453504"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html
index 9cd2a16..c2fadf4 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp23347184"></a><h2>Plugin Information</h2>
+<a name="idp22788656"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp23930256"></a><h2>Elements</h2>
+<a name="idp22740064"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html
index bdb67a8..655492c 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp24679872"></a><h2>Plugin Information</h2>
+<a name="idp16218880"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp23627760"></a><h2>Elements</h2>
+<a name="idp22094448"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html
index 9939e9e..8ec29d2 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp23998704"></a><h2>Plugin Information</h2>
+<a name="idp23780592"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp21562192"></a><h2>Elements</h2>
+<a name="idp24000144"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html
index 8e1728b..f503123 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp22997392"></a><h2>Plugin Information</h2>
+<a name="idp21423312"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp22082752"></a><h2>Elements</h2>
+<a name="idp23572032"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html
index 41ea856..54f3dc2 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp24714240"></a><h2>Plugin Information</h2>
+<a name="idp25238256"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp21635728"></a><h2>Elements</h2>
+<a name="idp23849024"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html
index c4f0807..0214029 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp24018416"></a><h2>Plugin Information</h2>
+<a name="idp21926816"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp22956496"></a><h2>Elements</h2>
+<a name="idp25247312"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html
index 7e2bde0..f157d71 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp21929344"></a><h2>Plugin Information</h2>
+<a name="idp24721696"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp24167056"></a><h2>Elements</h2>
+<a name="idp24658896"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html
index 0e2768c..83dcbb1 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp24814976"></a><h2>Plugin Information</h2>
+<a name="idp21543296"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp23275216"></a><h2>Elements</h2>
+<a name="idp23194208"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html
index 9a923b3..374026c 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp24660624"></a><h2>Plugin Information</h2>
+<a name="idp12233792"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp22999232"></a><h2>Elements</h2>
+<a name="idp20855856"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-directsound.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-directsound.html
index 52ab402..a333062 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-directsound.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-directsound.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp24610208"></a><h2>Plugin Information</h2>
+<a name="idp24875616"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp21298432"></a><h2>Elements</h2>
+<a name="idp19639328"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html
index bfdaa24..59b5dd6 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp19877344"></a><h2>Plugin Information</h2>
+<a name="idp20431056"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp22342992"></a><h2>Elements</h2>
+<a name="idp22006400"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html
index d62bfd2..678b583 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp24237824"></a><h2>Plugin Information</h2>
+<a name="idp25029616"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp22109648"></a><h2>Elements</h2>
+<a name="idp22703360"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html
index 488fc9a..89f1661 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp23649168"></a><h2>Plugin Information</h2>
+<a name="idp24669920"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp22402800"></a><h2>Elements</h2>
+<a name="idp22018208"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html
index 4e83667..a8010ef 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp22671840"></a><h2>Plugin Information</h2>
+<a name="idp20426768"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp22377168"></a><h2>Elements</h2>
+<a name="idp24582224"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html
index 6dd33ff..aa7650b 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp20581152"></a><h2>Plugin Information</h2>
+<a name="idp24922080"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp24268752"></a><h2>Elements</h2>
+<a name="idp22424640"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html
index 4011009..208fa1c 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp25102544"></a><h2>Plugin Information</h2>
+<a name="idp25306016"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.10.30.1</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -47,7 +47,7 @@
 </tr>
 <tr>
 <td><p><span class="term">package</span></p></td>
-<td>GStreamer Good Plug-ins git</td>
+<td>GStreamer Good Plug-ins source release</td>
 </tr>
 <tr>
 <td><p><span class="term">origin</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp24517248"></a><h2>Elements</h2>
+<a name="idp24566240"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html
index 9732797..d668273 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp24834912"></a><h2>Plugin Information</h2>
+<a name="idp22618848"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp22466752"></a><h2>Elements</h2>
+<a name="idp25040768"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html
index c04f916..ef9bf13 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp16874496"></a><h2>Plugin Information</h2>
+<a name="idp22609920"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp23890384"></a><h2>Elements</h2>
+<a name="idp11144400"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html
index ba441bc..6045c50 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp16890896"></a><h2>Plugin Information</h2>
+<a name="idp25302064"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp23640624"></a><h2>Elements</h2>
+<a name="idp24659600"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-halelements.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-halelements.html
index 91b77fd..395e408 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-halelements.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-halelements.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp24168608"></a><h2>Plugin Information</h2>
+<a name="idp25361824"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp16918576"></a><h2>Elements</h2>
+<a name="idp24316272"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html
index 72052f4..f7e21ca 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp24889856"></a><h2>Plugin Information</h2>
+<a name="idp8043056"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp19955728"></a><h2>Elements</h2>
+<a name="idp5675520"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html
index 1e97c34..3e16557 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp24905712"></a><h2>Plugin Information</h2>
+<a name="idp3606736"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp21880512"></a><h2>Elements</h2>
+<a name="idp19925808"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html
index a8bad57..c9860ca 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp24922240"></a><h2>Plugin Information</h2>
+<a name="idp24775136"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp24301504"></a><h2>Elements</h2>
+<a name="idp24032640"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html
index 41818c8..fbfd053 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp21881104"></a><h2>Plugin Information</h2>
+<a name="idp25453072"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp22399936"></a><h2>Elements</h2>
+<a name="idp22660608"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html
index d8c1a73..7e40a9e 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp24602448"></a><h2>Plugin Information</h2>
+<a name="idp20474992"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp16887920"></a><h2>Elements</h2>
+<a name="idp25481232"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html
index c97687b..e1601a8 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp23292176"></a><h2>Plugin Information</h2>
+<a name="idp24886016"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp23292832"></a><h2>Elements</h2>
+<a name="idp24537232"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html
index bccd59b..4a5d85d 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp22464016"></a><h2>Plugin Information</h2>
+<a name="idp23833504"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp25067632"></a><h2>Elements</h2>
+<a name="idp25594608"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html
index 9d93f79..62dfa3c 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp9647120"></a><h2>Plugin Information</h2>
+<a name="idp24051248"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp21230160"></a><h2>Elements</h2>
+<a name="idp25245536"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html
index 4fd2bb5..6dab448 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp25095264"></a><h2>Plugin Information</h2>
+<a name="idp25225968"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp23566464"></a><h2>Elements</h2>
+<a name="idp23829280"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-monoscope.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-monoscope.html
index 6cfebef..387ddba 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-monoscope.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-monoscope.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp25490784"></a><h2>Plugin Information</h2>
+<a name="idp24069584"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp24345456"></a><h2>Elements</h2>
+<a name="idp24600528"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html
index aca52fa..83470bc 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp21289952"></a><h2>Plugin Information</h2>
+<a name="idp24551376"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp16885632"></a><h2>Elements</h2>
+<a name="idp25979856"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html
index 93997ca..c9c568e 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp24763744"></a><h2>Plugin Information</h2>
+<a name="idp22067616"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp25036240"></a><h2>Elements</h2>
+<a name="idp24966240"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html
index 7495de6..1f458e4 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp21393360"></a><h2>Plugin Information</h2>
+<a name="idp25485184"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp24631568"></a><h2>Elements</h2>
+<a name="idp23208016"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html
index 3cc9e4e..61a1c86 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp10158576"></a><h2>Plugin Information</h2>
+<a name="idp25243376"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp24286752"></a><h2>Elements</h2>
+<a name="idp25561648"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html
index ffa0a16..53da264 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp23351072"></a><h2>Plugin Information</h2>
+<a name="idp25292144"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.10.30.1</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -47,7 +47,7 @@
 </tr>
 <tr>
 <td><p><span class="term">package</span></p></td>
-<td>GStreamer Good Plug-ins git</td>
+<td>GStreamer Good Plug-ins source release</td>
 </tr>
 <tr>
 <td><p><span class="term">origin</span></p></td>
@@ -57,15 +57,11 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp25120096"></a><h2>Elements</h2>
+<a name="idp25457904"></a><h2>Elements</h2>
 <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/gst-plugins-good/html/gst-plugins-good-plugins-oss4mixer.html">oss4mixer</a></span></p></td>
-<td>Control sound input and output levels with OSS4</td>
-</tr>
-<tr>
 <td><p><span class="term"><a class="link" href="gst-plugins-good-plugins-oss4sink.html" title="oss4sink">oss4sink</a></span></p></td>
 <td>Output to a sound card via OSS version 4</td>
 </tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html
index 7947ef9..bc96510 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp20767936"></a><h2>Plugin Information</h2>
+<a name="idp24255776"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.10.30.1</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -47,7 +47,7 @@
 </tr>
 <tr>
 <td><p><span class="term">package</span></p></td>
-<td>GStreamer Good Plug-ins git</td>
+<td>GStreamer Good Plug-ins source release</td>
 </tr>
 <tr>
 <td><p><span class="term">origin</span></p></td>
@@ -57,15 +57,11 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp24943408"></a><h2>Elements</h2>
+<a name="idp24308256"></a><h2>Elements</h2>
 <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/gst-plugins-good/html/gst-plugins-good-plugins-ossmixer.html">ossmixer</a></span></p></td>
-<td>Control sound input and output levels with OSS</td>
-</tr>
-<tr>
 <td><p><span class="term"><a class="link" href="gst-plugins-good-plugins-osssink.html" title="osssink">osssink</a></span></p></td>
 <td>Output to a sound card via OSS</td>
 </tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-osxaudio.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-osxaudio.html
index 1887dfa..a9416f9 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-osxaudio.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-osxaudio.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp23352656"></a><h2>Plugin Information</h2>
+<a name="idp24041120"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp25610496"></a><h2>Elements</h2>
+<a name="idp24336544"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-osxvideo.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-osxvideo.html
index 38045ce..bcabc1a 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-osxvideo.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-osxvideo.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp24882800"></a><h2>Plugin Information</h2>
+<a name="idp24241888"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp16941504"></a><h2>Elements</h2>
+<a name="idp25384000"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html
index d706e3f..5442fd4 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp24059648"></a><h2>Plugin Information</h2>
+<a name="idp24267792"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp25729424"></a><h2>Elements</h2>
+<a name="idp19747168"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html
index 7e55a91..8d32f63 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp23968848"></a><h2>Plugin Information</h2>
+<a name="idp25585120"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,15 +57,11 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp23564768"></a><h2>Elements</h2>
+<a name="idp22058112"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
 <tr>
-<td><p><span class="term"><a class="link" href="gst-plugins-good-plugins-pulsemixer.html" title="pulsemixer">pulsemixer</a></span></p></td>
-<td>Control sound input and output levels for PulseAudio</td>
-</tr>
-<tr>
 <td><p><span class="term"><a class="link" href="gst-plugins-good-plugins-pulsesink.html" title="pulsesink">pulsesink</a></span></p></td>
 <td>Plays audio to a PulseAudio server</td>
 </tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html
index bde66dc..528cff9 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp22348336"></a><h2>Plugin Information</h2>
+<a name="idp25171600"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp24838096"></a><h2>Elements</h2>
+<a name="idp23837600"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html
index bfb9681..b0d5577 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp22348464"></a><h2>Plugin Information</h2>
+<a name="idp24338912"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp25585248"></a><h2>Elements</h2>
+<a name="idp25162896"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html
index ec0ebbe..662b5f1 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp21396432"></a><h2>Plugin Information</h2>
+<a name="idp25617888"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp25537344"></a><h2>Elements</h2>
+<a name="idp25413856"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html
index f75c89f..5cd62c9 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp25694464"></a><h2>Plugin Information</h2>
+<a name="idp24608160"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp25398016"></a><h2>Elements</h2>
+<a name="idp23625248"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html
index 6a1d4be..3ff9d4d 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp25417680"></a><h2>Plugin Information</h2>
+<a name="idp25996640"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp25492128"></a><h2>Elements</h2>
+<a name="idp24972048"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html
index 720bb7c..b27334b 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp25684320"></a><h2>Plugin Information</h2>
+<a name="idp24125632"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp16953568"></a><h2>Elements</h2>
+<a name="idp22082912"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html
index 61e1c97..a5e2047 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp25462560"></a><h2>Plugin Information</h2>
+<a name="idp16493008"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp24472880"></a><h2>Elements</h2>
+<a name="idp25036272"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html
index b8918a5..14d8fb6 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp22434592"></a><h2>Plugin Information</h2>
+<a name="idp24671136"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp25504816"></a><h2>Elements</h2>
+<a name="idp24309696"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html
index 2e2a826..ad5d741 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp25511536"></a><h2>Plugin Information</h2>
+<a name="idp25131056"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp24892224"></a><h2>Elements</h2>
+<a name="idp24898128"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html
index a0d2f7a..2bd5263 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp24411168"></a><h2>Plugin Information</h2>
+<a name="idp24341712"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp22690256"></a><h2>Elements</h2>
+<a name="idp23098432"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html
index 53cc6cc..9130e32 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp24998816"></a><h2>Plugin Information</h2>
+<a name="idp23613664"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp23714224"></a><h2>Elements</h2>
+<a name="idp24065536"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html
index 7028d66..9c75722 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp25742368"></a><h2>Plugin Information</h2>
+<a name="idp25965760"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp23944176"></a><h2>Elements</h2>
+<a name="idp25343008"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html
index 85a8db8..90f85ba 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp25202752"></a><h2>Plugin Information</h2>
+<a name="idp24529152"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp23521792"></a><h2>Elements</h2>
+<a name="idp25577952"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html
index 473b3f1..c04124e 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp25118400"></a><h2>Plugin Information</h2>
+<a name="idp26006752"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.10.30.1</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -47,7 +47,7 @@
 </tr>
 <tr>
 <td><p><span class="term">package</span></p></td>
-<td>GStreamer Good Plug-ins git</td>
+<td>GStreamer Good Plug-ins source release</td>
 </tr>
 <tr>
 <td><p><span class="term">origin</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp23682384"></a><h2>Elements</h2>
+<a name="idp23207488"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html
index 168e648..18d01a0 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp24309920"></a><h2>Plugin Information</h2>
+<a name="idp23207616"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp25896208"></a><h2>Elements</h2>
+<a name="idp24495712"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html
index 0550066..f2fa1d2 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp24734896"></a><h2>Plugin Information</h2>
+<a name="idp24878176"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp23640976"></a><h2>Elements</h2>
+<a name="idp26380544"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html
index 6264bb3..a4c5a77 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp25448816"></a><h2>Plugin Information</h2>
+<a name="idp19015376"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp24020080"></a><h2>Elements</h2>
+<a name="idp24088336"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-waveform.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-waveform.html
index 4d19947..68b98f4 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-waveform.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-waveform.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp25602448"></a><h2>Plugin Information</h2>
+<a name="idp25201280"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp25400112"></a><h2>Elements</h2>
+<a name="idp24790320"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html
index 6e99385..e0c933d 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp25840016"></a><h2>Plugin Information</h2>
+<a name="idp25256224"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp24021760"></a><h2>Elements</h2>
+<a name="idp22658224"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html
index cebacef..f7f1bdb 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp25677776"></a><h2>Plugin Information</h2>
+<a name="idp24577856"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp23324752"></a><h2>Elements</h2>
+<a name="idp25990224"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html
index 1a18437..74ca12d 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp25753920"></a><h2>Plugin Information</h2>
+<a name="idp25155728"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp20506976"></a><h2>Elements</h2>
+<a name="idp25534896"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html
index f3c4c18..f630714 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp22367568"></a><h2>Plugin Information</h2>
+<a name="idp24077392"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp23535504"></a><h2>Elements</h2>
+<a name="idp24753360"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html
index 933f6ef..1a04d50 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp26295152"></a><h2>Plugin Information</h2>
+<a name="idp26435280"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -39,7 +39,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>0.11.90</td>
+<td>0.11.92</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="idp24831392"></a><h2>Elements</h2>
+<a name="idp25437584"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-pngdec.html b/docs/plugins/html/gst-plugins-good-plugins-pngdec.html
index d6afe8d..51d8853 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-pngdec.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-pngdec.html
@@ -49,7 +49,8 @@
    +----<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>
-                     +----GstPngDec
+                     +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder">GstVideoDecoder</a>
+                           +----GstPngDec
 </pre>
 </div>
 <div class="refsect1">
@@ -57,7 +58,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp13508640"></a><h3>Element Information</h3>
+<a name="idp17045680"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -80,7 +81,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp15764176"></a><h3>Element Pads</h3>
+<a name="idp12461632"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-pngenc.html b/docs/plugins/html/gst-plugins-good-plugins-pngenc.html
index c655076..4535725 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-pngenc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-pngenc.html
@@ -27,6 +27,8 @@
                    | 
                   <a href="#gst-plugins-good-plugins-pngenc.object-hierarchy" class="shortcut">Object Hierarchy</a>
                    | 
+                  <a href="#gst-plugins-good-plugins-pngenc.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
+                   | 
                   <a href="#gst-plugins-good-plugins-pngenc.properties" class="shortcut">Properties</a>
 </td></tr>
 </table>
@@ -51,10 +53,17 @@
    +----<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>
-                     +----GstPngEnc
+                     +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder">GstVideoEncoder</a>
+                           +----GstPngEnc
 </pre>
 </div>
 <div class="refsect1">
+<a name="gst-plugins-good-plugins-pngenc.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+GstPngEnc implements
+ <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPreset.html">GstPreset</a>.</p>
+</div>
+<div class="refsect1">
 <a name="gst-plugins-good-plugins-pngenc.properties"></a><h2>Properties</h2>
 <pre class="synopsis">
   "<a class="link" href="gst-plugins-good-plugins-pngenc.html#GstPngEnc--compression-level" title='The "compression-level" property'>compression-level</a>"        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write
@@ -66,7 +75,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp13316944"></a><h3>Element Information</h3>
+<a name="idp8801328"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -89,7 +98,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp15239952"></a><h3>Element Pads</h3>
+<a name="idp17387600"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-progressreport.html b/docs/plugins/html/gst-plugins-good-plugins-progressreport.html
index 1b1bdfe..2144ac4 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-progressreport.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-progressreport.html
@@ -104,7 +104,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp13991040"></a><h3>Example launch line</h3>
+<a name="idp16573728"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -133,7 +133,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp7256736"></a><h3>Element Information</h3>
+<a name="idp14888352"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -156,7 +156,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp18138176"></a><h3>Element Pads</h3>
+<a name="idp17620800"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-pulsemixer.html b/docs/plugins/html/gst-plugins-good-plugins-pulsemixer.html
index 8a9f1cb..09279ac 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-pulsemixer.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-pulsemixer.html
@@ -31,7 +31,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-good-plugins-pulsemixer.top_of_page"></a>pulsemixer</span></h2>
-<p>pulsemixer — Control sound input and output levels for PulseAudio</p>
+<p>pulsemixer</p>
 </td>
 <td valign="top" align="right"></td>
 </tr></table></div>
@@ -41,35 +41,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-good-plugins-pulsemixer.description"></a><h2>Description</h2>
-<div class="refsynopsisdiv">
-<h2>Synopsis</h2>
-<div class="refsect2">
-<a name="idp12358688"></a><h3>Element Information</h3>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">plugin</span></p></td>
-<td>
-            <a class="link" href="gst-plugins-good-plugins-plugin-pulseaudio.html#plugin-pulseaudio">pulseaudio</a>
-          </td>
-</tr>
-<tr>
-<td><p><span class="term">author</span></p></td>
-<td>Lennart Poettering</td>
-</tr>
-<tr>
-<td><p><span class="term">class</span></p></td>
-<td>Generic/Audio</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="idp17805504"></a><h3>Element Pads</h3>
-</div>
-</div>
 <p>
 </p>
 </div>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-pulsesink.html b/docs/plugins/html/gst-plugins-good-plugins-pulsesink.html
index ef496d5..88cc29d 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-pulsesink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-pulsesink.html
@@ -82,7 +82,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp10988000"></a><h3>Element Information</h3>
+<a name="idp14226496"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -105,7 +105,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp16601440"></a><h3>Element Pads</h3>
+<a name="idp18533488"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-pulsesrc.html b/docs/plugins/html/gst-plugins-good-plugins-pulsesrc.html
index d6e333f..14a4066 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-pulsesrc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-pulsesrc.html
@@ -85,7 +85,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp17836224"></a><h3>Element Information</h3>
+<a name="idp15830176"></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="idp17185552"></a><h3>Element Pads</h3>
+<a name="idp16137760"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-qtdemux.html b/docs/plugins/html/gst-plugins-good-plugins-qtdemux.html
index ff087f5..e077485 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-qtdemux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-qtdemux.html
@@ -72,7 +72,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp16198944"></a><h3>Example launch line</h3>
+<a name="idp18579184"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -96,7 +96,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp17206640"></a><h3>Element Information</h3>
+<a name="idp18396848"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -119,7 +119,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp18403552"></a><h3>Element Pads</h3>
+<a name="idp14995312"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-qtmoovrecover.html b/docs/plugins/html/gst-plugins-good-plugins-qtmoovrecover.html
index d50551b..afe1b1d 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-qtmoovrecover.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-qtmoovrecover.html
@@ -81,7 +81,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp17765248"></a><h3>Example pipelines</h3>
+<a name="idp16289536"></a><h3>Example pipelines</h3>
 <p>
 This element recovers quicktime files created with qtmux using the moov
 recovery feature.
@@ -102,7 +102,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp14195840"></a><h3>Element Information</h3>
+<a name="idp17935520"></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="idp16410720"></a><h3>Element Pads</h3>
+<a name="idp13683776"></a><h3>Element Pads</h3>
 </div>
 </div>
 <p>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-qtmux.html b/docs/plugins/html/gst-plugins-good-plugins-qtmux.html
index b21d023..cf48bb4 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-qtmux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-qtmux.html
@@ -133,7 +133,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp16989280"></a><h3>Example pipelines</h3>
+<a name="idp14533840"></a><h3>Example pipelines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -155,7 +155,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp16172624"></a><h3>Element Information</h3>
+<a name="idp18089440"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -178,7 +178,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp12515216"></a><h3>Element Pads</h3>
+<a name="idp18220912"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-quarktv.html b/docs/plugins/html/gst-plugins-good-plugins-quarktv.html
index 9c74761..41ef034 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-quarktv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-quarktv.html
@@ -72,7 +72,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp7403632"></a><h3>Example launch line</h3>
+<a name="idp16982704"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -90,7 +90,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp16391712"></a><h3>Element Information</h3>
+<a name="idp12094928"></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="idp17691664"></a><h3>Element Pads</h3>
+<a name="idp7666208"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-radioactv.html b/docs/plugins/html/gst-plugins-good-plugins-radioactv.html
index a1f40f3..f6406ca 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-radioactv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-radioactv.html
@@ -83,7 +83,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp10854224"></a><h3>Example launch line</h3>
+<a name="idp17938752"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -101,7 +101,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp18848112"></a><h3>Element Information</h3>
+<a name="idp17974720"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -124,7 +124,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp15835168"></a><h3>Element Pads</h3>
+<a name="idp18371584"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-revtv.html b/docs/plugins/html/gst-plugins-good-plugins-revtv.html
index eaeda0f..06a01ab 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-revtv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-revtv.html
@@ -69,7 +69,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp16197088"></a><h3>Element Information</h3>
+<a name="idp15114448"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -92,7 +92,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp15120032"></a><h3>Element Pads</h3>
+<a name="idp18604560"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-rganalysis.html b/docs/plugins/html/gst-plugins-good-plugins-rganalysis.html
index 8366ef9..925288a 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-rganalysis.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-rganalysis.html
@@ -90,7 +90,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp18237024"></a><h3>Example launch lines</h3>
+<a name="idp18377488"></a><h3>Example launch lines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -138,7 +138,7 @@
 </p>
 <hr>
 <div class="refsect2">
-<a name="idp15245040"></a><h3>Acknowledgements</h3>
+<a name="idp16057808"></a><h3>Acknowledgements</h3>
 <p>
 This element is based on code used in the <a class="ulink" href="http://sjeng.org/vorbisgain.html" target="_top">vorbisgain</a> program and many
 others.  The relevant parts are copyrighted by David Robinson, Glen Sawyer
@@ -150,7 +150,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp17882816"></a><h3>Element Information</h3>
+<a name="idp16076176"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -173,7 +173,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp17377328"></a><h3>Element Pads</h3>
+<a name="idp16534736"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-rglimiter.html b/docs/plugins/html/gst-plugins-good-plugins-rglimiter.html
index c103d23..99dbbcf 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-rglimiter.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-rglimiter.html
@@ -71,7 +71,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp16485264"></a><h3>Example launch line</h3>
+<a name="idp17417984"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -93,7 +93,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp18422224"></a><h3>Element Information</h3>
+<a name="idp16095728"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -116,7 +116,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp18081200"></a><h3>Element Pads</h3>
+<a name="idp12715696"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-rgvolume.html b/docs/plugins/html/gst-plugins-good-plugins-rgvolume.html
index 8c7723d..139a0fe 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-rgvolume.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-rgvolume.html
@@ -104,7 +104,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp17808000"></a><h3>Example launch line</h3>
+<a name="idp11662896"></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="idp16300672"></a><h3>Element Information</h3>
+<a name="idp15798384"></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="idp18297472"></a><h3>Element Pads</h3>
+<a name="idp17320768"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-rippletv.html b/docs/plugins/html/gst-plugins-good-plugins-rippletv.html
index d3a9287..8e48a1e 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-rippletv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-rippletv.html
@@ -72,7 +72,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp15442720"></a><h3>Example launch line</h3>
+<a name="idp14494592"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -90,7 +90,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp17495024"></a><h3>Element Information</h3>
+<a name="idp18386560"></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="idp17383984"></a><h3>Element Pads</h3>
+<a name="idp12922656"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-rtpbin.html b/docs/plugins/html/gst-plugins-good-plugins-rtpbin.html
index ecbedef..e1cfb98 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-rtpbin.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-rtpbin.html
@@ -105,7 +105,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp20120176"></a><h3>Element Information</h3>
+<a name="idp19963648"></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="idp20127632"></a><h3>Element Pads</h3>
+<a name="idp19971104"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-rtpdec.html b/docs/plugins/html/gst-plugins-good-plugins-rtpdec.html
index 9da97f8..60ecfde 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-rtpdec.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-rtpdec.html
@@ -87,7 +87,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp18076736"></a><h3>Element Information</h3>
+<a name="idp18422528"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -110,7 +110,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp16741456"></a><h3>Element Pads</h3>
+<a name="idp15775200"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-rtpj2kpay.html b/docs/plugins/html/gst-plugins-good-plugins-rtpj2kpay.html
index 19a59d9..17c742f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-rtpj2kpay.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-rtpj2kpay.html
@@ -75,7 +75,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp16409504"></a><h3>Element Information</h3>
+<a name="idp15023856"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -98,7 +98,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp15968496"></a><h3>Element Pads</h3>
+<a name="idp15432080"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-rtpjitterbuffer.html b/docs/plugins/html/gst-plugins-good-plugins-rtpjitterbuffer.html
index 399247f..d121db5 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-rtpjitterbuffer.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-rtpjitterbuffer.html
@@ -82,7 +82,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp19063808"></a><h3>Element Information</h3>
+<a name="idp15909456"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -105,7 +105,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp18771664"></a><h3>Element Pads</h3>
+<a name="idp17936192"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-rtpjpegpay.html b/docs/plugins/html/gst-plugins-good-plugins-rtpjpegpay.html
index a5c2d91..30b6340 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-rtpjpegpay.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-rtpjpegpay.html
@@ -80,7 +80,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp19177456"></a><h3>Element Information</h3>
+<a name="idp19262176"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -103,7 +103,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp19227808"></a><h3>Element Pads</h3>
+<a name="idp16372944"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-rtpptdemux.html b/docs/plugins/html/gst-plugins-good-plugins-rtpptdemux.html
index 35326fa..6ad4019 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-rtpptdemux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-rtpptdemux.html
@@ -68,7 +68,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp18007024"></a><h3>Element Information</h3>
+<a name="idp18333344"></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="idp10848784"></a><h3>Element Pads</h3>
+<a name="idp18026816"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-rtpsession.html b/docs/plugins/html/gst-plugins-good-plugins-rtpsession.html
index f085d3d..6193057 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-rtpsession.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-rtpsession.html
@@ -93,7 +93,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp16718688"></a><h3>Element Information</h3>
+<a name="idp20768944"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -116,7 +116,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp16750032"></a><h3>Element Pads</h3>
+<a name="idp9068560"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-rtpssrcdemux.html b/docs/plugins/html/gst-plugins-good-plugins-rtpssrcdemux.html
index e975329..3438f8a 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-rtpssrcdemux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-rtpssrcdemux.html
@@ -67,7 +67,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp18382192"></a><h3>Element Information</h3>
+<a name="idp18338576"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -90,7 +90,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp10443728"></a><h3>Element Pads</h3>
+<a name="idp17846320"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-rtspsrc.html b/docs/plugins/html/gst-plugins-good-plugins-rtspsrc.html
index 4ab5ddb..32fffd1 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-rtspsrc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-rtspsrc.html
@@ -120,7 +120,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp17495856"></a><h3>Example launch line</h3>
+<a name="idp16812576"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -142,7 +142,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp14815408"></a><h3>Element Information</h3>
+<a name="idp16968336"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -165,7 +165,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp19109360"></a><h3>Element Pads</h3>
+<a name="idp14126928"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-shagadelictv.html b/docs/plugins/html/gst-plugins-good-plugins-shagadelictv.html
index e429624..3c55c32 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-shagadelictv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-shagadelictv.html
@@ -62,7 +62,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp17609472"></a><h3>Example launch line</h3>
+<a name="idp11613744"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -80,7 +80,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp10381440"></a><h3>Element Information</h3>
+<a name="idp19951856"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -103,7 +103,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp18154080"></a><h3>Element Pads</h3>
+<a name="idp19820576"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-shapewipe.html b/docs/plugins/html/gst-plugins-good-plugins-shapewipe.html
index 7d96529..6b8b6da 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-shapewipe.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-shapewipe.html
@@ -77,7 +77,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp20575168"></a><h3>Example launch line</h3>
+<a name="idp19928560"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -95,7 +95,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp18048304"></a><h3>Element Information</h3>
+<a name="idp13802976"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -118,7 +118,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp19229200"></a><h3>Element Pads</h3>
+<a name="idp17159696"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-smpte.html b/docs/plugins/html/gst-plugins-good-plugins-smpte.html
index d91621a..1b5e32f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-smpte.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-smpte.html
@@ -80,7 +80,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp14059248"></a><h3>Sample pipelines</h3>
+<a name="idp16930224"></a><h3>Sample pipelines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -101,7 +101,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp18850944"></a><h3>Element Information</h3>
+<a name="idp15005712"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -124,7 +124,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp21636624"></a><h3>Element Pads</h3>
+<a name="idp15773936"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-smptealpha.html b/docs/plugins/html/gst-plugins-good-plugins-smptealpha.html
index eef233f..429b473 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-smptealpha.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-smptealpha.html
@@ -87,7 +87,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp18566688"></a><h3>Sample pipelines</h3>
+<a name="idp17815568"></a><h3>Sample pipelines</h3>
 <p>
 Here is a pipeline to demonstrate the smpte transition :
 </p>
@@ -106,7 +106,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp16653744"></a><h3>Element Information</h3>
+<a name="idp17461872"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -129,7 +129,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp21153392"></a><h3>Element Pads</h3>
+<a name="idp20163440"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-souphttpsrc.html b/docs/plugins/html/gst-plugins-good-plugins-souphttpsrc.html
index 55e62a0..31220a7 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-souphttpsrc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-souphttpsrc.html
@@ -91,7 +91,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp17570512"></a><h3>Element Information</h3>
+<a name="idp18458304"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -114,7 +114,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp11179712"></a><h3>Element Pads</h3>
+<a name="idp16526672"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-spectrum.html b/docs/plugins/html/gst-plugins-good-plugins-spectrum.html
index 8f04cfc..5f63d61 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-spectrum.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-spectrum.html
@@ -132,7 +132,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp21423072"></a><h3>Example application</h3>
+<a name="idp18637312"></a><h3>Example application</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -399,7 +399,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp21273264"></a><h3>Element Information</h3>
+<a name="idp21504352"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -422,7 +422,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp21732432"></a><h3>Element Pads</h3>
+<a name="idp19198720"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-speexdec.html b/docs/plugins/html/gst-plugins-good-plugins-speexdec.html
index e9fb3ee..977741c 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-speexdec.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-speexdec.html
@@ -66,7 +66,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp21834736"></a><h3>Element Information</h3>
+<a name="idp19233488"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -89,7 +89,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp18938016"></a><h3>Element Pads</h3>
+<a name="idp17066736"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-speexenc.html b/docs/plugins/html/gst-plugins-good-plugins-speexenc.html
index bc8f42c..f2ae642 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-speexenc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-speexenc.html
@@ -83,7 +83,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp15066320"></a><h3>Element Information</h3>
+<a name="idp18777776"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -106,7 +106,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp14957872"></a><h3>Element Pads</h3>
+<a name="idp20790096"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-splitfilesrc.html b/docs/plugins/html/gst-plugins-good-plugins-splitfilesrc.html
index 3b7d9c3..575a4ac 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-splitfilesrc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-splitfilesrc.html
@@ -77,7 +77,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp21668256"></a><h3>Example launch line</h3>
+<a name="idp22243216"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -95,7 +95,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp16295984"></a><h3>Element Information</h3>
+<a name="idp16819744"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -118,7 +118,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp21942352"></a><h3>Element Pads</h3>
+<a name="idp22268880"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-streaktv.html b/docs/plugins/html/gst-plugins-good-plugins-streaktv.html
index 8b5e67a..c0e10da 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-streaktv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-streaktv.html
@@ -70,7 +70,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp19882688"></a><h3>Example launch line</h3>
+<a name="idp18778064"></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="idp17242032"></a><h3>Element Information</h3>
+<a name="idp17921024"></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="idp22099168"></a><h3>Element Pads</h3>
+<a name="idp18701600"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-taginject.html b/docs/plugins/html/gst-plugins-good-plugins-taginject.html
index 39b22b2..0363016 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-taginject.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-taginject.html
@@ -70,7 +70,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp12697936"></a><h3>Example launch lines</h3>
+<a name="idp22819360"></a><h3>Example launch lines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -99,7 +99,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp18853472"></a><h3>Element Information</h3>
+<a name="idp18904192"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -122,7 +122,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp18307872"></a><h3>Element Pads</h3>
+<a name="idp17806352"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-udpsink.html b/docs/plugins/html/gst-plugins-good-plugins-udpsink.html
index 1f77f52..cd14929 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-udpsink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-udpsink.html
@@ -80,7 +80,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp14730480"></a><h3>Examples</h3>
+<a name="idp15516560"></a><h3>Examples</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="idp19869808"></a><h3>Element Information</h3>
+<a name="idp16561840"></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="idp22819600"></a><h3>Element Pads</h3>
+<a name="idp18907088"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-udpsrc.html b/docs/plugins/html/gst-plugins-good-plugins-udpsrc.html
index 4a878a4..cfc8db7 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-udpsrc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-udpsrc.html
@@ -160,7 +160,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp19232304"></a><h3>Examples</h3>
+<a name="idp21272048"></a><h3>Examples</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -206,7 +206,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp22226064"></a><h3>Element Information</h3>
+<a name="idp19556576"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -229,7 +229,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp21817312"></a><h3>Element Pads</h3>
+<a name="idp21319664"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-v4l2radio.html b/docs/plugins/html/gst-plugins-good-plugins-v4l2radio.html
index 2aa55da..cd50b22 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-v4l2radio.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-v4l2radio.html
@@ -74,7 +74,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp21944288"></a><h3>Element Information</h3>
+<a name="idp21518464"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -97,7 +97,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp17997584"></a><h3>Element Pads</h3>
+<a name="idp20192112"></a><h3>Element Pads</h3>
 </div>
 </div>
 <p>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-v4l2sink.html b/docs/plugins/html/gst-plugins-good-plugins-v4l2sink.html
index 2beb61c..5ac2d37 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-v4l2sink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-v4l2sink.html
@@ -94,7 +94,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp21526592"></a><h3>Element Information</h3>
+<a name="idp21397760"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -117,7 +117,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp19178192"></a><h3>Element Pads</h3>
+<a name="idp16891888"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -227,6 +227,10 @@
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
+<td> video/x-h264, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
 <td> video/x-sonix, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]</td>
 </tr>
 <tr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-v4l2src.html b/docs/plugins/html/gst-plugins-good-plugins-v4l2src.html
index 0bd7eb6..9145577 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-v4l2src.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-v4l2src.html
@@ -30,6 +30,8 @@
                   <a href="#gst-plugins-good-plugins-v4l2src.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
                    | 
                   <a href="#gst-plugins-good-plugins-v4l2src.properties" class="shortcut">Properties</a>
+                   | 
+                  <a href="#gst-plugins-good-plugins-v4l2src.signals" class="shortcut">Signals</a>
 </td></tr>
 </table>
 <div class="refentry">
@@ -83,11 +85,17 @@
 </pre>
 </div>
 <div class="refsect1">
+<a name="gst-plugins-good-plugins-v4l2src.signals"></a><h2>Signals</h2>
+<pre class="synopsis">
+  "<a class="link" href="gst-plugins-good-plugins-v4l2src.html#GstV4l2Src-prepare-format" title='The "prepare-format" signal'>prepare-format</a>"                                 : <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>
+</div>
+<div class="refsect1">
 <a name="gst-plugins-good-plugins-v4l2src.description"></a><h2>Description</h2>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp21517520"></a><h3>Element Information</h3>
+<a name="idp19246304"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -110,7 +118,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp16213136"></a><h3>Element Pads</h3>
+<a name="idp14972000"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -220,6 +228,10 @@
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
+<td> video/x-h264, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
 <td> video/x-sonix, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]</td>
 </tr>
 <tr>
@@ -345,6 +357,33 @@
 <p>Default value: GST_V4L2_IO_AUTO</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-good-plugins-v4l2src.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="GstV4l2Src-prepare-format"></a><h3>The <code class="literal">"prepare-format"</code> signal</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-good-plugins-v4l2src.html#GstV4l2Src"><span class="type">GstV4l2Src</span></a> *gstv4l2src,
+                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>        arg1,
+                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>       arg2,
+                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>       arg3,
+                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>       arg4,
+                                                        <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>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>gstv4l2src</code></em> :</span></p></td>
+<td>the object which received the signal.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
+<td>user data set when the signal handler was connected.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
 </div>
 <div class="footer">
 <hr>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-vertigotv.html b/docs/plugins/html/gst-plugins-good-plugins-vertigotv.html
index f9b4943..aacdcea 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-vertigotv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-vertigotv.html
@@ -79,7 +79,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp5308992"></a><h3>Example launch line</h3>
+<a name="idp18881200"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -97,7 +97,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp20062160"></a><h3>Element Information</h3>
+<a name="idp17294656"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -120,7 +120,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp22485984"></a><h3>Element Pads</h3>
+<a name="idp21864656"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-videobalance.html b/docs/plugins/html/gst-plugins-good-plugins-videobalance.html
index 6fffa6a..5ce27a4 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-videobalance.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-videobalance.html
@@ -81,7 +81,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp21176496"></a><h3>Example launch line</h3>
+<a name="idp19492112"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -103,7 +103,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp22550640"></a><h3>Element Information</h3>
+<a name="idp21329760"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -126,7 +126,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp22067088"></a><h3>Element Pads</h3>
+<a name="idp17245296"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-videobox.html b/docs/plugins/html/gst-plugins-good-plugins-videobox.html
index cb210d3..13dd11a 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-videobox.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-videobox.html
@@ -25,6 +25,8 @@
                    | 
                   <a href="#gst-plugins-good-plugins-videobox.description" class="shortcut">Description</a>
                    | 
+                  <a href="#gst-plugins-good-plugins-videobox.object-hierarchy" class="shortcut">Object Hierarchy</a>
+                   | 
                   <a href="#gst-plugins-good-plugins-videobox.properties" class="shortcut">Properties</a>
 </td></tr>
 </table>
@@ -39,7 +41,19 @@
 </tr></table></div>
 <div class="refsynopsisdiv">
 <a name="gst-plugins-good-plugins-videobox.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">struct              <a class="link" href="gst-plugins-good-plugins-videobox.html#GstVideoBox" title="struct GstVideoBox">GstVideoBox</a>;
+<a name="GstVideoBox"></a><pre class="synopsis">struct              <a class="link" href="gst-plugins-good-plugins-videobox.html#GstVideoBox-struct" title="struct GstVideoBox">GstVideoBox</a>;
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-good-plugins-videobox.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="synopsis">
+  <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+   +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+         +----<a 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="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideofilter.html#GstVideoFilter">GstVideoFilter</a>
+                                 +----GstVideoBox
 </pre>
 </div>
 <div class="refsect1">
@@ -97,7 +111,7 @@
         <td class="listing_lines" align="right"><pre>1
 2</pre></td>
         <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch videotestsrc <span class="gtkdoc opt">!</span> videobox autocrop<span class="gtkdoc opt">=</span><span class="keyword">true</span> <span class="gtkdoc opt">!</span> \
-  <span class="string">&quot;video/x-raw-yuv, width=600, height=400&quot;</span> <span class="gtkdoc opt">!</span> ffmpegcolorspace <span class="gtkdoc opt">!</span> ximagesink</pre></td>
+  <span class="string">&quot;video/x-raw, width=600, height=400&quot;</span> <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> ximagesink</pre></td>
       </tr>
     </tbody>
   </table>
@@ -108,7 +122,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp17690768"></a><h3>Element Information</h3>
+<a name="idp23145904"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -131,7 +145,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp21687024"></a><h3>Element Pads</h3>
+<a name="idp22489632"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -149,91 +163,7 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>video/x-raw-yuv, format=(fourcc)AYUV, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-yuv, format=(fourcc)Y444, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-yuv, format=(fourcc)Y42B, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-yuv, format=(fourcc)YUY2, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-yuv, format=(fourcc)YVYU, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-yuv, format=(fourcc)UYVY, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-yuv, format=(fourcc)YV12, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-yuv, format=(fourcc)Y41B, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-gray, bpp=(int)8, depth=(int)8, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-gray, bpp=(int)16, depth=(int)16, endianness=(int)4321, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-gray, bpp=(int)16, depth=(int)16, endianness=(int)1234, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td>video/x-raw, format=(string){ AYUV, ARGB, BGRA, ABGR, RGBA, xRGB, BGRx, xBGR, RGBx, RGB, BGR, Y444, Y42B, YUY2, YVYU, UYVY, I420, YV12, Y41B, GRAY8, GRAY16_BE, GRAY16_LE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 </tbody>
 </table></div>
@@ -254,91 +184,7 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>video/x-raw-yuv, format=(fourcc)AYUV, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-yuv, format=(fourcc)Y444, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-yuv, format=(fourcc)Y42B, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-yuv, format=(fourcc)YUY2, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-yuv, format=(fourcc)YVYU, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-yuv, format=(fourcc)UYVY, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-yuv, format=(fourcc)YV12, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-yuv, format=(fourcc)Y41B, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-gray, bpp=(int)8, depth=(int)8, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-gray, bpp=(int)16, depth=(int)16, endianness=(int)4321, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
-</tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-raw-gray, bpp=(int)16, depth=(int)16, endianness=(int)1234, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td>video/x-raw, format=(string){ AYUV, ARGB, BGRA, ABGR, RGBA, xRGB, BGRx, xBGR, RGBx, RGB, BGR, Y444, Y42B, YUY2, YVYU, UYVY, I420, YV12, Y41B, GRAY8, GRAY16_BE, GRAY16_LE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 </tbody>
 </table></div>
@@ -350,11 +196,8 @@
 <div class="refsect1">
 <a name="gst-plugins-good-plugins-videobox.details"></a><h2>Details</h2>
 <div class="refsect2">
-<a name="GstVideoBox"></a><h3>struct GstVideoBox</h3>
-<pre class="programlisting">struct GstVideoBox {
-  GstVideoFilter element;
-};
-</pre>
+<a name="GstVideoBox-struct"></a><h3>struct GstVideoBox</h3>
+<pre class="programlisting">struct GstVideoBox;</pre>
 <p>
 </p>
 </div>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-videocrop.html b/docs/plugins/html/gst-plugins-good-plugins-videocrop.html
index 4013ef3..a97868d 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-videocrop.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-videocrop.html
@@ -91,7 +91,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp23662672"></a><h3>Example launch line</h3>
+<a name="idp22560576"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -109,7 +109,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp17591952"></a><h3>Element Information</h3>
+<a name="idp19679072"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -132,7 +132,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp18797280"></a><h3>Element Pads</h3>
+<a name="idp21264960"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -150,7 +150,7 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>video/x-raw, format=(string){ RGBx, xRGB, BGRx, xBGR, RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, YUY2, YVYU, UYVY, Y800, I420, RGB16, RGB15, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td>video/x-raw, format=(string){ RGBx, xRGB, BGRx, xBGR, RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, YUY2, YVYU, UYVY, I420, RGB16, RGB15, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 </tbody>
 </table></div>
@@ -171,7 +171,7 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>video/x-raw, format=(string){ RGBx, xRGB, BGRx, xBGR, RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, YUY2, YVYU, UYVY, Y800, I420, RGB16, RGB15, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td>video/x-raw, format=(string){ RGBx, xRGB, BGRx, xBGR, RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, YUY2, YVYU, UYVY, I420, RGB16, RGB15, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 </tbody>
 </table></div>
@@ -225,7 +225,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-good-plugins-videocrop.see-also"></a><h2>See Also</h2>
-<a class="link" href="gst-plugins-good-plugins-videobox.html#GstVideoBox" title="struct GstVideoBox"><span class="type">GstVideoBox</span></a>
+<a class="link" href="gst-plugins-good-plugins-videobox.html#GstVideoBox"><span class="type">GstVideoBox</span></a>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/plugins/html/gst-plugins-good-plugins-videoflip.html b/docs/plugins/html/gst-plugins-good-plugins-videoflip.html
index 20c3ea7..1b7d5c3 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-videoflip.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-videoflip.html
@@ -71,7 +71,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp16174512"></a><h3>Example launch line</h3>
+<a name="idp19600080"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -92,7 +92,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp19044400"></a><h3>Element Information</h3>
+<a name="idp5522368"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -115,7 +115,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp21619792"></a><h3>Element Pads</h3>
+<a name="idp16687744"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-videomixer.html b/docs/plugins/html/gst-plugins-good-plugins-videomixer.html
index 0873ef1..6f48030 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-videomixer.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-videomixer.html
@@ -59,7 +59,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp21787088"></a><h3>Sample pipelines</h3>
+<a name="idp23886704"></a><h3>Sample pipelines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -160,7 +160,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp19379936"></a><h3>Element Information</h3>
+<a name="idp23762656"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -183,13 +183,13 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp22037008"></a><h3>Element Pads</h3>
+<a name="idp16908720"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
 <tr>
 <td><p><span class="term">name</span></p></td>
-<td>sink_%d</td>
+<td>sink_%u</td>
 </tr>
 <tr>
 <td><p><span class="term">direction</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-warptv.html b/docs/plugins/html/gst-plugins-good-plugins-warptv.html
index 9fcdd6e..f72d18a 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-warptv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-warptv.html
@@ -62,7 +62,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp23554528"></a><h3>Example launch line</h3>
+<a name="idp20134176"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -80,7 +80,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp19931600"></a><h3>Element Information</h3>
+<a name="idp20859648"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -103,7 +103,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp18221472"></a><h3>Element Pads</h3>
+<a name="idp22745664"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-waveformsink.html b/docs/plugins/html/gst-plugins-good-plugins-waveformsink.html
index 1ae4d37..7803249 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-waveformsink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-waveformsink.html
@@ -45,7 +45,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp22500896"></a><h3>Element Information</h3>
+<a name="idp21828608"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -68,7 +68,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp24153296"></a><h3>Element Pads</h3>
+<a name="idp23069872"></a><h3>Element Pads</h3>
 </div>
 </div>
 <p>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-wavenc.html b/docs/plugins/html/gst-plugins-good-plugins-wavenc.html
index fc9b4d5..75bef15 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-wavenc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-wavenc.html
@@ -60,7 +60,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp16677424"></a><h3>Element Information</h3>
+<a name="idp22184928"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -83,7 +83,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp21719888"></a><h3>Element Pads</h3>
+<a name="idp19908336"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-wavpackdec.html b/docs/plugins/html/gst-plugins-good-plugins-wavpackdec.html
index 19cccb5..f4a549b 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-wavpackdec.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-wavpackdec.html
@@ -58,7 +58,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp19207504"></a><h3>Element Information</h3>
+<a name="idp13004288"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -81,7 +81,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp23715184"></a><h3>Element Pads</h3>
+<a name="idp22012256"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-wavpackenc.html b/docs/plugins/html/gst-plugins-good-plugins-wavpackenc.html
index 9ddb7c4..817e008 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-wavpackenc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-wavpackenc.html
@@ -80,7 +80,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp19987648"></a><h3>Element Information</h3>
+<a name="idp2320880"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -103,7 +103,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp24350064"></a><h3>Element Pads</h3>
+<a name="idp21195552"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-wavpackparse.html b/docs/plugins/html/gst-plugins-good-plugins-wavpackparse.html
index 9449ec3..e2035e0 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-wavpackparse.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-wavpackparse.html
@@ -61,7 +61,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp24132576"></a><h3>Example launch line</h3>
+<a name="idp23728944"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -79,7 +79,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp22571296"></a><h3>Element Information</h3>
+<a name="idp8829824"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -102,7 +102,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp20807616"></a><h3>Element Pads</h3>
+<a name="idp17510176"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-wavparse.html b/docs/plugins/html/gst-plugins-good-plugins-wavparse.html
index a93f278..71d7ce7 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-wavparse.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-wavparse.html
@@ -72,7 +72,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp19868720"></a><h3>Example launch line</h3>
+<a name="idp22784432"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -105,7 +105,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp21882848"></a><h3>Element Information</h3>
+<a name="idp23820656"></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="idp22682112"></a><h3>Element Pads</h3>
+<a name="idp23731424"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-webmmux.html b/docs/plugins/html/gst-plugins-good-plugins-webmmux.html
index 6a70f72..fbe12d5 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-webmmux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-webmmux.html
@@ -69,7 +69,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp22755776"></a><h3>Example launch line</h3>
+<a name="idp21854480"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -108,7 +108,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp22437056"></a><h3>Element Information</h3>
+<a name="idp21557888"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -131,7 +131,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp18311792"></a><h3>Element Pads</h3>
+<a name="idp21767952"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -238,6 +238,10 @@
 <td><p><span class="term">details</span></p></td>
 <td>video/webm</td>
 </tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/webm</td>
+</tr>
 </tbody>
 </table></div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-ximagesrc.html b/docs/plugins/html/gst-plugins-good-plugins-ximagesrc.html
index 0a6b86d..8e0b030 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-ximagesrc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-ximagesrc.html
@@ -77,7 +77,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp22041664"></a><h3>Element Information</h3>
+<a name="idp23579168"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -100,7 +100,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp23743728"></a><h3>Element Pads</h3>
+<a name="idp23595360"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-y4menc.html b/docs/plugins/html/gst-plugins-good-plugins-y4menc.html
index 44e95d3..f07d99e 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-y4menc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-y4menc.html
@@ -57,7 +57,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp17943328"></a><h3>Example launch line</h3>
+<a name="idp23695536"></a><h3>Example launch line</h3>
 <p>
 Creates a YU4MPEG2 raw video stream as defined by the mjpegtools project.
 </p>
@@ -77,7 +77,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp18609632"></a><h3>Element Information</h3>
+<a name="idp19658528"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
@@ -100,7 +100,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp5499840"></a><h3>Element Pads</h3>
+<a name="idp14827680"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
 <tbody>
diff --git a/docs/plugins/html/gst-plugins-good-plugins.devhelp2 b/docs/plugins/html/gst-plugins-good-plugins.devhelp2
index cf0f18c..ae6cc98 100644
--- a/docs/plugins/html/gst-plugins-good-plugins.devhelp2
+++ b/docs/plugins/html/gst-plugins-good-plugins.devhelp2
@@ -42,8 +42,6 @@
       <sub name="cairorender" link="gst-plugins-good-plugins-cairorender.html"/>
       <sub name="cairooverlay" link="gst-plugins-good-plugins-cairooverlay.html"/>
       <sub name="capssetter" link="gst-plugins-good-plugins-capssetter.html"/>
-      <sub name="cmmldec" link="gst-plugins-good-plugins-cmmldec.html"/>
-      <sub name="cmmlenc" link="gst-plugins-good-plugins-cmmlenc.html"/>
       <sub name="cutter" link="gst-plugins-good-plugins-cutter.html"/>
       <sub name="dcaparse" link="gst-plugins-good-plugins-dcaparse.html"/>
       <sub name="deinterlace" link="gst-plugins-good-plugins-deinterlace.html"/>
@@ -170,7 +168,6 @@
       <sub name="alaw" link="gst-plugins-good-plugins-plugin-alaw.html"/>
       <sub name="alpha" link="gst-plugins-good-plugins-plugin-alpha.html"/>
       <sub name="alphacolor" link="gst-plugins-good-plugins-plugin-alphacolor.html"/>
-      <sub name="annodex" link="gst-plugins-good-plugins-plugin-annodex.html"/>
       <sub name="apetag" link="gst-plugins-good-plugins-plugin-apetag.html"/>
       <sub name="audiofx" link="gst-plugins-good-plugins-plugin-audiofx.html"/>
       <sub name="auparse" link="gst-plugins-good-plugins-plugin-auparse.html"/>
@@ -243,15 +240,15 @@
     </sub>
   </chapters>
   <functions>
-    <keyword type="" name="Example pipelines" link="gst-plugins-good-plugins-3gppmux.html#idp9398192"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-3gppmux.html#idp9135536"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-3gppmux.html#idp7843984"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-aacparse.html#idp6492544"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-aacparse.html#idp4505456"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-aacparse.html#idp7993424"/>
+    <keyword type="" name="Example pipelines" link="gst-plugins-good-plugins-3gppmux.html#idp8328720"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-3gppmux.html#idp6518336"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-3gppmux.html#idp6229168"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-aacparse.html#idp9559600"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-aacparse.html#idp6596800"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-aacparse.html#idp7982560"/>
     <keyword type="struct" name="struct GstAacParse" link="gst-plugins-good-plugins-aacparse.html#GstAacParse-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-aasink.html#idp5374656"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-aasink.html#idp8617504"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-aasink.html#idp8268384"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-aasink.html#idp7952176"/>
     <keyword type="struct" name="struct GstAASink" link="gst-plugins-good-plugins-aasink.html#GstAASink-struct"/>
     <keyword type="property" name="The &quot;brightness&quot; property" link="gst-plugins-good-plugins-aasink.html#GstAASink--brightness"/>
     <keyword type="property" name="The &quot;contrast&quot; property" link="gst-plugins-good-plugins-aasink.html#GstAASink--contrast"/>
@@ -266,20 +263,20 @@
     <keyword type="property" name="The &quot;width&quot; property" link="gst-plugins-good-plugins-aasink.html#GstAASink--width"/>
     <keyword type="signal" name="The &quot;frame-displayed&quot; signal" link="gst-plugins-good-plugins-aasink.html#GstAASink-frame-displayed"/>
     <keyword type="signal" name="The &quot;have-size&quot; signal" link="gst-plugins-good-plugins-aasink.html#GstAASink-have-size"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-ac3parse.html#idp5885568"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-ac3parse.html#idp5794640"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-ac3parse.html#idp8081552"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-ac3parse.html#idp9335856"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-ac3parse.html#idp6399376"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-ac3parse.html#idp7492656"/>
     <keyword type="struct" name="struct GstAc3Parse" link="gst-plugins-good-plugins-ac3parse.html#GstAc3Parse-struct"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-agingtv.html#idp9792304"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-agingtv.html#idp8947712"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-agingtv.html#idp7299200"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-agingtv.html#idp9746128"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-agingtv.html#idp5701344"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-agingtv.html#idp9838144"/>
     <keyword type="struct" name="struct GstAgingTV" link="gst-plugins-good-plugins-agingtv.html#GstAgingTV-struct"/>
     <keyword type="property" name="The &quot;color-aging&quot; property" link="gst-plugins-good-plugins-agingtv.html#GstAgingTV--color-aging"/>
     <keyword type="property" name="The &quot;dusts&quot; property" link="gst-plugins-good-plugins-agingtv.html#GstAgingTV--dusts"/>
     <keyword type="property" name="The &quot;pits&quot; property" link="gst-plugins-good-plugins-agingtv.html#GstAgingTV--pits"/>
     <keyword type="property" name="The &quot;scratch-lines&quot; property" link="gst-plugins-good-plugins-agingtv.html#GstAgingTV--scratch-lines"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-alpha.html#idp7693376"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-alpha.html#idp5828128"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-alpha.html#idp6436096"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-alpha.html#idp10122416"/>
     <keyword type="struct" name="struct GstAlpha" link="gst-plugins-good-plugins-alpha.html#GstAlpha-struct"/>
     <keyword type="enum" name="enum GstAlphaMethod" link="gst-plugins-good-plugins-alpha.html#GstAlphaMethod"/>
     <keyword type="property" name="The &quot;alpha&quot; property" link="gst-plugins-good-plugins-alpha.html#GstAlpha--alpha"/>
@@ -292,41 +289,41 @@
     <keyword type="property" name="The &quot;black-sensitivity&quot; property" link="gst-plugins-good-plugins-alpha.html#GstAlpha--black-sensitivity"/>
     <keyword type="property" name="The &quot;white-sensitivity&quot; property" link="gst-plugins-good-plugins-alpha.html#GstAlpha--white-sensitivity"/>
     <keyword type="property" name="The &quot;prefer-passthrough&quot; property" link="gst-plugins-good-plugins-alpha.html#GstAlpha--prefer-passthrough"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-alphacolor.html#idp5656096"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-alphacolor.html#idp6968704"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-alphacolor.html#idp5533136"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-alphacolor.html#idp9398432"/>
     <keyword type="struct" name="struct GstAlphaColor" link="gst-plugins-good-plugins-alphacolor.html#GstAlphaColor-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-alawdec.html#idp9033600"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-alawdec.html#idp5484128"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-alawdec.html#idp5919136"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-alawdec.html#idp9205920"/>
     <keyword type="struct" name="struct GstALawDec" link="gst-plugins-good-plugins-alawdec.html#GstALawDec-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-alawenc.html#idp7489152"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-alawenc.html#idp9499328"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-alawenc.html#idp7084208"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-alawenc.html#idp7973840"/>
     <keyword type="struct" name="struct GstALawDec" link="gst-plugins-good-plugins-alawenc.html#GstALawDec-struct"/>
     <keyword type="struct" name="struct GstALawEnc" link="gst-plugins-good-plugins-alawenc.html#GstALawEnc"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-amrparse.html#idp7306176"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-amrparse.html#idp9919136"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-amrparse.html#idp5826544"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-amrparse.html#idp7826944"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-amrparse.html#idp8715728"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-amrparse.html#idm32288"/>
     <keyword type="struct" name="struct GstAmrParse" link="gst-plugins-good-plugins-amrparse.html#GstAmrParse-struct"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-apedemux.html#idp8171328"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-apedemux.html#idp9800000"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-apedemux.html#idp9114816"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-apedemux.html#idp9161520"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-apedemux.html#idp8269344"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-apedemux.html#idp7065776"/>
     <keyword type="struct" name="struct GstApeDemux" link="gst-plugins-good-plugins-apedemux.html#GstApeDemux-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-apev2mux.html#idp7630320"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-apev2mux.html#idp5530256"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-apev2mux.html#idp5917840"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-apev2mux.html#idp6930672"/>
     <keyword type="struct" name="struct GstApev2Mux" link="gst-plugins-good-plugins-apev2mux.html#GstApev2Mux-struct"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-aspectratiocrop.html#idp8244624"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-aspectratiocrop.html#idp9218592"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-aspectratiocrop.html#idp6577024"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-aspectratiocrop.html#idp8880032"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-aspectratiocrop.html#idp10181968"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-aspectratiocrop.html#idp8844816"/>
     <keyword type="struct" name="struct GstAspectRatioCrop" link="gst-plugins-good-plugins-aspectratiocrop.html#GstAspectRatioCrop-struct"/>
     <keyword type="property" name="The &quot;aspect-ratio&quot; property" link="gst-plugins-good-plugins-aspectratiocrop.html#GstAspectRatioCrop--aspect-ratio"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-audioamplify.html#idp7361040"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audioamplify.html#idp10685616"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audioamplify.html#idp9453504"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-audioamplify.html#idp9991504"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audioamplify.html#idp8439776"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audioamplify.html#idp8274080"/>
     <keyword type="struct" name="struct GstAudioAmplify" link="gst-plugins-good-plugins-audioamplify.html#GstAudioAmplify-struct"/>
     <keyword type="property" name="The &quot;amplification&quot; property" link="gst-plugins-good-plugins-audioamplify.html#GstAudioAmplify--amplification"/>
     <keyword type="property" name="The &quot;clipping-method&quot; property" link="gst-plugins-good-plugins-audioamplify.html#GstAudioAmplify--clipping-method"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-audiochebband.html#idp5931136"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audiochebband.html#idp6868224"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audiochebband.html#idp10155648"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-audiochebband.html#idp8513472"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audiochebband.html#idp8843520"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audiochebband.html#idp7544080"/>
     <keyword type="struct" name="struct GstAudioChebBand" link="gst-plugins-good-plugins-audiochebband.html#GstAudioChebBand-struct"/>
     <keyword type="property" name="The &quot;lower-frequency&quot; property" link="gst-plugins-good-plugins-audiochebband.html#GstAudioChebBand--lower-frequency"/>
     <keyword type="property" name="The &quot;mode&quot; property" link="gst-plugins-good-plugins-audiochebband.html#GstAudioChebBand--mode"/>
@@ -334,127 +331,127 @@
     <keyword type="property" name="The &quot;ripple&quot; property" link="gst-plugins-good-plugins-audiochebband.html#GstAudioChebBand--ripple"/>
     <keyword type="property" name="The &quot;type&quot; property" link="gst-plugins-good-plugins-audiochebband.html#GstAudioChebBand--type"/>
     <keyword type="property" name="The &quot;upper-frequency&quot; property" link="gst-plugins-good-plugins-audiochebband.html#GstAudioChebBand--upper-frequency"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-audiocheblimit.html#idp9289040"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audiocheblimit.html#idp9722064"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audiocheblimit.html#idp6156160"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-audiocheblimit.html#idp6782368"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audiocheblimit.html#idp8527136"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audiocheblimit.html#idp7678736"/>
     <keyword type="struct" name="struct GstAudioChebLimit" link="gst-plugins-good-plugins-audiocheblimit.html#GstAudioChebLimit-struct"/>
     <keyword type="property" name="The &quot;cutoff&quot; property" link="gst-plugins-good-plugins-audiocheblimit.html#GstAudioChebLimit--cutoff"/>
     <keyword type="property" name="The &quot;mode&quot; property" link="gst-plugins-good-plugins-audiocheblimit.html#GstAudioChebLimit--mode"/>
     <keyword type="property" name="The &quot;poles&quot; property" link="gst-plugins-good-plugins-audiocheblimit.html#GstAudioChebLimit--poles"/>
     <keyword type="property" name="The &quot;ripple&quot; property" link="gst-plugins-good-plugins-audiocheblimit.html#GstAudioChebLimit--ripple"/>
     <keyword type="property" name="The &quot;type&quot; property" link="gst-plugins-good-plugins-audiocheblimit.html#GstAudioChebLimit--type"/>
-    <keyword type="" name="Example application" link="gst-plugins-good-plugins-audiofirfilter.html#idp5737296"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audiofirfilter.html#idp8854768"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audiofirfilter.html#idp6572736"/>
+    <keyword type="" name="Example application" link="gst-plugins-good-plugins-audiofirfilter.html#idp11231552"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audiofirfilter.html#idp9528224"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audiofirfilter.html#idp10238000"/>
     <keyword type="struct" name="struct GstAudioFIRFilter" link="gst-plugins-good-plugins-audiofirfilter.html#GstAudioFIRFilter-struct"/>
     <keyword type="property" name="The &quot;kernel&quot; property" link="gst-plugins-good-plugins-audiofirfilter.html#GstAudioFIRFilter--kernel"/>
     <keyword type="property" name="The &quot;latency&quot; property" link="gst-plugins-good-plugins-audiofirfilter.html#GstAudioFIRFilter--latency"/>
     <keyword type="signal" name="The &quot;rate-changed&quot; signal" link="gst-plugins-good-plugins-audiofirfilter.html#GstAudioFIRFilter-rate-changed"/>
-    <keyword type="" name="Example application" link="gst-plugins-good-plugins-audioiirfilter.html#idp5979696"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audioiirfilter.html#idp8061232"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audioiirfilter.html#idp7643008"/>
+    <keyword type="" name="Example application" link="gst-plugins-good-plugins-audioiirfilter.html#idp9177520"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audioiirfilter.html#idp2790368"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audioiirfilter.html#idp6233376"/>
     <keyword type="struct" name="struct GstAudioIIRFilter" link="gst-plugins-good-plugins-audioiirfilter.html#GstAudioIIRFilter-struct"/>
     <keyword type="property" name="The &quot;a&quot; property" link="gst-plugins-good-plugins-audioiirfilter.html#GstAudioIIRFilter--a"/>
     <keyword type="property" name="The &quot;b&quot; property" link="gst-plugins-good-plugins-audioiirfilter.html#GstAudioIIRFilter--b"/>
     <keyword type="signal" name="The &quot;rate-changed&quot; signal" link="gst-plugins-good-plugins-audioiirfilter.html#GstAudioIIRFilter-rate-changed"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-audiowsincband.html#idp7767040"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audiowsincband.html#idp10068864"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audiowsincband.html#idp6333312"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-audiowsincband.html#idp8942528"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audiowsincband.html#idp8261168"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audiowsincband.html#idp6138256"/>
     <keyword type="struct" name="struct GstAudioWSincBand" link="gst-plugins-good-plugins-audiowsincband.html#GstAudioWSincBand-struct"/>
     <keyword type="property" name="The &quot;lower-frequency&quot; property" link="gst-plugins-good-plugins-audiowsincband.html#GstAudioWSincBand--lower-frequency"/>
     <keyword type="property" name="The &quot;upper-frequency&quot; property" link="gst-plugins-good-plugins-audiowsincband.html#GstAudioWSincBand--upper-frequency"/>
     <keyword type="property" name="The &quot;mode&quot; property" link="gst-plugins-good-plugins-audiowsincband.html#GstAudioWSincBand--mode"/>
     <keyword type="property" name="The &quot;window&quot; property" link="gst-plugins-good-plugins-audiowsincband.html#GstAudioWSincBand--window"/>
     <keyword type="property" name="The &quot;length&quot; property" link="gst-plugins-good-plugins-audiowsincband.html#GstAudioWSincBand--length"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-audiowsinclimit.html#idp7146640"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audiowsinclimit.html#idp6506432"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audiowsinclimit.html#idp5621488"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-audiowsinclimit.html#idp6850720"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audiowsinclimit.html#idp10982944"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audiowsinclimit.html#idp6873056"/>
     <keyword type="struct" name="struct GstAudioWSincLimit" link="gst-plugins-good-plugins-audiowsinclimit.html#GstAudioWSincLimit-struct"/>
     <keyword type="property" name="The &quot;frequency&quot; property" link="gst-plugins-good-plugins-audiowsinclimit.html#GstAudioWSincLimit--frequency"/>
     <keyword type="property" name="The &quot;length&quot; property" link="gst-plugins-good-plugins-audiowsinclimit.html#GstAudioWSincLimit--length"/>
     <keyword type="property" name="The &quot;mode&quot; property" link="gst-plugins-good-plugins-audiowsinclimit.html#GstAudioWSincLimit--mode"/>
     <keyword type="property" name="The &quot;window&quot; property" link="gst-plugins-good-plugins-audiowsinclimit.html#GstAudioWSincLimit--window"/>
     <keyword type="property" name="The &quot;cutoff&quot; property" link="gst-plugins-good-plugins-audiowsinclimit.html#GstAudioWSincLimit--cutoff"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-audioecho.html#idp8240144"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audioecho.html#idp7131664"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audioecho.html#idp5696480"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-audioecho.html#idp8803856"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audioecho.html#idp8686672"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audioecho.html#idp9744128"/>
     <keyword type="struct" name="struct GstAudioEcho" link="gst-plugins-good-plugins-audioecho.html#GstAudioEcho-struct"/>
     <keyword type="property" name="The &quot;delay&quot; property" link="gst-plugins-good-plugins-audioecho.html#GstAudioEcho--delay"/>
     <keyword type="property" name="The &quot;feedback&quot; property" link="gst-plugins-good-plugins-audioecho.html#GstAudioEcho--feedback"/>
     <keyword type="property" name="The &quot;intensity&quot; property" link="gst-plugins-good-plugins-audioecho.html#GstAudioEcho--intensity"/>
     <keyword type="property" name="The &quot;max-delay&quot; property" link="gst-plugins-good-plugins-audioecho.html#GstAudioEcho--max-delay"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-audiodynamic.html#idm7184"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audiodynamic.html#idp7281264"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audiodynamic.html#idp7251216"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-audiodynamic.html#idp10827520"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audiodynamic.html#idp9888192"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audiodynamic.html#idp7949072"/>
     <keyword type="struct" name="struct GstAudioDynamic" link="gst-plugins-good-plugins-audiodynamic.html#GstAudioDynamic-struct"/>
     <keyword type="property" name="The &quot;characteristics&quot; property" link="gst-plugins-good-plugins-audiodynamic.html#GstAudioDynamic--characteristics"/>
     <keyword type="property" name="The &quot;mode&quot; property" link="gst-plugins-good-plugins-audiodynamic.html#GstAudioDynamic--mode"/>
     <keyword type="property" name="The &quot;ratio&quot; property" link="gst-plugins-good-plugins-audiodynamic.html#GstAudioDynamic--ratio"/>
     <keyword type="property" name="The &quot;threshold&quot; property" link="gst-plugins-good-plugins-audiodynamic.html#GstAudioDynamic--threshold"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-audioinvert.html#idp8744464"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audioinvert.html#idp10117632"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audioinvert.html#idp7165968"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-audioinvert.html#idp10929664"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audioinvert.html#idp8620496"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audioinvert.html#idp7399888"/>
     <keyword type="struct" name="struct GstAudioInvert" link="gst-plugins-good-plugins-audioinvert.html#GstAudioInvert-struct"/>
     <keyword type="property" name="The &quot;degree&quot; property" link="gst-plugins-good-plugins-audioinvert.html#GstAudioInvert--degree"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-audiopanorama.html#idp6898352"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audiopanorama.html#idp9239664"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audiopanorama.html#idp10045600"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-audiopanorama.html#idp10565616"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audiopanorama.html#idp7714992"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audiopanorama.html#idp6869376"/>
     <keyword type="struct" name="struct GstAudioPanorama" link="gst-plugins-good-plugins-audiopanorama.html#GstAudioPanorama-struct"/>
     <keyword type="property" name="The &quot;panorama&quot; property" link="gst-plugins-good-plugins-audiopanorama.html#GstAudioPanorama--panorama"/>
     <keyword type="property" name="The &quot;method&quot; property" link="gst-plugins-good-plugins-audiopanorama.html#GstAudioPanorama--method"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-audiokaraoke.html#idp9808992"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audiokaraoke.html#idp7990032"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audiokaraoke.html#idm5296"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-audiokaraoke.html#idp4884352"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-audiokaraoke.html#idp6238576"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-audiokaraoke.html#idm6320"/>
     <keyword type="struct" name="struct GstAudioKaraoke" link="gst-plugins-good-plugins-audiokaraoke.html#GstAudioKaraoke-struct"/>
     <keyword type="property" name="The &quot;filter-band&quot; property" link="gst-plugins-good-plugins-audiokaraoke.html#GstAudioKaraoke--filter-band"/>
     <keyword type="property" name="The &quot;filter-width&quot; property" link="gst-plugins-good-plugins-audiokaraoke.html#GstAudioKaraoke--filter-width"/>
     <keyword type="property" name="The &quot;level&quot; property" link="gst-plugins-good-plugins-audiokaraoke.html#GstAudioKaraoke--level"/>
     <keyword type="property" name="The &quot;mono-level&quot; property" link="gst-plugins-good-plugins-audiokaraoke.html#GstAudioKaraoke--mono-level"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-auparse.html#idp7290656"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-auparse.html#idp6911408"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-auparse.html#idp6093648"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-auparse.html#idp9170592"/>
     <keyword type="struct" name="struct GstAuParse" link="gst-plugins-good-plugins-auparse.html#GstAuParse-struct"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-autoaudiosink.html#idp7451552"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-autoaudiosink.html#idp10052208"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-autoaudiosink.html#idp7658096"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-autoaudiosink.html#idp5485152"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-autoaudiosink.html#idp10627184"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-autoaudiosink.html#idp9738464"/>
     <keyword type="struct" name="GstAutoAudioSink" link="gst-plugins-good-plugins-autoaudiosink.html#GstAutoAudioSink-struct"/>
     <keyword type="property" name="The &quot;filter-caps&quot; property" link="gst-plugins-good-plugins-autoaudiosink.html#GstAutoAudioSink--filter-caps"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-autoaudiosrc.html#idp7388048"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-autoaudiosrc.html#idp6433824"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-autoaudiosrc.html#idp7519456"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-autoaudiosrc.html#idp11817920"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-autoaudiosrc.html#idp1882064"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-autoaudiosrc.html#idp6081344"/>
     <keyword type="struct" name="GstAutoAudioSrc" link="gst-plugins-good-plugins-autoaudiosrc.html#GstAutoAudioSrc-struct"/>
     <keyword type="property" name="The &quot;filter-caps&quot; property" link="gst-plugins-good-plugins-autoaudiosrc.html#GstAutoAudioSrc--filter-caps"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-autovideosink.html#idp5033936"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-autovideosink.html#idp7376240"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-autovideosink.html#idp5968880"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-autovideosink.html#idp7435376"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-autovideosink.html#idp5800176"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-autovideosink.html#idp6481776"/>
     <keyword type="struct" name="GstAutoVideoSink" link="gst-plugins-good-plugins-autovideosink.html#GstAutoVideoSink-struct"/>
     <keyword type="property" name="The &quot;filter-caps&quot; property" link="gst-plugins-good-plugins-autovideosink.html#GstAutoVideoSink--filter-caps"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-autovideosrc.html#idp5941360"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-autovideosrc.html#idp11212608"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-autovideosrc.html#idp10080320"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-autovideosrc.html#idp8726784"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-autovideosrc.html#idp11712912"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-autovideosrc.html#idp11996464"/>
     <keyword type="struct" name="GstAutoVideoSrc" link="gst-plugins-good-plugins-autovideosrc.html#GstAutoVideoSrc-struct"/>
     <keyword type="property" name="The &quot;filter-caps&quot; property" link="gst-plugins-good-plugins-autovideosrc.html#GstAutoVideoSrc--filter-caps"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-avidemux.html#idp10829264"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-avidemux.html#idp10826064"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-avidemux.html#idp10820288"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-avidemux.html#idp11770896"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-avidemux.html#idp11768592"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-avidemux.html#idp7449344"/>
     <keyword type="struct" name="GstAviDemux" link="gst-plugins-good-plugins-avidemux.html#GstAviDemux-struct"/>
-    <keyword type="" name="Example launch lines" link="gst-plugins-good-plugins-avimux.html#idp9384352"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-avimux.html#idp9136560"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-avimux.html#idp6523328"/>
+    <keyword type="" name="Example launch lines" link="gst-plugins-good-plugins-avimux.html#idp6898096"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-avimux.html#idp11140432"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-avimux.html#idp11273712"/>
     <keyword type="struct" name="struct GstAviMux" link="gst-plugins-good-plugins-avimux.html#GstAviMux-struct"/>
     <keyword type="property" name="The &quot;bigfile&quot; property" link="gst-plugins-good-plugins-avimux.html#GstAviMux--bigfile"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-avisubtitle.html#idp5684848"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-avisubtitle.html#idp10139664"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-avisubtitle.html#idp11705264"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-avisubtitle.html#idp8874720"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-avisubtitle.html#idp6866848"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-avisubtitle.html#idp9114720"/>
     <keyword type="struct" name="struct GstAviSubtitle" link="gst-plugins-good-plugins-avisubtitle.html#GstAviSubtitle-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-cacasink.html#idp7448224"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-cacasink.html#idp9739808"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-cacasink.html#idp8935536"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-cacasink.html#idp11904096"/>
     <keyword type="struct" name="struct GstCACASink" link="gst-plugins-good-plugins-cacasink.html#GstCACASink-struct"/>
     <keyword type="property" name="The &quot;anti-aliasing&quot; property" link="gst-plugins-good-plugins-cacasink.html#GstCACASink--anti-aliasing"/>
     <keyword type="property" name="The &quot;dither&quot; property" link="gst-plugins-good-plugins-cacasink.html#GstCACASink--dither"/>
     <keyword type="property" name="The &quot;screen-height&quot; property" link="gst-plugins-good-plugins-cacasink.html#GstCACASink--screen-height"/>
     <keyword type="property" name="The &quot;screen-width&quot; property" link="gst-plugins-good-plugins-cacasink.html#GstCACASink--screen-width"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-cairotextoverlay.html#idp5318272"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-cairotextoverlay.html#idp12091712"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-cairotextoverlay.html#idp9043296"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-cairotextoverlay.html#idp2670656"/>
     <keyword type="struct" name="struct GstCairoTextOverlay" link="gst-plugins-good-plugins-cairotextoverlay.html#GstCairoTextOverlay"/>
     <keyword type="property" name="The &quot;deltax&quot; property" link="gst-plugins-good-plugins-cairotextoverlay.html#GstCairoTextOverlay--deltax"/>
     <keyword type="property" name="The &quot;deltay&quot; property" link="gst-plugins-good-plugins-cairotextoverlay.html#GstCairoTextOverlay--deltay"/>
@@ -466,50 +463,40 @@
     <keyword type="property" name="The &quot;xpad&quot; property" link="gst-plugins-good-plugins-cairotextoverlay.html#GstCairoTextOverlay--xpad"/>
     <keyword type="property" name="The &quot;ypad&quot; property" link="gst-plugins-good-plugins-cairotextoverlay.html#GstCairoTextOverlay--ypad"/>
     <keyword type="property" name="The &quot;silent&quot; property" link="gst-plugins-good-plugins-cairotextoverlay.html#GstCairoTextOverlay--silent"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-cairotimeoverlay.html#idp9575648"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-cairotimeoverlay.html#idp11024432"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-cairotimeoverlay.html#idp9081552"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-cairotimeoverlay.html#idp5598848"/>
     <keyword type="struct" name="GstCairoTimeOverlay" link="gst-plugins-good-plugins-cairotimeoverlay.html#GstCairoTimeOverlay"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-cairorender.html#idp9220544"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-cairorender.html#idp7482848"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-cairorender.html#idp12788464"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-cairorender.html#idp5654080"/>
     <keyword type="struct" name="struct GstCairoRender" link="gst-plugins-good-plugins-cairorender.html#GstCairoRender"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-cairooverlay.html#idp7042880"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-cairooverlay.html#idp9743824"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-cairooverlay.html#idp5975568"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-cairooverlay.html#idp6409152"/>
     <keyword type="struct" name="struct GstCairoOverlay" link="gst-plugins-good-plugins-cairooverlay.html#GstCairoOverlay"/>
     <keyword type="signal" name="The &quot;caps-changed&quot; signal" link="gst-plugins-good-plugins-cairooverlay.html#GstCairoOverlay-caps-changed"/>
     <keyword type="signal" name="The &quot;draw&quot; signal" link="gst-plugins-good-plugins-cairooverlay.html#GstCairoOverlay-draw"/>
-    <keyword type="" name="" link="gst-plugins-good-plugins-capssetter.html#idp6126832"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-capssetter.html#idp5148688"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-capssetter.html#idp7369216"/>
+    <keyword type="" name="" link="gst-plugins-good-plugins-capssetter.html#idp11329776"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-capssetter.html#idp9102800"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-capssetter.html#idp13297232"/>
     <keyword type="struct" name="struct GstCapsSetter" link="gst-plugins-good-plugins-capssetter.html#GstCapsSetter-struct"/>
     <keyword type="property" name="The &quot;caps&quot; property" link="gst-plugins-good-plugins-capssetter.html#GstCapsSetter--caps"/>
     <keyword type="property" name="The &quot;join&quot; property" link="gst-plugins-good-plugins-capssetter.html#GstCapsSetter--join"/>
     <keyword type="property" name="The &quot;replace&quot; property" link="gst-plugins-good-plugins-capssetter.html#GstCapsSetter--replace"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-cmmldec.html#idp12697024"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-cmmldec.html#idp7453904"/>
-    <keyword type="struct" name="struct GstCmmlDec" link="gst-plugins-good-plugins-cmmldec.html#GstCmmlDec-struct"/>
-    <keyword type="property" name="The &quot;wait-clip-end-time&quot; property" link="gst-plugins-good-plugins-cmmldec.html#GstCmmlDec--wait-clip-end-time"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-cmmlenc.html#idp8019104"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-cmmlenc.html#idp6488208"/>
-    <keyword type="struct" name="struct GstCmmlEnc" link="gst-plugins-good-plugins-cmmlenc.html#GstCmmlEnc-struct"/>
-    <keyword type="property" name="The &quot;granule-rate-denominator&quot; property" link="gst-plugins-good-plugins-cmmlenc.html#GstCmmlEnc--granule-rate-denominator"/>
-    <keyword type="property" name="The &quot;granule-rate-numerator&quot; property" link="gst-plugins-good-plugins-cmmlenc.html#GstCmmlEnc--granule-rate-numerator"/>
-    <keyword type="property" name="The &quot;granule-shift&quot; property" link="gst-plugins-good-plugins-cmmlenc.html#GstCmmlEnc--granule-shift"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-cutter.html#idp6820592"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-cutter.html#idp11220400"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-cutter.html#idp12243184"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-cutter.html#idp6357504"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-cutter.html#idp11153952"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-cutter.html#idp5732816"/>
     <keyword type="struct" name="struct GstCutter" link="gst-plugins-good-plugins-cutter.html#GstCutter-struct"/>
     <keyword type="property" name="The &quot;leaky&quot; property" link="gst-plugins-good-plugins-cutter.html#GstCutter--leaky"/>
     <keyword type="property" name="The &quot;pre-length&quot; property" link="gst-plugins-good-plugins-cutter.html#GstCutter--pre-length"/>
     <keyword type="property" name="The &quot;run-length&quot; property" link="gst-plugins-good-plugins-cutter.html#GstCutter--run-length"/>
     <keyword type="property" name="The &quot;threshold&quot; property" link="gst-plugins-good-plugins-cutter.html#GstCutter--threshold"/>
     <keyword type="property" name="The &quot;threshold-dB&quot; property" link="gst-plugins-good-plugins-cutter.html#GstCutter--threshold-dB"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-dcaparse.html#idp6247152"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-dcaparse.html#idp10880000"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-dcaparse.html#idp12005760"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-dcaparse.html#idp8712592"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-dcaparse.html#idp6418704"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-dcaparse.html#idp11837600"/>
     <keyword type="struct" name="struct GstDcaParse" link="gst-plugins-good-plugins-dcaparse.html#GstDcaParse-struct"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-deinterlace.html#idp12433392"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-deinterlace.html#idp11957088"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-deinterlace.html#idp12030128"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-deinterlace.html#idp9660032"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-deinterlace.html#idp8786960"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-deinterlace.html#idp7331136"/>
     <keyword type="struct" name="struct GstDeinterlace" link="gst-plugins-good-plugins-deinterlace.html#GstDeinterlace"/>
     <keyword type="property" name="The &quot;fields&quot; property" link="gst-plugins-good-plugins-deinterlace.html#GstDeinterlace--fields"/>
     <keyword type="property" name="The &quot;method&quot; property" link="gst-plugins-good-plugins-deinterlace.html#GstDeinterlace--method"/>
@@ -518,23 +505,23 @@
     <keyword type="property" name="The &quot;drop-orphans&quot; property" link="gst-plugins-good-plugins-deinterlace.html#GstDeinterlace--drop-orphans"/>
     <keyword type="property" name="The &quot;ignore-obscure&quot; property" link="gst-plugins-good-plugins-deinterlace.html#GstDeinterlace--ignore-obscure"/>
     <keyword type="property" name="The &quot;locking&quot; property" link="gst-plugins-good-plugins-deinterlace.html#GstDeinterlace--locking"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-deinterleave.html#idp10211568"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-deinterleave.html#idp11802256"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-deinterleave.html#idp6094560"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-deinterleave.html#idp10126080"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-deinterleave.html#idp6979312"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-deinterleave.html#idp2710896"/>
     <keyword type="struct" name="struct GstDeinterleave" link="gst-plugins-good-plugins-deinterleave.html#GstDeinterleave-struct"/>
     <keyword type="property" name="The &quot;keep-positions&quot; property" link="gst-plugins-good-plugins-deinterleave.html#GstDeinterleave--keep-positions"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-dicetv.html#idp6313056"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-dicetv.html#idp11138992"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-dicetv.html#idp6793888"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-dicetv.html#idp5734848"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-dicetv.html#idp11133024"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-dicetv.html#idp6606032"/>
     <keyword type="struct" name="struct GstDiceTV" link="gst-plugins-good-plugins-dicetv.html#GstDiceTV-struct"/>
     <keyword type="property" name="The &quot;square-bits&quot; property" link="gst-plugins-good-plugins-dicetv.html#GstDiceTV--square-bits"/>
     <keyword type="signal" name="The &quot;reset&quot; signal" link="gst-plugins-good-plugins-dicetv.html#GstDiceTV-reset"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-directsoundsink.html#idp11550240"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-directsoundsink.html#idp12563776"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-directsoundsink.html#idp4543536"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-directsoundsink.html#idp10870960"/>
     <keyword type="struct" name="struct GstDirectSoundSink" link="gst-plugins-good-plugins-directsoundsink.html#GstDirectSoundSink"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-dv1394src.html#idp12148768"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-dv1394src.html#idp11487712"/>
-    <keyword type="struct" name="struct GstDV1394Src" link="gst-plugins-good-plugins-dv1394src.html#GstDV1394Src"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-dv1394src.html#idp11892656"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-dv1394src.html#idp10643440"/>
+    <keyword type="struct" name="struct GstDV1394Src" link="gst-plugins-good-plugins-dv1394src.html#GstDV1394Src-struct"/>
     <keyword type="property" name="The &quot;channel&quot; property" link="gst-plugins-good-plugins-dv1394src.html#GstDV1394Src--channel"/>
     <keyword type="property" name="The &quot;consecutive&quot; property" link="gst-plugins-good-plugins-dv1394src.html#GstDV1394Src--consecutive"/>
     <keyword type="property" name="The &quot;drop-incomplete&quot; property" link="gst-plugins-good-plugins-dv1394src.html#GstDV1394Src--drop-incomplete"/>
@@ -544,23 +531,23 @@
     <keyword type="property" name="The &quot;use-avc&quot; property" link="gst-plugins-good-plugins-dv1394src.html#GstDV1394Src--use-avc"/>
     <keyword type="property" name="The &quot;device-name&quot; property" link="gst-plugins-good-plugins-dv1394src.html#GstDV1394Src--device-name"/>
     <keyword type="signal" name="The &quot;frame-dropped&quot; signal" link="gst-plugins-good-plugins-dv1394src.html#GstDV1394Src-frame-dropped"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-dvdec.html#idp10268272"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-dvdec.html#idp10917088"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-dvdec.html#idp11066512"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-dvdec.html#idp11540880"/>
     <keyword type="struct" name="struct GstDVDec" link="gst-plugins-good-plugins-dvdec.html#GstDVDec-struct"/>
     <keyword type="property" name="The &quot;clamp-chroma&quot; property" link="gst-plugins-good-plugins-dvdec.html#GstDVDec--clamp-chroma"/>
     <keyword type="property" name="The &quot;clamp-luma&quot; property" link="gst-plugins-good-plugins-dvdec.html#GstDVDec--clamp-luma"/>
     <keyword type="property" name="The &quot;drop-factor&quot; property" link="gst-plugins-good-plugins-dvdec.html#GstDVDec--drop-factor"/>
     <keyword type="property" name="The &quot;quality&quot; property" link="gst-plugins-good-plugins-dvdec.html#GstDVDec--quality"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-dvdemux.html#idp10746464"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-dvdemux.html#idp8336992"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-dvdemux.html#idp2690912"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-dvdemux.html#idp7547488"/>
     <keyword type="struct" name="struct GstDVDemux" link="gst-plugins-good-plugins-dvdemux.html#GstDVDemux-struct"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-edgetv.html#idp7492944"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-edgetv.html#idp6725056"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-edgetv.html#idp7995024"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-edgetv.html#idp2704416"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-edgetv.html#idp7328208"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-edgetv.html#idp10036848"/>
     <keyword type="struct" name="struct GstEdgeTV" link="gst-plugins-good-plugins-edgetv.html#GstEdgeTV-struct"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-equalizer-10bands.html#idp10621088"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-equalizer-10bands.html#idp10844480"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-equalizer-10bands.html#idp12502864"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-equalizer-10bands.html#idp12681408"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-equalizer-10bands.html#idp6681536"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-equalizer-10bands.html#idp13272720"/>
     <keyword type="struct" name="struct GstIirEqualizer10Bands" link="gst-plugins-good-plugins-equalizer-10bands.html#GstIirEqualizer10Bands-struct"/>
     <keyword type="property" name="The &quot;band0&quot; property" link="gst-plugins-good-plugins-equalizer-10bands.html#GstIirEqualizer10Bands--band0"/>
     <keyword type="property" name="The &quot;band1&quot; property" link="gst-plugins-good-plugins-equalizer-10bands.html#GstIirEqualizer10Bands--band1"/>
@@ -572,24 +559,24 @@
     <keyword type="property" name="The &quot;band7&quot; property" link="gst-plugins-good-plugins-equalizer-10bands.html#GstIirEqualizer10Bands--band7"/>
     <keyword type="property" name="The &quot;band8&quot; property" link="gst-plugins-good-plugins-equalizer-10bands.html#GstIirEqualizer10Bands--band8"/>
     <keyword type="property" name="The &quot;band9&quot; property" link="gst-plugins-good-plugins-equalizer-10bands.html#GstIirEqualizer10Bands--band9"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-equalizer-3bands.html#idp8414880"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-equalizer-3bands.html#idp11754272"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-equalizer-3bands.html#idp8398928"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-equalizer-3bands.html#idp13457696"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-equalizer-3bands.html#idp12006848"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-equalizer-3bands.html#idp11650640"/>
     <keyword type="struct" name="struct GstIirEqualizer3Bands" link="gst-plugins-good-plugins-equalizer-3bands.html#GstIirEqualizer3Bands-struct"/>
     <keyword type="property" name="The &quot;band0&quot; property" link="gst-plugins-good-plugins-equalizer-3bands.html#GstIirEqualizer3Bands--band0"/>
     <keyword type="property" name="The &quot;band1&quot; property" link="gst-plugins-good-plugins-equalizer-3bands.html#GstIirEqualizer3Bands--band1"/>
     <keyword type="property" name="The &quot;band2&quot; property" link="gst-plugins-good-plugins-equalizer-3bands.html#GstIirEqualizer3Bands--band2"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-equalizer-nbands.html#idp5958288"/>
-    <keyword type="" name="Example code" link="gst-plugins-good-plugins-equalizer-nbands.html#idp11468416"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-equalizer-nbands.html#idp14072800"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-equalizer-nbands.html#idp5990880"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-equalizer-nbands.html#idp12256624"/>
+    <keyword type="" name="Example code" link="gst-plugins-good-plugins-equalizer-nbands.html#idp11701904"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-equalizer-nbands.html#idp7105376"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-equalizer-nbands.html#idp6945472"/>
     <keyword type="struct" name="struct GstIirEqualizerNBands" link="gst-plugins-good-plugins-equalizer-nbands.html#GstIirEqualizerNBands-struct"/>
     <keyword type="property" name="The &quot;num-bands&quot; property" link="gst-plugins-good-plugins-equalizer-nbands.html#GstIirEqualizerNBands--num-bands"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-flacdec.html#idp5717312"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-flacdec.html#idp9572240"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-flacdec.html#idp8757696"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-flacdec.html#idp11093664"/>
     <keyword type="struct" name="struct GstFlacDec" link="gst-plugins-good-plugins-flacdec.html#GstFlacDec-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-flacenc.html#idp12549504"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-flacenc.html#idp13589536"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-flacenc.html#idp5780272"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-flacenc.html#idp11581408"/>
     <keyword type="struct" name="struct GstFlacEnc" link="gst-plugins-good-plugins-flacenc.html#GstFlacEnc-struct"/>
     <keyword type="property" name="The &quot;blocksize&quot; property" link="gst-plugins-good-plugins-flacenc.html#GstFlacEnc--blocksize"/>
     <keyword type="property" name="The &quot;escape-coding&quot; property" link="gst-plugins-good-plugins-flacenc.html#GstFlacEnc--escape-coding"/>
@@ -606,134 +593,134 @@
     <keyword type="property" name="The &quot;streamable-subset&quot; property" link="gst-plugins-good-plugins-flacenc.html#GstFlacEnc--streamable-subset"/>
     <keyword type="property" name="The &quot;padding&quot; property" link="gst-plugins-good-plugins-flacenc.html#GstFlacEnc--padding"/>
     <keyword type="property" name="The &quot;seekpoints&quot; property" link="gst-plugins-good-plugins-flacenc.html#GstFlacEnc--seekpoints"/>
-    <keyword type="" name="Example pipelines" link="gst-plugins-good-plugins-flacparse.html#idp5064016"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-flacparse.html#idp9737008"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-flacparse.html#idp3341648"/>
+    <keyword type="" name="Example pipelines" link="gst-plugins-good-plugins-flacparse.html#idp5278112"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-flacparse.html#idp9516336"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-flacparse.html#idp2264560"/>
     <keyword type="struct" name="struct GstFlacParse" link="gst-plugins-good-plugins-flacparse.html#GstFlacParse-struct"/>
     <keyword type="property" name="The &quot;check-frame-checksums&quot; property" link="gst-plugins-good-plugins-flacparse.html#GstFlacParse--check-frame-checksums"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-flactag.html#idp9432064"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-flactag.html#idp8078464"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-flactag.html#idp7725664"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-flactag.html#idp11325344"/>
     <keyword type="struct" name="struct GstFlacTag" link="gst-plugins-good-plugins-flactag.html#GstFlacTag-struct"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-flvdemux.html#idp5941616"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-flvdemux.html#idp14008096"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-flvdemux.html#idp13551456"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-flvdemux.html#idp8181024"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-flvdemux.html#idp11678112"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-flvdemux.html#idp5862512"/>
     <keyword type="struct" name="struct GstFlvDemux" link="gst-plugins-good-plugins-flvdemux.html#GstFlvDemux-struct"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-flvmux.html#idp13049856"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-flvmux.html#idp10897440"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-flvmux.html#idp11521824"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-flvmux.html#idp11936272"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-flvmux.html#idp6450800"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-flvmux.html#idp10194192"/>
     <keyword type="struct" name="GstFlvMux" link="gst-plugins-good-plugins-flvmux.html#GstFlvMux-struct"/>
     <keyword type="property" name="The &quot;is-live&quot; property" link="gst-plugins-good-plugins-flvmux.html#GstFlvMux--is-live"/>
     <keyword type="property" name="The &quot;streamable&quot; property" link="gst-plugins-good-plugins-flvmux.html#GstFlvMux--streamable"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-flxdec.html#idp5757568"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-flxdec.html#idp8040848"/>
-    <keyword type="struct" name="struct GstFlxDec" link="gst-plugins-good-plugins-flxdec.html#GstFlxDec"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-gamma.html#idp10885728"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-gamma.html#idp10088416"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-gamma.html#idp6598992"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-flxdec.html#idp8838624"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-flxdec.html#idp9990176"/>
+    <keyword type="struct" name="struct GstFlxDec" link="gst-plugins-good-plugins-flxdec.html#GstFlxDec-struct"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-gamma.html#idp7831248"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-gamma.html#idp8374064"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-gamma.html#idp11971904"/>
     <keyword type="struct" name="struct GstGamma" link="gst-plugins-good-plugins-gamma.html#GstGamma-struct"/>
     <keyword type="property" name="The &quot;gamma&quot; property" link="gst-plugins-good-plugins-gamma.html#GstGamma--gamma"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-gdkpixbufsink.html#idp10658096"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-gdkpixbufsink.html#idp13592688"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-gdkpixbufsink.html#idp10826272"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-gdkpixbufsink.html#idp11380528"/>
     <keyword type="struct" name="struct GstGdkPixbufSink" link="gst-plugins-good-plugins-gdkpixbufsink.html#GstGdkPixbufSink"/>
     <keyword type="property" name="The &quot;last-pixbuf&quot; property" link="gst-plugins-good-plugins-gdkpixbufsink.html#GstGdkPixbufSink--last-pixbuf"/>
     <keyword type="property" name="The &quot;send-messages&quot; property" link="gst-plugins-good-plugins-gdkpixbufsink.html#GstGdkPixbufSink--send-messages"/>
     <keyword type="property" name="The &quot;post-messages&quot; property" link="gst-plugins-good-plugins-gdkpixbufsink.html#GstGdkPixbufSink--post-messages"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-goom.html#idp6342000"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-goom.html#idp8318784"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-goom.html#idp10618592"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-goom.html#idp13676048"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-goom.html#idp5812672"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-goom.html#idp10060656"/>
     <keyword type="struct" name="struct GstGoom" link="gst-plugins-good-plugins-goom.html#GstGoom-struct"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-goom2k1.html#idp5035872"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-goom2k1.html#idp11061456"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-goom2k1.html#idp9258848"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-goom2k1.html#idp8087296"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-goom2k1.html#idp2828400"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-goom2k1.html#idp11687600"/>
     <keyword type="struct" name="struct GstGoom" link="gst-plugins-good-plugins-goom2k1.html#GstGoom-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-halaudiosink.html#idp14428960"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-halaudiosink.html#idp12532944"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-halaudiosrc.html#idp9748224"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-halaudiosrc.html#idp7339280"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-hdv1394src.html#idp13761712"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-hdv1394src.html#idp8682320"/>
-    <keyword type="struct" name="struct GstHDV1394Src" link="gst-plugins-good-plugins-hdv1394src.html#GstHDV1394Src"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-halaudiosink.html#idp14160688"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-halaudiosink.html#idp14692672"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-halaudiosrc.html#idp6929200"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-halaudiosrc.html#idp13351728"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-hdv1394src.html#idp14566048"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-hdv1394src.html#idp11549312"/>
+    <keyword type="struct" name="struct GstHDV1394Src" link="gst-plugins-good-plugins-hdv1394src.html#GstHDV1394Src-struct"/>
     <keyword type="property" name="The &quot;channel&quot; property" link="gst-plugins-good-plugins-hdv1394src.html#GstHDV1394Src--channel"/>
     <keyword type="property" name="The &quot;device-name&quot; property" link="gst-plugins-good-plugins-hdv1394src.html#GstHDV1394Src--device-name"/>
     <keyword type="property" name="The &quot;guid&quot; property" link="gst-plugins-good-plugins-hdv1394src.html#GstHDV1394Src--guid"/>
     <keyword type="property" name="The &quot;port&quot; property" link="gst-plugins-good-plugins-hdv1394src.html#GstHDV1394Src--port"/>
     <keyword type="property" name="The &quot;use-avc&quot; property" link="gst-plugins-good-plugins-hdv1394src.html#GstHDV1394Src--use-avc"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-icydemux.html#idp13006848"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-icydemux.html#idp6244576"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-icydemux.html#idp6616864"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-icydemux.html#idp8752736"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-icydemux.html#idp6852624"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-icydemux.html#idp7234704"/>
     <keyword type="struct" name="struct GstICYDemux" link="gst-plugins-good-plugins-icydemux.html#GstICYDemux-struct"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-id3demux.html#idp7559680"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-id3demux.html#idp8137184"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-id3demux.html#idp8566864"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-id3demux.html#idp1554832"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-id3demux.html#idp8865840"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-id3demux.html#idp12020096"/>
     <keyword type="struct" name="struct GstID3Demux" link="gst-plugins-good-plugins-id3demux.html#GstID3Demux-struct"/>
     <keyword type="property" name="The &quot;prefer-v1&quot; property" link="gst-plugins-good-plugins-id3demux.html#GstID3Demux--prefer-v1"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-id3v2mux.html#idp8416128"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-id3v2mux.html#idp14839472"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-id3v2mux.html#idp6447088"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-id3v2mux.html#idp13280416"/>
     <keyword type="struct" name="struct GstId3v2Mux" link="gst-plugins-good-plugins-id3v2mux.html#GstId3v2Mux-struct"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-imagefreeze.html#idp8924032"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-imagefreeze.html#idp9672688"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-imagefreeze.html#idp5205616"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-imagefreeze.html#idp11896576"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-imagefreeze.html#idp10630384"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-imagefreeze.html#idp8437888"/>
     <keyword type="struct" name="struct GstImageFreeze" link="gst-plugins-good-plugins-imagefreeze.html#GstImageFreeze-struct"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-interleave.html#idp13596320"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-interleave.html#idp7032912"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-interleave.html#idp12196880"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-interleave.html#idp14622416"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-interleave.html#idp14085984"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-interleave.html#idp6309776"/>
     <keyword type="struct" name="struct GstInterleave" link="gst-plugins-good-plugins-interleave.html#GstInterleave-struct"/>
     <keyword type="property" name="The &quot;channel-positions&quot; property" link="gst-plugins-good-plugins-interleave.html#GstInterleave--channel-positions"/>
     <keyword type="property" name="The &quot;channel-positions-from-input&quot; property" link="gst-plugins-good-plugins-interleave.html#GstInterleave--channel-positions-from-input"/>
-    <keyword type="" name="Example pipelines" link="gst-plugins-good-plugins-ismlmux.html#idp9354800"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-ismlmux.html#idp9369808"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-ismlmux.html#idp10051120"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-jackaudiosrc.html#idp14340064"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-jackaudiosrc.html#idp7321280"/>
+    <keyword type="" name="Example pipelines" link="gst-plugins-good-plugins-ismlmux.html#idp12445088"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-ismlmux.html#idp8296592"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-ismlmux.html#idp5735360"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-jackaudiosrc.html#idp14932784"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-jackaudiosrc.html#idp7660400"/>
     <keyword type="struct" name="struct GstJackAudioSrc" link="gst-plugins-good-plugins-jackaudiosrc.html#GstJackAudioSrc-struct"/>
     <keyword type="property" name="The &quot;client&quot; property" link="gst-plugins-good-plugins-jackaudiosrc.html#GstJackAudioSrc--client"/>
     <keyword type="property" name="The &quot;connect&quot; property" link="gst-plugins-good-plugins-jackaudiosrc.html#GstJackAudioSrc--connect"/>
     <keyword type="property" name="The &quot;server&quot; property" link="gst-plugins-good-plugins-jackaudiosrc.html#GstJackAudioSrc--server"/>
     <keyword type="property" name="The &quot;client-name&quot; property" link="gst-plugins-good-plugins-jackaudiosrc.html#GstJackAudioSrc--client-name"/>
     <keyword type="property" name="The &quot;transport&quot; property" link="gst-plugins-good-plugins-jackaudiosrc.html#GstJackAudioSrc--transport"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-jackaudiosink.html#idp13848400"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-jackaudiosink.html#idp13211280"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-jackaudiosink.html#idp14199808"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-jackaudiosink.html#idp12583040"/>
     <keyword type="struct" name="struct GstJackAudioSink" link="gst-plugins-good-plugins-jackaudiosink.html#GstJackAudioSink-struct"/>
     <keyword type="property" name="The &quot;client&quot; property" link="gst-plugins-good-plugins-jackaudiosink.html#GstJackAudioSink--client"/>
     <keyword type="property" name="The &quot;connect&quot; property" link="gst-plugins-good-plugins-jackaudiosink.html#GstJackAudioSink--connect"/>
     <keyword type="property" name="The &quot;server&quot; property" link="gst-plugins-good-plugins-jackaudiosink.html#GstJackAudioSink--server"/>
     <keyword type="property" name="The &quot;client-name&quot; property" link="gst-plugins-good-plugins-jackaudiosink.html#GstJackAudioSink--client-name"/>
     <keyword type="property" name="The &quot;transport&quot; property" link="gst-plugins-good-plugins-jackaudiosink.html#GstJackAudioSink--transport"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-jpegdec.html#idp6471584"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-jpegdec.html#idp15465520"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-jpegdec.html#idp11913216"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-jpegdec.html#idp5547968"/>
     <keyword type="struct" name="struct GstJpegDec" link="gst-plugins-good-plugins-jpegdec.html#GstJpegDec-struct"/>
     <keyword type="property" name="The &quot;idct-method&quot; property" link="gst-plugins-good-plugins-jpegdec.html#GstJpegDec--idct-method"/>
     <keyword type="property" name="The &quot;max-errors&quot; property" link="gst-plugins-good-plugins-jpegdec.html#GstJpegDec--max-errors"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-jpegenc.html#idp10954112"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-jpegenc.html#idp12254656"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-jpegenc.html#idp5863408"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-jpegenc.html#idp13358688"/>
     <keyword type="struct" name="struct GstJpegEnc" link="gst-plugins-good-plugins-jpegenc.html#GstJpegEnc-struct"/>
     <keyword type="property" name="The &quot;quality&quot; property" link="gst-plugins-good-plugins-jpegenc.html#GstJpegEnc--quality"/>
     <keyword type="property" name="The &quot;idct-method&quot; property" link="gst-plugins-good-plugins-jpegenc.html#GstJpegEnc--idct-method"/>
     <keyword type="signal" name="The &quot;frame-encoded&quot; signal" link="gst-plugins-good-plugins-jpegenc.html#GstJpegEnc-frame-encoded"/>
-    <keyword type="" name="Example application" link="gst-plugins-good-plugins-level.html#idp15820688"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-level.html#idp14201312"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-level.html#idp13629760"/>
+    <keyword type="" name="Example application" link="gst-plugins-good-plugins-level.html#idp10054000"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-level.html#idp12188624"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-level.html#idp15134432"/>
     <keyword type="struct" name="struct GstLevel" link="gst-plugins-good-plugins-level.html#GstLevel-struct"/>
     <keyword type="property" name="The &quot;interval&quot; property" link="gst-plugins-good-plugins-level.html#GstLevel--interval"/>
     <keyword type="property" name="The &quot;message&quot; property" link="gst-plugins-good-plugins-level.html#GstLevel--message"/>
     <keyword type="property" name="The &quot;peak-falloff&quot; property" link="gst-plugins-good-plugins-level.html#GstLevel--peak-falloff"/>
     <keyword type="property" name="The &quot;peak-ttl&quot; property" link="gst-plugins-good-plugins-level.html#GstLevel--peak-ttl"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-matroskamux.html#idp15449936"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-matroskamux.html#idp15713440"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-matroskamux.html#idp14706336"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-matroskamux.html#idp14139872"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-matroskamux.html#idp7143184"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-matroskamux.html#idp14871456"/>
     <keyword type="struct" name="GstMatroskaMux" link="gst-plugins-good-plugins-matroskamux.html#GstMatroskaMux-struct"/>
     <keyword type="property" name="The &quot;writing-app&quot; property" link="gst-plugins-good-plugins-matroskamux.html#GstMatroskaMux--writing-app"/>
     <keyword type="property" name="The &quot;version&quot; property" link="gst-plugins-good-plugins-matroskamux.html#GstMatroskaMux--version"/>
     <keyword type="property" name="The &quot;min-index-interval&quot; property" link="gst-plugins-good-plugins-matroskamux.html#GstMatroskaMux--min-index-interval"/>
     <keyword type="property" name="The &quot;streamable&quot; property" link="gst-plugins-good-plugins-matroskamux.html#GstMatroskaMux--streamable"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-matroskademux.html#idp14757488"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-matroskademux.html#idp12345616"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-matroskademux.html#idp14781968"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-matroskademux.html#idp12150016"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-matroskademux.html#idp10071664"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-matroskademux.html#idp15544336"/>
     <keyword type="struct" name="GstMatroskaDemux" link="gst-plugins-good-plugins-matroskademux.html#GstMatroskaDemux-struct"/>
     <keyword type="property" name="The &quot;max-gap-time&quot; property" link="gst-plugins-good-plugins-matroskademux.html#GstMatroskaDemux--max-gap-time"/>
-    <keyword type="" name="Example pipelines" link="gst-plugins-good-plugins-mj2mux.html#idp16227872"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-mj2mux.html#idp16231216"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-mj2mux.html#idp16076064"/>
+    <keyword type="" name="Example pipelines" link="gst-plugins-good-plugins-mj2mux.html#idp14947264"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-mj2mux.html#idp14950608"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-mj2mux.html#idp13684256"/>
     <keyword type="struct" name="GstMJ2Mux" link="gst-plugins-good-plugins-mj2mux.html#GstMJ2Mux-struct"/>
     <keyword type="property" name="The &quot;dts-method&quot; property" link="gst-plugins-good-plugins-mj2mux.html#GstMJ2Mux--dts-method"/>
     <keyword type="property" name="The &quot;faststart&quot; property" link="gst-plugins-good-plugins-mj2mux.html#GstMJ2Mux--faststart"/>
@@ -744,17 +731,17 @@
     <keyword type="property" name="The &quot;presentation-time&quot; property" link="gst-plugins-good-plugins-mj2mux.html#GstMJ2Mux--presentation-time"/>
     <keyword type="property" name="The &quot;streamable&quot; property" link="gst-plugins-good-plugins-mj2mux.html#GstMJ2Mux--streamable"/>
     <keyword type="property" name="The &quot;trak-timescale&quot; property" link="gst-plugins-good-plugins-mj2mux.html#GstMJ2Mux--trak-timescale"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-monoscope.html#idp14456208"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-monoscope.html#idp13497744"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-monoscope.html#idp15224656"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-monoscope.html#idp15098752"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-monoscope.html#idp10557040"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-monoscope.html#idp14622192"/>
     <keyword type="struct" name="struct GstMonoscope" link="gst-plugins-good-plugins-monoscope.html#GstMonoscope"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-mpegaudioparse.html#idp11237264"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-mpegaudioparse.html#idp6217696"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-mpegaudioparse.html#idp14659808"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-mpegaudioparse.html#idp15916176"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-mpegaudioparse.html#idp12368368"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-mpegaudioparse.html#idp5454560"/>
     <keyword type="struct" name="struct GstMpegAudioParse" link="gst-plugins-good-plugins-mpegaudioparse.html#GstMpegAudioParse-struct"/>
-    <keyword type="" name="Example pipelines" link="gst-plugins-good-plugins-mp4mux.html#idp5329152"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-mp4mux.html#idp16136848"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-mp4mux.html#idp13547440"/>
+    <keyword type="" name="Example pipelines" link="gst-plugins-good-plugins-mp4mux.html#idp13718864"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-mp4mux.html#idp16971472"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-mp4mux.html#idp14772880"/>
     <keyword type="typedef" name="GstMP4Mux" link="gst-plugins-good-plugins-mp4mux.html#GstMP4Mux"/>
     <keyword type="property" name="The &quot;dts-method&quot; property" link="gst-plugins-good-plugins-mp4mux.html#GstMP4Mux--dts-method"/>
     <keyword type="property" name="The &quot;faststart&quot; property" link="gst-plugins-good-plugins-mp4mux.html#GstMP4Mux--faststart"/>
@@ -765,16 +752,16 @@
     <keyword type="property" name="The &quot;presentation-time&quot; property" link="gst-plugins-good-plugins-mp4mux.html#GstMP4Mux--presentation-time"/>
     <keyword type="property" name="The &quot;streamable&quot; property" link="gst-plugins-good-plugins-mp4mux.html#GstMP4Mux--streamable"/>
     <keyword type="property" name="The &quot;trak-timescale&quot; property" link="gst-plugins-good-plugins-mp4mux.html#GstMP4Mux--trak-timescale"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-mulawdec.html#idp15506880"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-mulawdec.html#idp11003504"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-mulawdec.html#idp7932992"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-mulawdec.html#idp13612640"/>
     <keyword type="struct" name="struct GstMuLawDec" link="gst-plugins-good-plugins-mulawdec.html#GstMuLawDec-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-mulawenc.html#idp10734560"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-mulawenc.html#idp12655776"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-mulawenc.html#idp15582992"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-mulawenc.html#idp15600032"/>
     <keyword type="struct" name="struct GstMuLawDec" link="gst-plugins-good-plugins-mulawenc.html#GstMuLawDec-struct"/>
     <keyword type="struct" name="struct GstMuLawEnc" link="gst-plugins-good-plugins-mulawenc.html#GstMuLawEnc"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-multifilesink.html#idp13200880"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-multifilesink.html#idp16612912"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-multifilesink.html#idp16730464"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-multifilesink.html#idp11279248"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-multifilesink.html#idp12899488"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-multifilesink.html#idp13672064"/>
     <keyword type="struct" name="struct GstMultiFileSink" link="gst-plugins-good-plugins-multifilesink.html#GstMultiFileSink-struct"/>
     <keyword type="enum" name="enum GstMultiFileSinkNext" link="gst-plugins-good-plugins-multifilesink.html#GstMultiFileSinkNext"/>
     <keyword type="property" name="The &quot;location&quot; property" link="gst-plugins-good-plugins-multifilesink.html#GstMultiFileSink--location"/>
@@ -783,9 +770,9 @@
     <keyword type="property" name="The &quot;post-messages&quot; property" link="gst-plugins-good-plugins-multifilesink.html#GstMultiFileSink--post-messages"/>
     <keyword type="property" name="The &quot;max-files&quot; property" link="gst-plugins-good-plugins-multifilesink.html#GstMultiFileSink--max-files"/>
     <keyword type="property" name="The &quot;max-file-size&quot; property" link="gst-plugins-good-plugins-multifilesink.html#GstMultiFileSink--max-file-size"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-multifilesrc.html#idp16235120"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-multifilesrc.html#idp13479456"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-multifilesrc.html#idp15940160"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-multifilesrc.html#idp13648928"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-multifilesrc.html#idp14462128"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-multifilesrc.html#idp13053824"/>
     <keyword type="struct" name="struct GstMultiFileSrc" link="gst-plugins-good-plugins-multifilesrc.html#GstMultiFileSrc-struct"/>
     <keyword type="property" name="The &quot;caps&quot; property" link="gst-plugins-good-plugins-multifilesrc.html#GstMultiFileSrc--caps"/>
     <keyword type="property" name="The &quot;index&quot; property" link="gst-plugins-good-plugins-multifilesrc.html#GstMultiFileSrc--index"/>
@@ -793,20 +780,20 @@
     <keyword type="property" name="The &quot;loop&quot; property" link="gst-plugins-good-plugins-multifilesrc.html#GstMultiFileSrc--loop"/>
     <keyword type="property" name="The &quot;start-index&quot; property" link="gst-plugins-good-plugins-multifilesrc.html#GstMultiFileSrc--start-index"/>
     <keyword type="property" name="The &quot;stop-index&quot; property" link="gst-plugins-good-plugins-multifilesrc.html#GstMultiFileSrc--stop-index"/>
-    <keyword type="" name="Sample pipelines" link="gst-plugins-good-plugins-multipartdemux.html#idp15142160"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-multipartdemux.html#idp14411344"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-multipartdemux.html#idp7772000"/>
+    <keyword type="" name="Sample pipelines" link="gst-plugins-good-plugins-multipartdemux.html#idp13627088"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-multipartdemux.html#idp15846352"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-multipartdemux.html#idp12900448"/>
     <keyword type="struct" name="struct GstMultipartDemux" link="gst-plugins-good-plugins-multipartdemux.html#GstMultipartDemux-struct"/>
     <keyword type="property" name="The &quot;autoscan&quot; property" link="gst-plugins-good-plugins-multipartdemux.html#GstMultipartDemux--autoscan"/>
     <keyword type="property" name="The &quot;boundary&quot; property" link="gst-plugins-good-plugins-multipartdemux.html#GstMultipartDemux--boundary"/>
     <keyword type="property" name="The &quot;single-stream&quot; property" link="gst-plugins-good-plugins-multipartdemux.html#GstMultipartDemux--single-stream"/>
-    <keyword type="" name="Sample pipelines" link="gst-plugins-good-plugins-multipartmux.html#idp14421168"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-multipartmux.html#idp5602048"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-multipartmux.html#idp15429392"/>
+    <keyword type="" name="Sample pipelines" link="gst-plugins-good-plugins-multipartmux.html#idp7198176"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-multipartmux.html#idp12671808"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-multipartmux.html#idp14974560"/>
     <keyword type="struct" name="struct GstMultipartMux" link="gst-plugins-good-plugins-multipartmux.html#GstMultipartMux-struct"/>
     <keyword type="property" name="The &quot;boundary&quot; property" link="gst-plugins-good-plugins-multipartmux.html#GstMultipartMux--boundary"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-multiudpsink.html#idp14505456"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-multiudpsink.html#idp15816512"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-multiudpsink.html#idp13416368"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-multiudpsink.html#idp14614272"/>
     <keyword type="struct" name="struct GstMultiUDPSink" link="gst-plugins-good-plugins-multiudpsink.html#GstMultiUDPSink-struct"/>
     <keyword type="property" name="The &quot;bytes-served&quot; property" link="gst-plugins-good-plugins-multiudpsink.html#GstMultiUDPSink--bytes-served"/>
     <keyword type="property" name="The &quot;bytes-to-serve&quot; property" link="gst-plugins-good-plugins-multiudpsink.html#GstMultiUDPSink--bytes-to-serve"/>
@@ -830,65 +817,65 @@
     <keyword type="signal" name="The &quot;client-removed&quot; signal" link="gst-plugins-good-plugins-multiudpsink.html#GstMultiUDPSink-client-removed"/>
     <keyword type="signal" name="The &quot;get-stats&quot; signal" link="gst-plugins-good-plugins-multiudpsink.html#GstMultiUDPSink-get-stats"/>
     <keyword type="signal" name="The &quot;remove&quot; signal" link="gst-plugins-good-plugins-multiudpsink.html#GstMultiUDPSink-remove"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-optv.html#idp15002736"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-optv.html#idp13362336"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-optv.html#idp11497760"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-optv.html#idp15603072"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-optv.html#idp11528464"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-optv.html#idp15019408"/>
     <keyword type="struct" name="struct GstOpTV" link="gst-plugins-good-plugins-optv.html#GstOpTV-struct"/>
     <keyword type="property" name="The &quot;mode&quot; property" link="gst-plugins-good-plugins-optv.html#GstOpTV--mode"/>
     <keyword type="property" name="The &quot;speed&quot; property" link="gst-plugins-good-plugins-optv.html#GstOpTV--speed"/>
     <keyword type="property" name="The &quot;threshold&quot; property" link="gst-plugins-good-plugins-optv.html#GstOpTV--threshold"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-oss4sink.html#idp8117088"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-oss4sink.html#idp14692912"/>
-    <keyword type="struct" name="struct GstOss4Sink" link="gst-plugins-good-plugins-oss4sink.html#GstOss4Sink"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-oss4sink.html#idp16061408"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-oss4sink.html#idp13535600"/>
+    <keyword type="struct" name="struct GstOss4Sink" link="gst-plugins-good-plugins-oss4sink.html#GstOss4Sink-struct"/>
     <keyword type="property" name="The &quot;device&quot; property" link="gst-plugins-good-plugins-oss4sink.html#GstOss4Sink--device"/>
     <keyword type="property" name="The &quot;device-name&quot; property" link="gst-plugins-good-plugins-oss4sink.html#GstOss4Sink--device-name"/>
     <keyword type="property" name="The &quot;mute&quot; property" link="gst-plugins-good-plugins-oss4sink.html#GstOss4Sink--mute"/>
     <keyword type="property" name="The &quot;volume&quot; property" link="gst-plugins-good-plugins-oss4sink.html#GstOss4Sink--volume"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-oss4src.html#idp11797904"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-oss4src.html#idp8055664"/>
-    <keyword type="struct" name="struct GstOss4Source" link="gst-plugins-good-plugins-oss4src.html#GstOss4Source"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-oss4src.html#idp13893984"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-oss4src.html#idp13665600"/>
+    <keyword type="struct" name="struct GstOss4Source" link="gst-plugins-good-plugins-oss4src.html#GstOss4Source-struct"/>
     <keyword type="property" name="The &quot;device&quot; property" link="gst-plugins-good-plugins-oss4src.html#GstOss4Source--device"/>
     <keyword type="property" name="The &quot;device-name&quot; property" link="gst-plugins-good-plugins-oss4src.html#GstOss4Source--device-name"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-osssink.html#idp13056000"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-osssink.html#idp17481680"/>
-    <keyword type="struct" name="struct GstOssSink" link="gst-plugins-good-plugins-osssink.html#GstOssSink"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-osssink.html#idp17396592"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-osssink.html#idp12343984"/>
+    <keyword type="struct" name="struct GstOssSink" link="gst-plugins-good-plugins-osssink.html#GstOssSink-struct"/>
     <keyword type="property" name="The &quot;device&quot; property" link="gst-plugins-good-plugins-osssink.html#GstOssSink--device"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-osssrc.html#idp12812400"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-osssrc.html#idp17962560"/>
-    <keyword type="struct" name="struct GstOssSrc" link="gst-plugins-good-plugins-osssrc.html#GstOssSrc"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-osssrc.html#idp14875536"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-osssrc.html#idp12837568"/>
+    <keyword type="struct" name="struct GstOssSrc" link="gst-plugins-good-plugins-osssrc.html#GstOssSrc-struct"/>
     <keyword type="property" name="The &quot;device&quot; property" link="gst-plugins-good-plugins-osssrc.html#GstOssSrc--device"/>
     <keyword type="property" name="The &quot;device-name&quot; property" link="gst-plugins-good-plugins-osssrc.html#GstOssSrc--device-name"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-osxaudiosink.html#idp14807232"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-osxaudiosink.html#idp15043200"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-osxaudiosink.html#idp15465232"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-osxaudiosink.html#idp11952400"/>
     <keyword type="struct" name="struct GstOsxAudioSink" link="gst-plugins-good-plugins-osxaudiosink.html#GstOsxAudioSink"/>
     <keyword type="property" name="The &quot;device&quot; property" link="gst-plugins-good-plugins-osxaudiosink.html#GstOsxAudioSink--device"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-osxaudiosrc.html#idp17002976"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-osxaudiosrc.html#idp11916176"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-osxaudiosrc.html#idp14176992"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-osxaudiosrc.html#idp13268544"/>
     <keyword type="struct" name="struct GstOsxAudioSrc" link="gst-plugins-good-plugins-osxaudiosrc.html#GstOsxAudioSrc"/>
     <keyword type="property" name="The &quot;device&quot; property" link="gst-plugins-good-plugins-osxaudiosrc.html#GstOsxAudioSrc--device"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-osxvideosink.html#idp14177904"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-osxvideosink.html#idp16961024"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-osxvideosink.html#idp16997200"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-osxvideosink.html#idp14990512"/>
     <keyword type="struct" name="struct GstOSXVideoSink" link="gst-plugins-good-plugins-osxvideosink.html#GstOSXVideoSink"/>
     <keyword type="property" name="The &quot;embed&quot; property" link="gst-plugins-good-plugins-osxvideosink.html#GstOSXVideoSink--embed"/>
     <keyword type="property" name="The &quot;fullscreen&quot; property" link="gst-plugins-good-plugins-osxvideosink.html#GstOSXVideoSink--fullscreen"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-pngdec.html#idp13508640"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-pngdec.html#idp15764176"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-pngdec.html#idp17045680"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-pngdec.html#idp12461632"/>
     <keyword type="struct" name="struct GstPngDec" link="gst-plugins-good-plugins-pngdec.html#GstPngDec-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-pngenc.html#idp13316944"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-pngenc.html#idp15239952"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-pngenc.html#idp8801328"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-pngenc.html#idp17387600"/>
     <keyword type="struct" name="struct GstPngEnc" link="gst-plugins-good-plugins-pngenc.html#GstPngEnc-struct"/>
     <keyword type="property" name="The &quot;compression-level&quot; property" link="gst-plugins-good-plugins-pngenc.html#GstPngEnc--compression-level"/>
     <keyword type="property" name="The &quot;snapshot&quot; property" link="gst-plugins-good-plugins-pngenc.html#GstPngEnc--snapshot"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-progressreport.html#idp13991040"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-progressreport.html#idp7256736"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-progressreport.html#idp18138176"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-progressreport.html#idp16573728"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-progressreport.html#idp14888352"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-progressreport.html#idp17620800"/>
     <keyword type="struct" name="struct GstProgressReport" link="gst-plugins-good-plugins-progressreport.html#GstProgressReport-struct"/>
     <keyword type="property" name="The &quot;silent&quot; property" link="gst-plugins-good-plugins-progressreport.html#GstProgressReport--silent"/>
     <keyword type="property" name="The &quot;update-freq&quot; property" link="gst-plugins-good-plugins-progressreport.html#GstProgressReport--update-freq"/>
     <keyword type="property" name="The &quot;format&quot; property" link="gst-plugins-good-plugins-progressreport.html#GstProgressReport--format"/>
     <keyword type="property" name="The &quot;do-query&quot; property" link="gst-plugins-good-plugins-progressreport.html#GstProgressReport--do-query"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-pulsesink.html#idp10988000"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-pulsesink.html#idp16601440"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-pulsesink.html#idp14226496"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-pulsesink.html#idp18533488"/>
     <keyword type="struct" name="struct GstPulseSink" link="gst-plugins-good-plugins-pulsesink.html#GstPulseSink-struct"/>
     <keyword type="property" name="The &quot;device&quot; property" link="gst-plugins-good-plugins-pulsesink.html#GstPulseSink--device"/>
     <keyword type="property" name="The &quot;server&quot; property" link="gst-plugins-good-plugins-pulsesink.html#GstPulseSink--server"/>
@@ -898,8 +885,8 @@
     <keyword type="property" name="The &quot;client&quot; property" link="gst-plugins-good-plugins-pulsesink.html#GstPulseSink--client"/>
     <keyword type="property" name="The &quot;stream-properties&quot; property" link="gst-plugins-good-plugins-pulsesink.html#GstPulseSink--stream-properties"/>
     <keyword type="property" name="The &quot;client-name&quot; property" link="gst-plugins-good-plugins-pulsesink.html#GstPulseSink--client-name"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-pulsesrc.html#idp17836224"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-pulsesrc.html#idp17185552"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-pulsesrc.html#idp15830176"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-pulsesrc.html#idp16137760"/>
     <keyword type="struct" name="struct GstPulseSrc" link="gst-plugins-good-plugins-pulsesrc.html#GstPulseSrc-struct"/>
     <keyword type="property" name="The &quot;device&quot; property" link="gst-plugins-good-plugins-pulsesrc.html#GstPulseSrc--device"/>
     <keyword type="property" name="The &quot;server&quot; property" link="gst-plugins-good-plugins-pulsesrc.html#GstPulseSrc--server"/>
@@ -910,21 +897,19 @@
     <keyword type="property" name="The &quot;source-output-index&quot; property" link="gst-plugins-good-plugins-pulsesrc.html#GstPulseSrc--source-output-index"/>
     <keyword type="property" name="The &quot;volume&quot; property" link="gst-plugins-good-plugins-pulsesrc.html#GstPulseSrc--volume"/>
     <keyword type="property" name="The &quot;client-name&quot; property" link="gst-plugins-good-plugins-pulsesrc.html#GstPulseSrc--client-name"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-pulsemixer.html#idp12358688"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-pulsemixer.html#idp17805504"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-quarktv.html#idp7403632"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-quarktv.html#idp16391712"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-quarktv.html#idp17691664"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-quarktv.html#idp16982704"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-quarktv.html#idp12094928"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-quarktv.html#idp7666208"/>
     <keyword type="struct" name="struct GstQuarkTV" link="gst-plugins-good-plugins-quarktv.html#GstQuarkTV-struct"/>
     <keyword type="property" name="The &quot;planes&quot; property" link="gst-plugins-good-plugins-quarktv.html#GstQuarkTV--planes"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-qtdemux.html#idp16198944"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-qtdemux.html#idp17206640"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-qtdemux.html#idp18403552"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-qtdemux.html#idp18579184"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-qtdemux.html#idp18396848"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-qtdemux.html#idp14995312"/>
     <keyword type="struct" name="struct GstQTDemux" link="gst-plugins-good-plugins-qtdemux.html#GstQTDemux-struct"/>
     <keyword type="signal" name="The &quot;got-redirect&quot; signal" link="gst-plugins-good-plugins-qtdemux.html#GstQTDemux-got-redirect"/>
-    <keyword type="" name="Example pipelines" link="gst-plugins-good-plugins-qtmux.html#idp16989280"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-qtmux.html#idp16172624"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-qtmux.html#idp12515216"/>
+    <keyword type="" name="Example pipelines" link="gst-plugins-good-plugins-qtmux.html#idp14533840"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-qtmux.html#idp18089440"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-qtmux.html#idp18220912"/>
     <keyword type="struct" name="struct GstQTMux" link="gst-plugins-good-plugins-qtmux.html#GstQTMux-struct"/>
     <keyword type="property" name="The &quot;dts-method&quot; property" link="gst-plugins-good-plugins-qtmux.html#GstQTMux--dts-method"/>
     <keyword type="property" name="The &quot;faststart&quot; property" link="gst-plugins-good-plugins-qtmux.html#GstQTMux--faststart"/>
@@ -935,9 +920,9 @@
     <keyword type="property" name="The &quot;presentation-time&quot; property" link="gst-plugins-good-plugins-qtmux.html#GstQTMux--presentation-time"/>
     <keyword type="property" name="The &quot;streamable&quot; property" link="gst-plugins-good-plugins-qtmux.html#GstQTMux--streamable"/>
     <keyword type="property" name="The &quot;trak-timescale&quot; property" link="gst-plugins-good-plugins-qtmux.html#GstQTMux--trak-timescale"/>
-    <keyword type="" name="Example pipelines" link="gst-plugins-good-plugins-qtmoovrecover.html#idp17765248"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-qtmoovrecover.html#idp14195840"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-qtmoovrecover.html#idp16410720"/>
+    <keyword type="" name="Example pipelines" link="gst-plugins-good-plugins-qtmoovrecover.html#idp16289536"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-qtmoovrecover.html#idp17935520"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-qtmoovrecover.html#idp13683776"/>
     <keyword type="struct" name="struct GstQTMoovRecover" link="gst-plugins-good-plugins-qtmoovrecover.html#GstQTMoovRecover-struct"/>
     <keyword type="struct" name="struct GstQTMoovRecoverClass" link="gst-plugins-good-plugins-qtmoovrecover.html#GstQTMoovRecoverClass"/>
     <keyword type="function" name="gst_qt_moov_recover_get_type ()" link="gst-plugins-good-plugins-qtmoovrecover.html#gst-qt-moov-recover-get-type"/>
@@ -946,37 +931,37 @@
     <keyword type="property" name="The &quot;faststart-mode&quot; property" link="gst-plugins-good-plugins-qtmoovrecover.html#GstQTMoovRecover--faststart-mode"/>
     <keyword type="property" name="The &quot;fixed-output&quot; property" link="gst-plugins-good-plugins-qtmoovrecover.html#GstQTMoovRecover--fixed-output"/>
     <keyword type="property" name="The &quot;recovery-input&quot; property" link="gst-plugins-good-plugins-qtmoovrecover.html#GstQTMoovRecover--recovery-input"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-radioactv.html#idp10854224"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-radioactv.html#idp18848112"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-radioactv.html#idp15835168"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-radioactv.html#idp17938752"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-radioactv.html#idp17974720"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-radioactv.html#idp18371584"/>
     <keyword type="struct" name="struct GstRadioacTV" link="gst-plugins-good-plugins-radioactv.html#GstRadioacTV-struct"/>
     <keyword type="property" name="The &quot;color&quot; property" link="gst-plugins-good-plugins-radioactv.html#GstRadioacTV--color"/>
     <keyword type="property" name="The &quot;interval&quot; property" link="gst-plugins-good-plugins-radioactv.html#GstRadioacTV--interval"/>
     <keyword type="property" name="The &quot;mode&quot; property" link="gst-plugins-good-plugins-radioactv.html#GstRadioacTV--mode"/>
     <keyword type="property" name="The &quot;trigger&quot; property" link="gst-plugins-good-plugins-radioactv.html#GstRadioacTV--trigger"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-revtv.html#idp16197088"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-revtv.html#idp15120032"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-revtv.html#idp15114448"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-revtv.html#idp18604560"/>
     <keyword type="struct" name="struct GstRevTV" link="gst-plugins-good-plugins-revtv.html#GstRevTV-struct"/>
     <keyword type="property" name="The &quot;delay&quot; property" link="gst-plugins-good-plugins-revtv.html#GstRevTV--delay"/>
     <keyword type="property" name="The &quot;gain&quot; property" link="gst-plugins-good-plugins-revtv.html#GstRevTV--gain"/>
     <keyword type="property" name="The &quot;linespace&quot; property" link="gst-plugins-good-plugins-revtv.html#GstRevTV--linespace"/>
-    <keyword type="" name="Example launch lines" link="gst-plugins-good-plugins-rganalysis.html#idp18237024"/>
-    <keyword type="" name="Acknowledgements" link="gst-plugins-good-plugins-rganalysis.html#idp15245040"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rganalysis.html#idp17882816"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rganalysis.html#idp17377328"/>
+    <keyword type="" name="Example launch lines" link="gst-plugins-good-plugins-rganalysis.html#idp18377488"/>
+    <keyword type="" name="Acknowledgements" link="gst-plugins-good-plugins-rganalysis.html#idp16057808"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rganalysis.html#idp16076176"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rganalysis.html#idp16534736"/>
     <keyword type="struct" name="struct GstRgAnalysis" link="gst-plugins-good-plugins-rganalysis.html#GstRgAnalysis-struct"/>
     <keyword type="property" name="The &quot;forced&quot; property" link="gst-plugins-good-plugins-rganalysis.html#GstRgAnalysis--forced"/>
     <keyword type="property" name="The &quot;num-tracks&quot; property" link="gst-plugins-good-plugins-rganalysis.html#GstRgAnalysis--num-tracks"/>
     <keyword type="property" name="The &quot;reference-level&quot; property" link="gst-plugins-good-plugins-rganalysis.html#GstRgAnalysis--reference-level"/>
     <keyword type="property" name="The &quot;message&quot; property" link="gst-plugins-good-plugins-rganalysis.html#GstRgAnalysis--message"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-rglimiter.html#idp16485264"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rglimiter.html#idp18422224"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rglimiter.html#idp18081200"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-rglimiter.html#idp17417984"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rglimiter.html#idp16095728"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rglimiter.html#idp12715696"/>
     <keyword type="struct" name="struct GstRgLimiter" link="gst-plugins-good-plugins-rglimiter.html#GstRgLimiter-struct"/>
     <keyword type="property" name="The &quot;enabled&quot; property" link="gst-plugins-good-plugins-rglimiter.html#GstRgLimiter--enabled"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-rgvolume.html#idp17808000"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rgvolume.html#idp16300672"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rgvolume.html#idp18297472"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-rgvolume.html#idp11662896"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rgvolume.html#idp15798384"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rgvolume.html#idp17320768"/>
     <keyword type="struct" name="struct GstRgVolume" link="gst-plugins-good-plugins-rgvolume.html#GstRgVolume-struct"/>
     <keyword type="property" name="The &quot;album-mode&quot; property" link="gst-plugins-good-plugins-rgvolume.html#GstRgVolume--album-mode"/>
     <keyword type="property" name="The &quot;fallback-gain&quot; property" link="gst-plugins-good-plugins-rgvolume.html#GstRgVolume--fallback-gain"/>
@@ -984,14 +969,14 @@
     <keyword type="property" name="The &quot;pre-amp&quot; property" link="gst-plugins-good-plugins-rgvolume.html#GstRgVolume--pre-amp"/>
     <keyword type="property" name="The &quot;result-gain&quot; property" link="gst-plugins-good-plugins-rgvolume.html#GstRgVolume--result-gain"/>
     <keyword type="property" name="The &quot;target-gain&quot; property" link="gst-plugins-good-plugins-rgvolume.html#GstRgVolume--target-gain"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-rippletv.html#idp15442720"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rippletv.html#idp17495024"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rippletv.html#idp17383984"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-rippletv.html#idp14494592"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rippletv.html#idp18386560"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rippletv.html#idp12922656"/>
     <keyword type="struct" name="struct GstRippleTV" link="gst-plugins-good-plugins-rippletv.html#GstRippleTV-struct"/>
     <keyword type="property" name="The &quot;mode&quot; property" link="gst-plugins-good-plugins-rippletv.html#GstRippleTV--mode"/>
     <keyword type="property" name="The &quot;reset&quot; property" link="gst-plugins-good-plugins-rippletv.html#GstRippleTV--reset"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rtpdec.html#idp18076736"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rtpdec.html#idp16741456"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rtpdec.html#idp18422528"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rtpdec.html#idp15775200"/>
     <keyword type="struct" name="struct GstRTPDec" link="gst-plugins-good-plugins-rtpdec.html#GstRTPDec-struct"/>
     <keyword type="property" name="The &quot;skip&quot; property" link="gst-plugins-good-plugins-rtpdec.html#GstRTPDec--skip"/>
     <keyword type="property" name="The &quot;latency&quot; property" link="gst-plugins-good-plugins-rtpdec.html#GstRTPDec--latency"/>
@@ -1003,19 +988,19 @@
     <keyword type="signal" name="The &quot;on-ssrc-collision&quot; signal" link="gst-plugins-good-plugins-rtpdec.html#GstRTPDec-on-ssrc-collision"/>
     <keyword type="signal" name="The &quot;on-ssrc-validated&quot; signal" link="gst-plugins-good-plugins-rtpdec.html#GstRTPDec-on-ssrc-validated"/>
     <keyword type="signal" name="The &quot;on-timeout&quot; signal" link="gst-plugins-good-plugins-rtpdec.html#GstRTPDec-on-timeout"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rtpj2kpay.html#idp16409504"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rtpj2kpay.html#idp15968496"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rtpj2kpay.html#idp15023856"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rtpj2kpay.html#idp15432080"/>
     <keyword type="struct" name="struct GstRtpJ2KPay" link="gst-plugins-good-plugins-rtpj2kpay.html#GstRtpJ2KPay-struct"/>
     <keyword type="property" name="The &quot;buffer-list&quot; property" link="gst-plugins-good-plugins-rtpj2kpay.html#GstRtpJ2KPay--buffer-list"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rtpjpegpay.html#idp19177456"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rtpjpegpay.html#idp19227808"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rtpjpegpay.html#idp19262176"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rtpjpegpay.html#idp16372944"/>
     <keyword type="struct" name="struct GstRtpJPEGPay" link="gst-plugins-good-plugins-rtpjpegpay.html#GstRtpJPEGPay-struct"/>
     <keyword type="property" name="The &quot;quality&quot; property" link="gst-plugins-good-plugins-rtpjpegpay.html#GstRtpJPEGPay--quality"/>
     <keyword type="property" name="The &quot;type&quot; property" link="gst-plugins-good-plugins-rtpjpegpay.html#GstRtpJPEGPay--type"/>
     <keyword type="property" name="The &quot;buffer-list&quot; property" link="gst-plugins-good-plugins-rtpjpegpay.html#GstRtpJPEGPay--buffer-list"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-rtspsrc.html#idp17495856"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rtspsrc.html#idp14815408"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rtspsrc.html#idp19109360"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-rtspsrc.html#idp16812576"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rtspsrc.html#idp16968336"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rtspsrc.html#idp14126928"/>
     <keyword type="struct" name="struct GstRTSPSrc" link="gst-plugins-good-plugins-rtspsrc.html#GstRTSPSrc-struct"/>
     <keyword type="property" name="The &quot;debug&quot; property" link="gst-plugins-good-plugins-rtspsrc.html#GstRTSPSrc--debug"/>
     <keyword type="property" name="The &quot;location&quot; property" link="gst-plugins-good-plugins-rtspsrc.html#GstRTSPSrc--location"/>
@@ -1036,8 +1021,8 @@
     <keyword type="property" name="The &quot;udp-buffer-size&quot; property" link="gst-plugins-good-plugins-rtspsrc.html#GstRTSPSrc--udp-buffer-size"/>
     <keyword type="property" name="The &quot;short-header&quot; property" link="gst-plugins-good-plugins-rtspsrc.html#GstRTSPSrc--short-header"/>
     <keyword type="property" name="The &quot;do-rtsp-keep-alive&quot; property" link="gst-plugins-good-plugins-rtspsrc.html#GstRTSPSrc--do-rtsp-keep-alive"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rtpbin.html#idp20120176"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rtpbin.html#idp20127632"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rtpbin.html#idp19963648"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rtpbin.html#idp19971104"/>
     <keyword type="struct" name="struct GstRtpBin" link="gst-plugins-good-plugins-rtpbin.html#GstRtpBin-struct"/>
     <keyword type="property" name="The &quot;do-lost&quot; property" link="gst-plugins-good-plugins-rtpbin.html#GstRtpBin--do-lost"/>
     <keyword type="property" name="The &quot;latency&quot; property" link="gst-plugins-good-plugins-rtpbin.html#GstRtpBin--latency"/>
@@ -1064,8 +1049,8 @@
     <keyword type="signal" name="The &quot;request-pt-map&quot; signal" link="gst-plugins-good-plugins-rtpbin.html#GstRtpBin-request-pt-map"/>
     <keyword type="signal" name="The &quot;reset-sync&quot; signal" link="gst-plugins-good-plugins-rtpbin.html#GstRtpBin-reset-sync"/>
     <keyword type="signal" name="The &quot;payload-type-change&quot; signal" link="gst-plugins-good-plugins-rtpbin.html#GstRtpBin-payload-type-change"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rtpjitterbuffer.html#idp19063808"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rtpjitterbuffer.html#idp18771664"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rtpjitterbuffer.html#idp15909456"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rtpjitterbuffer.html#idp17936192"/>
     <keyword type="struct" name="struct GstRtpJitterBuffer" link="gst-plugins-good-plugins-rtpjitterbuffer.html#GstRtpJitterBuffer-struct"/>
     <keyword type="property" name="The &quot;do-lost&quot; property" link="gst-plugins-good-plugins-rtpjitterbuffer.html#GstRtpJitterBuffer--do-lost"/>
     <keyword type="property" name="The &quot;drop-on-latency&quot; property" link="gst-plugins-good-plugins-rtpjitterbuffer.html#GstRtpJitterBuffer--drop-on-latency"/>
@@ -1078,15 +1063,15 @@
     <keyword type="signal" name="The &quot;on-npt-stop&quot; signal" link="gst-plugins-good-plugins-rtpjitterbuffer.html#GstRtpJitterBuffer-on-npt-stop"/>
     <keyword type="signal" name="The &quot;request-pt-map&quot; signal" link="gst-plugins-good-plugins-rtpjitterbuffer.html#GstRtpJitterBuffer-request-pt-map"/>
     <keyword type="signal" name="The &quot;set-active&quot; signal" link="gst-plugins-good-plugins-rtpjitterbuffer.html#GstRtpJitterBuffer-set-active"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rtpptdemux.html#idp18007024"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rtpptdemux.html#idp10848784"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rtpptdemux.html#idp18333344"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rtpptdemux.html#idp18026816"/>
     <keyword type="struct" name="struct GstRtpPtDemux" link="gst-plugins-good-plugins-rtpptdemux.html#GstRtpPtDemux-struct"/>
     <keyword type="signal" name="The &quot;clear-pt-map&quot; signal" link="gst-plugins-good-plugins-rtpptdemux.html#GstRtpPtDemux-clear-pt-map"/>
     <keyword type="signal" name="The &quot;new-payload-type&quot; signal" link="gst-plugins-good-plugins-rtpptdemux.html#GstRtpPtDemux-new-payload-type"/>
     <keyword type="signal" name="The &quot;payload-type-change&quot; signal" link="gst-plugins-good-plugins-rtpptdemux.html#GstRtpPtDemux-payload-type-change"/>
     <keyword type="signal" name="The &quot;request-pt-map&quot; signal" link="gst-plugins-good-plugins-rtpptdemux.html#GstRtpPtDemux-request-pt-map"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rtpsession.html#idp16718688"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rtpsession.html#idp16750032"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rtpsession.html#idp20768944"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rtpsession.html#idp9068560"/>
     <keyword type="struct" name="struct GstRtpSession" link="gst-plugins-good-plugins-rtpsession.html#GstRtpSession-struct"/>
     <keyword type="property" name="The &quot;bandwidth&quot; property" link="gst-plugins-good-plugins-rtpsession.html#GstRtpSession--bandwidth"/>
     <keyword type="property" name="The &quot;internal-session&quot; property" link="gst-plugins-good-plugins-rtpsession.html#GstRtpSession--internal-session"/>
@@ -1110,19 +1095,19 @@
     <keyword type="signal" name="The &quot;on-ssrc-validated&quot; signal" link="gst-plugins-good-plugins-rtpsession.html#GstRtpSession-on-ssrc-validated"/>
     <keyword type="signal" name="The &quot;on-timeout&quot; signal" link="gst-plugins-good-plugins-rtpsession.html#GstRtpSession-on-timeout"/>
     <keyword type="signal" name="The &quot;request-pt-map&quot; signal" link="gst-plugins-good-plugins-rtpsession.html#GstRtpSession-request-pt-map"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rtpssrcdemux.html#idp18382192"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rtpssrcdemux.html#idp10443728"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-rtpssrcdemux.html#idp18338576"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-rtpssrcdemux.html#idp17846320"/>
     <keyword type="struct" name="struct GstRtpSsrcDemux" link="gst-plugins-good-plugins-rtpssrcdemux.html#GstRtpSsrcDemux-struct"/>
     <keyword type="signal" name="The &quot;clear-ssrc&quot; signal" link="gst-plugins-good-plugins-rtpssrcdemux.html#GstRtpSsrcDemux-clear-ssrc"/>
     <keyword type="signal" name="The &quot;new-ssrc-pad&quot; signal" link="gst-plugins-good-plugins-rtpssrcdemux.html#GstRtpSsrcDemux-new-ssrc-pad"/>
     <keyword type="signal" name="The &quot;removed-ssrc-pad&quot; signal" link="gst-plugins-good-plugins-rtpssrcdemux.html#GstRtpSsrcDemux-removed-ssrc-pad"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-shagadelictv.html#idp17609472"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-shagadelictv.html#idp10381440"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-shagadelictv.html#idp18154080"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-shagadelictv.html#idp11613744"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-shagadelictv.html#idp19951856"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-shagadelictv.html#idp19820576"/>
     <keyword type="struct" name="struct GstShagadelicTV" link="gst-plugins-good-plugins-shagadelictv.html#GstShagadelicTV-struct"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-shapewipe.html#idp20575168"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-shapewipe.html#idp18048304"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-shapewipe.html#idp19229200"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-shapewipe.html#idp19928560"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-shapewipe.html#idp13802976"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-shapewipe.html#idp17159696"/>
     <keyword type="struct" name="struct GstShapeWipe" link="gst-plugins-good-plugins-shapewipe.html#GstShapeWipe-struct"/>
     <keyword type="property" name="The &quot;border&quot; property" link="gst-plugins-good-plugins-shapewipe.html#GstShapeWipe--border"/>
     <keyword type="property" name="The &quot;position&quot; property" link="gst-plugins-good-plugins-shapewipe.html#GstShapeWipe--position"/>
@@ -1132,9 +1117,9 @@
     <keyword type="property" name="The &quot;qmax&quot; property" link="gst-plugins-good-plugins-smokeenc.html#GstSmokeEnc--qmax"/>
     <keyword type="property" name="The &quot;qmin&quot; property" link="gst-plugins-good-plugins-smokeenc.html#GstSmokeEnc--qmin"/>
     <keyword type="property" name="The &quot;threshold&quot; property" link="gst-plugins-good-plugins-smokeenc.html#GstSmokeEnc--threshold"/>
-    <keyword type="" name="Sample pipelines" link="gst-plugins-good-plugins-smpte.html#idp14059248"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-smpte.html#idp18850944"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-smpte.html#idp21636624"/>
+    <keyword type="" name="Sample pipelines" link="gst-plugins-good-plugins-smpte.html#idp16930224"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-smpte.html#idp15005712"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-smpte.html#idp15773936"/>
     <keyword type="struct" name="struct GstSMPTE" link="gst-plugins-good-plugins-smpte.html#GstSMPTE-struct"/>
     <keyword type="property" name="The &quot;border&quot; property" link="gst-plugins-good-plugins-smpte.html#GstSMPTE--border"/>
     <keyword type="property" name="The &quot;depth&quot; property" link="gst-plugins-good-plugins-smpte.html#GstSMPTE--depth"/>
@@ -1142,17 +1127,17 @@
     <keyword type="property" name="The &quot;type&quot; property" link="gst-plugins-good-plugins-smpte.html#GstSMPTE--type"/>
     <keyword type="property" name="The &quot;duration&quot; property" link="gst-plugins-good-plugins-smpte.html#GstSMPTE--duration"/>
     <keyword type="property" name="The &quot;invert&quot; property" link="gst-plugins-good-plugins-smpte.html#GstSMPTE--invert"/>
-    <keyword type="" name="Sample pipelines" link="gst-plugins-good-plugins-smptealpha.html#idp18566688"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-smptealpha.html#idp16653744"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-smptealpha.html#idp21153392"/>
+    <keyword type="" name="Sample pipelines" link="gst-plugins-good-plugins-smptealpha.html#idp17815568"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-smptealpha.html#idp17461872"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-smptealpha.html#idp20163440"/>
     <keyword type="struct" name="struct GstSMPTEAlpha" link="gst-plugins-good-plugins-smptealpha.html#GstSMPTEAlpha-struct"/>
     <keyword type="property" name="The &quot;border&quot; property" link="gst-plugins-good-plugins-smptealpha.html#GstSMPTEAlpha--border"/>
     <keyword type="property" name="The &quot;depth&quot; property" link="gst-plugins-good-plugins-smptealpha.html#GstSMPTEAlpha--depth"/>
     <keyword type="property" name="The &quot;position&quot; property" link="gst-plugins-good-plugins-smptealpha.html#GstSMPTEAlpha--position"/>
     <keyword type="property" name="The &quot;type&quot; property" link="gst-plugins-good-plugins-smptealpha.html#GstSMPTEAlpha--type"/>
     <keyword type="property" name="The &quot;invert&quot; property" link="gst-plugins-good-plugins-smptealpha.html#GstSMPTEAlpha--invert"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-souphttpsrc.html#idp17570512"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-souphttpsrc.html#idp11179712"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-souphttpsrc.html#idp18458304"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-souphttpsrc.html#idp16526672"/>
     <keyword type="struct" name="struct GstSoupHTTPSrc" link="gst-plugins-good-plugins-souphttpsrc.html#GstSoupHTTPSrc-struct"/>
     <keyword type="property" name="The &quot;automatic-redirect&quot; property" link="gst-plugins-good-plugins-souphttpsrc.html#GstSoupHTTPSrc--automatic-redirect"/>
     <keyword type="property" name="The &quot;cookies&quot; property" link="gst-plugins-good-plugins-souphttpsrc.html#GstSoupHTTPSrc--cookies"/>
@@ -1171,9 +1156,9 @@
     <keyword type="property" name="The &quot;user-pw&quot; property" link="gst-plugins-good-plugins-souphttpsrc.html#GstSoupHTTPSrc--user-pw"/>
     <keyword type="property" name="The &quot;extra-headers&quot; property" link="gst-plugins-good-plugins-souphttpsrc.html#GstSoupHTTPSrc--extra-headers"/>
     <keyword type="property" name="The &quot;timeout&quot; property" link="gst-plugins-good-plugins-souphttpsrc.html#GstSoupHTTPSrc--timeout"/>
-    <keyword type="" name="Example application" link="gst-plugins-good-plugins-spectrum.html#idp21423072"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-spectrum.html#idp21273264"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-spectrum.html#idp21732432"/>
+    <keyword type="" name="Example application" link="gst-plugins-good-plugins-spectrum.html#idp18637312"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-spectrum.html#idp21504352"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-spectrum.html#idp19198720"/>
     <keyword type="struct" name="struct GstSpectrum" link="gst-plugins-good-plugins-spectrum.html#GstSpectrum-struct"/>
     <keyword type="property" name="The &quot;bands&quot; property" link="gst-plugins-good-plugins-spectrum.html#GstSpectrum--bands"/>
     <keyword type="property" name="The &quot;interval&quot; property" link="gst-plugins-good-plugins-spectrum.html#GstSpectrum--interval"/>
@@ -1183,8 +1168,8 @@
     <keyword type="property" name="The &quot;message-phase&quot; property" link="gst-plugins-good-plugins-spectrum.html#GstSpectrum--message-phase"/>
     <keyword type="property" name="The &quot;post-messages&quot; property" link="gst-plugins-good-plugins-spectrum.html#GstSpectrum--post-messages"/>
     <keyword type="property" name="The &quot;multi-channel&quot; property" link="gst-plugins-good-plugins-spectrum.html#GstSpectrum--multi-channel"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-speexenc.html#idp15066320"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-speexenc.html#idp14957872"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-speexenc.html#idp18777776"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-speexenc.html#idp20790096"/>
     <keyword type="struct" name="struct GstSpeexEnc" link="gst-plugins-good-plugins-speexenc.html#GstSpeexEnc-struct"/>
     <keyword type="property" name="The &quot;abr&quot; property" link="gst-plugins-good-plugins-speexenc.html#GstSpeexEnc--abr"/>
     <keyword type="property" name="The &quot;bitrate&quot; property" link="gst-plugins-good-plugins-speexenc.html#GstSpeexEnc--bitrate"/>
@@ -1196,28 +1181,28 @@
     <keyword type="property" name="The &quot;vad&quot; property" link="gst-plugins-good-plugins-speexenc.html#GstSpeexEnc--vad"/>
     <keyword type="property" name="The &quot;vbr&quot; property" link="gst-plugins-good-plugins-speexenc.html#GstSpeexEnc--vbr"/>
     <keyword type="property" name="The &quot;mode&quot; property" link="gst-plugins-good-plugins-speexenc.html#GstSpeexEnc--mode"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-speexdec.html#idp21834736"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-speexdec.html#idp18938016"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-speexdec.html#idp19233488"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-speexdec.html#idp17066736"/>
     <keyword type="struct" name="struct GstSpeexDec" link="gst-plugins-good-plugins-speexdec.html#GstSpeexDec-struct"/>
     <keyword type="property" name="The &quot;enh&quot; property" link="gst-plugins-good-plugins-speexdec.html#GstSpeexDec--enh"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-splitfilesrc.html#idp21668256"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-splitfilesrc.html#idp16295984"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-splitfilesrc.html#idp21942352"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-splitfilesrc.html#idp22243216"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-splitfilesrc.html#idp16819744"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-splitfilesrc.html#idp22268880"/>
     <keyword type="struct" name="struct GstSplitFileSrc" link="gst-plugins-good-plugins-splitfilesrc.html#GstSplitFileSrc-struct"/>
     <keyword type="property" name="The &quot;location&quot; property" link="gst-plugins-good-plugins-splitfilesrc.html#GstSplitFileSrc--location"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-streaktv.html#idp19882688"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-streaktv.html#idp17242032"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-streaktv.html#idp22099168"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-streaktv.html#idp18778064"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-streaktv.html#idp17921024"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-streaktv.html#idp18701600"/>
     <keyword type="struct" name="struct GstStreakTV" link="gst-plugins-good-plugins-streaktv.html#GstStreakTV-struct"/>
     <keyword type="property" name="The &quot;feedback&quot; property" link="gst-plugins-good-plugins-streaktv.html#GstStreakTV--feedback"/>
-    <keyword type="" name="Example launch lines" link="gst-plugins-good-plugins-taginject.html#idp12697936"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-taginject.html#idp18853472"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-taginject.html#idp18307872"/>
+    <keyword type="" name="Example launch lines" link="gst-plugins-good-plugins-taginject.html#idp22819360"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-taginject.html#idp18904192"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-taginject.html#idp17806352"/>
     <keyword type="struct" name="struct GstTagInject" link="gst-plugins-good-plugins-taginject.html#GstTagInject-struct"/>
     <keyword type="property" name="The &quot;tags&quot; property" link="gst-plugins-good-plugins-taginject.html#GstTagInject--tags"/>
-    <keyword type="" name="Examples" link="gst-plugins-good-plugins-udpsrc.html#idp19232304"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-udpsrc.html#idp22226064"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-udpsrc.html#idp21817312"/>
+    <keyword type="" name="Examples" link="gst-plugins-good-plugins-udpsrc.html#idp21272048"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-udpsrc.html#idp19556576"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-udpsrc.html#idp21319664"/>
     <keyword type="struct" name="struct GstUDPSrc" link="gst-plugins-good-plugins-udpsrc.html#GstUDPSrc-struct"/>
     <keyword type="property" name="The &quot;caps&quot; property" link="gst-plugins-good-plugins-udpsrc.html#GstUDPSrc--caps"/>
     <keyword type="property" name="The &quot;multicast-group&quot; property" link="gst-plugins-good-plugins-udpsrc.html#GstUDPSrc--multicast-group"/>
@@ -1235,14 +1220,14 @@
     <keyword type="property" name="The &quot;close-socket&quot; property" link="gst-plugins-good-plugins-udpsrc.html#GstUDPSrc--close-socket"/>
     <keyword type="property" name="The &quot;socket&quot; property" link="gst-plugins-good-plugins-udpsrc.html#GstUDPSrc--socket"/>
     <keyword type="property" name="The &quot;used-socket&quot; property" link="gst-plugins-good-plugins-udpsrc.html#GstUDPSrc--used-socket"/>
-    <keyword type="" name="Examples" link="gst-plugins-good-plugins-udpsink.html#idp14730480"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-udpsink.html#idp19869808"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-udpsink.html#idp22819600"/>
+    <keyword type="" name="Examples" link="gst-plugins-good-plugins-udpsink.html#idp15516560"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-udpsink.html#idp16561840"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-udpsink.html#idp18907088"/>
     <keyword type="struct" name="struct GstUDPSink" link="gst-plugins-good-plugins-udpsink.html#GstUDPSink-struct"/>
     <keyword type="property" name="The &quot;host&quot; property" link="gst-plugins-good-plugins-udpsink.html#GstUDPSink--host"/>
     <keyword type="property" name="The &quot;port&quot; property" link="gst-plugins-good-plugins-udpsink.html#GstUDPSink--port"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-v4l2src.html#idp21517520"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-v4l2src.html#idp16213136"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-v4l2src.html#idp19246304"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-v4l2src.html#idp14972000"/>
     <keyword type="struct" name="struct GstV4l2Src" link="gst-plugins-good-plugins-v4l2src.html#GstV4l2Src-struct"/>
     <keyword type="property" name="The &quot;device&quot; property" link="gst-plugins-good-plugins-v4l2src.html#GstV4l2Src--device"/>
     <keyword type="property" name="The &quot;device-name&quot; property" link="gst-plugins-good-plugins-v4l2src.html#GstV4l2Src--device-name"/>
@@ -1257,8 +1242,9 @@
     <keyword type="property" name="The &quot;saturation&quot; property" link="gst-plugins-good-plugins-v4l2src.html#GstV4l2Src--saturation"/>
     <keyword type="property" name="The &quot;norm&quot; property" link="gst-plugins-good-plugins-v4l2src.html#GstV4l2Src--norm"/>
     <keyword type="property" name="The &quot;io-mode&quot; property" link="gst-plugins-good-plugins-v4l2src.html#GstV4l2Src--io-mode"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-v4l2sink.html#idp21526592"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-v4l2sink.html#idp19178192"/>
+    <keyword type="signal" name="The &quot;prepare-format&quot; signal" link="gst-plugins-good-plugins-v4l2src.html#GstV4l2Src-prepare-format"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-v4l2sink.html#idp21397760"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-v4l2sink.html#idp16891888"/>
     <keyword type="struct" name="struct GstV4l2Sink" link="gst-plugins-good-plugins-v4l2sink.html#GstV4l2Sink-struct"/>
     <keyword type="property" name="The &quot;device&quot; property" link="gst-plugins-good-plugins-v4l2sink.html#GstV4l2Sink--device"/>
     <keyword type="property" name="The &quot;device-fd&quot; property" link="gst-plugins-good-plugins-v4l2sink.html#GstV4l2Sink--device-fd"/>
@@ -1280,29 +1266,29 @@
     <keyword type="property" name="The &quot;min-queued-bufs&quot; property" link="gst-plugins-good-plugins-v4l2sink.html#GstV4l2Sink--min-queued-bufs"/>
     <keyword type="property" name="The &quot;io-mode&quot; property" link="gst-plugins-good-plugins-v4l2sink.html#GstV4l2Sink--io-mode"/>
     <keyword type="property" name="The &quot;norm&quot; property" link="gst-plugins-good-plugins-v4l2sink.html#GstV4l2Sink--norm"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-v4l2radio.html#idp21944288"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-v4l2radio.html#idp17997584"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-v4l2radio.html#idp21518464"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-v4l2radio.html#idp20192112"/>
     <keyword type="struct" name="struct GstV4l2Radio" link="gst-plugins-good-plugins-v4l2radio.html#GstV4l2Radio-struct"/>
     <keyword type="property" name="The &quot;device&quot; property" link="gst-plugins-good-plugins-v4l2radio.html#GstV4l2Radio--device"/>
     <keyword type="property" name="The &quot;frequency&quot; property" link="gst-plugins-good-plugins-v4l2radio.html#GstV4l2Radio--frequency"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-vertigotv.html#idp5308992"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-vertigotv.html#idp20062160"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-vertigotv.html#idp22485984"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-vertigotv.html#idp18881200"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-vertigotv.html#idp17294656"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-vertigotv.html#idp21864656"/>
     <keyword type="struct" name="struct GstVertigoTV" link="gst-plugins-good-plugins-vertigotv.html#GstVertigoTV-struct"/>
     <keyword type="property" name="The &quot;speed&quot; property" link="gst-plugins-good-plugins-vertigotv.html#GstVertigoTV--speed"/>
     <keyword type="property" name="The &quot;zoom-speed&quot; property" link="gst-plugins-good-plugins-vertigotv.html#GstVertigoTV--zoom-speed"/>
     <keyword type="signal" name="The &quot;reset-parms&quot; signal" link="gst-plugins-good-plugins-vertigotv.html#GstVertigoTV-reset-parms"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-videobalance.html#idp21176496"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-videobalance.html#idp22550640"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-videobalance.html#idp22067088"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-videobalance.html#idp19492112"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-videobalance.html#idp21329760"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-videobalance.html#idp17245296"/>
     <keyword type="struct" name="struct GstVideoBalance" link="gst-plugins-good-plugins-videobalance.html#GstVideoBalance-struct"/>
     <keyword type="property" name="The &quot;brightness&quot; property" link="gst-plugins-good-plugins-videobalance.html#GstVideoBalance--brightness"/>
     <keyword type="property" name="The &quot;contrast&quot; property" link="gst-plugins-good-plugins-videobalance.html#GstVideoBalance--contrast"/>
     <keyword type="property" name="The &quot;hue&quot; property" link="gst-plugins-good-plugins-videobalance.html#GstVideoBalance--hue"/>
     <keyword type="property" name="The &quot;saturation&quot; property" link="gst-plugins-good-plugins-videobalance.html#GstVideoBalance--saturation"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-videobox.html#idp17690768"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-videobox.html#idp21687024"/>
-    <keyword type="struct" name="struct GstVideoBox" link="gst-plugins-good-plugins-videobox.html#GstVideoBox"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-videobox.html#idp23145904"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-videobox.html#idp22489632"/>
+    <keyword type="struct" name="struct GstVideoBox" link="gst-plugins-good-plugins-videobox.html#GstVideoBox-struct"/>
     <keyword type="property" name="The &quot;alpha&quot; property" link="gst-plugins-good-plugins-videobox.html#GstVideoBox--alpha"/>
     <keyword type="property" name="The &quot;border-alpha&quot; property" link="gst-plugins-good-plugins-videobox.html#GstVideoBox--border-alpha"/>
     <keyword type="property" name="The &quot;bottom&quot; property" link="gst-plugins-good-plugins-videobox.html#GstVideoBox--bottom"/>
@@ -1311,41 +1297,41 @@
     <keyword type="property" name="The &quot;right&quot; property" link="gst-plugins-good-plugins-videobox.html#GstVideoBox--right"/>
     <keyword type="property" name="The &quot;top&quot; property" link="gst-plugins-good-plugins-videobox.html#GstVideoBox--top"/>
     <keyword type="property" name="The &quot;autocrop&quot; property" link="gst-plugins-good-plugins-videobox.html#GstVideoBox--autocrop"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-videocrop.html#idp23662672"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-videocrop.html#idp17591952"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-videocrop.html#idp18797280"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-videocrop.html#idp22560576"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-videocrop.html#idp19679072"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-videocrop.html#idp21264960"/>
     <keyword type="struct" name="struct GstVideoCrop" link="gst-plugins-good-plugins-videocrop.html#GstVideoCrop-struct"/>
     <keyword type="property" name="The &quot;bottom&quot; property" link="gst-plugins-good-plugins-videocrop.html#GstVideoCrop--bottom"/>
     <keyword type="property" name="The &quot;left&quot; property" link="gst-plugins-good-plugins-videocrop.html#GstVideoCrop--left"/>
     <keyword type="property" name="The &quot;right&quot; property" link="gst-plugins-good-plugins-videocrop.html#GstVideoCrop--right"/>
     <keyword type="property" name="The &quot;top&quot; property" link="gst-plugins-good-plugins-videocrop.html#GstVideoCrop--top"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-videoflip.html#idp16174512"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-videoflip.html#idp19044400"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-videoflip.html#idp21619792"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-videoflip.html#idp19600080"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-videoflip.html#idp5522368"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-videoflip.html#idp16687744"/>
     <keyword type="struct" name="struct GstVideoFlip" link="gst-plugins-good-plugins-videoflip.html#GstVideoFlip-struct"/>
     <keyword type="enum" name="enum GstVideoFlipMethod" link="gst-plugins-good-plugins-videoflip.html#GstVideoFlipMethod"/>
     <keyword type="property" name="The &quot;method&quot; property" link="gst-plugins-good-plugins-videoflip.html#GstVideoFlip--method"/>
-    <keyword type="" name="Sample pipelines" link="gst-plugins-good-plugins-videomixer.html#idp21787088"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-videomixer.html#idp19379936"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-videomixer.html#idp22037008"/>
+    <keyword type="" name="Sample pipelines" link="gst-plugins-good-plugins-videomixer.html#idp23886704"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-videomixer.html#idp23762656"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-videomixer.html#idp16908720"/>
     <keyword type="struct" name="struct GstVideoMixer2" link="gst-plugins-good-plugins-videomixer2.html#GstVideoMixer2-struct"/>
     <keyword type="enum" name="enum GstVideoMixer2Background" link="gst-plugins-good-plugins-videomixer2.html#GstVideoMixer2Background"/>
     <keyword type="property" name="The &quot;background&quot; property" link="gst-plugins-good-plugins-videomixer2.html#GstVideoMixer2--background"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-warptv.html#idp23554528"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-warptv.html#idp19931600"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-warptv.html#idp18221472"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-warptv.html#idp20134176"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-warptv.html#idp20859648"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-warptv.html#idp22745664"/>
     <keyword type="struct" name="struct GstWarpTV" link="gst-plugins-good-plugins-warptv.html#GstWarpTV-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-wavenc.html#idp16677424"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-wavenc.html#idp21719888"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-wavenc.html#idp22184928"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-wavenc.html#idp19908336"/>
     <keyword type="struct" name="struct GstWavEnc" link="gst-plugins-good-plugins-wavenc.html#GstWavEnc-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-waveformsink.html#idp22500896"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-waveformsink.html#idp24153296"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-waveformsink.html#idp21828608"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-waveformsink.html#idp23069872"/>
     <keyword type="struct" name="struct GstWaveFormSink" link="gst-plugins-good-plugins-waveformsink.html#GstWaveFormSink"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-wavpackdec.html#idp19207504"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-wavpackdec.html#idp23715184"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-wavpackdec.html#idp13004288"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-wavpackdec.html#idp22012256"/>
     <keyword type="struct" name="struct GstWavpackDec" link="gst-plugins-good-plugins-wavpackdec.html#GstWavpackDec-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-wavpackenc.html#idp19987648"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-wavpackenc.html#idp24350064"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-wavpackenc.html#idp2320880"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-wavpackenc.html#idp21195552"/>
     <keyword type="struct" name="struct GstWavpackEnc" link="gst-plugins-good-plugins-wavpackenc.html#GstWavpackEnc-struct"/>
     <keyword type="property" name="The &quot;bitrate&quot; property" link="gst-plugins-good-plugins-wavpackenc.html#GstWavpackEnc--bitrate"/>
     <keyword type="property" name="The &quot;bits-per-sample&quot; property" link="gst-plugins-good-plugins-wavpackenc.html#GstWavpackEnc--bits-per-sample"/>
@@ -1354,21 +1340,21 @@
     <keyword type="property" name="The &quot;joint-stereo-mode&quot; property" link="gst-plugins-good-plugins-wavpackenc.html#GstWavpackEnc--joint-stereo-mode"/>
     <keyword type="property" name="The &quot;md5&quot; property" link="gst-plugins-good-plugins-wavpackenc.html#GstWavpackEnc--md5"/>
     <keyword type="property" name="The &quot;mode&quot; property" link="gst-plugins-good-plugins-wavpackenc.html#GstWavpackEnc--mode"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-wavpackparse.html#idp24132576"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-wavpackparse.html#idp22571296"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-wavpackparse.html#idp20807616"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-wavpackparse.html#idp23728944"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-wavpackparse.html#idp8829824"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-wavpackparse.html#idp17510176"/>
     <keyword type="struct" name="struct GstWavpackParse" link="gst-plugins-good-plugins-wavpackparse.html#GstWavpackParse-struct"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-wavparse.html#idp19868720"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-wavparse.html#idp21882848"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-wavparse.html#idp22682112"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-wavparse.html#idp22784432"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-wavparse.html#idp23820656"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-wavparse.html#idp23731424"/>
     <keyword type="struct" name="struct GstWavParse" link="gst-plugins-good-plugins-wavparse.html#GstWavParse-struct"/>
     <keyword type="property" name="The &quot;ignore-length&quot; property" link="gst-plugins-good-plugins-wavparse.html#GstWavParse--ignore-length"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-webmmux.html#idp22755776"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-webmmux.html#idp22437056"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-webmmux.html#idp18311792"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-webmmux.html#idp21854480"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-webmmux.html#idp21557888"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-webmmux.html#idp21767952"/>
     <keyword type="struct" name="struct GstWebMMux" link="gst-plugins-good-plugins-webmmux.html#GstWebMMux-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-ximagesrc.html#idp22041664"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-ximagesrc.html#idp23743728"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-ximagesrc.html#idp23579168"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-ximagesrc.html#idp23595360"/>
     <keyword type="struct" name="struct GstXImageSrc" link="gst-plugins-good-plugins-ximagesrc.html#GstXImageSrc-struct"/>
     <keyword type="property" name="The &quot;display-name&quot; property" link="gst-plugins-good-plugins-ximagesrc.html#GstXImageSrc--display-name"/>
     <keyword type="property" name="The &quot;screen-num&quot; property" link="gst-plugins-good-plugins-ximagesrc.html#GstXImageSrc--screen-num"/>
@@ -1381,9 +1367,9 @@
     <keyword type="property" name="The &quot;remote&quot; property" link="gst-plugins-good-plugins-ximagesrc.html#GstXImageSrc--remote"/>
     <keyword type="property" name="The &quot;xid&quot; property" link="gst-plugins-good-plugins-ximagesrc.html#GstXImageSrc--xid"/>
     <keyword type="property" name="The &quot;xname&quot; property" link="gst-plugins-good-plugins-ximagesrc.html#GstXImageSrc--xname"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-y4menc.html#idp17943328"/>
-    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-y4menc.html#idp18609632"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-y4menc.html#idp5499840"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-good-plugins-y4menc.html#idp23695536"/>
+    <keyword type="" name="Element Information" link="gst-plugins-good-plugins-y4menc.html#idp19658528"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-good-plugins-y4menc.html#idp14827680"/>
     <keyword type="struct" name="struct GstY4mEncode" link="gst-plugins-good-plugins-y4menc.html#GstY4mEncode-struct"/>
     <keyword type="struct" name="struct GstIirEqualizer" link="GstIirEqualizer.html#GstIirEqualizer-struct"/>
     <keyword type="struct" name="struct GstVideoMixer2Pad" link="GstVideoMixer2Pad.html#GstVideoMixer2Pad-struct"/>
diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html
index 0f8bf66..049d5e9 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 Good Plugins 1.0 Plugins Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GStreamer Good Plugins 1.0 (0.11.90.1)
+      for GStreamer Good Plugins 1.0 (0.11.92)
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good/html/</a>.
     </p></div>
@@ -143,12 +143,6 @@
 <span class="refentrytitle"><a href="gst-plugins-good-plugins-capssetter.html">capssetter</a></span><span class="refpurpose"> — Set/merge caps on stream</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-good-plugins-cmmldec.html">cmmldec</a></span><span class="refpurpose"> — Decodes CMML streams</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gst-plugins-good-plugins-cmmlenc.html">cmmlenc</a></span><span class="refpurpose"> — Encodes CMML streams</span>
-</dt>
-<dt>
 <span class="refentrytitle"><a href="gst-plugins-good-plugins-cutter.html">cutter</a></span><span class="refpurpose"> — Audio Cutter to split audio into non-silent bits</span>
 </dt>
 <dt>
@@ -341,7 +335,7 @@
 <span class="refentrytitle"><a href="gst-plugins-good-plugins-pulsesrc.html">pulsesrc</a></span><span class="refpurpose"> — Captures audio from a PulseAudio server</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-good-plugins-pulsemixer.html">pulsemixer</a></span><span class="refpurpose"> — Control sound input and output levels for PulseAudio</span>
+<span class="refentrytitle"><a href="gst-plugins-good-plugins-pulsemixer.html">pulsemixer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-good-plugins-quarktv.html">quarktv</a></span><span class="refpurpose"> — Motion dissolver</span>
@@ -524,9 +518,6 @@
 <span class="refentrytitle"><a href="gst-plugins-good-plugins-plugin-alphacolor.html">alphacolor</a></span><span class="refpurpose"> — <a name="plugin-alphacolor"></a>RGBA from/to AYUV colorspace conversion preserving the alpha channel</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-good-plugins-plugin-annodex.html">annodex</a></span><span class="refpurpose"> — <a name="plugin-annodex"></a>annodex stream manipulation (info about annodex: http://www.annodex.net)</span>
-</dt>
-<dt>
 <span class="refentrytitle"><a href="gst-plugins-good-plugins-plugin-apetag.html">apetag</a></span><span class="refpurpose"> — <a name="plugin-apetag"></a>APEv1/2 tag reader</span>
 </dt>
 <dt>
diff --git a/docs/plugins/html/index.sgml b/docs/plugins/html/index.sgml
index b493a3a..e4bde25 100644
--- a/docs/plugins/html/index.sgml
+++ b/docs/plugins/html/index.sgml
@@ -433,28 +433,6 @@
 <ANCHOR id="GstCapsSetter--caps" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-capssetter.html#GstCapsSetter--caps">
 <ANCHOR id="GstCapsSetter--join" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-capssetter.html#GstCapsSetter--join">
 <ANCHOR id="GstCapsSetter--replace" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-capssetter.html#GstCapsSetter--replace">
-<ANCHOR id="gst-plugins-good-plugins-cmmldec" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cmmldec.html">
-<ANCHOR id="gst-plugins-good-plugins-cmmldec.synopsis" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cmmldec.html#gst-plugins-good-plugins-cmmldec.synopsis">
-<ANCHOR id="GstCmmlDec" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cmmldec.html#GstCmmlDec">
-<ANCHOR id="gst-plugins-good-plugins-cmmldec.object-hierarchy" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cmmldec.html#gst-plugins-good-plugins-cmmldec.object-hierarchy">
-<ANCHOR id="gst-plugins-good-plugins-cmmldec.properties" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cmmldec.html#gst-plugins-good-plugins-cmmldec.properties">
-<ANCHOR id="gst-plugins-good-plugins-cmmldec.description" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cmmldec.html#gst-plugins-good-plugins-cmmldec.description">
-<ANCHOR id="gst-plugins-good-plugins-cmmldec.details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cmmldec.html#gst-plugins-good-plugins-cmmldec.details">
-<ANCHOR id="GstCmmlDec-struct" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cmmldec.html#GstCmmlDec-struct">
-<ANCHOR id="gst-plugins-good-plugins-cmmldec.property-details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cmmldec.html#gst-plugins-good-plugins-cmmldec.property-details">
-<ANCHOR id="GstCmmlDec--wait-clip-end-time" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cmmldec.html#GstCmmlDec--wait-clip-end-time">
-<ANCHOR id="gst-plugins-good-plugins-cmmlenc" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cmmlenc.html">
-<ANCHOR id="gst-plugins-good-plugins-cmmlenc.synopsis" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cmmlenc.html#gst-plugins-good-plugins-cmmlenc.synopsis">
-<ANCHOR id="GstCmmlEnc" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cmmlenc.html#GstCmmlEnc">
-<ANCHOR id="gst-plugins-good-plugins-cmmlenc.object-hierarchy" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cmmlenc.html#gst-plugins-good-plugins-cmmlenc.object-hierarchy">
-<ANCHOR id="gst-plugins-good-plugins-cmmlenc.properties" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cmmlenc.html#gst-plugins-good-plugins-cmmlenc.properties">
-<ANCHOR id="gst-plugins-good-plugins-cmmlenc.description" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cmmlenc.html#gst-plugins-good-plugins-cmmlenc.description">
-<ANCHOR id="gst-plugins-good-plugins-cmmlenc.details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cmmlenc.html#gst-plugins-good-plugins-cmmlenc.details">
-<ANCHOR id="GstCmmlEnc-struct" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cmmlenc.html#GstCmmlEnc-struct">
-<ANCHOR id="gst-plugins-good-plugins-cmmlenc.property-details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cmmlenc.html#gst-plugins-good-plugins-cmmlenc.property-details">
-<ANCHOR id="GstCmmlEnc--granule-rate-denominator" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cmmlenc.html#GstCmmlEnc--granule-rate-denominator">
-<ANCHOR id="GstCmmlEnc--granule-rate-numerator" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cmmlenc.html#GstCmmlEnc--granule-rate-numerator">
-<ANCHOR id="GstCmmlEnc--granule-shift" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cmmlenc.html#GstCmmlEnc--granule-shift">
 <ANCHOR id="gst-plugins-good-plugins-cutter" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cutter.html">
 <ANCHOR id="gst-plugins-good-plugins-cutter.synopsis" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cutter.html#gst-plugins-good-plugins-cutter.synopsis">
 <ANCHOR id="GstCutter" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-cutter.html#GstCutter">
@@ -523,12 +501,14 @@
 <ANCHOR id="GstDirectSoundSink" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-directsoundsink.html#GstDirectSoundSink">
 <ANCHOR id="gst-plugins-good-plugins-dv1394src" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-dv1394src.html">
 <ANCHOR id="gst-plugins-good-plugins-dv1394src.synopsis" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-dv1394src.html#gst-plugins-good-plugins-dv1394src.synopsis">
+<ANCHOR id="GstDV1394Src" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-dv1394src.html#GstDV1394Src">
+<ANCHOR id="gst-plugins-good-plugins-dv1394src.object-hierarchy" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-dv1394src.html#gst-plugins-good-plugins-dv1394src.object-hierarchy">
 <ANCHOR id="gst-plugins-good-plugins-dv1394src.implemented-interfaces" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-dv1394src.html#gst-plugins-good-plugins-dv1394src.implemented-interfaces">
 <ANCHOR id="gst-plugins-good-plugins-dv1394src.properties" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-dv1394src.html#gst-plugins-good-plugins-dv1394src.properties">
 <ANCHOR id="gst-plugins-good-plugins-dv1394src.signals" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-dv1394src.html#gst-plugins-good-plugins-dv1394src.signals">
 <ANCHOR id="gst-plugins-good-plugins-dv1394src.description" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-dv1394src.html#gst-plugins-good-plugins-dv1394src.description">
 <ANCHOR id="gst-plugins-good-plugins-dv1394src.details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-dv1394src.html#gst-plugins-good-plugins-dv1394src.details">
-<ANCHOR id="GstDV1394Src" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-dv1394src.html#GstDV1394Src">
+<ANCHOR id="GstDV1394Src-struct" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-dv1394src.html#GstDV1394Src-struct">
 <ANCHOR id="gst-plugins-good-plugins-dv1394src.property-details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-dv1394src.html#gst-plugins-good-plugins-dv1394src.property-details">
 <ANCHOR id="GstDV1394Src--channel" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-dv1394src.html#GstDV1394Src--channel">
 <ANCHOR id="GstDV1394Src--consecutive" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-dv1394src.html#GstDV1394Src--consecutive">
@@ -683,9 +663,11 @@
 <ANCHOR id="GstFlvMux--streamable" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-flvmux.html#GstFlvMux--streamable">
 <ANCHOR id="gst-plugins-good-plugins-flxdec" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-flxdec.html">
 <ANCHOR id="gst-plugins-good-plugins-flxdec.synopsis" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-flxdec.html#gst-plugins-good-plugins-flxdec.synopsis">
+<ANCHOR id="GstFlxDec" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-flxdec.html#GstFlxDec">
+<ANCHOR id="gst-plugins-good-plugins-flxdec.object-hierarchy" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-flxdec.html#gst-plugins-good-plugins-flxdec.object-hierarchy">
 <ANCHOR id="gst-plugins-good-plugins-flxdec.description" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-flxdec.html#gst-plugins-good-plugins-flxdec.description">
 <ANCHOR id="gst-plugins-good-plugins-flxdec.details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-flxdec.html#gst-plugins-good-plugins-flxdec.details">
-<ANCHOR id="GstFlxDec" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-flxdec.html#GstFlxDec">
+<ANCHOR id="GstFlxDec-struct" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-flxdec.html#GstFlxDec-struct">
 <ANCHOR id="gst-plugins-good-plugins-gamma" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-gamma.html">
 <ANCHOR id="gst-plugins-good-plugins-gamma.synopsis" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-gamma.html#gst-plugins-good-plugins-gamma.synopsis">
 <ANCHOR id="GstGamma" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-gamma.html#GstGamma">
@@ -732,11 +714,13 @@
 <ANCHOR id="gst-plugins-good-plugins-halaudiosrc.details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-halaudiosrc.html#gst-plugins-good-plugins-halaudiosrc.details">
 <ANCHOR id="gst-plugins-good-plugins-hdv1394src" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-hdv1394src.html">
 <ANCHOR id="gst-plugins-good-plugins-hdv1394src.synopsis" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-hdv1394src.html#gst-plugins-good-plugins-hdv1394src.synopsis">
+<ANCHOR id="GstHDV1394Src" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-hdv1394src.html#GstHDV1394Src">
+<ANCHOR id="gst-plugins-good-plugins-hdv1394src.object-hierarchy" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-hdv1394src.html#gst-plugins-good-plugins-hdv1394src.object-hierarchy">
 <ANCHOR id="gst-plugins-good-plugins-hdv1394src.implemented-interfaces" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-hdv1394src.html#gst-plugins-good-plugins-hdv1394src.implemented-interfaces">
 <ANCHOR id="gst-plugins-good-plugins-hdv1394src.properties" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-hdv1394src.html#gst-plugins-good-plugins-hdv1394src.properties">
 <ANCHOR id="gst-plugins-good-plugins-hdv1394src.description" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-hdv1394src.html#gst-plugins-good-plugins-hdv1394src.description">
 <ANCHOR id="gst-plugins-good-plugins-hdv1394src.details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-hdv1394src.html#gst-plugins-good-plugins-hdv1394src.details">
-<ANCHOR id="GstHDV1394Src" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-hdv1394src.html#GstHDV1394Src">
+<ANCHOR id="GstHDV1394Src-struct" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-hdv1394src.html#GstHDV1394Src-struct">
 <ANCHOR id="gst-plugins-good-plugins-hdv1394src.property-details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-hdv1394src.html#gst-plugins-good-plugins-hdv1394src.property-details">
 <ANCHOR id="GstHDV1394Src--channel" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-hdv1394src.html#GstHDV1394Src--channel">
 <ANCHOR id="GstHDV1394Src--device-name" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-hdv1394src.html#GstHDV1394Src--device-name">
@@ -834,6 +818,7 @@
 <ANCHOR id="gst-plugins-good-plugins-jpegenc.synopsis" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-jpegenc.html#gst-plugins-good-plugins-jpegenc.synopsis">
 <ANCHOR id="GstJpegEnc" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-jpegenc.html#GstJpegEnc">
 <ANCHOR id="gst-plugins-good-plugins-jpegenc.object-hierarchy" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-jpegenc.html#gst-plugins-good-plugins-jpegenc.object-hierarchy">
+<ANCHOR id="gst-plugins-good-plugins-jpegenc.implemented-interfaces" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-jpegenc.html#gst-plugins-good-plugins-jpegenc.implemented-interfaces">
 <ANCHOR id="gst-plugins-good-plugins-jpegenc.properties" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-jpegenc.html#gst-plugins-good-plugins-jpegenc.properties">
 <ANCHOR id="gst-plugins-good-plugins-jpegenc.signals" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-jpegenc.html#gst-plugins-good-plugins-jpegenc.signals">
 <ANCHOR id="gst-plugins-good-plugins-jpegenc.description" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-jpegenc.html#gst-plugins-good-plugins-jpegenc.description">
@@ -1056,11 +1041,13 @@
 <ANCHOR id="GstOpTV--threshold" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-optv.html#GstOpTV--threshold">
 <ANCHOR id="gst-plugins-good-plugins-oss4sink" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4sink.html">
 <ANCHOR id="gst-plugins-good-plugins-oss4sink.synopsis" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4sink.html#gst-plugins-good-plugins-oss4sink.synopsis">
+<ANCHOR id="GstOss4Sink" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4sink.html#GstOss4Sink">
+<ANCHOR id="gst-plugins-good-plugins-oss4sink.object-hierarchy" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4sink.html#gst-plugins-good-plugins-oss4sink.object-hierarchy">
 <ANCHOR id="gst-plugins-good-plugins-oss4sink.implemented-interfaces" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4sink.html#gst-plugins-good-plugins-oss4sink.implemented-interfaces">
 <ANCHOR id="gst-plugins-good-plugins-oss4sink.properties" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4sink.html#gst-plugins-good-plugins-oss4sink.properties">
 <ANCHOR id="gst-plugins-good-plugins-oss4sink.description" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4sink.html#gst-plugins-good-plugins-oss4sink.description">
 <ANCHOR id="gst-plugins-good-plugins-oss4sink.details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4sink.html#gst-plugins-good-plugins-oss4sink.details">
-<ANCHOR id="GstOss4Sink" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4sink.html#GstOss4Sink">
+<ANCHOR id="GstOss4Sink-struct" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4sink.html#GstOss4Sink-struct">
 <ANCHOR id="gst-plugins-good-plugins-oss4sink.property-details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4sink.html#gst-plugins-good-plugins-oss4sink.property-details">
 <ANCHOR id="GstOss4Sink--device" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4sink.html#GstOss4Sink--device">
 <ANCHOR id="GstOss4Sink--device-name" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4sink.html#GstOss4Sink--device-name">
@@ -1068,29 +1055,35 @@
 <ANCHOR id="GstOss4Sink--volume" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4sink.html#GstOss4Sink--volume">
 <ANCHOR id="gst-plugins-good-plugins-oss4src" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4src.html">
 <ANCHOR id="gst-plugins-good-plugins-oss4src.synopsis" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4src.html#gst-plugins-good-plugins-oss4src.synopsis">
+<ANCHOR id="GstOss4Source" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4src.html#GstOss4Source">
+<ANCHOR id="gst-plugins-good-plugins-oss4src.object-hierarchy" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4src.html#gst-plugins-good-plugins-oss4src.object-hierarchy">
 <ANCHOR id="gst-plugins-good-plugins-oss4src.implemented-interfaces" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4src.html#gst-plugins-good-plugins-oss4src.implemented-interfaces">
 <ANCHOR id="gst-plugins-good-plugins-oss4src.properties" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4src.html#gst-plugins-good-plugins-oss4src.properties">
 <ANCHOR id="gst-plugins-good-plugins-oss4src.description" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4src.html#gst-plugins-good-plugins-oss4src.description">
 <ANCHOR id="gst-plugins-good-plugins-oss4src.details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4src.html#gst-plugins-good-plugins-oss4src.details">
-<ANCHOR id="GstOss4Source" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4src.html#GstOss4Source">
+<ANCHOR id="GstOss4Source-struct" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4src.html#GstOss4Source-struct">
 <ANCHOR id="gst-plugins-good-plugins-oss4src.property-details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4src.html#gst-plugins-good-plugins-oss4src.property-details">
 <ANCHOR id="GstOss4Source--device" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4src.html#GstOss4Source--device">
 <ANCHOR id="GstOss4Source--device-name" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-oss4src.html#GstOss4Source--device-name">
 <ANCHOR id="gst-plugins-good-plugins-osssink" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssink.html">
 <ANCHOR id="gst-plugins-good-plugins-osssink.synopsis" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssink.html#gst-plugins-good-plugins-osssink.synopsis">
+<ANCHOR id="GstOssSink" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssink.html#GstOssSink">
+<ANCHOR id="gst-plugins-good-plugins-osssink.object-hierarchy" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssink.html#gst-plugins-good-plugins-osssink.object-hierarchy">
 <ANCHOR id="gst-plugins-good-plugins-osssink.properties" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssink.html#gst-plugins-good-plugins-osssink.properties">
 <ANCHOR id="gst-plugins-good-plugins-osssink.description" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssink.html#gst-plugins-good-plugins-osssink.description">
 <ANCHOR id="gst-plugins-good-plugins-osssink.details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssink.html#gst-plugins-good-plugins-osssink.details">
-<ANCHOR id="GstOssSink" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssink.html#GstOssSink">
+<ANCHOR id="GstOssSink-struct" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssink.html#GstOssSink-struct">
 <ANCHOR id="gst-plugins-good-plugins-osssink.property-details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssink.html#gst-plugins-good-plugins-osssink.property-details">
 <ANCHOR id="GstOssSink--device" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssink.html#GstOssSink--device">
 <ANCHOR id="gst-plugins-good-plugins-osssrc" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssrc.html">
 <ANCHOR id="gst-plugins-good-plugins-osssrc.synopsis" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssrc.html#gst-plugins-good-plugins-osssrc.synopsis">
+<ANCHOR id="GstOssSrc" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssrc.html#GstOssSrc">
+<ANCHOR id="gst-plugins-good-plugins-osssrc.object-hierarchy" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssrc.html#gst-plugins-good-plugins-osssrc.object-hierarchy">
 <ANCHOR id="gst-plugins-good-plugins-osssrc.implemented-interfaces" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssrc.html#gst-plugins-good-plugins-osssrc.implemented-interfaces">
 <ANCHOR id="gst-plugins-good-plugins-osssrc.properties" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssrc.html#gst-plugins-good-plugins-osssrc.properties">
 <ANCHOR id="gst-plugins-good-plugins-osssrc.description" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssrc.html#gst-plugins-good-plugins-osssrc.description">
 <ANCHOR id="gst-plugins-good-plugins-osssrc.details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssrc.html#gst-plugins-good-plugins-osssrc.details">
-<ANCHOR id="GstOssSrc" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssrc.html#GstOssSrc">
+<ANCHOR id="GstOssSrc-struct" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssrc.html#GstOssSrc-struct">
 <ANCHOR id="gst-plugins-good-plugins-osssrc.property-details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssrc.html#gst-plugins-good-plugins-osssrc.property-details">
 <ANCHOR id="GstOssSrc--device" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssrc.html#GstOssSrc--device">
 <ANCHOR id="GstOssSrc--device-name" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-osssrc.html#GstOssSrc--device-name">
@@ -1130,6 +1123,7 @@
 <ANCHOR id="gst-plugins-good-plugins-pngenc.synopsis" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-pngenc.html#gst-plugins-good-plugins-pngenc.synopsis">
 <ANCHOR id="GstPngEnc" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-pngenc.html#GstPngEnc">
 <ANCHOR id="gst-plugins-good-plugins-pngenc.object-hierarchy" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-pngenc.html#gst-plugins-good-plugins-pngenc.object-hierarchy">
+<ANCHOR id="gst-plugins-good-plugins-pngenc.implemented-interfaces" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-pngenc.html#gst-plugins-good-plugins-pngenc.implemented-interfaces">
 <ANCHOR id="gst-plugins-good-plugins-pngenc.properties" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-pngenc.html#gst-plugins-good-plugins-pngenc.properties">
 <ANCHOR id="gst-plugins-good-plugins-pngenc.description" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-pngenc.html#gst-plugins-good-plugins-pngenc.description">
 <ANCHOR id="gst-plugins-good-plugins-pngenc.details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-pngenc.html#gst-plugins-good-plugins-pngenc.details">
@@ -1728,6 +1722,7 @@
 <ANCHOR id="gst-plugins-good-plugins-v4l2src.object-hierarchy" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-v4l2src.html#gst-plugins-good-plugins-v4l2src.object-hierarchy">
 <ANCHOR id="gst-plugins-good-plugins-v4l2src.implemented-interfaces" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-v4l2src.html#gst-plugins-good-plugins-v4l2src.implemented-interfaces">
 <ANCHOR id="gst-plugins-good-plugins-v4l2src.properties" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-v4l2src.html#gst-plugins-good-plugins-v4l2src.properties">
+<ANCHOR id="gst-plugins-good-plugins-v4l2src.signals" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-v4l2src.html#gst-plugins-good-plugins-v4l2src.signals">
 <ANCHOR id="gst-plugins-good-plugins-v4l2src.description" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-v4l2src.html#gst-plugins-good-plugins-v4l2src.description">
 <ANCHOR id="gst-plugins-good-plugins-v4l2src.details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-v4l2src.html#gst-plugins-good-plugins-v4l2src.details">
 <ANCHOR id="GstV4l2Src-struct" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-v4l2src.html#GstV4l2Src-struct">
@@ -1745,6 +1740,8 @@
 <ANCHOR id="GstV4l2Src--saturation" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-v4l2src.html#GstV4l2Src--saturation">
 <ANCHOR id="GstV4l2Src--norm" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-v4l2src.html#GstV4l2Src--norm">
 <ANCHOR id="GstV4l2Src--io-mode" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-v4l2src.html#GstV4l2Src--io-mode">
+<ANCHOR id="gst-plugins-good-plugins-v4l2src.signal-details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-v4l2src.html#gst-plugins-good-plugins-v4l2src.signal-details">
+<ANCHOR id="GstV4l2Src-prepare-format" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-v4l2src.html#GstV4l2Src-prepare-format">
 <ANCHOR id="gst-plugins-good-plugins-v4l2sink" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-v4l2sink.html">
 <ANCHOR id="gst-plugins-good-plugins-v4l2sink.synopsis" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-v4l2sink.html#gst-plugins-good-plugins-v4l2sink.synopsis">
 <ANCHOR id="GstV4l2Sink" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-v4l2sink.html#GstV4l2Sink">
@@ -1817,10 +1814,12 @@
 <ANCHOR id="GstVideoBalance--saturation" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-videobalance.html#GstVideoBalance--saturation">
 <ANCHOR id="gst-plugins-good-plugins-videobox" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-videobox.html">
 <ANCHOR id="gst-plugins-good-plugins-videobox.synopsis" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-videobox.html#gst-plugins-good-plugins-videobox.synopsis">
+<ANCHOR id="GstVideoBox" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-videobox.html#GstVideoBox">
+<ANCHOR id="gst-plugins-good-plugins-videobox.object-hierarchy" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-videobox.html#gst-plugins-good-plugins-videobox.object-hierarchy">
 <ANCHOR id="gst-plugins-good-plugins-videobox.properties" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-videobox.html#gst-plugins-good-plugins-videobox.properties">
 <ANCHOR id="gst-plugins-good-plugins-videobox.description" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-videobox.html#gst-plugins-good-plugins-videobox.description">
 <ANCHOR id="gst-plugins-good-plugins-videobox.details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-videobox.html#gst-plugins-good-plugins-videobox.details">
-<ANCHOR id="GstVideoBox" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-videobox.html#GstVideoBox">
+<ANCHOR id="GstVideoBox-struct" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-videobox.html#GstVideoBox-struct">
 <ANCHOR id="gst-plugins-good-plugins-videobox.property-details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-videobox.html#gst-plugins-good-plugins-videobox.property-details">
 <ANCHOR id="GstVideoBox--alpha" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-videobox.html#GstVideoBox--alpha">
 <ANCHOR id="GstVideoBox--border-alpha" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-videobox.html#GstVideoBox--border-alpha">
@@ -1990,8 +1989,6 @@
 <ANCHOR id="plugin-alpha" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-plugin-alpha.html#plugin-alpha">
 <ANCHOR id="gst-plugins-good-plugins-plugin-alphacolor" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-plugin-alphacolor.html">
 <ANCHOR id="plugin-alphacolor" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-plugin-alphacolor.html#plugin-alphacolor">
-<ANCHOR id="gst-plugins-good-plugins-plugin-annodex" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-plugin-annodex.html">
-<ANCHOR id="plugin-annodex" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-plugin-annodex.html#plugin-annodex">
 <ANCHOR id="gst-plugins-good-plugins-plugin-apetag" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-plugin-apetag.html">
 <ANCHOR id="plugin-apetag" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-plugin-apetag.html#plugin-apetag">
 <ANCHOR id="gst-plugins-good-plugins-plugin-audiofx" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-plugin-audiofx.html">
diff --git a/docs/plugins/inspect/plugin-1394.xml b/docs/plugins/inspect/plugin-1394.xml
index 56e1fec..73a3ce0 100644
--- a/docs/plugins/inspect/plugin-1394.xml
+++ b/docs/plugins/inspect/plugin-1394.xml
@@ -3,10 +3,10 @@
   <description>Source for video data via IEEE1394 interface</description>
   <filename>../../ext/raw1394/.libs/libgst1394.so</filename>
   <basename>libgst1394.so</basename>
-  <version>0.10.30.1</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
-  <package>GStreamer Good Plug-ins git</package>
+  <package>GStreamer Good Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-aasink.xml b/docs/plugins/inspect/plugin-aasink.xml
index 25df2e8..140d48b 100644
--- a/docs/plugins/inspect/plugin-aasink.xml
+++ b/docs/plugins/inspect/plugin-aasink.xml
@@ -3,7 +3,7 @@
   <description>ASCII Art video sink</description>
   <filename>../../ext/aalib/.libs/libgstaasink.so</filename>
   <basename>libgstaasink.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-alaw.xml b/docs/plugins/inspect/plugin-alaw.xml
index 97084f7..5ddf6dc 100644
--- a/docs/plugins/inspect/plugin-alaw.xml
+++ b/docs/plugins/inspect/plugin-alaw.xml
@@ -3,7 +3,7 @@
   <description>ALaw audio conversion routines</description>
   <filename>../../gst/law/.libs/libgstalaw.so</filename>
   <basename>libgstalaw.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-alpha.xml b/docs/plugins/inspect/plugin-alpha.xml
index 5277a7e..8829964 100644
--- a/docs/plugins/inspect/plugin-alpha.xml
+++ b/docs/plugins/inspect/plugin-alpha.xml
@@ -3,7 +3,7 @@
   <description>adds an alpha channel to video - constant or via chroma-keying</description>
   <filename>../../gst/alpha/.libs/libgstalpha.so</filename>
   <basename>libgstalpha.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-alphacolor.xml b/docs/plugins/inspect/plugin-alphacolor.xml
index 3cad473..5dc5b99 100644
--- a/docs/plugins/inspect/plugin-alphacolor.xml
+++ b/docs/plugins/inspect/plugin-alphacolor.xml
@@ -3,7 +3,7 @@
   <description>RGBA from/to AYUV colorspace conversion preserving the alpha channel</description>
   <filename>../../gst/alpha/.libs/libgstalphacolor.so</filename>
   <basename>libgstalphacolor.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-annodex.xml b/docs/plugins/inspect/plugin-annodex.xml
index c7f44b7..5d84482 100644
--- a/docs/plugins/inspect/plugin-annodex.xml
+++ b/docs/plugins/inspect/plugin-annodex.xml
@@ -3,10 +3,10 @@
   <description>annodex stream manipulation (info about annodex: http://www.annodex.net)</description>
   <filename>../../ext/annodex/.libs/libgstannodex.so</filename>
   <basename>libgstannodex.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.91.1</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
-  <package>GStreamer Good Plug-ins source release</package>
+  <package>GStreamer Good Plug-ins git</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-apetag.xml b/docs/plugins/inspect/plugin-apetag.xml
index e72a667..68aa6be 100644
--- a/docs/plugins/inspect/plugin-apetag.xml
+++ b/docs/plugins/inspect/plugin-apetag.xml
@@ -3,7 +3,7 @@
   <description>APEv1/2 tag reader</description>
   <filename>../../gst/apetag/.libs/libgstapetag.so</filename>
   <basename>libgstapetag.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-audiofx.xml b/docs/plugins/inspect/plugin-audiofx.xml
index b3e21b1..dcb1af3 100644
--- a/docs/plugins/inspect/plugin-audiofx.xml
+++ b/docs/plugins/inspect/plugin-audiofx.xml
@@ -3,7 +3,7 @@
   <description>Audio effects plugin</description>
   <filename>../../gst/audiofx/.libs/libgstaudiofx.so</filename>
   <basename>libgstaudiofx.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-audioparsers.xml b/docs/plugins/inspect/plugin-audioparsers.xml
index d9b6efe..dbf91e3 100644
--- a/docs/plugins/inspect/plugin-audioparsers.xml
+++ b/docs/plugins/inspect/plugin-audioparsers.xml
@@ -3,7 +3,7 @@
   <description>Parsers for various audio formats</description>
   <filename>../../gst/audioparsers/.libs/libgstaudioparsers.so</filename>
   <basename>libgstaudioparsers.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-auparse.xml b/docs/plugins/inspect/plugin-auparse.xml
index 774edac..3a551ef 100644
--- a/docs/plugins/inspect/plugin-auparse.xml
+++ b/docs/plugins/inspect/plugin-auparse.xml
@@ -3,7 +3,7 @@
   <description>parses au streams</description>
   <filename>../../gst/auparse/.libs/libgstauparse.so</filename>
   <basename>libgstauparse.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-autodetect.xml b/docs/plugins/inspect/plugin-autodetect.xml
index b6a73e8..ec6f7af 100644
--- a/docs/plugins/inspect/plugin-autodetect.xml
+++ b/docs/plugins/inspect/plugin-autodetect.xml
@@ -3,7 +3,7 @@
   <description>Plugin contains auto-detection plugins for video/audio in- and outputs</description>
   <filename>../../gst/autodetect/.libs/libgstautodetect.so</filename>
   <basename>libgstautodetect.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-avi.xml b/docs/plugins/inspect/plugin-avi.xml
index 1c52c4c..e6dfe18 100644
--- a/docs/plugins/inspect/plugin-avi.xml
+++ b/docs/plugins/inspect/plugin-avi.xml
@@ -3,7 +3,7 @@
   <description>AVI stream handling</description>
   <filename>../../gst/avi/.libs/libgstavi.so</filename>
   <basename>libgstavi.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-cacasink.xml b/docs/plugins/inspect/plugin-cacasink.xml
index 9007a9e..f2c0cc2 100644
--- a/docs/plugins/inspect/plugin-cacasink.xml
+++ b/docs/plugins/inspect/plugin-cacasink.xml
@@ -3,7 +3,7 @@
   <description>Colored ASCII Art video sink</description>
   <filename>../../ext/libcaca/.libs/libgstcacasink.so</filename>
   <basename>libgstcacasink.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-cutter.xml b/docs/plugins/inspect/plugin-cutter.xml
index ad74bcd..5ed9a25 100644
--- a/docs/plugins/inspect/plugin-cutter.xml
+++ b/docs/plugins/inspect/plugin-cutter.xml
@@ -3,7 +3,7 @@
   <description>Audio Cutter to split audio into non-silent bits</description>
   <filename>../../gst/cutter/.libs/libgstcutter.so</filename>
   <basename>libgstcutter.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-debug.xml b/docs/plugins/inspect/plugin-debug.xml
index d88ed22..6b09a3a 100644
--- a/docs/plugins/inspect/plugin-debug.xml
+++ b/docs/plugins/inspect/plugin-debug.xml
@@ -3,7 +3,7 @@
   <description>elements for testing and debugging</description>
   <filename>../../gst/debugutils/.libs/libgstdebug.so</filename>
   <basename>libgstdebug.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dv.xml b/docs/plugins/inspect/plugin-dv.xml
index 804d4ba..62da89f 100644
--- a/docs/plugins/inspect/plugin-dv.xml
+++ b/docs/plugins/inspect/plugin-dv.xml
@@ -3,7 +3,7 @@
   <description>DV demuxer and decoder based on libdv (libdv.sf.net)</description>
   <filename>../../ext/dv/.libs/libgstdv.so</filename>
   <basename>libgstdv.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-effectv.xml b/docs/plugins/inspect/plugin-effectv.xml
index 67caf9e..3a6d21b 100644
--- a/docs/plugins/inspect/plugin-effectv.xml
+++ b/docs/plugins/inspect/plugin-effectv.xml
@@ -3,7 +3,7 @@
   <description>effect plugins from the effectv project</description>
   <filename>../../gst/effectv/.libs/libgsteffectv.so</filename>
   <basename>libgsteffectv.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-equalizer.xml b/docs/plugins/inspect/plugin-equalizer.xml
index 77125b9..0e2012f 100644
--- a/docs/plugins/inspect/plugin-equalizer.xml
+++ b/docs/plugins/inspect/plugin-equalizer.xml
@@ -3,7 +3,7 @@
   <description>GStreamer audio equalizers</description>
   <filename>../../gst/equalizer/.libs/libgstequalizer.so</filename>
   <basename>libgstequalizer.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-flac.xml b/docs/plugins/inspect/plugin-flac.xml
index d48b569..f08d6d8 100644
--- a/docs/plugins/inspect/plugin-flac.xml
+++ b/docs/plugins/inspect/plugin-flac.xml
@@ -3,7 +3,7 @@
   <description>The FLAC Lossless compressor Codec</description>
   <filename>../../ext/flac/.libs/libgstflac.so</filename>
   <basename>libgstflac.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-flv.xml b/docs/plugins/inspect/plugin-flv.xml
index a297afd..6a87f3a 100644
--- a/docs/plugins/inspect/plugin-flv.xml
+++ b/docs/plugins/inspect/plugin-flv.xml
@@ -3,7 +3,7 @@
   <description>FLV muxing and demuxing plugin</description>
   <filename>../../gst/flv/.libs/libgstflv.so</filename>
   <basename>libgstflv.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-flxdec.xml b/docs/plugins/inspect/plugin-flxdec.xml
index e035f3d..58da447 100644
--- a/docs/plugins/inspect/plugin-flxdec.xml
+++ b/docs/plugins/inspect/plugin-flxdec.xml
@@ -3,10 +3,10 @@
   <description>FLC/FLI/FLX video decoder</description>
   <filename>../../gst/flx/.libs/libgstflxdec.so</filename>
   <basename>libgstflxdec.so</basename>
-  <version>0.10.30.1</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
-  <package>GStreamer Good Plug-ins git</package>
+  <package>GStreamer Good Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
@@ -26,7 +26,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string)BGRx, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-goom.xml b/docs/plugins/inspect/plugin-goom.xml
index 3a22c38..af02a92 100644
--- a/docs/plugins/inspect/plugin-goom.xml
+++ b/docs/plugins/inspect/plugin-goom.xml
@@ -3,7 +3,7 @@
   <description>GOOM visualization filter</description>
   <filename>../../gst/goom/.libs/libgstgoom.so</filename>
   <basename>libgstgoom.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-goom2k1.xml b/docs/plugins/inspect/plugin-goom2k1.xml
index 5ac3c3f..dce0acb 100644
--- a/docs/plugins/inspect/plugin-goom2k1.xml
+++ b/docs/plugins/inspect/plugin-goom2k1.xml
@@ -3,7 +3,7 @@
   <description>GOOM 2k1 visualization filter</description>
   <filename>../../gst/goom2k1/.libs/libgstgoom2k1.so</filename>
   <basename>libgstgoom2k1.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-icydemux.xml b/docs/plugins/inspect/plugin-icydemux.xml
index f365352..cff9f81 100644
--- a/docs/plugins/inspect/plugin-icydemux.xml
+++ b/docs/plugins/inspect/plugin-icydemux.xml
@@ -3,7 +3,7 @@
   <description>Demux ICY tags from a stream</description>
   <filename>../../gst/icydemux/.libs/libgsticydemux.so</filename>
   <basename>libgsticydemux.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-id3demux.xml b/docs/plugins/inspect/plugin-id3demux.xml
index 2cfeede..27efbd7 100644
--- a/docs/plugins/inspect/plugin-id3demux.xml
+++ b/docs/plugins/inspect/plugin-id3demux.xml
@@ -3,7 +3,7 @@
   <description>Demux ID3v1 and ID3v2 tags from a file</description>
   <filename>../../gst/id3demux/.libs/libgstid3demux.so</filename>
   <basename>libgstid3demux.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-imagefreeze.xml b/docs/plugins/inspect/plugin-imagefreeze.xml
index f4705dc..982434a 100644
--- a/docs/plugins/inspect/plugin-imagefreeze.xml
+++ b/docs/plugins/inspect/plugin-imagefreeze.xml
@@ -3,7 +3,7 @@
   <description>Still frame stream generator</description>
   <filename>../../gst/imagefreeze/.libs/libgstimagefreeze.so</filename>
   <basename>libgstimagefreeze.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-interleave.xml b/docs/plugins/inspect/plugin-interleave.xml
index 5752c97..f8bb44c 100644
--- a/docs/plugins/inspect/plugin-interleave.xml
+++ b/docs/plugins/inspect/plugin-interleave.xml
@@ -3,7 +3,7 @@
   <description>Audio interleaver/deinterleaver</description>
   <filename>../../gst/interleave/.libs/libgstinterleave.so</filename>
   <basename>libgstinterleave.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-isomp4.xml b/docs/plugins/inspect/plugin-isomp4.xml
index eab0a88..106cf35 100644
--- a/docs/plugins/inspect/plugin-isomp4.xml
+++ b/docs/plugins/inspect/plugin-isomp4.xml
@@ -3,7 +3,7 @@
   <description>ISO base media file format support (mp4, 3gpp, qt, mj2)</description>
   <filename>../../gst/isomp4/.libs/libgstisomp4.so</filename>
   <basename>libgstisomp4.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-jack.xml b/docs/plugins/inspect/plugin-jack.xml
index 953afb7..471f94e 100644
--- a/docs/plugins/inspect/plugin-jack.xml
+++ b/docs/plugins/inspect/plugin-jack.xml
@@ -3,7 +3,7 @@
   <description>JACK audio elements</description>
   <filename>../../ext/jack/.libs/libgstjack.so</filename>
   <basename>libgstjack.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-jpeg.xml b/docs/plugins/inspect/plugin-jpeg.xml
index 16fb1ab..d1d53e8 100644
--- a/docs/plugins/inspect/plugin-jpeg.xml
+++ b/docs/plugins/inspect/plugin-jpeg.xml
@@ -3,7 +3,7 @@
   <description>JPeg plugin library</description>
   <filename>../../ext/jpeg/.libs/libgstjpeg.so</filename>
   <basename>libgstjpeg.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
@@ -20,7 +20,7 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>image/jpeg, width=(int)[ 1, 65535 ], height=(int)[ 1, 65535 ], framerate=(fraction)[ 0/1, 2147483647/1 ], sof-marker=(int){ 0, 1, 2, 5, 6, 7, 9, 10, 13, 14 }</details>
+          <details>image/jpeg, width=(int)[ 1, 65535 ], height=(int)[ 1, 65535 ], sof-marker=(int){ 0, 1, 2, 5, 6, 7, 9, 10, 13, 14 }</details>
         </caps>
         <caps>
           <name>src</name>
diff --git a/docs/plugins/inspect/plugin-level.xml b/docs/plugins/inspect/plugin-level.xml
index 18d348e..56c405c 100644
--- a/docs/plugins/inspect/plugin-level.xml
+++ b/docs/plugins/inspect/plugin-level.xml
@@ -3,7 +3,7 @@
   <description>Audio level plugin</description>
   <filename>../../gst/level/.libs/libgstlevel.so</filename>
   <basename>libgstlevel.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-matroska.xml b/docs/plugins/inspect/plugin-matroska.xml
index 6242aef..8df9c50 100644
--- a/docs/plugins/inspect/plugin-matroska.xml
+++ b/docs/plugins/inspect/plugin-matroska.xml
@@ -3,7 +3,7 @@
   <description>Matroska and WebM stream handling</description>
   <filename>../../gst/matroska/.libs/libgstmatroska.so</filename>
   <basename>libgstmatroska.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
@@ -20,7 +20,7 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-matroska; video/webm</details>
+          <details>audio/x-matroska; video/x-matroska; video/x-matroska-3d; audio/webm; video/webm</details>
         </caps>
         <caps>
           <name>audio_%u</name>
@@ -71,7 +71,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-matroska</details>
+          <details>video/x-matroska; video/x-matroska-3d; audio/x-matroska</details>
         </caps>
       </pads>
     </element>
@@ -86,13 +86,13 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-matroska; video/webm</details>
+          <details>audio/x-matroska; video/x-matroska; video/x-matroska-3d; audio/webm; video/webm</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-matroska; video/webm</details>
+          <details>audio/x-matroska; video/x-matroska; video/x-matroska-3d; audio/webm; video/webm</details>
         </caps>
       </pads>
     </element>
@@ -125,7 +125,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/webm</details>
+          <details>video/webm; audio/webm</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-mulaw.xml b/docs/plugins/inspect/plugin-mulaw.xml
index 7485938..996b57d 100644
--- a/docs/plugins/inspect/plugin-mulaw.xml
+++ b/docs/plugins/inspect/plugin-mulaw.xml
@@ -3,7 +3,7 @@
   <description>MuLaw audio conversion routines</description>
   <filename>../../gst/law/.libs/libgstmulaw.so</filename>
   <basename>libgstmulaw.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-multifile.xml b/docs/plugins/inspect/plugin-multifile.xml
index 8333ff5..9377223 100644
--- a/docs/plugins/inspect/plugin-multifile.xml
+++ b/docs/plugins/inspect/plugin-multifile.xml
@@ -3,7 +3,7 @@
   <description>Reads/Writes buffers from/to sequentially named files</description>
   <filename>../../gst/multifile/.libs/libgstmultifile.so</filename>
   <basename>libgstmultifile.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-multipart.xml b/docs/plugins/inspect/plugin-multipart.xml
index dfaecab..c5ff407 100644
--- a/docs/plugins/inspect/plugin-multipart.xml
+++ b/docs/plugins/inspect/plugin-multipart.xml
@@ -3,7 +3,7 @@
   <description>multipart stream manipulation</description>
   <filename>../../gst/multipart/.libs/libgstmultipart.so</filename>
   <basename>libgstmultipart.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-navigationtest.xml b/docs/plugins/inspect/plugin-navigationtest.xml
index 0d45010..7f2c1ce 100644
--- a/docs/plugins/inspect/plugin-navigationtest.xml
+++ b/docs/plugins/inspect/plugin-navigationtest.xml
@@ -3,7 +3,7 @@
   <description>Template for a video filter</description>
   <filename>../../gst/debugutils/.libs/libgstnavigationtest.so</filename>
   <basename>libgstnavigationtest.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-oss4.xml b/docs/plugins/inspect/plugin-oss4.xml
index 533de3d..4847d11 100644
--- a/docs/plugins/inspect/plugin-oss4.xml
+++ b/docs/plugins/inspect/plugin-oss4.xml
@@ -3,22 +3,13 @@
   <description>Open Sound System (OSS) version 4 support for GStreamer</description>
   <filename>../../sys/oss4/.libs/libgstoss4audio.so</filename>
   <basename>libgstoss4audio.so</basename>
-  <version>0.10.30.1</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
-  <package>GStreamer Good Plug-ins git</package>
+  <package>GStreamer Good Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
-      <name>oss4mixer</name>
-      <longname>OSS v4 Audio Mixer</longname>
-      <class>Generic/Audio</class>
-      <description>Control sound input and output levels with OSS4</description>
-      <author>Tim-Philipp Müller &lt;tim centricular net&gt;</author>
-      <pads>
-      </pads>
-    </element>
-    <element>
       <name>oss4sink</name>
       <longname>OSS v4 Audio Sink</longname>
       <class>Sink/Audio</class>
@@ -29,7 +20,7 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-alaw, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]; audio/x-mulaw, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]; audio/x-raw-int, width=(int)32, depth=(int)32, signed=(boolean)true, endianness=(int)1234, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]; audio/x-raw-int, width=(int)32, depth=(int){ 32, 24 }, signed=(boolean)true, endianness=(int)4321, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]; audio/x-raw-int, width=(int){ 32, 24 }, depth=(int)24, signed=(boolean)true, endianness=(int)1234, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]; audio/x-raw-int, width=(int)16, depth=(int)16, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]; audio/x-raw-int, width=(int)8, depth=(int)8, signed=(boolean){ true, false }, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]</details>
+          <details>audio/x-alaw, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]; audio/x-mulaw, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]; audio/x-raw, format=(string){ S32LE, S32BE, S24_32LE, S24_32BE, S24LE, S16LE, S16BE, U16LE, U16BE, S8, U8 }, layout=(string)interleaved, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]</details>
         </caps>
       </pads>
     </element>
@@ -44,7 +35,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-alaw, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]; audio/x-mulaw, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]; audio/x-raw-int, width=(int)32, depth=(int)32, signed=(boolean)true, endianness=(int)1234, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]; audio/x-raw-int, width=(int)32, depth=(int){ 32, 24 }, signed=(boolean)true, endianness=(int)4321, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]; audio/x-raw-int, width=(int){ 32, 24 }, depth=(int)24, signed=(boolean)true, endianness=(int)1234, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]; audio/x-raw-int, width=(int)16, depth=(int)16, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]; audio/x-raw-int, width=(int)8, depth=(int)8, signed=(boolean){ true, false }, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]</details>
+          <details>audio/x-alaw, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]; audio/x-mulaw, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]; audio/x-raw, format=(string){ S32LE, S32BE, S24_32LE, S24_32BE, S24LE, S16LE, S16BE, U16LE, U16BE, S8, U8 }, layout=(string)interleaved, rate=(int)[ 1, 192000 ], channels=(int)[ 1, 4096 ]</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-ossaudio.xml b/docs/plugins/inspect/plugin-ossaudio.xml
index 564ed53..eb7f1ab 100644
--- a/docs/plugins/inspect/plugin-ossaudio.xml
+++ b/docs/plugins/inspect/plugin-ossaudio.xml
@@ -3,22 +3,13 @@
   <description>OSS (Open Sound System) support for GStreamer</description>
   <filename>../../sys/oss/.libs/libgstossaudio.so</filename>
   <basename>libgstossaudio.so</basename>
-  <version>0.10.30.1</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
-  <package>GStreamer Good Plug-ins git</package>
+  <package>GStreamer Good Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
-      <name>ossmixer</name>
-      <longname>OSS Mixer</longname>
-      <class>Generic/Audio</class>
-      <description>Control sound input and output levels with OSS</description>
-      <author>Andrew Vander Wingo &lt;wingo@pobox.com&gt;</author>
-      <pads>
-      </pads>
-    </element>
-    <element>
       <name>osssink</name>
       <longname>Audio Sink (OSS)</longname>
       <class>Sink/Audio</class>
@@ -29,7 +20,7 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw-int, endianness=(int){ 1234 }, signed=(boolean){ true, false }, width=(int)16, depth=(int)16, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2 ]; audio/x-raw-int, signed=(boolean){ true, false }, width=(int)8, depth=(int)8, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2 ]</details>
+          <details>audio/x-raw, format=(string){ S16LE, U16LE, S8, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)1; audio/x-raw, format=(string){ S16LE, U16LE, S8, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)2, channel-mask=(bitmask)0x0000000000000003</details>
         </caps>
       </pads>
     </element>
@@ -44,7 +35,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw-int, endianness=(int){ 1234 }, signed=(boolean){ true, false }, width=(int)16, depth=(int)16, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2 ]; audio/x-raw-int, signed=(boolean){ true, false }, width=(int)8, depth=(int)8, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2 ]</details>
+          <details>audio/x-raw, format=(string){ S16LE, U16LE, S8, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)1; audio/x-raw, format=(string){ S16LE, U16LE, S8, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)2, channel-mask=(bitmask)0x0000000000000003</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-png.xml b/docs/plugins/inspect/plugin-png.xml
index 5ea5bbc..c36a231 100644
--- a/docs/plugins/inspect/plugin-png.xml
+++ b/docs/plugins/inspect/plugin-png.xml
@@ -3,7 +3,7 @@
   <description>PNG plugin library</description>
   <filename>../../ext/libpng/.libs/libgstpng.so</filename>
   <basename>libgstpng.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-pulseaudio.xml b/docs/plugins/inspect/plugin-pulseaudio.xml
index 248df5f..844758d 100644
--- a/docs/plugins/inspect/plugin-pulseaudio.xml
+++ b/docs/plugins/inspect/plugin-pulseaudio.xml
@@ -3,22 +3,13 @@
   <description>PulseAudio plugin library</description>
   <filename>../../ext/pulse/.libs/libgstpulse.so</filename>
   <basename>libgstpulse.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
-      <name>pulsemixer</name>
-      <longname>PulseAudio Mixer</longname>
-      <class>Generic/Audio</class>
-      <description>Control sound input and output levels for PulseAudio</description>
-      <author>Lennart Poettering</author>
-      <pads>
-      </pads>
-    </element>
-    <element>
       <name>pulsesink</name>
       <longname>PulseAudio Audio Sink</longname>
       <class>Sink/Audio</class>
diff --git a/docs/plugins/inspect/plugin-replaygain.xml b/docs/plugins/inspect/plugin-replaygain.xml
index 8660ad2..42baab3 100644
--- a/docs/plugins/inspect/plugin-replaygain.xml
+++ b/docs/plugins/inspect/plugin-replaygain.xml
@@ -3,7 +3,7 @@
   <description>ReplayGain volume normalization</description>
   <filename>../../gst/replaygain/.libs/libgstreplaygain.so</filename>
   <basename>libgstreplaygain.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rtp.xml b/docs/plugins/inspect/plugin-rtp.xml
index f569f03..098dccf 100644
--- a/docs/plugins/inspect/plugin-rtp.xml
+++ b/docs/plugins/inspect/plugin-rtp.xml
@@ -3,7 +3,7 @@
   <description>Real-time protocol plugins</description>
   <filename>../../gst/rtp/.libs/libgstrtp.so</filename>
   <basename>libgstrtp.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rtpmanager.xml b/docs/plugins/inspect/plugin-rtpmanager.xml
index 225d082..f28c6df 100644
--- a/docs/plugins/inspect/plugin-rtpmanager.xml
+++ b/docs/plugins/inspect/plugin-rtpmanager.xml
@@ -3,7 +3,7 @@
   <description>RTP session management plugin library</description>
   <filename>../../gst/rtpmanager/.libs/libgstrtpmanager.so</filename>
   <basename>libgstrtpmanager.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rtsp.xml b/docs/plugins/inspect/plugin-rtsp.xml
index 4516242..74d3a9f 100644
--- a/docs/plugins/inspect/plugin-rtsp.xml
+++ b/docs/plugins/inspect/plugin-rtsp.xml
@@ -3,7 +3,7 @@
   <description>transfer data via RTSP</description>
   <filename>../../gst/rtsp/.libs/libgstrtsp.so</filename>
   <basename>libgstrtsp.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-shapewipe.xml b/docs/plugins/inspect/plugin-shapewipe.xml
index 104fa33..9a18c25 100644
--- a/docs/plugins/inspect/plugin-shapewipe.xml
+++ b/docs/plugins/inspect/plugin-shapewipe.xml
@@ -3,7 +3,7 @@
   <description>Shape Wipe transition filter</description>
   <filename>../../gst/shapewipe/.libs/libgstshapewipe.so</filename>
   <basename>libgstshapewipe.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-shout2send.xml b/docs/plugins/inspect/plugin-shout2send.xml
index 4730230..c212573 100644
--- a/docs/plugins/inspect/plugin-shout2send.xml
+++ b/docs/plugins/inspect/plugin-shout2send.xml
@@ -3,7 +3,7 @@
   <description>Sends data to an icecast server using libshout2</description>
   <filename>../../ext/shout2/.libs/libgstshout2.so</filename>
   <basename>libgstshout2.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>libshout2</package>
@@ -20,7 +20,7 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>application/ogg; audio/mpeg, mpegversion=(int)1, layer=(int)[ 1, 3 ]</details>
+          <details>application/ogg; audio/ogg; video/ogg; audio/mpeg, mpegversion=(int)1, layer=(int)[ 1, 3 ]</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-smpte.xml b/docs/plugins/inspect/plugin-smpte.xml
index 2746bb9..12436f5 100644
--- a/docs/plugins/inspect/plugin-smpte.xml
+++ b/docs/plugins/inspect/plugin-smpte.xml
@@ -3,7 +3,7 @@
   <description>Apply the standard SMPTE transitions on video images</description>
   <filename>../../gst/smpte/.libs/libgstsmpte.so</filename>
   <basename>libgstsmpte.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-soup.xml b/docs/plugins/inspect/plugin-soup.xml
index 6b3963e..d789e40 100644
--- a/docs/plugins/inspect/plugin-soup.xml
+++ b/docs/plugins/inspect/plugin-soup.xml
@@ -3,7 +3,7 @@
   <description>libsoup HTTP client src/sink</description>
   <filename>../../ext/soup/.libs/libgstsouphttpsrc.so</filename>
   <basename>libgstsouphttpsrc.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-spectrum.xml b/docs/plugins/inspect/plugin-spectrum.xml
index de919bc..af77759 100644
--- a/docs/plugins/inspect/plugin-spectrum.xml
+++ b/docs/plugins/inspect/plugin-spectrum.xml
@@ -3,7 +3,7 @@
   <description>Run an FFT on the audio signal, output spectrum data</description>
   <filename>../../gst/spectrum/.libs/libgstspectrum.so</filename>
   <basename>libgstspectrum.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-speex.xml b/docs/plugins/inspect/plugin-speex.xml
index e015d7e..da87f42 100644
--- a/docs/plugins/inspect/plugin-speex.xml
+++ b/docs/plugins/inspect/plugin-speex.xml
@@ -3,7 +3,7 @@
   <description>Speex plugin library</description>
   <filename>../../ext/speex/.libs/libgstspeex.so</filename>
   <basename>libgstspeex.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-taglib.xml b/docs/plugins/inspect/plugin-taglib.xml
index 6a35006..65aceb1 100644
--- a/docs/plugins/inspect/plugin-taglib.xml
+++ b/docs/plugins/inspect/plugin-taglib.xml
@@ -3,7 +3,7 @@
   <description>Tag writing plug-in based on taglib</description>
   <filename>../../ext/taglib/.libs/libgsttaglib.so</filename>
   <basename>libgsttaglib.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-udp.xml b/docs/plugins/inspect/plugin-udp.xml
index e8838f6..7246995 100644
--- a/docs/plugins/inspect/plugin-udp.xml
+++ b/docs/plugins/inspect/plugin-udp.xml
@@ -3,7 +3,7 @@
   <description>transfer data via UDP</description>
   <filename>../../gst/udp/.libs/libgstudp.so</filename>
   <basename>libgstudp.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-video4linux2.xml b/docs/plugins/inspect/plugin-video4linux2.xml
index 89cc18b..351df8f 100644
--- a/docs/plugins/inspect/plugin-video4linux2.xml
+++ b/docs/plugins/inspect/plugin-video4linux2.xml
@@ -3,7 +3,7 @@
   <description>elements for Video 4 Linux</description>
   <filename>../../sys/v4l2/.libs/libgstvideo4linux2.so</filename>
   <basename>libgstvideo4linux2.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
@@ -29,7 +29,7 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string)RGB15, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)RGB16, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)BGR, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)RGB, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)BGRx, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)RGBx, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)GRAY8, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)YVU9, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)YV12, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)YUY2, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)UYVY, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)Y42B, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)Y41B, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)NV12, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)NV21, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)YUV9, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)I420, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-bayer, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; image/jpeg, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; image/jpeg, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; image/jpeg, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-dv, systemstream=(boolean)true, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/mpegts; video/x-sonix, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-pwc1, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-pwc2, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)YVYU, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]</details>
+          <details>video/x-raw, format=(string)RGB15, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)RGB16, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)BGR, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)RGB, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)BGRx, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)RGBx, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)GRAY8, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)YVU9, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)YV12, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)YUY2, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)UYVY, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)Y42B, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)Y41B, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)NV12, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)NV21, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)YUV9, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)I420, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-bayer, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; image/jpeg, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; image/jpeg, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; image/jpeg, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-dv, systemstream=(boolean)true, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/mpegts; video/x-h264, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-sonix, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-pwc1, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-pwc2, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)YVYU, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]</details>
         </caps>
       </pads>
     </element>
@@ -44,7 +44,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string)RGB15, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)RGB16, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)BGR, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)RGB, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)BGRx, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)RGBx, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)GRAY8, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)YVU9, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)YV12, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)YUY2, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)UYVY, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)Y42B, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)Y41B, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)NV12, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)NV21, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)YUV9, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)I420, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-bayer, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; image/jpeg, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; image/jpeg, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; image/jpeg, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-dv, systemstream=(boolean)true, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/mpegts; video/x-sonix, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-pwc1, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-pwc2, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)YVYU, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]</details>
+          <details>video/x-raw, format=(string)RGB15, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)RGB16, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)BGR, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)RGB, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)BGRx, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)RGBx, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)GRAY8, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)YVU9, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)YV12, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)YUY2, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)UYVY, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)Y42B, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)Y41B, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)NV12, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)NV21, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)YUV9, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)I420, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-bayer, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; image/jpeg, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; image/jpeg, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; image/jpeg, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-dv, systemstream=(boolean)true, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/mpegts; video/x-h264, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-sonix, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-pwc1, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-pwc2, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)YVYU, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 100/1 ]</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-videobox.xml b/docs/plugins/inspect/plugin-videobox.xml
index 3a93237..5cc4d09 100644
--- a/docs/plugins/inspect/plugin-videobox.xml
+++ b/docs/plugins/inspect/plugin-videobox.xml
@@ -3,10 +3,10 @@
   <description>resizes a video by adding borders or cropping</description>
   <filename>../../gst/videobox/.libs/libgstvideobox.so</filename>
   <basename>libgstvideobox.so</basename>
-  <version>0.10.30.1</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
-  <package>GStreamer Good Plug-ins git</package>
+  <package>GStreamer Good Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
@@ -20,13 +20,13 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw-yuv, format=(fourcc)AYUV, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)Y444, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)Y42B, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)YUY2, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)YVYU, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)UYVY, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)YV12, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)Y41B, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-gray, bpp=(int)8, depth=(int)8, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-gray, bpp=(int)16, depth=(int)16, endianness=(int)4321, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-gray, bpp=(int)16, depth=(int)16, endianness=(int)1234, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ AYUV, ARGB, BGRA, ABGR, RGBA, xRGB, BGRx, xBGR, RGBx, RGB, BGR, Y444, Y42B, YUY2, YVYU, UYVY, I420, YV12, Y41B, GRAY8, GRAY16_BE, GRAY16_LE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw-yuv, format=(fourcc)AYUV, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)Y444, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)Y42B, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)YUY2, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)YVYU, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)UYVY, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)YV12, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)Y41B, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-gray, bpp=(int)8, depth=(int)8, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-gray, bpp=(int)16, depth=(int)16, endianness=(int)4321, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-gray, bpp=(int)16, depth=(int)16, endianness=(int)1234, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ AYUV, ARGB, BGRA, ABGR, RGBA, xRGB, BGRx, xBGR, RGBx, RGB, BGR, Y444, Y42B, YUY2, YVYU, UYVY, I420, YV12, Y41B, GRAY8, GRAY16_BE, GRAY16_LE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-videocrop.xml b/docs/plugins/inspect/plugin-videocrop.xml
index 3dc06f4..baec54b 100644
--- a/docs/plugins/inspect/plugin-videocrop.xml
+++ b/docs/plugins/inspect/plugin-videocrop.xml
@@ -3,7 +3,7 @@
   <description>Crops video into a user-defined region</description>
   <filename>../../gst/videocrop/.libs/libgstvideocrop.so</filename>
   <basename>libgstvideocrop.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
@@ -20,13 +20,13 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ RGBx, xRGB, BGRx, xBGR, RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, YUY2, YVYU, UYVY, Y800, I420, RGB16, RGB15, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ RGBx, xRGB, BGRx, xBGR, RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, YUY2, YVYU, UYVY, I420, RGB16, RGB15, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ RGBx, xRGB, BGRx, xBGR, RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, YUY2, YVYU, UYVY, Y800, I420, RGB16, RGB15, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ RGBx, xRGB, BGRx, xBGR, RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, YUY2, YVYU, UYVY, I420, RGB16, RGB15, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
@@ -41,13 +41,13 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ RGBx, xRGB, BGRx, xBGR, RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, YUY2, YVYU, UYVY, Y800, I420, RGB16, RGB15, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ RGBx, xRGB, BGRx, xBGR, RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, YUY2, YVYU, UYVY, I420, RGB16, RGB15, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ RGBx, xRGB, BGRx, xBGR, RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, YUY2, YVYU, UYVY, Y800, I420, RGB16, RGB15, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ RGBx, xRGB, BGRx, xBGR, RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, YUY2, YVYU, UYVY, I420, RGB16, RGB15, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-videofilter.xml b/docs/plugins/inspect/plugin-videofilter.xml
index 4ba094c..8ff74e3 100644
--- a/docs/plugins/inspect/plugin-videofilter.xml
+++ b/docs/plugins/inspect/plugin-videofilter.xml
@@ -3,7 +3,7 @@
   <description>Video filters plugin</description>
   <filename>../../gst/videofilter/.libs/libgstvideofilter.so</filename>
   <basename>libgstvideofilter.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videomixer.xml b/docs/plugins/inspect/plugin-videomixer.xml
index 1c29e0b..058d113 100644
--- a/docs/plugins/inspect/plugin-videomixer.xml
+++ b/docs/plugins/inspect/plugin-videomixer.xml
@@ -3,7 +3,7 @@
   <description>Video mixer</description>
   <filename>../../gst/videomixer/.libs/libgstvideomixer.so</filename>
   <basename>libgstvideomixer.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
@@ -17,7 +17,7 @@
       <author>Wim Taymans &lt;wim@fluendo.com&gt;, Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;</author>
       <pads>
         <caps>
-          <name>sink_%d</name>
+          <name>sink_%u</name>
           <direction>sink</direction>
           <presence>request</presence>
           <details>video/x-raw, format=(string){ AYUV, BGRA, ARGB, RGBA, ABGR, Y444, Y42B, YUY2, UYVY, YVYU, I420, YV12, Y41B, RGB, BGR, xRGB, xBGR, RGBx, BGRx }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
diff --git a/docs/plugins/inspect/plugin-wavenc.xml b/docs/plugins/inspect/plugin-wavenc.xml
index bee844b..206aeec 100644
--- a/docs/plugins/inspect/plugin-wavenc.xml
+++ b/docs/plugins/inspect/plugin-wavenc.xml
@@ -3,7 +3,7 @@
   <description>Encode raw audio into WAV</description>
   <filename>../../gst/wavenc/.libs/libgstwavenc.so</filename>
   <basename>libgstwavenc.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-wavpack.xml b/docs/plugins/inspect/plugin-wavpack.xml
index 2cabbb7..29e971d 100644
--- a/docs/plugins/inspect/plugin-wavpack.xml
+++ b/docs/plugins/inspect/plugin-wavpack.xml
@@ -3,7 +3,7 @@
   <description>Wavpack lossless/lossy audio format handling</description>
   <filename>../../ext/wavpack/.libs/libgstwavpack.so</filename>
   <basename>libgstwavpack.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-wavparse.xml b/docs/plugins/inspect/plugin-wavparse.xml
index 539285d..b0dc8a1 100644
--- a/docs/plugins/inspect/plugin-wavparse.xml
+++ b/docs/plugins/inspect/plugin-wavparse.xml
@@ -3,7 +3,7 @@
   <description>Parse a .wav file into raw audio</description>
   <filename>../../gst/wavparse/.libs/libgstwavparse.so</filename>
   <basename>libgstwavparse.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-ximagesrc.xml b/docs/plugins/inspect/plugin-ximagesrc.xml
index 85b0869..6c592fc 100644
--- a/docs/plugins/inspect/plugin-ximagesrc.xml
+++ b/docs/plugins/inspect/plugin-ximagesrc.xml
@@ -3,7 +3,7 @@
   <description>X11 video input plugin using standard Xlib calls</description>
   <filename>../../sys/ximage/.libs/libgstximagesrc.so</filename>
   <basename>libgstximagesrc.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-y4menc.xml b/docs/plugins/inspect/plugin-y4menc.xml
index bcca2d5..3e9fdd6 100644
--- a/docs/plugins/inspect/plugin-y4menc.xml
+++ b/docs/plugins/inspect/plugin-y4menc.xml
@@ -3,7 +3,7 @@
   <description>Encodes a YUV frame into the yuv4mpeg format (mjpegtools)</description>
   <filename>../../gst/y4m/.libs/libgsty4menc.so</filename>
   <basename>libgsty4menc.so</basename>
-  <version>0.11.90</version>
+  <version>0.11.92</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/ext/Makefile.am b/ext/Makefile.am
index 791fe00..867b112 100644
--- a/ext/Makefile.am
+++ b/ext/Makefile.am
@@ -4,12 +4,6 @@
 AALIB_DIR =
 endif
 
-if USE_ANNODEX
-ANNODEX_DIR = annodex
-else
-ANNODEX_DIR =
-endif
-
 if USE_CAIRO
 CAIRO_DIR = cairo
 else
@@ -52,12 +46,6 @@
 LIBDV_DIR =
 endif
 
-# if USE_LIBMNG
-# LIBMNG_DIR = libmng
-# else
-LIBMNG_DIR =
-# endif
-
 if USE_LIBPNG
 LIBPNG_DIR = libpng
 else
@@ -115,7 +103,6 @@
 
 SUBDIRS = \
 	$(AALIB_DIR) \
-	$(ANNODEX_DIR) \
 	$(CAIRO_DIR) \
 	$(DV1394_DIR) \
 	$(FLAC_DIR) \
@@ -136,7 +123,6 @@
 
 DIST_SUBDIRS = \
 	aalib \
-	annodex \
 	cairo \
 	dv \
 	flac \
diff --git a/ext/Makefile.in b/ext/Makefile.in
index cda405a..fd4eb00 100644
--- a/ext/Makefile.in
+++ b/ext/Makefile.in
@@ -55,6 +55,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 	$(top_srcdir)/common/parallel-subdirs.mak
 subdir = ext
@@ -64,7 +65,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -161,8 +161,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -209,6 +207,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -253,8 +252,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -269,6 +270,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -334,7 +339,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -390,6 +395,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -462,14 +468,16 @@
 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@
 @USE_AALIB_FALSE@AALIB_DIR = 
 @USE_AALIB_TRUE@AALIB_DIR = aalib
-@USE_ANNODEX_FALSE@ANNODEX_DIR = 
-@USE_ANNODEX_TRUE@ANNODEX_DIR = annodex
 @USE_CAIRO_FALSE@CAIRO_DIR = 
 @USE_CAIRO_TRUE@CAIRO_DIR = cairo
 @USE_FLAC_FALSE@FLAC_DIR = 
@@ -484,13 +492,7 @@
 @USE_LIBCACA_TRUE@LIBCACA_DIR = libcaca
 @USE_LIBDV_FALSE@LIBDV_DIR = 
 @USE_LIBDV_TRUE@LIBDV_DIR = dv
-
-# if USE_LIBMNG
-# LIBMNG_DIR = libmng
-# else
-LIBMNG_DIR = 
 @USE_LIBPNG_FALSE@LIBPNG_DIR = 
-# endif
 @USE_LIBPNG_TRUE@LIBPNG_DIR = libpng
 
 # if USE_MIKMOD
@@ -514,7 +516,6 @@
 @USE_WAVPACK_TRUE@WAVPACK_DIR = wavpack
 SUBDIRS = \
 	$(AALIB_DIR) \
-	$(ANNODEX_DIR) \
 	$(CAIRO_DIR) \
 	$(DV1394_DIR) \
 	$(FLAC_DIR) \
@@ -535,7 +536,6 @@
 
 DIST_SUBDIRS = \
 	aalib \
-	annodex \
 	cairo \
 	dv \
 	flac \
diff --git a/ext/aalib/Makefile.in b/ext/aalib/Makefile.in
index bd54255..20a457d 100644
--- a/ext/aalib/Makefile.in
+++ b/ext/aalib/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = ext/aalib
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -184,8 +184,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -232,6 +230,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -276,8 +275,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -292,6 +293,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -357,7 +362,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -413,6 +418,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -485,7 +491,11 @@
 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@
diff --git a/ext/annodex/Makefile.am b/ext/annodex/Makefile.am
deleted file mode 100644
index 0ce3f5d..0000000
--- a/ext/annodex/Makefile.am
+++ /dev/null
@@ -1,22 +0,0 @@
-plugin_LTLIBRARIES = libgstannodex.la
-
-# FIXME 0.11: ignore GValueArray warnings for now until this is sorted
-ERROR_CFLAGS=
-
-libgstannodex_la_SOURCES = \
-	gstannodex.c \
-	gstcmmlutils.c \
-	gstcmmldec.c \
-	gstcmmlenc.c \
-	gstcmmltag.c \
-	gstcmmlparser.c
-
-libgstannodex_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) \
-			  $(GST_CFLAGS) $(ANNODEX_CFLAGS)
-libgstannodex_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) \
-			  $(GST_LIBS) $(ANNODEX_LIBS) $(LIBM)
-libgstannodex_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-libgstannodex_la_LIBTOOLFLAGS = --tag=disable-static
-
-noinst_HEADERS = gstannodex.h gstcmmlutils.h gstcmmltag.h gstcmmlparser.h \
-	gstcmmldec.h gstcmmlenc.h
diff --git a/ext/annodex/Makefile.in b/ext/annodex/Makefile.in
deleted file mode 100644
index b2184ec..0000000
--- a/ext/annodex/Makefile.in
+++ /dev/null
@@ -1,878 +0,0 @@
-# Makefile.in generated by automake 1.11.5 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@
-subdir = ext/annodex
-DIST_COMMON = $(noinst_HEADERS) $(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-gcc-inline-assembly.m4 \
-	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.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-default.m4 \
-	$(top_srcdir)/common/m4/gst-dowhile.m4 \
-	$(top_srcdir)/common/m4/gst-error.m4 \
-	$(top_srcdir)/common/m4/gst-feature.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-platform.m4 \
-	$(top_srcdir)/common/m4/gst-plugin-docs.m4 \
-	$(top_srcdir)/common/m4/gst-plugindir.m4 \
-	$(top_srcdir)/common/m4/gst-x11.m4 \
-	$(top_srcdir)/common/m4/gst.m4 \
-	$(top_srcdir)/common/m4/gtk-doc.m4 \
-	$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
-	$(top_srcdir)/m4/aalib.m4 $(top_srcdir)/m4/gettext.m4 \
-	$(top_srcdir)/m4/gst-fionread.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 =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
-  test -z "$$files" \
-    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
-    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
-         $(am__cd) "$$dir" && rm -f $$files; }; \
-  }
-am__installdirs = "$(DESTDIR)$(plugindir)"
-LTLIBRARIES = $(plugin_LTLIBRARIES)
-am__DEPENDENCIES_1 =
-libgstannodex_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
-am_libgstannodex_la_OBJECTS = libgstannodex_la-gstannodex.lo \
-	libgstannodex_la-gstcmmlutils.lo \
-	libgstannodex_la-gstcmmldec.lo libgstannodex_la-gstcmmlenc.lo \
-	libgstannodex_la-gstcmmltag.lo \
-	libgstannodex_la-gstcmmlparser.lo
-libgstannodex_la_OBJECTS = $(am_libgstannodex_la_OBJECTS)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-libgstannodex_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
-	$(libgstannodex_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
-	$(CCLD) $(libgstannodex_la_CFLAGS) $(CFLAGS) \
-	$(libgstannodex_la_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 = $(libgstannodex_la_SOURCES)
-DIST_SOURCES = $(libgstannodex_la_SOURCES)
-am__can_run_installinfo = \
-  case $$AM_UPDATE_INFO_DIR in \
-    n|no|NO) false;; \
-    *) (install-info --version) >/dev/null 2>&1;; \
-  esac
-HEADERS = $(noinst_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-AALIB_CFLAGS = @AALIB_CFLAGS@
-AALIB_CONFIG = @AALIB_CONFIG@
-AALIB_LIBS = @AALIB_LIBS@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BZ2_LIBS = @BZ2_LIBS@
-CAIRO_CFLAGS = @CAIRO_CFLAGS@
-CAIRO_GOBJECT_CFLAGS = @CAIRO_GOBJECT_CFLAGS@
-CAIRO_GOBJECT_LIBS = @CAIRO_GOBJECT_LIBS@
-CAIRO_LIBS = @CAIRO_LIBS@
-CC = @CC@
-CCAS = @CCAS@
-CCASDEPMODE = @CCASDEPMODE@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFAULT_AUDIOSINK = @DEFAULT_AUDIOSINK@
-DEFAULT_AUDIOSRC = @DEFAULT_AUDIOSRC@
-DEFAULT_VIDEOSINK = @DEFAULT_VIDEOSINK@
-DEFAULT_VIDEOSRC = @DEFAULT_VIDEOSRC@
-DEFAULT_VISUALIZER = @DEFAULT_VISUALIZER@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DEPRECATED_CFLAGS = @DEPRECATED_CFLAGS@
-DIRECTSOUND_CFLAGS = @DIRECTSOUND_CFLAGS@
-DIRECTSOUND_LDFLAGS = @DIRECTSOUND_LDFLAGS@
-DIRECTSOUND_LIBS = @DIRECTSOUND_LIBS@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-DV1394_CFLAGS = @DV1394_CFLAGS@
-DV1394_LIBS = @DV1394_LIBS@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-
-# FIXME 0.11: ignore GValueArray warnings for now until this is sorted
-ERROR_CFLAGS = 
-ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
-EXEEXT = @EXEEXT@
-FFLAGS = @FFLAGS@
-FGREP = @FGREP@
-FLAC_CFLAGS = @FLAC_CFLAGS@
-FLAC_LIBS = @FLAC_LIBS@
-GCOV = @GCOV@
-GCOV_CFLAGS = @GCOV_CFLAGS@
-GCOV_LIBS = @GCOV_LIBS@
-GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@
-GDK_PIXBUF_LIBS = @GDK_PIXBUF_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_LIBS = @GLIB_LIBS@
-GLIB_PREFIX = @GLIB_PREFIX@
-GLIB_REQ = @GLIB_REQ@
-GMSGFMT = @GMSGFMT@
-GMSGFMT_015 = @GMSGFMT_015@
-GREP = @GREP@
-GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
-GSTPB_PREFIX = @GSTPB_PREFIX@
-GST_AGE = @GST_AGE@
-GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
-GST_API_VERSION = @GST_API_VERSION@
-GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
-GST_BASE_LIBS = @GST_BASE_LIBS@
-GST_CFLAGS = @GST_CFLAGS@
-GST_CHECK_CFLAGS = @GST_CHECK_CFLAGS@
-GST_CHECK_LIBS = @GST_CHECK_LIBS@
-GST_CONTROLLER_CFLAGS = @GST_CONTROLLER_CFLAGS@
-GST_CONTROLLER_LIBS = @GST_CONTROLLER_LIBS@
-GST_CURRENT = @GST_CURRENT@
-GST_CXXFLAGS = @GST_CXXFLAGS@
-GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
-GST_LIBS = @GST_LIBS@
-GST_LIBVERSION = @GST_LIBVERSION@
-GST_LICENSE = @GST_LICENSE@
-GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
-GST_NET_CFLAGS = @GST_NET_CFLAGS@
-GST_NET_LIBS = @GST_NET_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_PLUGINS_ALL = @GST_PLUGINS_ALL@
-GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
-GST_PLUGINS_BASE_DIR = @GST_PLUGINS_BASE_DIR@
-GST_PLUGINS_BASE_LIBS = @GST_PLUGINS_BASE_LIBS@
-GST_PLUGINS_DIR = @GST_PLUGINS_DIR@
-GST_PLUGINS_NONPORTED = @GST_PLUGINS_NONPORTED@
-GST_PLUGINS_SELECTED = @GST_PLUGINS_SELECTED@
-GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
-GST_PREFIX = @GST_PREFIX@
-GST_REVISION = @GST_REVISION@
-GST_TOOLS_DIR = @GST_TOOLS_DIR@
-GTKDOC_CHECK = @GTKDOC_CHECK@
-GTK_CFLAGS = @GTK_CFLAGS@
-GTK_LIBS = @GTK_LIBS@
-GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
-GTK_X11_LIBS = @GTK_X11_LIBS@
-GUDEV_CFLAGS = @GUDEV_CFLAGS@
-GUDEV_LIBS = @GUDEV_LIBS@
-HAVE_AVC1394 = @HAVE_AVC1394@
-HAVE_BZ2 = @HAVE_BZ2@
-HAVE_CXX = @HAVE_CXX@
-HAVE_DIRECTSOUND = @HAVE_DIRECTSOUND@
-HAVE_ROM1394 = @HAVE_ROM1394@
-HAVE_SPEEX = @HAVE_SPEEX@
-HAVE_X = @HAVE_X@
-HAVE_XSHM = @HAVE_XSHM@
-HAVE_ZLIB = @HAVE_ZLIB@
-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@
-JACK_0_120_1_CFLAGS = @JACK_0_120_1_CFLAGS@
-JACK_0_120_1_LIBS = @JACK_0_120_1_LIBS@
-JACK_1_9_7_CFLAGS = @JACK_1_9_7_CFLAGS@
-JACK_1_9_7_LIBS = @JACK_1_9_7_LIBS@
-JACK_CFLAGS = @JACK_CFLAGS@
-JACK_LIBS = @JACK_LIBS@
-JPEG_LIBS = @JPEG_LIBS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBCACA_CFLAGS = @LIBCACA_CFLAGS@
-LIBCACA_LIBS = @LIBCACA_LIBS@
-LIBDV_CFLAGS = @LIBDV_CFLAGS@
-LIBDV_LIBS = @LIBDV_LIBS@
-LIBICONV = @LIBICONV@
-LIBIEC61883_CFLAGS = @LIBIEC61883_CFLAGS@
-LIBIEC61883_LIBS = @LIBIEC61883_LIBS@
-LIBINTL = @LIBINTL@
-LIBM = @LIBM@
-LIBOBJS = @LIBOBJS@
-LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_LIBS = @LIBPNG_LIBS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBV4L2_CFLAGS = @LIBV4L2_CFLAGS@
-LIBV4L2_LIBS = @LIBV4L2_LIBS@
-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@
-OBJC = @OBJC@
-OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-ORCC = @ORCC@
-ORCC_FLAGS = @ORCC_FLAGS@
-ORC_CFLAGS = @ORC_CFLAGS@
-ORC_LIBS = @ORC_LIBS@
-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@
-PKG_CONFIG = @PKG_CONFIG@
-PLUGINDIR = @PLUGINDIR@
-POSUB = @POSUB@
-PROFILE_CFLAGS = @PROFILE_CFLAGS@
-PULSE_CFLAGS = @PULSE_CFLAGS@
-PULSE_LIBS = @PULSE_LIBS@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-RAW1394_CFLAGS = @RAW1394_CFLAGS@
-RAW1394_LIBS = @RAW1394_LIBS@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SHOUT2_CFLAGS = @SHOUT2_CFLAGS@
-SHOUT2_LIBS = @SHOUT2_LIBS@
-SOUP_CFLAGS = @SOUP_CFLAGS@
-SOUP_LIBS = @SOUP_LIBS@
-SPEEX_CFLAGS = @SPEEX_CFLAGS@
-SPEEX_LIBS = @SPEEX_LIBS@
-STRIP = @STRIP@
-TAGLIB_CFLAGS = @TAGLIB_CFLAGS@
-TAGLIB_CXXFLAGS = @TAGLIB_CXXFLAGS@
-TAGLIB_LIBS = @TAGLIB_LIBS@
-USE_NLS = @USE_NLS@
-VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
-VALGRIND_LIBS = @VALGRIND_LIBS@
-VALGRIND_PATH = @VALGRIND_PATH@
-VERSION = @VERSION@
-WARNING_CFLAGS = @WARNING_CFLAGS@
-WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
-WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
-WAVPACK_LIBS = @WAVPACK_LIBS@
-XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
-XDAMAGE_LIBS = @XDAMAGE_LIBS@
-XFIXES_CFLAGS = @XFIXES_CFLAGS@
-XFIXES_LIBS = @XFIXES_LIBS@
-XGETTEXT = @XGETTEXT@
-XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-XMKMF = @XMKMF@
-XSHM_LIBS = @XSHM_LIBS@
-XVIDEO_LIBS = @XVIDEO_LIBS@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ZLIB_LIBS = @ZLIB_LIBS@
-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@
-ac_ct_OBJC = @ac_ct_OBJC@
-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_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-plugin_LTLIBRARIES = libgstannodex.la
-libgstannodex_la_SOURCES = \
-	gstannodex.c \
-	gstcmmlutils.c \
-	gstcmmldec.c \
-	gstcmmlenc.c \
-	gstcmmltag.c \
-	gstcmmlparser.c
-
-libgstannodex_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) \
-			  $(GST_CFLAGS) $(ANNODEX_CFLAGS)
-
-libgstannodex_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) \
-			  $(GST_LIBS) $(ANNODEX_LIBS) $(LIBM)
-
-libgstannodex_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-libgstannodex_la_LIBTOOLFLAGS = --tag=disable-static
-noinst_HEADERS = gstannodex.h gstcmmlutils.h gstcmmltag.h gstcmmlparser.h \
-	gstcmmldec.h gstcmmlenc.h
-
-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 ext/annodex/Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu ext/annodex/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):
-install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
-	@$(NORMAL_INSTALL)
-	@list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
-	list2=; for p in $$list; do \
-	  if test -f $$p; then \
-	    list2="$$list2 $$p"; \
-	  else :; fi; \
-	done; \
-	test -z "$$list2" || { \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(plugindir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(plugindir)" || exit 1; \
-	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(plugindir)'"; \
-	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(plugindir)"; \
-	}
-
-uninstall-pluginLTLIBRARIES:
-	@$(NORMAL_UNINSTALL)
-	@list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
-	for p in $$list; do \
-	  $(am__strip_dir) \
-	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$f'"; \
-	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$f"; \
-	done
-
-clean-pluginLTLIBRARIES:
-	-test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES)
-	@list='$(plugin_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
-libgstannodex.la: $(libgstannodex_la_OBJECTS) $(libgstannodex_la_DEPENDENCIES) $(EXTRA_libgstannodex_la_DEPENDENCIES) 
-	$(AM_V_CCLD)$(libgstannodex_la_LINK) -rpath $(plugindir) $(libgstannodex_la_OBJECTS) $(libgstannodex_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
-	-rm -f *.$(OBJEXT)
-
-distclean-compile:
-	-rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstannodex_la-gstannodex.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstannodex_la-gstcmmldec.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstannodex_la-gstcmmlenc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstannodex_la-gstcmmlparser.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstannodex_la-gstcmmltag.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstannodex_la-gstcmmlutils.Plo@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 $@ $<
-
-libgstannodex_la-gstannodex.lo: gstannodex.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstannodex_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstannodex_la_CFLAGS) $(CFLAGS) -MT libgstannodex_la-gstannodex.lo -MD -MP -MF $(DEPDIR)/libgstannodex_la-gstannodex.Tpo -c -o libgstannodex_la-gstannodex.lo `test -f 'gstannodex.c' || echo '$(srcdir)/'`gstannodex.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstannodex_la-gstannodex.Tpo $(DEPDIR)/libgstannodex_la-gstannodex.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstannodex.c' object='libgstannodex_la-gstannodex.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 $(libgstannodex_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstannodex_la_CFLAGS) $(CFLAGS) -c -o libgstannodex_la-gstannodex.lo `test -f 'gstannodex.c' || echo '$(srcdir)/'`gstannodex.c
-
-libgstannodex_la-gstcmmlutils.lo: gstcmmlutils.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstannodex_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstannodex_la_CFLAGS) $(CFLAGS) -MT libgstannodex_la-gstcmmlutils.lo -MD -MP -MF $(DEPDIR)/libgstannodex_la-gstcmmlutils.Tpo -c -o libgstannodex_la-gstcmmlutils.lo `test -f 'gstcmmlutils.c' || echo '$(srcdir)/'`gstcmmlutils.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstannodex_la-gstcmmlutils.Tpo $(DEPDIR)/libgstannodex_la-gstcmmlutils.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstcmmlutils.c' object='libgstannodex_la-gstcmmlutils.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 $(libgstannodex_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstannodex_la_CFLAGS) $(CFLAGS) -c -o libgstannodex_la-gstcmmlutils.lo `test -f 'gstcmmlutils.c' || echo '$(srcdir)/'`gstcmmlutils.c
-
-libgstannodex_la-gstcmmldec.lo: gstcmmldec.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstannodex_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstannodex_la_CFLAGS) $(CFLAGS) -MT libgstannodex_la-gstcmmldec.lo -MD -MP -MF $(DEPDIR)/libgstannodex_la-gstcmmldec.Tpo -c -o libgstannodex_la-gstcmmldec.lo `test -f 'gstcmmldec.c' || echo '$(srcdir)/'`gstcmmldec.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstannodex_la-gstcmmldec.Tpo $(DEPDIR)/libgstannodex_la-gstcmmldec.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstcmmldec.c' object='libgstannodex_la-gstcmmldec.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 $(libgstannodex_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstannodex_la_CFLAGS) $(CFLAGS) -c -o libgstannodex_la-gstcmmldec.lo `test -f 'gstcmmldec.c' || echo '$(srcdir)/'`gstcmmldec.c
-
-libgstannodex_la-gstcmmlenc.lo: gstcmmlenc.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstannodex_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstannodex_la_CFLAGS) $(CFLAGS) -MT libgstannodex_la-gstcmmlenc.lo -MD -MP -MF $(DEPDIR)/libgstannodex_la-gstcmmlenc.Tpo -c -o libgstannodex_la-gstcmmlenc.lo `test -f 'gstcmmlenc.c' || echo '$(srcdir)/'`gstcmmlenc.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstannodex_la-gstcmmlenc.Tpo $(DEPDIR)/libgstannodex_la-gstcmmlenc.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstcmmlenc.c' object='libgstannodex_la-gstcmmlenc.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 $(libgstannodex_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstannodex_la_CFLAGS) $(CFLAGS) -c -o libgstannodex_la-gstcmmlenc.lo `test -f 'gstcmmlenc.c' || echo '$(srcdir)/'`gstcmmlenc.c
-
-libgstannodex_la-gstcmmltag.lo: gstcmmltag.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstannodex_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstannodex_la_CFLAGS) $(CFLAGS) -MT libgstannodex_la-gstcmmltag.lo -MD -MP -MF $(DEPDIR)/libgstannodex_la-gstcmmltag.Tpo -c -o libgstannodex_la-gstcmmltag.lo `test -f 'gstcmmltag.c' || echo '$(srcdir)/'`gstcmmltag.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstannodex_la-gstcmmltag.Tpo $(DEPDIR)/libgstannodex_la-gstcmmltag.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstcmmltag.c' object='libgstannodex_la-gstcmmltag.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 $(libgstannodex_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstannodex_la_CFLAGS) $(CFLAGS) -c -o libgstannodex_la-gstcmmltag.lo `test -f 'gstcmmltag.c' || echo '$(srcdir)/'`gstcmmltag.c
-
-libgstannodex_la-gstcmmlparser.lo: gstcmmlparser.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstannodex_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstannodex_la_CFLAGS) $(CFLAGS) -MT libgstannodex_la-gstcmmlparser.lo -MD -MP -MF $(DEPDIR)/libgstannodex_la-gstcmmlparser.Tpo -c -o libgstannodex_la-gstcmmlparser.lo `test -f 'gstcmmlparser.c' || echo '$(srcdir)/'`gstcmmlparser.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstannodex_la-gstcmmlparser.Tpo $(DEPDIR)/libgstannodex_la-gstcmmlparser.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstcmmlparser.c' object='libgstannodex_la-gstcmmlparser.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 $(libgstannodex_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstannodex_la_CFLAGS) $(CFLAGS) -c -o libgstannodex_la-gstcmmlparser.lo `test -f 'gstcmmlparser.c' || echo '$(srcdir)/'`gstcmmlparser.c
-
-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 $(LTLIBRARIES) $(HEADERS)
-installdirs:
-	for dir in "$(DESTDIR)$(plugindir)"; do \
-	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-	done
-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-pluginLTLIBRARIES \
-	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-pluginLTLIBRARIES
-
-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: uninstall-pluginLTLIBRARIES
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pluginLTLIBRARIES 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-pluginLTLIBRARIES \
-	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 uninstall-pluginLTLIBRARIES
-
-
-# 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/ext/annodex/gstannodex.c b/ext/annodex/gstannodex.c
deleted file mode 100644
index dd5f31e..0000000
--- a/ext/annodex/gstannodex.c
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * gstannodex.c - GStreamer annodex plugin
- * Copyright (C) 2005 Alessandro Decina
- * 
- * Authors:
- *   Alessandro Decina <alessandro@nnva.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/* FIXME 0.11: suppress warnings for deprecated API such as GValueArray
- * with newer GLib versions (>= 2.31.0) */
-#define GLIB_DISABLE_DEPRECATION_WARNINGS
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <math.h>
-#include <string.h>
-
-#include <gst/tag/tag.h>
-#include "gstannodex.h"
-#include "gstcmmlparser.h"
-#include "gstcmmlenc.h"
-#include "gstcmmldec.h"
-
-GstClockTime
-gst_annodex_granule_to_time (gint64 granulepos, gint64 granulerate_n,
-    gint64 granulerate_d, guint8 granuleshift)
-{
-  gint64 keyindex, keyoffset;
-  gint64 granulerate;
-  GstClockTime res;
-
-  g_return_val_if_fail (granuleshift <= 64, GST_CLOCK_TIME_NONE);
-
-  if (granulepos == -1)
-    return GST_CLOCK_TIME_NONE;
-
-  if (granulepos == 0 || granulerate_n == 0 || granulerate_d == 0)
-    return 0;
-
-  if (granuleshift != 0 && granuleshift != 64) {
-    keyindex = granulepos >> granuleshift;
-    keyoffset = granulepos - (keyindex << granuleshift);
-    granulepos = keyindex + keyoffset;
-  }
-
-  /* GST_SECOND / (granulerate_n / granulerate_d) */
-  granulerate = gst_util_uint64_scale (GST_SECOND,
-      granulerate_d, granulerate_n);
-
-  /* granulepos * granulerate */
-  res = gst_util_uint64_scale (granulepos, granulerate, 1);
-
-  return res;
-}
-
-GValueArray *
-gst_annodex_parse_headers (const gchar * headers)
-{
-  GValueArray *array;
-  GValue val = { 0 };
-  gchar *header_name = NULL;
-  gchar *header_value = NULL;
-  gchar *line, *column, *space, *tmp;
-  gchar **lines;
-  gint i = 0;
-
-  array = g_value_array_new (0);
-  g_value_init (&val, G_TYPE_STRING);
-
-  lines = g_strsplit (headers, "\r\n", 0);
-  line = lines[i];
-  while (line != NULL && *line != '\0') {
-    if (line[0] == '\t' || line[0] == ' ') {
-      /* WSP: continuation line */
-      if (header_value == NULL)
-        /* continuation line without a previous value */
-        goto fail;
-
-      tmp = g_strjoin (" ", header_value, g_strstrip (line), NULL);
-      g_free (header_value);
-      header_value = tmp;
-    } else {
-      if (header_name) {
-        g_value_take_string (&val, header_name);
-        g_value_array_append (array, &val);
-        g_value_take_string (&val, header_value);
-        g_value_array_append (array, &val);
-      }
-      /* search the column starting from line[1] as an header name can't be
-       * empty */
-      column = g_strstr_len (line + 1, strlen (line) - 1, ":");
-      if (column == NULL)
-        /* bad syntax */
-        goto fail;
-
-      if (*(space = column + 1) != ' ')
-        /* bad syntax */
-        goto fail;
-
-      header_name = g_strndup (line, column - line);
-      header_value = g_strdup (space + 1);
-    }
-
-    line = lines[++i];
-  }
-
-  if (header_name) {
-    g_value_take_string (&val, header_name);
-    g_value_array_append (array, &val);
-    g_value_take_string (&val, header_value);
-    g_value_array_append (array, &val);
-  }
-
-  g_value_unset (&val);
-  g_strfreev (lines);
-
-  return array;
-
-fail:
-  GST_WARNING ("could not parse annodex headers");
-  g_free (header_name);
-  g_free (header_value);
-  g_strfreev (lines);
-  g_value_array_free (array);
-  g_value_unset (&val);
-  return NULL;
-}
-
-static gboolean
-plugin_init (GstPlugin * plugin)
-{
-  gst_tag_register (GST_TAG_CMML_STREAM, GST_TAG_FLAG_META,
-      GST_TYPE_CMML_TAG_STREAM, "cmml-stream", "annodex CMML stream tag", NULL);
-
-  gst_tag_register (GST_TAG_CMML_HEAD, GST_TAG_FLAG_META,
-      GST_TYPE_CMML_TAG_HEAD, "cmml-head", "annodex CMML head tag", NULL);
-
-  gst_tag_register (GST_TAG_CMML_CLIP, GST_TAG_FLAG_META,
-      GST_TYPE_CMML_TAG_CLIP, "cmml-clip", "annodex CMML clip tag", NULL);
-
-  gst_cmml_parser_init ();
-
-  if (!gst_cmml_enc_plugin_init (plugin))
-    return FALSE;
-
-  if (!gst_cmml_dec_plugin_init (plugin))
-    return FALSE;
-
-  return TRUE;
-}
-
-GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
-    GST_VERSION_MINOR,
-    annodex,
-    "annodex stream manipulation (info about annodex: http://www.annodex.net)",
-    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
diff --git a/ext/annodex/gstannodex.h b/ext/annodex/gstannodex.h
deleted file mode 100644
index ca35e36..0000000
--- a/ext/annodex/gstannodex.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * gstannodex.h - GStreamer annodex utility functions
- * Copyright (C) 2005 Alessandro Decina
- * 
- * Authors:
- *   Alessandro Decina <alessandro@nnva.org>
- *
- * 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_ANNODEX_H__
-#define __GST_ANNODEX_H__
-
-#include <gst/gst.h>
-
-GstClockTime gst_annodex_granule_to_time (gint64 granulepos,
-    gint64 granulerate_n, gint64 granulerate_d, guint8 granuleshift);
-gchar *gst_annodex_time_to_npt (GstClockTime time);
-GValueArray *gst_annodex_parse_headers (const gchar * headers);
-
-#endif /* __GST_ANNODEX_H__ */
diff --git a/ext/annodex/gstcmmldec.c b/ext/annodex/gstcmmldec.c
deleted file mode 100644
index a7b458f..0000000
--- a/ext/annodex/gstcmmldec.c
+++ /dev/null
@@ -1,695 +0,0 @@
-/*
- * gstcmmldec.c - GStreamer annodex CMML decoder
- * Copyright (C) 2005 Alessandro Decina
- * 
- * Authors:
- *   Alessandro Decina <alessandro@nnva.org>
- *
- * 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:element-cmmldec
- * @see_also: cmmlenc, oggdemux
- *
- * Cmmldec extracts a CMML document from a CMML bitstream.<ulink
- * url="http://www.annodex.net/TR/draft-pfeiffer-cmml-02.html">CMML</ulink> is
- * an XML markup language for time-continuous data maintained by the <ulink
- * url="http:/www.annodex.org/">Annodex Foundation</ulink>.
- *
- * <refsect2>
- * <title>Example pipeline</title>
- * |[
- * gst-launch -v filesrc location=annotated.ogg ! oggdemux ! cmmldec ! filesink location=annotations.cmml
- * ]|
- * </refsect2>
- */
-
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <string.h>
-#include <glib.h>
-
-#include <gst/tag/tag.h>
-#include "gstannodex.h"
-#include "gstcmmltag.h"
-#include "gstcmmldec.h"
-#include "gstcmmlutils.h"
-
-GST_DEBUG_CATEGORY_STATIC (cmmldec);
-#define GST_CAT_DEFAULT cmmldec
-
-#define CMML_IDENT_HEADER_SIZE 29
-
-enum
-{
-  ARG_0,
-  GST_CMML_DEC_WAIT_CLIP_END
-};
-
-enum
-{
-  LAST_SIGNAL
-};
-
-static GstStaticPadTemplate gst_cmml_dec_src_factory =
-GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("text/x-cmml, encoded = (boolean) false")
-    );
-
-static GstStaticPadTemplate gst_cmml_dec_sink_factory =
-GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("text/x-cmml, encoded = (boolean) true")
-    );
-
-/* GstCmmlDec */
-#define gst_cmml_dec_parent_class parent_class
-G_DEFINE_TYPE (GstCmmlDec, gst_cmml_dec, GST_TYPE_ELEMENT);
-
-static void gst_cmml_dec_get_property (GObject * dec, guint property_id,
-    GValue * value, GParamSpec * pspec);
-static void gst_cmml_dec_set_property (GObject * dec, guint property_id,
-    const GValue * value, GParamSpec * pspec);
-static gboolean gst_cmml_dec_sink_query (GstPad * pad, GstObject * parent,
-    GstQuery * query);
-static gboolean gst_cmml_dec_sink_event (GstPad * pad, GstObject * parent,
-    GstEvent * event);
-static gboolean gst_cmml_dec_convert (GstPad * pad, GstFormat src_fmt,
-    gint64 src_val, GstFormat * dest_fmt, gint64 * dest_val);
-static GstStateChangeReturn gst_cmml_dec_change_state (GstElement * element,
-    GstStateChange transition);
-static GstFlowReturn gst_cmml_dec_chain (GstPad * pad, GstObject * parent,
-    GstBuffer * buffer);
-
-static GstCmmlPacketType gst_cmml_dec_parse_packet_type (GstCmmlDec * dec,
-    gchar * data, gsize size);
-static void gst_cmml_dec_parse_ident_header (GstCmmlDec * dec, guint8 * data,
-    gsize size);
-static void gst_cmml_dec_parse_first_header (GstCmmlDec * dec, guint8 * data,
-    gsize size);
-static void gst_cmml_dec_parse_preamble (GstCmmlDec * dec, guchar * preamble,
-    guchar * cmml_root_element);
-static void gst_cmml_dec_parse_xml (GstCmmlDec * dec, guchar * data,
-    guint size);
-static void gst_cmml_dec_parse_head (GstCmmlDec * dec, GstCmmlTagHead * head);
-static void gst_cmml_dec_parse_clip (GstCmmlDec * dec, GstCmmlTagClip * clip);
-
-static GstFlowReturn gst_cmml_dec_new_buffer (GstCmmlDec * dec,
-    guchar * data, gint size, GstBuffer ** buffer);
-static void gst_cmml_dec_push_clip (GstCmmlDec * dec, GstCmmlTagClip * clip);
-static void gst_cmml_dec_send_clip_tag (GstCmmlDec * dec,
-    GstCmmlTagClip * clip);
-
-static void gst_cmml_dec_finalize (GObject * object);
-
-static void
-gst_cmml_dec_class_init (GstCmmlDecClass * klass)
-{
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-
-  object_class->set_property = gst_cmml_dec_set_property;
-  object_class->get_property = gst_cmml_dec_get_property;
-  object_class->finalize = gst_cmml_dec_finalize;
-
-  g_object_class_install_property (object_class, GST_CMML_DEC_WAIT_CLIP_END,
-      g_param_spec_boolean ("wait-clip-end-time",
-          "Wait clip end time",
-          "Send a tag for a clip when the clip ends, setting its end-time. "
-          "Use when you need to know both clip's start-time and end-time.",
-          FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
-  element_class->change_state = gst_cmml_dec_change_state;
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_cmml_dec_sink_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_cmml_dec_src_factory));
-  gst_element_class_set_static_metadata (element_class, "CMML stream decoder",
-      "Codec/Decoder",
-      "Decodes CMML streams", "Alessandro Decina <alessandro@nnva.org>");
-}
-
-static void
-gst_cmml_dec_init (GstCmmlDec * dec)
-{
-  dec->sinkpad =
-      gst_pad_new_from_static_template (&gst_cmml_dec_sink_factory, "sink");
-  gst_pad_set_chain_function (dec->sinkpad, gst_cmml_dec_chain);
-  gst_pad_set_query_function (dec->sinkpad, gst_cmml_dec_sink_query);
-  gst_pad_set_event_function (dec->sinkpad, gst_cmml_dec_sink_event);
-  gst_element_add_pad (GST_ELEMENT (dec), dec->sinkpad);
-
-  dec->srcpad =
-      gst_pad_new_from_static_template (&gst_cmml_dec_src_factory, "src");
-  gst_element_add_pad (GST_ELEMENT (dec), dec->srcpad);
-
-  dec->wait_clip_end = FALSE;
-}
-
-static void
-gst_cmml_dec_get_property (GObject * object, guint property_id,
-    GValue * value, GParamSpec * pspec)
-{
-  GstCmmlDec *dec = GST_CMML_DEC (object);
-
-  switch (property_id) {
-    case GST_CMML_DEC_WAIT_CLIP_END:
-      g_value_set_boolean (value, dec->wait_clip_end);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-  }
-}
-
-static void
-gst_cmml_dec_set_property (GObject * object, guint property_id,
-    const GValue * value, GParamSpec * pspec)
-{
-  GstCmmlDec *dec = GST_CMML_DEC (object);
-
-  switch (property_id) {
-    case GST_CMML_DEC_WAIT_CLIP_END:
-      dec->wait_clip_end = g_value_get_boolean (value);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (dec, property_id, pspec);
-  }
-}
-
-static void
-gst_cmml_dec_finalize (GObject * object)
-{
-  GstCmmlDec *dec = GST_CMML_DEC (object);
-
-  if (dec->tracks) {
-    gst_cmml_track_list_destroy (dec->tracks);
-    dec->tracks = NULL;
-  }
-
-  G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-static GstStateChangeReturn
-gst_cmml_dec_change_state (GstElement * element, GstStateChange transition)
-{
-  GstCmmlDec *dec = GST_CMML_DEC (element);
-  GstStateChangeReturn res;
-
-  switch (transition) {
-    case GST_STATE_CHANGE_READY_TO_PAUSED:
-      dec->parser = gst_cmml_parser_new (GST_CMML_PARSER_DECODE);
-      dec->parser->user_data = dec;
-      dec->parser->preamble_callback =
-          (GstCmmlParserPreambleCallback) gst_cmml_dec_parse_preamble;
-      dec->parser->head_callback =
-          (GstCmmlParserHeadCallback) gst_cmml_dec_parse_head;
-      dec->parser->clip_callback =
-          (GstCmmlParserClipCallback) gst_cmml_dec_parse_clip;
-      dec->major = -1;
-      dec->minor = -1;
-      dec->granulerate_n = -1;
-      dec->granulerate_d = -1;
-      dec->granuleshift = 0;
-      dec->granulepos = 0;
-      dec->flow_return = GST_FLOW_OK;
-      dec->sent_root = FALSE;
-      dec->tracks = gst_cmml_track_list_new ();
-      break;
-    default:
-      break;
-  }
-
-  res = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
-
-  switch (transition) {
-    case GST_STATE_CHANGE_PAUSED_TO_READY:
-      gst_cmml_parser_free (dec->parser);
-      gst_cmml_track_list_destroy (dec->tracks);
-      dec->tracks = NULL;
-      break;
-    default:
-      break;
-  }
-
-  return res;
-}
-
-static gboolean
-gst_cmml_dec_sink_query (GstPad * pad, GstObject * parent, GstQuery * query)
-{
-  gboolean res = FALSE;
-
-  switch (GST_QUERY_TYPE (query)) {
-    case GST_QUERY_CONVERT:
-    {
-      GstFormat src_fmt, dest_fmt;
-      gint64 src_val, dest_val;
-
-      gst_query_parse_convert (query, &src_fmt, &src_val, &dest_fmt, &dest_val);
-      res = gst_cmml_dec_convert (pad, src_fmt, src_val, &dest_fmt, &dest_val);
-      if (res)
-        gst_query_set_convert (query, src_fmt, src_val, dest_fmt, dest_val);
-      break;
-    }
-    default:
-      break;
-  }
-
-  return res;
-}
-
-static gboolean
-gst_cmml_dec_convert (GstPad * pad,
-    GstFormat src_fmt, gint64 src_val, GstFormat * dest_fmt, gint64 * dest_val)
-{
-  GstCmmlDec *dec = GST_CMML_DEC (GST_PAD_PARENT (pad));
-  gboolean res = FALSE;
-
-  switch (src_fmt) {
-    case GST_FORMAT_DEFAULT:
-      switch (*dest_fmt) {
-        case GST_FORMAT_TIME:
-        {
-          *dest_val = gst_annodex_granule_to_time (src_val, dec->granulerate_n,
-              dec->granulerate_d, dec->granuleshift);
-          res = TRUE;
-          break;
-        }
-        default:
-          break;
-      }
-      break;
-    default:
-      break;
-  }
-
-  return res;
-}
-
-static gboolean
-gst_cmml_dec_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
-{
-  GstCmmlDec *dec = GST_CMML_DEC (parent);
-
-  switch (GST_EVENT_TYPE (event)) {
-    case GST_EVENT_EOS:
-    {
-      GstBuffer *buffer;
-      GstCmmlTagClip *clip;
-      GList *clips, *walk;
-
-      GST_INFO_OBJECT (dec, "got EOS, flushing clips");
-
-      /* since we output a clip when the next one in the same track is found, on
-       * EOS we need to output the last clip (if any) of every track
-       */
-      clips = gst_cmml_track_list_get_clips (dec->tracks);
-      for (walk = clips; walk; walk = g_list_next (walk)) {
-        clip = GST_CMML_TAG_CLIP (walk->data);
-        gst_cmml_dec_push_clip (dec, clip);
-        if (dec->wait_clip_end) {
-          clip->end_time = dec->timestamp;
-          gst_cmml_dec_send_clip_tag (dec, clip);
-        }
-      }
-      g_list_free (clips);
-
-      /* send the cmml end tag */
-      dec->flow_return = gst_cmml_dec_new_buffer (dec,
-          (guchar *) "</cmml>", strlen ("</cmml>"), &buffer);
-
-      if (dec->flow_return == GST_FLOW_OK)
-        dec->flow_return = gst_pad_push (dec->srcpad, buffer);
-      if (dec->flow_return == GST_FLOW_NOT_LINKED)
-        dec->flow_return = GST_FLOW_OK; /* Ignore NOT_LINKED */
-
-      break;
-    }
-    default:
-      break;
-  }
-
-  return gst_pad_event_default (pad, parent, event);
-}
-
-static GstFlowReturn
-gst_cmml_dec_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
-{
-  GstCmmlDec *dec = GST_CMML_DEC (parent);
-  GstCmmlPacketType packet;
-  GstMapInfo map;
-  guint8 *data;
-  gsize size;
-
-  gst_buffer_map (buffer, &map, GST_MAP_READ);
-  data = map.data;
-  size = map.size;
-
-  if (size == 0) {
-    /* the EOS page could be empty */
-    dec->flow_return = GST_FLOW_OK;
-    goto done;
-  }
-
-  dec->granulepos = GST_BUFFER_OFFSET_END (buffer);
-  dec->timestamp = gst_annodex_granule_to_time (dec->granulepos,
-      dec->granulerate_n, dec->granulerate_d, dec->granuleshift);
-
-  /* identify the packet type */
-  packet = gst_cmml_dec_parse_packet_type (dec, (gchar *) data, size);
-
-  /* handle the packet. the handler will set dec->flow_return */
-  switch (packet) {
-    case GST_CMML_PACKET_IDENT_HEADER:
-      if (dec->sent_root == FALSE)
-        /* don't parse the ident again in case of seeking to the beginning */
-        gst_cmml_dec_parse_ident_header (dec, data, size);
-      break;
-    case GST_CMML_PACKET_FIRST_HEADER:
-      if (dec->sent_root == FALSE)
-        /* don't parse the xml preamble if it has already been parsed because it
-         * would error out, so seeking to the beginning would fail */
-        gst_cmml_dec_parse_first_header (dec, data, size);
-      break;
-    case GST_CMML_PACKET_SECOND_HEADER:
-    case GST_CMML_PACKET_CLIP:
-      gst_cmml_dec_parse_xml (dec, data, size);
-      break;
-    case GST_CMML_PACKET_UNKNOWN:
-    default:
-      GST_ELEMENT_ERROR (dec, STREAM, DECODE, (NULL), ("unknown packet type"));
-      dec->flow_return = GST_FLOW_ERROR;
-  }
-
-done:
-  gst_buffer_unmap (buffer, &map);
-  gst_buffer_unref (buffer);
-
-  return dec->flow_return;
-}
-
-/* finds the packet type of the buffer
- */
-static GstCmmlPacketType
-gst_cmml_dec_parse_packet_type (GstCmmlDec * dec, gchar * data, gsize size)
-{
-  GstCmmlPacketType packet_type = GST_CMML_PACKET_UNKNOWN;
-
-  if (size >= 8 && !memcmp (data, "CMML\0\0\0\0", 8)) {
-    packet_type = GST_CMML_PACKET_IDENT_HEADER;
-  } else if (size >= 5) {
-    if (!strncmp (data, "<?xml", 5))
-      packet_type = GST_CMML_PACKET_FIRST_HEADER;
-    else if (!strncmp (data, "<head", 5))
-      packet_type = GST_CMML_PACKET_SECOND_HEADER;
-    else if (!strncmp (data, "<clip", 5))
-      packet_type = GST_CMML_PACKET_CLIP;
-  }
-
-  return packet_type;
-}
-
-/* creates a new buffer and sets caps and timestamp on it
- */
-static GstFlowReturn
-gst_cmml_dec_new_buffer (GstCmmlDec * dec,
-    guchar * data, gint size, GstBuffer ** buffer)
-{
-  GstFlowReturn res;
-
-  *buffer = gst_buffer_new_allocate (NULL, size, NULL);
-  if (*buffer != NULL) {
-    if (data)
-      gst_buffer_fill (*buffer, 0, data, size);
-    GST_BUFFER_TIMESTAMP (*buffer) = dec->timestamp;
-    res = GST_FLOW_OK;
-  } else {
-    GST_WARNING_OBJECT (dec, "could not allocate buffer");
-    res = GST_FLOW_ERROR;
-  }
-
-  return res;
-}
-
-/* parses the first CMML packet (the ident header)
- */
-static void
-gst_cmml_dec_parse_ident_header (GstCmmlDec * dec, guint8 * data, gsize size)
-{
-  /* the ident header has a fixed length */
-  if (size != CMML_IDENT_HEADER_SIZE) {
-    GST_ELEMENT_ERROR (dec, STREAM, DECODE,
-        (NULL), ("wrong ident header size: %" G_GSIZE_FORMAT, size));
-    dec->flow_return = GST_FLOW_ERROR;
-
-    return;
-  }
-
-  data += 8;
-  dec->major = GST_READ_UINT16_LE (data);
-  data += 2;
-  dec->minor = GST_READ_UINT16_LE (data);
-  data += 2;
-  dec->granulerate_n = GST_READ_UINT64_LE (data);
-  data += 8;
-  dec->granulerate_d = GST_READ_UINT64_LE (data);
-  data += 8;
-  dec->granuleshift = GST_READ_UINT8 (data);
-
-  GST_INFO_OBJECT (dec, "bitstream initialized "
-      "(major: %" G_GINT16_FORMAT " minor: %" G_GINT16_FORMAT
-      " granulerate_n: %" G_GINT64_FORMAT " granulerate_d: %" G_GINT64_FORMAT
-      " granuleshift: %d)",
-      dec->major, dec->minor,
-      dec->granulerate_n, dec->granulerate_d, dec->granuleshift);
-
-  dec->flow_return = GST_FLOW_OK;
-}
-
-/* parses the first secondary header.
- * the first secondary header contains the xml version, the doctype and the
- * optional "cmml" processing instruction.
- */
-static void
-gst_cmml_dec_parse_first_header (GstCmmlDec * dec, guint8 * data, gsize size)
-{
-  gst_cmml_dec_parse_xml (dec, data, size);
-
-  /* if there is a processing instruction, gst_cmml_dec_parse_preamble
-   * will be triggered. Otherwise we need to call it manually.
-   */
-  if (dec->flow_return == GST_FLOW_OK && !dec->sent_root) {
-    guchar *preamble = (guchar *) g_strndup ((gchar *) data, size);
-
-    gst_cmml_dec_parse_preamble (dec, preamble, (guchar *) "<cmml>");
-    g_free (preamble);
-  }
-}
-
-/* feeds data into the cmml parser.
- */
-static void
-gst_cmml_dec_parse_xml (GstCmmlDec * dec, guchar * data, guint size)
-{
-  GError *err = NULL;
-
-  if (!gst_cmml_parser_parse_chunk (dec->parser, (gchar *) data, size, &err)) {
-    GST_ELEMENT_ERROR (dec, STREAM, DECODE, (NULL), ("%s", err->message));
-    g_error_free (err);
-    dec->flow_return = GST_FLOW_ERROR;
-  }
-}
-
-static void
-gst_cmml_dec_parse_preamble (GstCmmlDec * dec, guchar * preamble,
-    guchar * root_element)
-{
-  GstBuffer *buffer;
-  guchar *encoded_preamble;
-
-  encoded_preamble = (guchar *) g_strconcat ((gchar *) preamble,
-      (gchar *) root_element, NULL);
-
-  /* send the root element to the internal parser */
-  gst_cmml_dec_parse_xml (dec, root_element, strlen ((gchar *) root_element));
-  dec->sent_root = TRUE;
-
-  /* push the root element */
-  dec->flow_return = gst_cmml_dec_new_buffer (dec,
-      encoded_preamble, strlen ((gchar *) encoded_preamble), &buffer);
-  if (dec->flow_return == GST_FLOW_OK) {
-    dec->flow_return = gst_pad_push (dec->srcpad, buffer);
-  }
-
-  if (dec->flow_return == GST_FLOW_OK) {
-    GST_INFO_OBJECT (dec, "preamble parsed");
-  }
-
-  g_free (encoded_preamble);
-  return;
-}
-
-/* outputs the cmml head element and send TITLE and CMML_HEAD tags.
- * This callback is registered with dec->parser. It is called when the
- * head element is parsed.
- */
-static void
-gst_cmml_dec_parse_head (GstCmmlDec * dec, GstCmmlTagHead * head)
-{
-  GstTagList *tags;
-  GValue str_val = { 0 }, title_val = {
-  0};
-  guchar *head_str;
-  GstBuffer *buffer;
-
-  GST_DEBUG_OBJECT (dec, "found CMML head (title: %s base: %s)",
-      head->title, head->base);
-
-  /* FIXME: what's the point of all this GValue transform crack? */
-  /* create the GST_TAG_TITLE tag */
-  g_value_init (&str_val, G_TYPE_STRING);
-  g_value_init (&title_val, gst_tag_get_type (GST_TAG_TITLE));
-  g_value_set_string (&str_val, (gchar *) head->title);
-  g_value_transform (&str_val, &title_val);
-
-  tags = gst_tag_list_new_empty ();
-  gst_tag_list_add_values (tags, GST_TAG_MERGE_APPEND,
-      GST_TAG_TITLE, &title_val, NULL);
-  gst_tag_list_add (tags, GST_TAG_MERGE_APPEND, GST_TAG_CMML_HEAD, head, NULL);
-  gst_pad_push_event (dec->srcpad, gst_event_new_tag (tags));
-
-  g_value_unset (&str_val);
-  g_value_unset (&title_val);
-
-  head_str = gst_cmml_parser_tag_head_to_string (dec->parser, head);
-
-  dec->flow_return = gst_cmml_dec_new_buffer (dec,
-      head_str, strlen ((gchar *) head_str), &buffer);
-  g_free (head_str);
-  if (dec->flow_return == GST_FLOW_OK)
-    dec->flow_return = gst_pad_push (dec->srcpad, buffer);
-  if (dec->flow_return == GST_FLOW_NOT_LINKED)
-    dec->flow_return = GST_FLOW_OK;     /* Ignore NOT_LINKED */
-}
-
-/* send a TAG_MESSAGE event for a clip */
-static void
-gst_cmml_dec_send_clip_tag (GstCmmlDec * dec, GstCmmlTagClip * clip)
-{
-  GstTagList *tags;
-
-  GST_DEBUG_OBJECT (dec, "sending clip tag %s", clip->id);
-
-  tags = gst_tag_list_new (GST_TAG_CMML_CLIP, clip, NULL);
-  gst_pad_push_event (dec->srcpad, gst_event_new_tag (tags));
-}
-
-/* push the string representation of a clip */
-static void
-gst_cmml_dec_push_clip (GstCmmlDec * dec, GstCmmlTagClip * clip)
-{
-  GstBuffer *buffer;
-  guchar *clip_str;
-
-  GST_DEBUG_OBJECT (dec, "pushing clip %s", clip->id);
-
-  clip_str = gst_cmml_parser_tag_clip_to_string (dec->parser, clip);
-  dec->flow_return = gst_cmml_dec_new_buffer (dec,
-      clip_str, strlen ((gchar *) clip_str), &buffer);
-  if (dec->flow_return == GST_FLOW_OK)
-    dec->flow_return = gst_pad_push (dec->srcpad, buffer);
-  if (dec->flow_return == GST_FLOW_NOT_LINKED)
-    dec->flow_return = GST_FLOW_OK;     /* Ignore NOT_LINKED */
-
-  g_free (clip_str);
-}
-
-/* decode a clip tag
- * this callback is registered with dec->parser. It is called whenever a
- * clip is parsed.
- */
-static void
-gst_cmml_dec_parse_clip (GstCmmlDec * dec, GstCmmlTagClip * clip)
-{
-  GstCmmlTagClip *prev_clip;
-
-  dec->flow_return = GST_FLOW_OK;
-
-  if (clip->empty)
-    GST_INFO_OBJECT (dec, "parsing empty clip");
-  else
-    GST_INFO_OBJECT (dec, "parsing clip (id: %s)", clip->id);
-
-  clip->start_time = dec->timestamp;
-  if (clip->start_time == GST_CLOCK_TIME_NONE) {
-    GST_ELEMENT_ERROR (dec, STREAM, DECODE,
-        (NULL), ("invalid clip start time"));
-
-    dec->flow_return = GST_FLOW_ERROR;
-    return;
-  }
-
-  /* get the last clip in the current track */
-  prev_clip = gst_cmml_track_list_get_track_last_clip (dec->tracks,
-      (gchar *) clip->track);
-  if (prev_clip) {
-    /* output the previous clip */
-    if (clip->empty)
-      /* the current clip marks the end of the previous one */
-      prev_clip->end_time = clip->start_time;
-
-    gst_cmml_dec_push_clip (dec, prev_clip);
-  }
-
-  if (dec->wait_clip_end) {
-    /* now it's time to send the tag for the previous clip */
-    if (prev_clip) {
-      prev_clip->end_time = clip->start_time;
-      gst_cmml_dec_send_clip_tag (dec, prev_clip);
-    }
-  } else if (!clip->empty) {
-    /* send the tag for the current clip */
-    gst_cmml_dec_send_clip_tag (dec, clip);
-  }
-
-  if (prev_clip)
-    gst_cmml_track_list_del_clip (dec->tracks, prev_clip);
-
-  if (!clip->empty)
-    if (!gst_cmml_track_list_has_clip (dec->tracks, clip))
-      gst_cmml_track_list_add_clip (dec->tracks, clip);
-}
-
-gboolean
-gst_cmml_dec_plugin_init (GstPlugin * plugin)
-{
-  if (!gst_element_register (plugin, "cmmldec", GST_RANK_PRIMARY,
-          GST_TYPE_CMML_DEC))
-    return FALSE;
-
-  GST_DEBUG_CATEGORY_INIT (cmmldec, "cmmldec", 0,
-      "annodex CMML decoding element");
-
-  return TRUE;
-}
diff --git a/ext/annodex/gstcmmldec.h b/ext/annodex/gstcmmldec.h
deleted file mode 100644
index b7b302d..0000000
--- a/ext/annodex/gstcmmldec.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * gstcmmldec.h - GStreamer annodex CMML decoder
- * Copyright (C) 2005 Alessandro Decina
- * 
- * Authors:
- *   Alessandro Decina <alessandro@nnva.org>
- *
- * 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_CMML_DEC_H__
-#define __GST_CMML_DEC_H__
-
-#include <gst/gst.h>
-#include <gst/gstformat.h>
-
-#include "gstcmmlparser.h"
-
-/* GstCmmlDec */
-#define GST_TYPE_CMML_DEC (gst_cmml_dec_get_type())
-#define GST_CMML_DEC(obj) \
-    (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_CMML_DEC, GstCmmlDec))
-#define GST_CMML_DEC_CLASS(klass) \
-    (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_CMML_DEC, GstCmmlDecClass))
-#define GST_IS_CMML_DEC(obj) \
-    (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_CMML_DEC))
-#define GST_IS_CMML_DEC_CLASS(klass) \
-    (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_CMML_DEC))
-#define GST_CMML_DEC_GET_CLASS(klass) \
-    (G_TYPE_INSTANCE_GET_CLASS((obj), GST_TYPE_CMML_DEC, GstCmmlDecClass))
-
-typedef struct _GstCmmlDec GstCmmlDec;
-typedef struct _GstCmmlDecClass GstCmmlDecClass;
-typedef enum _GstCmmlPacketType GstCmmlPacketType;
-
-enum _GstCmmlPacketType
-{
-  GST_CMML_PACKET_UNKNOWN,
-  GST_CMML_PACKET_IDENT_HEADER,
-  GST_CMML_PACKET_FIRST_HEADER,
-  GST_CMML_PACKET_SECOND_HEADER,
-  GST_CMML_PACKET_CLIP
-};
-
-struct _GstCmmlDec
-{
-  GstElement element;
-
-  /* element part */
-  GstPad *sinkpad;
-  GstPad *srcpad;
-
-  /* bitstream part */
-  gint16 major;                 /* bitstream version major */
-  gint16 minor;                 /* bitstream version minor */
-  gint64 granulerate_n;         /* bitrstream granulerate numerator */
-  gint64 granulerate_d;         /* bitstream granulerate denominator */
-  gint8 granuleshift;           /* bitstreamgranuleshift */
-  gint64 granulepos;            /* bitstream granule position */
-  GstClockTime timestamp;       /* timestamp of the last buffer */
-
-  /* decoder part */
-  GstCmmlParser *parser;        /* cmml parser */
-  gboolean sent_root;
-  GstFlowReturn flow_return;   /* _chain return value */
-  gboolean wait_clip_end;        /* when TRUE, the GST_TAG_MESSAGE for a
-                                 * clip is sent when the next clip (or EOS)
-                                 * is found, so that the clip end-time is
-                                 * known. This is useful for pre-extracting
-                                 * the clips.
-                                 */
-  GHashTable *tracks;
-};
-
-struct _GstCmmlDecClass
-{
-  GstElementClass parent_class;
-};
-
-GType gst_cmml_dec_get_type (void);
-
-gboolean gst_cmml_dec_plugin_init (GstPlugin * plugin);
-
-#endif /* __GST_CMML_DEC_H__ */
diff --git a/ext/annodex/gstcmmlenc.c b/ext/annodex/gstcmmlenc.c
deleted file mode 100644
index d402c65..0000000
--- a/ext/annodex/gstcmmlenc.c
+++ /dev/null
@@ -1,632 +0,0 @@
-/*
- * gstcmmlenc.c - GStreamer CMML encoder
- * Copyright (C) 2005 Alessandro Decina
- * 
- * Authors:
- *   Alessandro Decina <alessandro@nnva.org>
- *
- * 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:element-cmmlenc
- * @see_also: cmmldec, oggmux
- *
- * Cmmlenc encodes a CMML document into a CMML stream.  <ulink
- * url="http://www.annodex.net/TR/draft-pfeiffer-cmml-02.html">CMML</ulink> is
- * an XML markup language for time-continuous data maintained by the <ulink
- * url="http:/www.annodex.org/">Annodex Foundation</ulink>.
- *
- * <refsect2>
- * <title>Example pipeline</title>
- * |[
- * gst-launch -v filesrc location=annotations.cmml ! cmmlenc ! oggmux name=mux ! filesink location=annotated.ogg
- * ]|
- * </refsect2>
- */
-
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <string.h>
-#include "gstcmmlenc.h"
-#include "gstannodex.h"
-
-GST_DEBUG_CATEGORY_STATIC (cmmlenc);
-#define GST_CAT_DEFAULT cmmlenc
-
-#define CMML_IDENT_HEADER_SIZE 29
-
-enum
-{
-  ARG_0,
-  GST_CMML_ENC_GRANULERATE_N,
-  GST_CMML_ENC_GRANULERATE_D,
-  GST_CMML_ENC_GRANULESHIFT
-};
-
-enum
-{
-  LAST_SIGNAL
-};
-
-static GstStaticPadTemplate gst_cmml_enc_src_factory =
-GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("text/x-cmml, encoded = (boolean) true")
-    );
-
-static GstStaticPadTemplate gst_cmml_enc_sink_factory =
-GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("text/x-cmml, encoded = (boolean) false")
-    );
-
-#define gst_cmml_enc_parent_class parent_class
-G_DEFINE_TYPE (GstCmmlEnc, gst_cmml_enc, GST_TYPE_ELEMENT);
-
-static void gst_cmml_enc_get_property (GObject * object, guint property_id,
-    GValue * value, GParamSpec * pspec);
-static void gst_cmml_enc_set_property (GObject * object, guint property_id,
-    const GValue * value, GParamSpec * pspec);
-static gboolean gst_cmml_enc_sink_event (GstPad * pad, GstObject * parent,
-    GstEvent * event);
-static GstStateChangeReturn gst_cmml_enc_change_state (GstElement * element,
-    GstStateChange transition);
-static GstFlowReturn gst_cmml_enc_chain (GstPad * pad, GstObject * parent,
-    GstBuffer * buffer);
-static void gst_cmml_enc_parse_preamble (GstCmmlEnc * enc, guchar * preamble,
-    guchar * processing_instruction);
-static void gst_cmml_enc_parse_end_tag (GstCmmlEnc * enc);
-static void gst_cmml_enc_parse_tag_head (GstCmmlEnc * enc,
-    GstCmmlTagHead * head);
-static void gst_cmml_enc_parse_tag_clip (GstCmmlEnc * enc,
-    GstCmmlTagClip * tag);
-static GstFlowReturn gst_cmml_enc_new_buffer (GstCmmlEnc * enc,
-    guchar * data, gint size, GstBuffer ** buffer);
-static GstFlowReturn gst_cmml_enc_push_clip (GstCmmlEnc * enc,
-    GstCmmlTagClip * clip, GstClockTime prev_clip_time);
-static GstFlowReturn gst_cmml_enc_push (GstCmmlEnc * enc, GstBuffer * buffer);
-
-static void gst_cmml_enc_finalize (GObject * object);
-
-static void
-gst_cmml_enc_class_init (GstCmmlEncClass * enc_class)
-{
-  GObjectClass *klass = G_OBJECT_CLASS (enc_class);
-  GstElementClass *element_class = GST_ELEMENT_CLASS (enc_class);
-
-  klass->get_property = gst_cmml_enc_get_property;
-  klass->set_property = gst_cmml_enc_set_property;
-  klass->finalize = gst_cmml_enc_finalize;
-
-  g_object_class_install_property (klass, GST_CMML_ENC_GRANULERATE_N,
-      g_param_spec_int64 ("granule-rate-numerator",
-          "Granulerate numerator",
-          "Granulerate numerator",
-          0, G_MAXINT64, 1000,
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
-
-  g_object_class_install_property (klass, GST_CMML_ENC_GRANULERATE_D,
-      g_param_spec_int64 ("granule-rate-denominator",
-          "Granulerate denominator",
-          "Granulerate denominator",
-          0, G_MAXINT64, 1,
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
-
-  g_object_class_install_property (klass, GST_CMML_ENC_GRANULESHIFT,
-      g_param_spec_uchar ("granule-shift",
-          "Granuleshift",
-          "The number of lower bits to use for partitioning a granule position",
-          0, 64, 32,
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
-
-  element_class->change_state = gst_cmml_enc_change_state;
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_cmml_enc_sink_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_cmml_enc_src_factory));
-  gst_element_class_set_static_metadata (element_class, "CMML streams encoder",
-      "Codec/Encoder",
-      "Encodes CMML streams", "Alessandro Decina <alessandro@nnva.org>");
-}
-
-static void
-gst_cmml_enc_init (GstCmmlEnc * enc)
-{
-  enc->sinkpad =
-      gst_pad_new_from_static_template (&gst_cmml_enc_sink_factory, "sink");
-  gst_pad_set_chain_function (enc->sinkpad, gst_cmml_enc_chain);
-  gst_pad_set_event_function (enc->sinkpad, gst_cmml_enc_sink_event);
-  gst_element_add_pad (GST_ELEMENT (enc), enc->sinkpad);
-
-  enc->srcpad =
-      gst_pad_new_from_static_template (&gst_cmml_enc_src_factory, "src");
-  gst_element_add_pad (GST_ELEMENT (enc), enc->srcpad);
-
-  enc->major = 3;
-  enc->minor = 0;
-}
-
-static void
-gst_cmml_enc_set_property (GObject * object, guint property_id,
-    const GValue * value, GParamSpec * pspec)
-{
-  GstCmmlEnc *enc = GST_CMML_ENC (object);
-
-  switch (property_id) {
-    case GST_CMML_ENC_GRANULERATE_N:
-      /* XXX: may need to flush clips */
-      enc->granulerate_n = g_value_get_int64 (value);
-      break;
-    case GST_CMML_ENC_GRANULERATE_D:
-      enc->granulerate_d = g_value_get_int64 (value);
-      break;
-    case GST_CMML_ENC_GRANULESHIFT:
-      enc->granuleshift = g_value_get_uchar (value);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-  }
-}
-
-static void
-gst_cmml_enc_get_property (GObject * object, guint property_id,
-    GValue * value, GParamSpec * pspec)
-{
-  GstCmmlEnc *enc = GST_CMML_ENC (object);
-
-  switch (property_id) {
-    case GST_CMML_ENC_GRANULERATE_N:
-      g_value_set_int64 (value, enc->granulerate_n);
-      break;
-    case GST_CMML_ENC_GRANULERATE_D:
-      g_value_set_int64 (value, enc->granulerate_d);
-      break;
-    case GST_CMML_ENC_GRANULESHIFT:
-      g_value_set_uchar (value, enc->granuleshift);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-  }
-}
-
-static void
-gst_cmml_enc_finalize (GObject * object)
-{
-  GstCmmlEnc *enc = GST_CMML_ENC (object);
-
-  if (enc->tracks) {
-    gst_cmml_track_list_destroy (enc->tracks);
-    enc->tracks = NULL;
-  }
-
-  G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-static GstStateChangeReturn
-gst_cmml_enc_change_state (GstElement * element, GstStateChange transition)
-{
-  GstCmmlEnc *enc = GST_CMML_ENC (element);
-  GstStateChangeReturn res;
-
-  switch (transition) {
-    case GST_STATE_CHANGE_READY_TO_PAUSED:
-      enc->parser = gst_cmml_parser_new (GST_CMML_PARSER_ENCODE);
-      enc->parser->user_data = enc;
-      enc->parser->preamble_callback =
-          (GstCmmlParserPreambleCallback) gst_cmml_enc_parse_preamble;
-      enc->parser->head_callback =
-          (GstCmmlParserHeadCallback) gst_cmml_enc_parse_tag_head;
-      enc->parser->clip_callback =
-          (GstCmmlParserClipCallback) gst_cmml_enc_parse_tag_clip;
-      enc->parser->cmml_end_callback =
-          (GstCmmlParserCmmlEndCallback) gst_cmml_enc_parse_end_tag;
-      enc->tracks = gst_cmml_track_list_new ();
-      enc->sent_headers = FALSE;
-      enc->sent_eos = FALSE;
-      enc->flow_return = GST_FLOW_OK;
-      break;
-    default:
-      break;
-  }
-
-  res = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
-
-  switch (transition) {
-    case GST_STATE_CHANGE_PAUSED_TO_READY:
-    {
-      gst_cmml_track_list_destroy (enc->tracks);
-      enc->tracks = NULL;
-      g_free (enc->preamble);
-      enc->preamble = NULL;
-      gst_cmml_parser_free (enc->parser);
-      break;
-    }
-    default:
-      break;
-  }
-
-  return res;
-}
-
-static gboolean
-gst_cmml_enc_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
-{
-  GstCmmlEnc *enc = GST_CMML_ENC (parent);
-
-  switch (GST_EVENT_TYPE (event)) {
-    case GST_EVENT_EOS:
-    {
-      if (!enc->sent_eos)
-        gst_cmml_enc_parse_end_tag (enc);
-
-      break;
-    }
-    default:
-      break;
-  }
-
-  return gst_pad_event_default (pad, parent, event);
-}
-
-static GstFlowReturn
-gst_cmml_enc_new_buffer (GstCmmlEnc * enc,
-    guchar * data, gint size, GstBuffer ** buffer)
-{
-  GstFlowReturn res;
-
-  *buffer = gst_buffer_new_allocate (NULL, size, NULL);
-  if (*buffer != NULL) {
-    if (data)
-      gst_buffer_fill (*buffer, 0, data, size);
-    res = GST_FLOW_OK;
-  } else {
-    GST_WARNING_OBJECT (enc, "could not allocate buffer");
-    res = GST_FLOW_ERROR;
-  }
-
-  return res;
-}
-
-static GstCaps *
-gst_cmml_enc_set_header_on_caps (GstCmmlEnc * enc, GstCaps * caps,
-    GstBuffer * ident, GstBuffer * preamble, GstBuffer * head)
-{
-  GValue array = { 0 };
-  GValue value = { 0 };
-  GstStructure *structure;
-  GstBuffer *buffer;
-
-  caps = gst_caps_make_writable (caps);
-  structure = gst_caps_get_structure (caps, 0);
-
-  g_value_init (&array, GST_TYPE_ARRAY);
-  g_value_init (&value, GST_TYPE_BUFFER);
-
-  /* Make copies of header buffers to avoid circular references */
-  buffer = gst_buffer_copy (ident);
-  gst_value_set_buffer (&value, buffer);
-  gst_value_array_append_value (&array, &value);
-  gst_buffer_unref (buffer);
-
-  buffer = gst_buffer_copy (preamble);
-  gst_value_set_buffer (&value, buffer);
-  gst_value_array_append_value (&array, &value);
-  gst_buffer_unref (buffer);
-
-  buffer = gst_buffer_copy (head);
-  gst_value_set_buffer (&value, buffer);
-  gst_value_array_append_value (&array, &value);
-  gst_buffer_unref (buffer);
-
-  GST_BUFFER_FLAG_SET (ident, GST_BUFFER_FLAG_HEADER);
-  GST_BUFFER_FLAG_SET (preamble, GST_BUFFER_FLAG_HEADER);
-  GST_BUFFER_FLAG_SET (head, GST_BUFFER_FLAG_HEADER);
-
-  gst_structure_set_value (structure, "streamheader", &array);
-
-  g_value_unset (&value);
-  g_value_unset (&array);
-
-  return caps;
-}
-
-/* create a CMML ident header buffer
- */
-static GstFlowReturn
-gst_cmml_enc_new_ident_header (GstCmmlEnc * enc, GstBuffer ** buffer)
-{
-  guint8 ident_header[CMML_IDENT_HEADER_SIZE];
-  guint8 *wptr = ident_header;
-
-  memcpy (wptr, "CMML\0\0\0\0", 8);
-  wptr += 8;
-  GST_WRITE_UINT16_LE (wptr, enc->major);
-  wptr += 2;
-  GST_WRITE_UINT16_LE (wptr, enc->minor);
-  wptr += 2;
-  GST_WRITE_UINT64_LE (wptr, enc->granulerate_n);
-  wptr += 8;
-  GST_WRITE_UINT64_LE (wptr, enc->granulerate_d);
-  wptr += 8;
-  *wptr = enc->granuleshift;
-
-  return gst_cmml_enc_new_buffer (enc,
-      (guchar *) & ident_header, CMML_IDENT_HEADER_SIZE, buffer);
-}
-
-/* parse the CMML preamble */
-static void
-gst_cmml_enc_parse_preamble (GstCmmlEnc * enc,
-    guchar * preamble, guchar * processing_instruction)
-{
-  GST_INFO_OBJECT (enc, "parsing preamble");
-
-  /* save the preamble: it will be pushed when the head tag is found */
-  enc->preamble = (guchar *) g_strconcat ((gchar *) preamble,
-      (gchar *) processing_instruction, NULL);
-}
-
-/* parse the CMML end tag */
-static void
-gst_cmml_enc_parse_end_tag (GstCmmlEnc * enc)
-{
-  GstBuffer *buffer;
-
-  GST_INFO_OBJECT (enc, "parsing end tag");
-
-  /* push an empty buffer to signal EOS */
-  enc->flow_return = gst_cmml_enc_new_buffer (enc, NULL, 0, &buffer);
-  if (enc->flow_return == GST_FLOW_OK) {
-    /* set granulepos 0 on EOS */
-    GST_BUFFER_OFFSET_END (buffer) = 0;
-    enc->flow_return = gst_cmml_enc_push (enc, buffer);
-    enc->sent_eos = TRUE;
-  }
-
-  return;
-}
-
-/* encode the CMML head tag and push the CMML headers
- */
-static void
-gst_cmml_enc_parse_tag_head (GstCmmlEnc * enc, GstCmmlTagHead * head)
-{
-  GList *headers = NULL;
-  GList *walk;
-  guchar *head_string;
-  GstCaps *caps;
-  GstBuffer *ident_buf, *preamble_buf, *head_buf;
-  GstBuffer *buffer;
-
-  if (enc->preamble == NULL)
-    goto flow_unexpected;
-
-  GST_INFO_OBJECT (enc, "parsing head tag");
-
-  enc->flow_return = gst_cmml_enc_new_ident_header (enc, &ident_buf);
-  if (enc->flow_return != GST_FLOW_OK)
-    goto alloc_error;
-  headers = g_list_append (headers, ident_buf);
-
-  enc->flow_return = gst_cmml_enc_new_buffer (enc,
-      enc->preamble, strlen ((gchar *) enc->preamble), &preamble_buf);
-  if (enc->flow_return != GST_FLOW_OK)
-    goto alloc_error;
-  headers = g_list_append (headers, preamble_buf);
-
-  head_string = gst_cmml_parser_tag_head_to_string (enc->parser, head);
-  enc->flow_return = gst_cmml_enc_new_buffer (enc,
-      head_string, strlen ((gchar *) head_string), &head_buf);
-  g_free (head_string);
-  if (enc->flow_return != GST_FLOW_OK)
-    goto alloc_error;
-  headers = g_list_append (headers, head_buf);
-
-  caps = gst_pad_query_caps (enc->srcpad, NULL);
-  caps = gst_cmml_enc_set_header_on_caps (enc, caps,
-      ident_buf, preamble_buf, head_buf);
-  gst_pad_set_caps (enc->srcpad, caps);
-  gst_caps_unref (caps);
-
-  while (headers) {
-    buffer = GST_BUFFER (headers->data);
-    /* set granulepos 0 on headers */
-    GST_BUFFER_OFFSET_END (buffer) = 0;
-
-    enc->flow_return = gst_cmml_enc_push (enc, buffer);
-    headers = g_list_delete_link (headers, headers);
-
-    if (enc->flow_return != GST_FLOW_OK)
-      goto push_error;
-  }
-
-  enc->sent_headers = TRUE;
-  return;
-
-flow_unexpected:
-  GST_ELEMENT_ERROR (enc, STREAM, ENCODE,
-      (NULL), ("got head tag before preamble"));
-  enc->flow_return = GST_FLOW_ERROR;
-  return;
-push_error:
-  /* fallthrough */
-alloc_error:
-  for (walk = headers; walk; walk = walk->next)
-    gst_buffer_unref (GST_BUFFER (walk->data));
-  g_list_free (headers);
-  return;
-}
-
-/* encode a CMML clip tag
- * remove the start and end attributes (GstCmmlParser does this itself) and
- * push the tag with the timestamp of its start attribute. If the tag has the
- * end attribute, create a new empty clip and encode it.
- */
-static void
-gst_cmml_enc_parse_tag_clip (GstCmmlEnc * enc, GstCmmlTagClip * clip)
-{
-  GstCmmlTagClip *prev_clip;
-  GstClockTime prev_clip_time = GST_CLOCK_TIME_NONE;
-
-  /* this can happen if there's a programming error (eg user forgets to set
-   * the start-time property) or if one of the gst_cmml_clock_time_from_*
-   * overflows in GstCmmlParser */
-  if (clip->start_time == GST_CLOCK_TIME_NONE) {
-    GST_ELEMENT_ERROR (enc, STREAM, ENCODE,
-        (NULL), ("invalid start time for clip (%s)", clip->id));
-    enc->flow_return = GST_FLOW_ERROR;
-
-    return;
-  }
-
-  /* get the previous clip's start time to encode the current granulepos */
-  prev_clip = gst_cmml_track_list_get_track_last_clip (enc->tracks,
-      (gchar *) clip->track);
-  if (prev_clip) {
-    prev_clip_time = prev_clip->start_time;
-    if (prev_clip_time > clip->start_time) {
-      GST_ELEMENT_ERROR (enc, STREAM, ENCODE,
-          (NULL), ("previous clip start time > current clip (%s) start time",
-              clip->id));
-      enc->flow_return = GST_FLOW_ERROR;
-      return;
-    }
-
-    /* we don't need the prev clip anymore */
-    gst_cmml_track_list_del_clip (enc->tracks, prev_clip);
-  }
-
-  /* add the current clip to the tracklist */
-  gst_cmml_track_list_add_clip (enc->tracks, clip);
-
-  enc->flow_return = gst_cmml_enc_push_clip (enc, clip, prev_clip_time);
-}
-
-static GstFlowReturn
-gst_cmml_enc_push_clip (GstCmmlEnc * enc, GstCmmlTagClip * clip,
-    GstClockTime prev_clip_time)
-{
-  GstFlowReturn res;
-  GstBuffer *buffer;
-  gchar *clip_string;
-  gint64 granulepos;
-
-  /* encode the clip */
-  clip_string =
-      (gchar *) gst_cmml_parser_tag_clip_to_string (enc->parser, clip);
-
-  res = gst_cmml_enc_new_buffer (enc,
-      (guchar *) clip_string, strlen (clip_string), &buffer);
-  g_free (clip_string);
-  if (res != GST_FLOW_OK)
-    goto done;
-
-  GST_INFO_OBJECT (enc, "encoding clip"
-      "(start-time: %" GST_TIME_FORMAT " end-time: %" GST_TIME_FORMAT,
-      GST_TIME_ARGS (clip->start_time), GST_TIME_ARGS (clip->end_time));
-
-  /* set the granulepos */
-  granulepos = gst_cmml_clock_time_to_granule (prev_clip_time, clip->start_time,
-      enc->granulerate_n, enc->granulerate_d, enc->granuleshift);
-  if (granulepos == -1) {
-    gst_buffer_unref (buffer);
-    goto granule_overflow;
-  }
-
-  GST_BUFFER_OFFSET (buffer) = clip->start_time;
-  GST_BUFFER_OFFSET_END (buffer) = granulepos;
-  GST_BUFFER_TIMESTAMP (buffer) = clip->start_time;
-
-  res = gst_cmml_enc_push (enc, buffer);
-  if (res != GST_FLOW_OK)
-    goto done;
-
-  if (clip->end_time != GST_CLOCK_TIME_NONE) {
-    /* create a new empty clip for the same cmml track starting at end_time
-     */
-    GObject *end_clip = g_object_new (GST_TYPE_CMML_TAG_CLIP,
-        "start-time", clip->end_time, "track", clip->track, NULL);
-
-    /* encode the empty end clip */
-    gst_cmml_enc_push_clip (enc, GST_CMML_TAG_CLIP (end_clip),
-        clip->start_time);
-    g_object_unref (end_clip);
-  }
-done:
-  return res;
-
-granule_overflow:
-  GST_ELEMENT_ERROR (enc, STREAM, ENCODE, (NULL), ("granulepos overflow"));
-  return GST_FLOW_ERROR;
-}
-
-static GstFlowReturn
-gst_cmml_enc_push (GstCmmlEnc * enc, GstBuffer * buffer)
-{
-  GstFlowReturn res;
-
-  res = gst_pad_push (enc->srcpad, buffer);
-  if (res != GST_FLOW_OK)
-    GST_WARNING_OBJECT (enc, "push returned: %s", gst_flow_get_name (res));
-
-  return res;
-}
-
-static GstFlowReturn
-gst_cmml_enc_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
-{
-  GError *err = NULL;
-  GstCmmlEnc *enc = GST_CMML_ENC (parent);
-  GstMapInfo map;
-
-  /* the CMML handlers registered with enc->parser will override this when
-   * encoding/pushing the buffers downstream
-   */
-  enc->flow_return = GST_FLOW_OK;
-
-  gst_buffer_map (buffer, &map, GST_MAP_READ);
-
-  if (!gst_cmml_parser_parse_chunk (enc->parser, (gchar *) map.data, map.size,
-          &err)) {
-    GST_ELEMENT_ERROR (enc, STREAM, ENCODE, (NULL), ("%s", err->message));
-    g_error_free (err);
-    enc->flow_return = GST_FLOW_ERROR;
-  }
-
-  gst_buffer_unmap (buffer, &map);
-  gst_buffer_unref (buffer);
-  return enc->flow_return;
-}
-
-gboolean
-gst_cmml_enc_plugin_init (GstPlugin * plugin)
-{
-  if (!gst_element_register (plugin, "cmmlenc", GST_RANK_NONE,
-          GST_TYPE_CMML_ENC))
-    return FALSE;
-
-  GST_DEBUG_CATEGORY_INIT (cmmlenc, "cmmlenc", 0,
-      "annodex cmml decoding element");
-
-  return TRUE;
-}
diff --git a/ext/annodex/gstcmmlenc.h b/ext/annodex/gstcmmlenc.h
deleted file mode 100644
index 4f28e4c..0000000
--- a/ext/annodex/gstcmmlenc.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * gstcmmlenc.h - GStreamer CMML encoder
- * Copyright (C) 2005 Alessandro Decina
- * 
- * Authors:
- *   Alessandro Decina <alessandro@nnva.org>
- *
- * 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_CMML_ENC_H__
-#define __GST_CMML_ENC_H__
-
-#define GST_TYPE_CMML_ENC (gst_cmml_enc_get_type())
-#define GST_CMML_ENC(obj) \
-      (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_CMML_ENC, GstCmmlEnc))
-#define GST_CMML_ENC_CLASS(klass) \
-      (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_CMML_ENC, GstCmmlEncClass))
-#define GST_IS_CMML_ENC(obj) \
-      (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_CMML_ENC))
-#define GST_IS_CMML_ENC_CLASS(klass) \
-      (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_CMML_ENC))
-#define GST_CMML_ENC_GET_CLASS(obj) \
-      (G_TYPE_INSTANCE_GET_CLASS((obj), GST_TYPE_CMML_ENC, GstCmmlEncClass))
-
-#include <glib.h>
-#include <gst/gst.h>
-
-#include "gstcmmlparser.h"
-#include "gstcmmlutils.h"
-
-typedef struct _GstCmmlEnc GstCmmlEnc;
-typedef struct _GstCmmlEncClass GstCmmlEncClass;
-
-struct _GstCmmlEnc
-{
-  GstElement element;
-
-  GstPad *sinkpad;
-  GstPad *srcpad;
-
-  gint16 major;
-  gint16 minor;
-  gint64 granulerate_n;
-  gint64 granulerate_d;
-  gint8 granuleshift;
-  
-  GstCmmlParser *parser;
-  gboolean streaming;
-  GHashTable *tracks;
-  GstFlowReturn flow_return;
-  guchar *preamble;
-  gboolean sent_headers;
-  gboolean sent_eos;
-};
-
-struct _GstCmmlEncClass
-{
-  GstElementClass parent_class;
-};
-
-GType gst_cmml_enc_get_type (void);
-
-gboolean gst_cmml_enc_plugin_init (GstPlugin * plugin);
-
-#endif /* __GST_CMML_ENC_H__ */
diff --git a/ext/annodex/gstcmmlparser.c b/ext/annodex/gstcmmlparser.c
deleted file mode 100644
index b76cf4a..0000000
--- a/ext/annodex/gstcmmlparser.c
+++ /dev/null
@@ -1,652 +0,0 @@
-/*
- * gstcmmlparser.c - GStreamer CMML document parser
- * Copyright (C) 2005 Alessandro Decina
- * 
- * Authors:
- *   Alessandro Decina <alessandro@nnva.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/* FIXME 0.11: suppress warnings for deprecated API such as GValueArray
- * with newer GLib versions (>= 2.31.0) */
-#define GLIB_DISABLE_DEPRECATION_WARNINGS
-
-#include <string.h>
-#include <stdarg.h>
-#include <gst/gst.h>
-
-#include "gstcmmlparser.h"
-#include "gstannodex.h"
-#include "gstcmmlutils.h"
-
-GST_DEBUG_CATEGORY_STATIC (cmmlparser);
-#define GST_CAT_DEFAULT cmmlparser
-
-static void gst_cmml_parser_generic_error (void *ctx, const char *msg, ...);
-static xmlNodePtr gst_cmml_parser_new_node (GstCmmlParser * parser,
-    const gchar * name, ...);
-static void
-gst_cmml_parser_parse_start_element_ns (xmlParserCtxt * ctxt,
-    const xmlChar * name, const xmlChar * prefix, const xmlChar * URI,
-    int nb_preferences, const xmlChar ** namespaces,
-    int nb_attributes, int nb_defaulted, const xmlChar ** attributes);
-static void gst_cmml_parser_parse_end_element_ns (xmlParserCtxt * ctxt,
-    const xmlChar * name, const xmlChar * prefix, const xmlChar * URI);
-static void gst_cmml_parser_parse_processing_instruction (xmlParserCtxtPtr ctxt,
-    const xmlChar * target, const xmlChar * data);
-static void gst_cmml_parser_meta_to_string (GstCmmlParser * parser,
-    xmlNodePtr parent, GValueArray * meta);
-
-/* initialize the parser */
-void
-gst_cmml_parser_init (void)
-{
-  GST_DEBUG_CATEGORY_INIT (cmmlparser, "cmmlparser", 0, "annodex CMML parser");
-
-  xmlGenericError = gst_cmml_parser_generic_error;
-}
-
-/* create a new CMML parser
- */
-GstCmmlParser *
-gst_cmml_parser_new (GstCmmlParserMode mode)
-{
-  GstCmmlParser *parser = g_malloc (sizeof (GstCmmlParser));
-
-  parser->mode = mode;
-  parser->context = xmlCreatePushParserCtxt (NULL, NULL,
-      NULL, 0, "cmml-bitstream");
-  xmlCtxtUseOptions (parser->context, XML_PARSE_NONET | XML_PARSE_NOERROR);
-  parser->context->_private = parser;
-  parser->context->sax->startElementNs =
-      (startElementNsSAX2Func) gst_cmml_parser_parse_start_element_ns;
-  parser->context->sax->endElementNs =
-      (endElementNsSAX2Func) gst_cmml_parser_parse_end_element_ns;
-  parser->context->sax->processingInstruction = (processingInstructionSAXFunc)
-      gst_cmml_parser_parse_processing_instruction;
-  parser->preamble_callback = NULL;
-  parser->cmml_end_callback = NULL;
-  parser->stream_callback = NULL;
-  parser->head_callback = NULL;
-  parser->clip_callback = NULL;
-  parser->user_data = NULL;
-
-  return parser;
-}
-
-/* free a CMML parser instance
- */
-void
-gst_cmml_parser_free (GstCmmlParser * parser)
-{
-  if (parser) {
-    xmlFreeDoc (parser->context->myDoc);
-    xmlFreeParserCtxt (parser->context);
-    g_free (parser);
-  }
-}
-
-/* parse an xml chunk
- *
- * returns false if the xml is invalid
- */
-gboolean
-gst_cmml_parser_parse_chunk (GstCmmlParser * parser,
-    const gchar * data, guint size, GError ** err)
-{
-  gint xmlres;
-
-  xmlres = xmlParseChunk (parser->context, data, size, 0);
-  if (xmlres != XML_ERR_OK) {
-    xmlErrorPtr xml_error = xmlCtxtGetLastError (parser->context);
-
-    GST_DEBUG ("Error occurred decoding chunk %s", data);
-    g_set_error (err,
-        GST_LIBRARY_ERROR, GST_LIBRARY_ERROR_FAILED, "%s", xml_error->message);
-    return FALSE;
-  }
-
-  return TRUE;
-}
-
-/* convert an xmlNodePtr to a string
- */
-static guchar *
-gst_cmml_parser_node_to_string (GstCmmlParser * parser, xmlNodePtr node)
-{
-  xmlBufferPtr xml_buffer;
-  xmlDocPtr doc;
-  guchar *str;
-
-  if (parser)
-    doc = parser->context->myDoc;
-  else
-    doc = NULL;
-
-  xml_buffer = xmlBufferCreate ();
-  xmlNodeDump (xml_buffer, doc, node, 0, 0);
-  str = xmlStrndup (xml_buffer->content, xml_buffer->use);
-  xmlBufferFree (xml_buffer);
-
-  return str;
-}
-
-guchar *
-gst_cmml_parser_tag_stream_to_string (GstCmmlParser * parser,
-    GstCmmlTagStream * stream)
-{
-  xmlNodePtr node;
-  xmlNodePtr import;
-  guchar *ret;
-
-  node = gst_cmml_parser_new_node (parser, "stream", NULL);
-  if (stream->timebase)
-    xmlSetProp (node, (xmlChar *) "timebase", stream->timebase);
-
-  if (stream->utc)
-    xmlSetProp (node, (xmlChar *) "utc", stream->utc);
-
-  if (stream->imports) {
-    gint i;
-    GValue *val;
-
-    for (i = 0; i < stream->imports->n_values; ++i) {
-      val = g_value_array_get_nth (stream->imports, i);
-      import = gst_cmml_parser_new_node (parser, "import",
-          "src", g_value_get_string (val), NULL);
-      xmlAddChild (node, import);
-    }
-  }
-
-  ret = gst_cmml_parser_node_to_string (parser, node);
-
-  xmlUnlinkNode (node);
-  xmlFreeNode (node);
-
-  return ret;
-}
-
-/* convert a GstCmmlTagHead to its string representation
- */
-guchar *
-gst_cmml_parser_tag_head_to_string (GstCmmlParser * parser,
-    GstCmmlTagHead * head)
-{
-  xmlNodePtr node;
-  xmlNodePtr tmp;
-  guchar *ret;
-
-  node = gst_cmml_parser_new_node (parser, "head", NULL);
-  if (head->title) {
-    tmp = gst_cmml_parser_new_node (parser, "title", NULL);
-    xmlNodeSetContent (tmp, head->title);
-    xmlAddChild (node, tmp);
-  }
-
-  if (head->base) {
-    tmp = gst_cmml_parser_new_node (parser, "base", "uri", head->base, NULL);
-    xmlAddChild (node, tmp);
-  }
-
-  if (head->meta)
-    gst_cmml_parser_meta_to_string (parser, node, head->meta);
-
-  ret = gst_cmml_parser_node_to_string (parser, node);
-
-  xmlUnlinkNode (node);
-  xmlFreeNode (node);
-
-  return ret;
-}
-
-/* convert a GstCmmlTagClip to its string representation
- */
-guchar *
-gst_cmml_parser_tag_clip_to_string (GstCmmlParser * parser,
-    GstCmmlTagClip * clip)
-{
-  xmlNodePtr node;
-  xmlNodePtr tmp;
-  guchar *ret;
-
-  node = gst_cmml_parser_new_node (parser, "clip",
-      "id", clip->id, "track", clip->track, NULL);
-  /* add the anchor element */
-  if (clip->anchor_href) {
-    tmp = gst_cmml_parser_new_node (parser, "a",
-        "href", clip->anchor_href, NULL);
-    if (clip->anchor_text)
-      xmlNodeSetContent (tmp, clip->anchor_text);
-
-    xmlAddChild (node, tmp);
-  }
-  /* add the img element */
-  if (clip->img_src) {
-    tmp = gst_cmml_parser_new_node (parser, "img",
-        "src", clip->img_src, "alt", clip->img_alt, NULL);
-
-    xmlAddChild (node, tmp);
-  }
-  /* add the desc element */
-  if (clip->desc_text) {
-    tmp = gst_cmml_parser_new_node (parser, "desc", NULL);
-    xmlNodeSetContent (tmp, clip->desc_text);
-
-    xmlAddChild (node, tmp);
-  }
-  /* add the meta elements */
-  if (clip->meta)
-    gst_cmml_parser_meta_to_string (parser, node, clip->meta);
-
-  if (parser->mode == GST_CMML_PARSER_DECODE) {
-    gchar *time_str;
-
-    time_str = gst_cmml_clock_time_to_npt (clip->start_time);
-    if (time_str == NULL)
-      goto fail;
-
-    xmlSetProp (node, (xmlChar *) "start", (xmlChar *) time_str);
-    g_free (time_str);
-
-    if (clip->end_time != GST_CLOCK_TIME_NONE) {
-      time_str = gst_cmml_clock_time_to_npt (clip->end_time);
-      if (time_str == NULL)
-        goto fail;
-
-      xmlSetProp (node, (xmlChar *) "end", (xmlChar *) time_str);
-      g_free (time_str);
-    }
-  }
-
-  ret = gst_cmml_parser_node_to_string (parser, node);
-
-  xmlUnlinkNode (node);
-  xmlFreeNode (node);
-
-  return ret;
-fail:
-  xmlUnlinkNode (node);
-  xmlFreeNode (node);
-  return NULL;
-}
-
-guchar *
-gst_cmml_parser_tag_object_to_string (GstCmmlParser * parser, GObject * tag)
-{
-  guchar *tag_string = NULL;
-  GType tag_type = G_OBJECT_TYPE (tag);
-
-  if (tag_type == GST_TYPE_CMML_TAG_STREAM)
-    tag_string = gst_cmml_parser_tag_stream_to_string (parser,
-        GST_CMML_TAG_STREAM (tag));
-  else if (tag_type == GST_TYPE_CMML_TAG_HEAD)
-    tag_string = gst_cmml_parser_tag_head_to_string (parser,
-        GST_CMML_TAG_HEAD (tag));
-  else if (tag_type == GST_TYPE_CMML_TAG_CLIP)
-    tag_string = gst_cmml_parser_tag_clip_to_string (parser,
-        GST_CMML_TAG_CLIP (tag));
-  else
-    g_warning ("could not convert object to cmml");
-
-  return tag_string;
-}
-
-/*** private section ***/
-
-/* create a new node
- *
- * helper to create a node and set its attributes
- */
-static xmlNodePtr
-gst_cmml_parser_new_node (GstCmmlParser * parser, const gchar * name, ...)
-{
-  va_list args;
-  xmlNodePtr node;
-  xmlChar *prop_name, *prop_value;
-
-  node = xmlNewNode (NULL, (xmlChar *) name);
-
-  va_start (args, name);
-
-  prop_name = va_arg (args, xmlChar *);
-  while (prop_name != NULL) {
-    prop_value = va_arg (args, xmlChar *);
-    if (prop_value != NULL)
-      xmlSetProp (node, prop_name, prop_value);
-
-    prop_name = va_arg (args, xmlChar *);
-  }
-  va_end (args);
-
-  return node;
-}
-
-/* get the last node of the stream
- *
- * returns the last node at depth 1 (if any) or the root node
- */
-static xmlNodePtr
-gst_cmml_parser_get_last_element (GstCmmlParser * parser)
-{
-  xmlNodePtr node;
-
-  node = xmlDocGetRootElement (parser->context->myDoc);
-  if (!node) {
-    g_warning ("no last cmml element");
-    return NULL;
-  }
-
-  if (node->children)
-    node = xmlGetLastChild (node);
-
-  return node;
-}
-
-static void
-gst_cmml_parser_parse_preamble (GstCmmlParser * parser,
-    const guchar * attributes)
-{
-  gchar *preamble;
-  gchar *element;
-  const gchar *version;
-  const gchar *encoding;
-  const gchar *standalone;
-  xmlDocPtr doc;
-
-  doc = parser->context->myDoc;
-
-  version = doc->version ? (gchar *) doc->version : "1.0";
-  encoding = doc->encoding ? (gchar *) doc->encoding : "UTF-8";
-  standalone = doc->standalone ? "yes" : "no";
-
-  preamble = g_strdup_printf ("<?xml version=\"%s\""
-      " encoding=\"%s\" standalone=\"%s\"?>\n"
-      "<!DOCTYPE cmml SYSTEM \"cmml.dtd\">\n", version, encoding, standalone);
-
-  if (attributes == NULL)
-    attributes = (guchar *) "";
-
-  if (parser->mode == GST_CMML_PARSER_ENCODE)
-    element = g_strdup_printf ("<?cmml %s?>", attributes);
-  else
-    element = g_strdup_printf ("<cmml %s>", attributes);
-
-  parser->preamble_callback (parser->user_data,
-      (guchar *) preamble, (guchar *) element);
-
-  g_free (preamble);
-  g_free (element);
-}
-
-/* parse the cmml stream tag */
-static void
-gst_cmml_parser_parse_stream (GstCmmlParser * parser, xmlNodePtr stream)
-{
-  GstCmmlTagStream *stream_tag;
-  GValue str_val = { 0 };
-  xmlNodePtr walk;
-  guchar *timebase;
-
-  g_value_init (&str_val, G_TYPE_STRING);
-
-  /* read the timebase and utc attributes */
-  timebase = xmlGetProp (stream, (xmlChar *) "timebase");
-  if (timebase == NULL)
-    timebase = (guchar *) g_strdup ("0");
-
-  stream_tag = g_object_new (GST_TYPE_CMML_TAG_STREAM,
-      "timebase", timebase, NULL);
-  g_free (timebase);
-
-  stream_tag->utc = xmlGetProp (stream, (xmlChar *) "utc");
-
-  /* walk the children nodes */
-  for (walk = stream->children; walk; walk = walk->next) {
-    /* for every import tag add its src attribute to stream_tag->imports */
-    if (!xmlStrcmp (walk->name, (xmlChar *) "import")) {
-      g_value_take_string (&str_val,
-          (gchar *) xmlGetProp (walk, (xmlChar *) "src"));
-
-      if (stream_tag->imports == NULL)
-        stream_tag->imports = g_value_array_new (0);
-
-      g_value_array_append (stream_tag->imports, &str_val);
-    }
-  }
-  g_value_unset (&str_val);
-
-  parser->stream_callback (parser->user_data, stream_tag);
-  g_object_unref (stream_tag);
-}
-
-/* parse the cmml head tag */
-static void
-gst_cmml_parser_parse_head (GstCmmlParser * parser, xmlNodePtr head)
-{
-  GstCmmlTagHead *head_tag;
-  xmlNodePtr walk;
-  GValue str_val = { 0 };
-
-  head_tag = g_object_new (GST_TYPE_CMML_TAG_HEAD, NULL);
-
-  g_value_init (&str_val, G_TYPE_STRING);
-
-  /* Parse the content of the node and setup the GST_TAG_CMML_HEAD tag.
-   * Create a GST_TAG_TITLE when we find the title element.
-   */
-  for (walk = head->children; walk; walk = walk->next) {
-    if (!xmlStrcmp (walk->name, (xmlChar *) "title")) {
-      head_tag->title = xmlNodeGetContent (walk);
-    } else if (!xmlStrcmp (walk->name, (xmlChar *) "base")) {
-      head_tag->base = xmlGetProp (walk, (xmlChar *) "uri");
-    } else if (!xmlStrcmp (walk->name, (xmlChar *) "meta")) {
-      if (head_tag->meta == NULL)
-        head_tag->meta = g_value_array_new (0);
-      /* add a pair name, content to the meta value array */
-      g_value_take_string (&str_val,
-          (gchar *) xmlGetProp (walk, (xmlChar *) "name"));
-      g_value_array_append (head_tag->meta, &str_val);
-      g_value_take_string (&str_val,
-          (gchar *) xmlGetProp (walk, (xmlChar *) "content"));
-      g_value_array_append (head_tag->meta, &str_val);
-    }
-  }
-  g_value_unset (&str_val);
-
-  parser->head_callback (parser->user_data, head_tag);
-  g_object_unref (head_tag);
-}
-
-/* parse a cmml clip tag */
-static void
-gst_cmml_parser_parse_clip (GstCmmlParser * parser, xmlNodePtr clip)
-{
-  GstCmmlTagClip *clip_tag;
-  GValue str_val = { 0 };
-  guchar *id, *track, *start, *end;
-  xmlNodePtr walk;
-  GstClockTime start_time = GST_CLOCK_TIME_NONE;
-  GstClockTime end_time = GST_CLOCK_TIME_NONE;
-
-  start = xmlGetProp (clip, (xmlChar *) "start");
-  if (parser->mode == GST_CMML_PARSER_ENCODE && start == NULL)
-    /* XXX: validate the document */
-    return;
-
-  id = xmlGetProp (clip, (xmlChar *) "id");
-  track = xmlGetProp (clip, (xmlChar *) "track");
-  end = xmlGetProp (clip, (xmlChar *) "end");
-
-  if (track == NULL)
-    track = (guchar *) g_strdup ("default");
-
-  if (start) {
-    if (!strncmp ((gchar *) start, "smpte", 5))
-      start_time = gst_cmml_clock_time_from_smpte ((gchar *) start);
-    else
-      start_time = gst_cmml_clock_time_from_npt ((gchar *) start);
-  }
-
-  if (end) {
-    if (!strncmp ((gchar *) end, "smpte", 5))
-      start_time = gst_cmml_clock_time_from_smpte ((gchar *) end);
-    else
-      end_time = gst_cmml_clock_time_from_npt ((gchar *) end);
-  }
-
-  clip_tag = g_object_new (GST_TYPE_CMML_TAG_CLIP, "id", id,
-      "track", track, "start-time", start_time, "end-time", end_time, NULL);
-
-  g_free (id);
-  g_free (track);
-  g_free (start);
-  g_free (end);
-
-  g_value_init (&str_val, G_TYPE_STRING);
-
-  /* parse the children */
-  for (walk = clip->children; walk; walk = walk->next) {
-    /* the clip is not empty */
-    clip_tag->empty = FALSE;
-
-    if (!xmlStrcmp (walk->name, (xmlChar *) "a")) {
-      clip_tag->anchor_href = xmlGetProp (walk, (xmlChar *) "href");
-      clip_tag->anchor_text = xmlNodeGetContent (walk);
-    } else if (!xmlStrcmp (walk->name, (xmlChar *) "img")) {
-      clip_tag->img_src = xmlGetProp (walk, (xmlChar *) "src");
-      clip_tag->img_alt = xmlGetProp (walk, (xmlChar *) "alt");
-    } else if (!xmlStrcmp (walk->name, (xmlChar *) "desc")) {
-      clip_tag->desc_text = xmlNodeGetContent (walk);
-    } else if (!xmlStrcmp (walk->name, (xmlChar *) "meta")) {
-      if (clip_tag->meta == NULL)
-        clip_tag->meta = g_value_array_new (0);
-      /* add a pair name, content to the meta value array */
-      g_value_take_string (&str_val,
-          (char *) xmlGetProp (walk, (xmlChar *) "name"));
-      g_value_array_append (clip_tag->meta, &str_val);
-      g_value_take_string (&str_val,
-          (char *) xmlGetProp (walk, (xmlChar *) "content"));
-      g_value_array_append (clip_tag->meta, &str_val);
-    }
-  }
-  g_value_unset (&str_val);
-
-  parser->clip_callback (parser->user_data, clip_tag);
-  g_object_unref (clip_tag);
-}
-
-void
-gst_cmml_parser_meta_to_string (GstCmmlParser * parser,
-    xmlNodePtr parent, GValueArray * array)
-{
-  gint i;
-  xmlNodePtr node;
-  GValue *name, *content;
-
-  for (i = 0; i < array->n_values - 1; i += 2) {
-    name = g_value_array_get_nth (array, i);
-    content = g_value_array_get_nth (array, i + 1);
-    node = gst_cmml_parser_new_node (parser, "meta",
-        "name", g_value_get_string (name),
-        "content", g_value_get_string (content), NULL);
-    xmlAddChild (parent, node);
-  }
-}
-
-static void
-gst_cmml_parser_generic_error (void *ctx, const char *msg, ...)
-{
-#ifndef GST_DISABLE_GST_DEBUG
-  va_list varargs;
-
-  va_start (varargs, msg);
-  gst_debug_log_valist (GST_CAT_DEFAULT, GST_LEVEL_WARNING,
-      "", "", 0, NULL, msg, varargs);
-  va_end (varargs);
-#endif /* GST_DISABLE_GST_DEBUG */
-}
-
-/* sax handler called when an element start tag is found
- * this is used to parse the cmml start tag
- */
-static void
-gst_cmml_parser_parse_start_element_ns (xmlParserCtxt * ctxt,
-    const xmlChar * name, const xmlChar * prefix, const xmlChar * URI,
-    int nb_preferences, const xmlChar ** namespaces,
-    int nb_attributes, int nb_defaulted, const xmlChar ** attributes)
-{
-  GstCmmlParser *parser = (GstCmmlParser *) ctxt->_private;
-
-  xmlSAX2StartElementNs (ctxt, name, prefix, URI, nb_preferences, namespaces,
-      nb_attributes, nb_defaulted, attributes);
-
-  if (parser->mode == GST_CMML_PARSER_ENCODE)
-    if (!xmlStrcmp (name, (xmlChar *) "cmml"))
-      if (parser->preamble_callback)
-        /* FIXME: parse attributes */
-        gst_cmml_parser_parse_preamble (parser, NULL);
-}
-
-/* sax processing instruction handler
- * used to parse the cmml processing instruction
- */
-static void
-gst_cmml_parser_parse_processing_instruction (xmlParserCtxtPtr ctxt,
-    const xmlChar * target, const xmlChar * data)
-{
-  GstCmmlParser *parser = (GstCmmlParser *) ctxt->_private;
-
-  xmlSAX2ProcessingInstruction (ctxt, target, data);
-
-  if (parser->mode == GST_CMML_PARSER_DECODE)
-    if (!xmlStrcmp (target, (xmlChar *) "cmml"))
-      if (parser->preamble_callback)
-        gst_cmml_parser_parse_preamble (parser, data);
-}
-
-/* sax handler called when an xml end tag is found
- * used to parse the stream, head and clip nodes
- */
-static void
-gst_cmml_parser_parse_end_element_ns (xmlParserCtxt * ctxt,
-    const xmlChar * name, const xmlChar * prefix, const xmlChar * URI)
-{
-  xmlNodePtr node;
-  GstCmmlParser *parser = (GstCmmlParser *) ctxt->_private;
-
-  xmlSAX2EndElementNs (ctxt, name, prefix, URI);
-
-  if (!xmlStrcmp (name, (xmlChar *) "clip")) {
-    if (parser->clip_callback) {
-      node = gst_cmml_parser_get_last_element (parser);
-      gst_cmml_parser_parse_clip (parser, node);
-    }
-  } else if (!xmlStrcmp (name, (xmlChar *) "cmml")) {
-    if (parser->cmml_end_callback)
-      parser->cmml_end_callback (parser->user_data);
-  } else if (!xmlStrcmp (name, (xmlChar *) "stream")) {
-    if (parser->stream_callback) {
-      node = gst_cmml_parser_get_last_element (parser);
-      gst_cmml_parser_parse_stream (parser, node);
-    }
-  } else if (!xmlStrcmp (name, (xmlChar *) "head")) {
-    if (parser->head_callback) {
-      node = gst_cmml_parser_get_last_element (parser);
-      gst_cmml_parser_parse_head (parser, node);
-    }
-  }
-}
diff --git a/ext/annodex/gstcmmlparser.h b/ext/annodex/gstcmmlparser.h
deleted file mode 100644
index 89c2bff..0000000
--- a/ext/annodex/gstcmmlparser.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * gstcmmlparser.h - GStreamer CMML document parser
- * Copyright (C) 2005 Alessandro Decina
- * 
- * Authors:
- *   Alessandro Decina <alessandro@nnva.org>
- *
- * 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_CMML_PARSER_H__
-#define __GST_CMML_PARSER_H__
-
-#include <libxml/parser.h>
-#include <glib.h>
-
-#include "gstcmmltag.h"
-
-typedef struct _GstCmmlParser GstCmmlParser;
-typedef enum _GstCmmlParserMode GstCmmlParserMode;
-
-typedef void (*GstCmmlParserPreambleCallback) (void *user_data,
-    const guchar * xml_preamble, const guchar * cmml_attrs);
-
-typedef void (*GstCmmlParserCmmlEndCallback) (void *user_data);
-
-typedef void (*GstCmmlParserStreamCallback) (void *user_data,
-    GstCmmlTagStream * stream);
-
-typedef void (*GstCmmlParserHeadCallback) (void *user_data,
-    GstCmmlTagHead * head);
-
-typedef void (*GstCmmlParserClipCallback) (void *user_data,
-    GstCmmlTagClip * clip);
-
-enum _GstCmmlParserMode
-{
-  GST_CMML_PARSER_ENCODE,
-  GST_CMML_PARSER_DECODE
-};
-
-struct _GstCmmlParser
-{
-  GstCmmlParserMode mode;
-
-  xmlParserCtxtPtr context;
-
-  const gchar *preamble;
-  guint preamble_size;
-
-  void *user_data;
-  GstCmmlParserPreambleCallback preamble_callback;
-  GstCmmlParserStreamCallback stream_callback;
-  GstCmmlParserCmmlEndCallback cmml_end_callback;
-  GstCmmlParserHeadCallback head_callback;
-  GstCmmlParserClipCallback clip_callback;
-};
-
-void gst_cmml_parser_init (void);
-
-GstCmmlParser *gst_cmml_parser_new (GstCmmlParserMode mode);
-void gst_cmml_parser_free (GstCmmlParser * parser);
-
-gboolean gst_cmml_parser_parse_chunk (GstCmmlParser * parser,
-    const gchar * data, guint size, GError ** error);
-
-guchar *gst_cmml_parser_tag_stream_to_string (GstCmmlParser * parser,
-    GstCmmlTagStream * stream);
-
-guchar *gst_cmml_parser_tag_head_to_string (GstCmmlParser * parser,
-    GstCmmlTagHead * head);
-
-guchar *gst_cmml_parser_tag_clip_to_string (GstCmmlParser * parser,
-    GstCmmlTagClip * clip);
-
-guchar *gst_cmml_parser_tag_object_to_string (GstCmmlParser * parser,
-    GObject * tag);
-
-#endif /* __GST_CMML_PARSER_H__ */
diff --git a/ext/annodex/gstcmmltag.c b/ext/annodex/gstcmmltag.c
deleted file mode 100644
index 8b2a189..0000000
--- a/ext/annodex/gstcmmltag.c
+++ /dev/null
@@ -1,583 +0,0 @@
-/*
- * gstcmmltags.c - GStreamer CMML tag support
- * Copyright (C) 2005 Alessandro Decina
- * 
- * Authors:
- *   Alessandro Decina <alessandro@nnva.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/* FIXME 0.11: suppress warnings for deprecated API such as GValueArray
- * with newer GLib versions (>= 2.31.0) */
-#define GLIB_DISABLE_DEPRECATION_WARNINGS
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <string.h>
-
-#include "gstcmmlparser.h"
-#include "gstcmmltag.h"
-#include "gstannodex.h"
-
-enum
-{
-  ARG_0,
-  GST_CMML_TAG_STREAM_TIMEBASE,
-  GST_CMML_TAG_STREAM_UTC,
-  GST_CMML_TAG_STREAM_IMPORTS,
-  GST_CMML_TAG_HEAD_TITLE,
-  GST_CMML_TAG_HEAD_BASE,
-  GST_CMML_TAG_HEAD_META,
-  GST_CMML_TAG_CLIP_EMPTY,
-  GST_CMML_TAG_CLIP_ID,
-  GST_CMML_TAG_CLIP_TRACK,
-  GST_CMML_TAG_CLIP_START_TIME,
-  GST_CMML_TAG_CLIP_END_TIME,
-  GST_CMML_TAG_CLIP_ANCHOR_HREF,
-  GST_CMML_TAG_CLIP_ANCHOR_TEXT,
-  GST_CMML_TAG_CLIP_IMG_SRC,
-  GST_CMML_TAG_CLIP_IMG_ALT,
-  GST_CMML_TAG_CLIP_DESC_TEXT,
-  GST_CMML_TAG_CLIP_META,
-};
-
-G_DEFINE_TYPE (GstCmmlTagStream, gst_cmml_tag_stream, G_TYPE_OBJECT);
-static void gst_cmml_tag_stream_finalize (GObject * object);
-static void gst_cmml_tag_stream_set_property (GObject * object,
-    guint property_id, const GValue * value, GParamSpec * pspec);
-static void gst_cmml_tag_stream_get_property (GObject * object,
-    guint property_id, GValue * value, GParamSpec * pspec);
-static void gst_cmml_tag_stream_value_from_string_value (const GValue * src,
-    GValue * dest);
-
-G_DEFINE_TYPE (GstCmmlTagHead, gst_cmml_tag_head, G_TYPE_OBJECT);
-static void gst_cmml_tag_head_finalize (GObject * object);
-static void gst_cmml_tag_head_set_property (GObject * object, guint property_id,
-    const GValue * value, GParamSpec * pspec);
-static void gst_cmml_tag_head_get_property (GObject * object, guint property_id,
-    GValue * value, GParamSpec * pspec);
-static void gst_cmml_tag_head_value_from_string_value (const GValue * src,
-    GValue * dest);
-
-G_DEFINE_TYPE (GstCmmlTagClip, gst_cmml_tag_clip, G_TYPE_OBJECT);
-static void gst_cmml_tag_clip_finalize (GObject * object);
-static void gst_cmml_tag_clip_set_property (GObject * object, guint property_id,
-    const GValue * value, GParamSpec * pspec);
-static void gst_cmml_tag_clip_get_property (GObject * object, guint property_id,
-    GValue * value, GParamSpec * pspec);
-
-static void gst_cmml_tag_clip_value_from_string_value (const GValue * src,
-    GValue * dest);
-
-static void set_object_on_value (GObject * object, GValue * dest);
-
-static const gchar default_preamble[] =
-    "<?xml version=\"1.0\" standalone=\"yes\"?>";
-
-/* Stream tag */
-static void
-gst_cmml_tag_stream_class_init (GstCmmlTagStreamClass * stream_class)
-{
-  GObjectClass *klass = G_OBJECT_CLASS (stream_class);
-
-  klass->set_property = gst_cmml_tag_stream_set_property;
-  klass->get_property = gst_cmml_tag_stream_get_property;
-  klass->finalize = gst_cmml_tag_stream_finalize;
-
-  g_object_class_install_property (klass, GST_CMML_TAG_STREAM_TIMEBASE,
-      g_param_spec_string ("base-time",
-          "Base time",
-          "Playback time (in seconds) of the first data packet",
-          "0", G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
-
-  g_object_class_install_property (klass, GST_CMML_TAG_STREAM_UTC,
-      g_param_spec_string ("calendar-base-time",
-          "Calendar base time",
-          "Date and wall-clock time (expressed as UTC time in the format "
-          "YYYYMMDDTHHMMSS.sssZ) associated with the base-time",
-          NULL,
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
-
-  g_object_class_install_property (klass, GST_CMML_TAG_STREAM_IMPORTS,
-      g_param_spec_value_array ("input-streams",
-          "Input streams",
-          "List of input streams that compose this bitstream",
-          NULL,
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
-
-  g_value_register_transform_func (G_TYPE_STRING, GST_TYPE_CMML_TAG_STREAM,
-      gst_cmml_tag_stream_value_from_string_value);
-}
-
-static void
-gst_cmml_tag_stream_init (GstCmmlTagStream * stream)
-{
-}
-
-static void
-gst_cmml_tag_stream_finalize (GObject * object)
-{
-  GstCmmlTagStream *stream = GST_CMML_TAG_STREAM (object);
-
-  g_free (stream->timebase);
-  g_free (stream->utc);
-  if (stream->imports)
-    g_value_array_free (stream->imports);
-
-  if (G_OBJECT_CLASS (gst_cmml_tag_stream_parent_class)->finalize)
-    G_OBJECT_CLASS (gst_cmml_tag_stream_parent_class)->finalize (object);
-}
-
-static void
-gst_cmml_tag_stream_set_property (GObject * object, guint property_id,
-    const GValue * value, GParamSpec * pspec)
-{
-  GstCmmlTagStream *stream = GST_CMML_TAG_STREAM (object);
-
-  switch (property_id) {
-    case GST_CMML_TAG_STREAM_TIMEBASE:
-      g_free (stream->timebase);
-      stream->timebase = (guchar *) g_value_dup_string (value);
-      break;
-    case GST_CMML_TAG_STREAM_UTC:
-      g_free (stream->utc);
-      stream->utc = (guchar *) g_value_dup_string (value);
-      break;
-    case GST_CMML_TAG_STREAM_IMPORTS:
-    {
-      GValueArray *va = g_value_get_boxed (value);
-
-      if (stream->imports)
-        g_value_array_free (stream->imports);
-      stream->imports = va != NULL ? g_value_array_copy (va) : NULL;
-      break;
-    }
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-  }
-}
-
-
-static void
-gst_cmml_tag_stream_value_from_string_value (const GValue * src, GValue * dest)
-{
-  GstCmmlParser *parser;
-  const gchar *str;
-  guint size;
-
-  parser = gst_cmml_parser_new (GST_CMML_PARSER_DECODE);
-  parser->user_data = dest;
-  parser->stream_callback = (GstCmmlParserStreamCallback) set_object_on_value;
-  gst_cmml_parser_parse_chunk (parser,
-      default_preamble, strlen (default_preamble), NULL);
-
-  str = g_value_get_string (src);
-  size = strlen (str);
-  gst_cmml_parser_parse_chunk (parser, str, size, NULL);
-
-  gst_cmml_parser_free (parser);
-}
-
-static void
-gst_cmml_tag_stream_get_property (GObject * object, guint property_id,
-    GValue * value, GParamSpec * pspec)
-{
-  GstCmmlTagStream *stream = GST_CMML_TAG_STREAM (object);
-
-  switch (property_id) {
-    case GST_CMML_TAG_STREAM_TIMEBASE:
-      g_value_set_string (value, (gchar *) stream->timebase);
-      break;
-    case GST_CMML_TAG_STREAM_UTC:
-      g_value_set_string (value, (gchar *) stream->utc);
-      break;
-    case GST_CMML_TAG_STREAM_IMPORTS:
-      g_value_set_boxed (value, stream->imports);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-  }
-}
-
-/* Head tag */
-static void
-gst_cmml_tag_head_class_init (GstCmmlTagHeadClass * head_class)
-{
-  GObjectClass *klass = G_OBJECT_CLASS (head_class);
-
-  klass->set_property = gst_cmml_tag_head_set_property;
-  klass->get_property = gst_cmml_tag_head_get_property;
-  klass->finalize = gst_cmml_tag_head_finalize;
-
-  g_object_class_install_property (klass, GST_CMML_TAG_HEAD_TITLE,
-      g_param_spec_string ("title",
-          "Title",
-          "Title of the bitstream",
-          NULL,
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
-
-  g_object_class_install_property (klass, GST_CMML_TAG_HEAD_BASE,
-      g_param_spec_string ("base-uri",
-          "Base URI",
-          "Base URI of the bitstream. All relative URIs are relative to this",
-          NULL,
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
-
-  g_object_class_install_property (klass, GST_CMML_TAG_HEAD_META,
-      g_param_spec_value_array ("meta",
-          "Meta annotations",
-          "Meta annotations for the complete Annodex bitstream",
-          NULL,
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
-
-  g_value_register_transform_func (G_TYPE_STRING, GST_TYPE_CMML_TAG_HEAD,
-      gst_cmml_tag_head_value_from_string_value);
-}
-
-static void
-gst_cmml_tag_head_init (GstCmmlTagHead * head)
-{
-}
-
-static void
-gst_cmml_tag_head_finalize (GObject * object)
-{
-  GstCmmlTagHead *head = GST_CMML_TAG_HEAD (object);
-
-  g_free (head->title);
-  g_free (head->base);
-  if (head->meta)
-    g_value_array_free (head->meta);
-
-  if (G_OBJECT_CLASS (gst_cmml_tag_head_parent_class)->finalize)
-    G_OBJECT_CLASS (gst_cmml_tag_head_parent_class)->finalize (object);
-}
-
-static void
-gst_cmml_tag_head_set_property (GObject * object, guint property_id,
-    const GValue * value, GParamSpec * pspec)
-{
-  GstCmmlTagHead *head = GST_CMML_TAG_HEAD (object);
-
-  switch (property_id) {
-    case GST_CMML_TAG_HEAD_TITLE:
-      g_free (head->title);
-      head->title = (guchar *) g_value_dup_string (value);
-      break;
-    case GST_CMML_TAG_HEAD_BASE:
-      g_free (head->base);
-      head->base = (guchar *) g_value_dup_string (value);
-      break;
-    case GST_CMML_TAG_HEAD_META:
-    {
-      GValueArray *va = g_value_get_boxed (value);
-
-      if (head->meta)
-        g_value_array_free (head->meta);
-      head->meta = va != NULL ? g_value_array_copy (va) : NULL;
-      break;
-    }
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-  }
-}
-
-static void
-gst_cmml_tag_head_get_property (GObject * object, guint property_id,
-    GValue * value, GParamSpec * pspec)
-{
-  GstCmmlTagHead *head = GST_CMML_TAG_HEAD (object);
-
-  switch (property_id) {
-    case GST_CMML_TAG_HEAD_TITLE:
-      g_value_set_string (value, (gchar *) head->title);
-      break;
-    case GST_CMML_TAG_HEAD_BASE:
-      g_value_set_string (value, (gchar *) head->base);
-      break;
-    case GST_CMML_TAG_HEAD_META:
-      g_value_set_boxed (value, head->meta);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-  }
-}
-
-static void
-gst_cmml_tag_head_value_from_string_value (const GValue * src, GValue * dest)
-{
-  GstCmmlParser *parser;
-  const gchar *str;
-  guint size;
-
-  parser = gst_cmml_parser_new (GST_CMML_PARSER_DECODE);
-  parser->user_data = dest;
-  parser->head_callback = (GstCmmlParserHeadCallback) set_object_on_value;
-  gst_cmml_parser_parse_chunk (parser,
-      default_preamble, strlen (default_preamble), NULL);
-
-  str = g_value_get_string (src);
-  size = strlen (str);
-  gst_cmml_parser_parse_chunk (parser, str, size, NULL);
-
-  gst_cmml_parser_free (parser);
-}
-
-/* Clip tag */
-static void
-gst_cmml_tag_clip_class_init (GstCmmlTagClipClass * clip_class)
-{
-  GObjectClass *klass = G_OBJECT_CLASS (clip_class);
-
-  klass->set_property = gst_cmml_tag_clip_set_property;
-  klass->get_property = gst_cmml_tag_clip_get_property;
-  klass->finalize = gst_cmml_tag_clip_finalize;
-
-  g_object_class_install_property (klass, GST_CMML_TAG_CLIP_EMPTY,
-      g_param_spec_boolean ("empty",
-          "Empty clip flag",
-          "An empty clip only marks the end of the previous clip",
-          TRUE,
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
-
-  g_object_class_install_property (klass, GST_CMML_TAG_CLIP_ID,
-      g_param_spec_string ("id",
-          "Clip id",
-          "Id of the clip", NULL,
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
-
-  g_object_class_install_property (klass, GST_CMML_TAG_CLIP_TRACK,
-      g_param_spec_string ("track",
-          "Track number",
-          "The track this clip belongs to",
-          "default",
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
-
-  g_object_class_install_property (klass, GST_CMML_TAG_CLIP_START_TIME,
-      g_param_spec_uint64 ("start-time",
-          "Start time",
-          "The start time (in seconds) of the clip",
-          0, G_MAXUINT64, GST_CLOCK_TIME_NONE,
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
-
-  g_object_class_install_property (klass, GST_CMML_TAG_CLIP_END_TIME,
-      g_param_spec_uint64 ("end-time",
-          "End time",
-          "The end time (in seconds) of the clip (only set if extract-mode=true)",
-          0, G_MAXUINT64, GST_CLOCK_TIME_NONE,
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
-
-  g_object_class_install_property (klass, GST_CMML_TAG_CLIP_ANCHOR_HREF,
-      g_param_spec_string ("anchor-uri",
-          "Anchor URI",
-          "The location of a Web resource closely connected to the clip",
-          NULL,
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
-
-  g_object_class_install_property (klass, GST_CMML_TAG_CLIP_ANCHOR_TEXT,
-      g_param_spec_string ("anchor-text",
-          "Anchor text",
-          "A short description of the resource pointed by anchor-uri",
-          NULL,
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
-
-  g_object_class_install_property (klass, GST_CMML_TAG_CLIP_IMG_SRC,
-      g_param_spec_string ("img-uri",
-          "Image URI",
-          "The URI of a representative image for the clip",
-          NULL,
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
-
-  g_object_class_install_property (klass, GST_CMML_TAG_CLIP_IMG_ALT,
-      g_param_spec_string ("img-alt",
-          "Image alternative text",
-          "Alternative text to be displayed instead of the image "
-          "specified in img-uri", NULL,
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
-
-  g_object_class_install_property (klass, GST_CMML_TAG_CLIP_DESC_TEXT,
-      g_param_spec_string ("description",
-          "Description",
-          "A textual description of the content of the clip",
-          NULL,
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
-
-  g_object_class_install_property (klass, GST_CMML_TAG_CLIP_META,
-      g_param_spec_value_array ("meta",
-          "Meta annotations",
-          "Meta annotations for the clip",
-          NULL,
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
-
-  g_value_register_transform_func (G_TYPE_STRING, GST_TYPE_CMML_TAG_CLIP,
-      gst_cmml_tag_clip_value_from_string_value);
-}
-
-static void
-gst_cmml_tag_clip_init (GstCmmlTagClip * clip)
-{
-}
-
-static void
-gst_cmml_tag_clip_finalize (GObject * object)
-{
-  GstCmmlTagClip *clip = GST_CMML_TAG_CLIP (object);
-
-  g_free (clip->id);
-  g_free (clip->track);
-  g_free (clip->anchor_href);
-  g_free (clip->anchor_text);
-  g_free (clip->img_src);
-  g_free (clip->img_alt);
-  g_free (clip->desc_text);
-  if (clip->meta)
-    g_value_array_free (clip->meta);
-
-  if (G_OBJECT_CLASS (gst_cmml_tag_clip_parent_class)->finalize)
-    G_OBJECT_CLASS (gst_cmml_tag_clip_parent_class)->finalize (object);
-}
-
-static void
-gst_cmml_tag_clip_set_property (GObject * object, guint property_id,
-    const GValue * value, GParamSpec * pspec)
-{
-  GstCmmlTagClip *clip = GST_CMML_TAG_CLIP (object);
-
-  switch (property_id) {
-    case GST_CMML_TAG_CLIP_EMPTY:
-      clip->empty = g_value_get_boolean (value);
-      break;
-    case GST_CMML_TAG_CLIP_ID:
-      g_free (clip->id);
-      clip->id = (guchar *) g_value_dup_string (value);
-      break;
-    case GST_CMML_TAG_CLIP_TRACK:
-      g_free (clip->track);
-      clip->track = (guchar *) g_value_dup_string (value);
-      break;
-    case GST_CMML_TAG_CLIP_START_TIME:
-      clip->start_time = g_value_get_uint64 (value);
-      break;
-    case GST_CMML_TAG_CLIP_END_TIME:
-      clip->end_time = g_value_get_uint64 (value);
-      break;
-    case GST_CMML_TAG_CLIP_ANCHOR_HREF:
-      g_free (clip->anchor_href);
-      clip->anchor_href = (guchar *) g_value_dup_string (value);
-      break;
-    case GST_CMML_TAG_CLIP_ANCHOR_TEXT:
-      g_free (clip->anchor_text);
-      clip->anchor_text = (guchar *) g_value_dup_string (value);
-      break;
-    case GST_CMML_TAG_CLIP_IMG_SRC:
-      g_free (clip->img_src);
-      clip->img_src = (guchar *) g_value_dup_string (value);
-      break;
-    case GST_CMML_TAG_CLIP_IMG_ALT:
-      g_free (clip->img_alt);
-      clip->img_alt = (guchar *) g_value_dup_string (value);
-      break;
-    case GST_CMML_TAG_CLIP_DESC_TEXT:
-      g_free (clip->desc_text);
-      clip->desc_text = (guchar *) g_value_dup_string (value);
-      break;
-    case GST_CMML_TAG_CLIP_META:
-    {
-      GValueArray *va = (GValueArray *) g_value_get_boxed (value);
-
-      if (clip->meta)
-        g_value_array_free (clip->meta);
-
-      clip->meta = va != NULL ? g_value_array_copy (va) : NULL;
-
-      break;
-    }
-  }
-}
-
-static void
-gst_cmml_tag_clip_get_property (GObject * object, guint property_id,
-    GValue * value, GParamSpec * pspec)
-{
-  GstCmmlTagClip *clip = GST_CMML_TAG_CLIP (object);
-
-  switch (property_id) {
-    case GST_CMML_TAG_CLIP_EMPTY:
-      g_value_set_boolean (value, clip->empty);
-      break;
-    case GST_CMML_TAG_CLIP_ID:
-      g_value_set_string (value, (gchar *) clip->id);
-      break;
-    case GST_CMML_TAG_CLIP_TRACK:
-      g_value_set_string (value, (gchar *) clip->track);
-      break;
-    case GST_CMML_TAG_CLIP_START_TIME:
-      g_value_set_uint64 (value, clip->start_time);
-      break;
-    case GST_CMML_TAG_CLIP_END_TIME:
-      g_value_set_uint64 (value, clip->end_time);
-      break;
-    case GST_CMML_TAG_CLIP_ANCHOR_HREF:
-      g_value_set_string (value, (gchar *) clip->anchor_href);
-      break;
-    case GST_CMML_TAG_CLIP_ANCHOR_TEXT:
-      g_value_set_string (value, (gchar *) clip->anchor_text);
-      break;
-    case GST_CMML_TAG_CLIP_IMG_SRC:
-      g_value_set_string (value, (gchar *) clip->img_src);
-      break;
-    case GST_CMML_TAG_CLIP_IMG_ALT:
-      g_value_set_string (value, (gchar *) clip->img_alt);
-      break;
-    case GST_CMML_TAG_CLIP_DESC_TEXT:
-      g_value_set_string (value, (gchar *) clip->desc_text);
-      break;
-    case GST_CMML_TAG_CLIP_META:
-      g_value_set_boxed (value, clip->meta);
-      break;
-  }
-}
-
-static void
-gst_cmml_tag_clip_value_from_string_value (const GValue * src, GValue * dest)
-{
-  GstCmmlParser *parser;
-  const gchar *str;
-  guint size;
-
-  parser = gst_cmml_parser_new (GST_CMML_PARSER_DECODE);
-  parser->user_data = dest;
-  parser->clip_callback = (GstCmmlParserClipCallback) set_object_on_value;
-
-  gst_cmml_parser_parse_chunk (parser, default_preamble,
-      strlen (default_preamble), NULL);
-
-  str = g_value_get_string (src);
-  size = strlen (str);
-
-  gst_cmml_parser_parse_chunk (parser, str, size, NULL);
-
-  gst_cmml_parser_free (parser);
-}
-
-static void
-set_object_on_value (GObject * tag, GValue * dest)
-{
-  g_value_take_object (dest, tag);
-}
diff --git a/ext/annodex/gstcmmltag.h b/ext/annodex/gstcmmltag.h
deleted file mode 100644
index e8c9bbb..0000000
--- a/ext/annodex/gstcmmltag.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * gstcmmltag.h - GStreamer annodex CMML tag support
- * Copyright (C) 2005 Alessandro Decina
- * 
- * Authors:
- *   Alessandro Decina <alessandro@nnva.org>
- *
- * 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_CMML_TAG_H__
-#define __GST_CMML_TAG_H__
-
-#include <gst/gst.h>
-
-/* GstCmmlTagStream */
-#define GST_TYPE_CMML_TAG_STREAM (gst_cmml_tag_stream_get_type ())
-#define GST_CMML_TAG_STREAM(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj), \
-                              GST_TYPE_CMML_TAG_STREAM, GstCmmlTagStream))
-#define GST_CMML_TAG_STREAM_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass), \
-                              GST_TYPE_CMML_TAG_STREAM, GstCmmlTagStreamClass))
-#define GST_CMML_TAG_STREAM_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS((obj), \
-                             GST_TYPE_CMML_TAG_STREAM, GstCmmlTagStreamClass))
-
-/* GstCmmlTagHead */
-#define GST_TYPE_CMML_TAG_HEAD (gst_cmml_tag_head_get_type ())
-#define GST_CMML_TAG_HEAD(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_CMML_TAG_HEAD, GstCmmlTagHead))
-#define GST_CMML_TAG_HEAD_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_CMML_TAG_HEAD, GstCmmlTagHeadClass))
-#define GST_CMML_TAG_HEAD_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS((obj), \
-                             GST_TYPE_CMML_TAG_HEAD, GstCmmlTagHeadClass))
-
-/* GstCmmlTagClip */
-#define GST_TYPE_CMML_TAG_CLIP (gst_cmml_tag_clip_get_type ())
-#define GST_CMML_TAG_CLIP(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_CMML_TAG_CLIP, GstCmmlTagClip))
-#define GST_CMML_TAG_CLIP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_CMML_TAG_CLIP, GstCmmlTagClipClass))
-#define GST_CMML_TAG_CLIP_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS((obj), \
-                             GST_TYPE_CMML_TAG_CLIP, GstCmmlTagClipClass))
-
-typedef struct _GstCmmlTagStream GstCmmlTagStream;
-typedef struct _GstCmmlTagStreamClass GstCmmlTagStreamClass;
-typedef struct _GstCmmlTagHead GstCmmlTagHead;
-typedef struct _GstCmmlTagHeadClass GstCmmlTagHeadClass;
-typedef struct _GstCmmlTagClip GstCmmlTagClip;
-typedef struct _GstCmmlTagClipClass GstCmmlTagClipClass;
-
-struct _GstCmmlTagStream {
-  GObject object;
-
-  guchar *timebase;
-  guchar *utc;
-
-  GValueArray *imports;
-};
-
-struct _GstCmmlTagStreamClass {
-  GObjectClass parent_class;
-};
-
-struct _GstCmmlTagHead {
-  GObject object;
-  
-  guchar *title;                  /* title of the media */
-  guchar *base;
-  GValueArray *meta;              /* metadata attached to the media.
-                                 * The elements are positioned in key-value
-                                 * pairs ie (key, content, key2, content2,
-                                 * ...)
-                                 */
-};
-
-struct _GstCmmlTagHeadClass {
-  GObjectClass parent_class;
-};
-
-struct _GstCmmlTagClip {
-  GObject object;
-
-  gboolean empty;                 /* empty flag. An empty clip marks the
-                                   * end of the previous clip.
-                                   */
-  
-  guchar *id;                     /* clip id */
-  guchar *track;                  /* clip track */
-
-  GstClockTime start_time;        /* clip start time */
-  GstClockTime end_time;          /* clip end time */
-  
-  guchar *anchor_href;            /* anchor href URI */
-  guchar *anchor_text;            /* anchor text */
-  
-  guchar *img_src;                /* image URI */
-  guchar *img_alt;                /* image alternative text */
-  
-  guchar *desc_text;              /* clip description */
-  
-  GValueArray *meta;              /* metadata attached to the clip
-                                   * The elements are positioned in key-value
-                                   * pairs ie (key, content, key2, content2,
-                                   * ...)
-                                   */
-};
-
-struct _GstCmmlTagClipClass {
-  GObjectClass parent_class;
-};
-
-GType gst_cmml_tag_stream_get_type (void);
-GType gst_cmml_tag_head_get_type (void);
-GType gst_cmml_tag_clip_get_type (void);
-
-#endif /* __GST_CMML_TAG_H__ */
diff --git a/ext/annodex/gstcmmlutils.c b/ext/annodex/gstcmmlutils.c
deleted file mode 100644
index a66b3f0..0000000
--- a/ext/annodex/gstcmmlutils.c
+++ /dev/null
@@ -1,388 +0,0 @@
-/*
- * gstcmmlutils.c - GStreamer CMML utility functions
- * Copyright (C) 2005 Alessandro Decina
- * 
- * Authors:
- *   Alessandro Decina <alessandro@nnva.org>
- *
- * 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 "gstcmmlutils.h"
-
-#include <math.h>
-#include <stdio.h>
-#include <string.h>
-
-typedef struct
-{
-  GList *clips;
-  gpointer user_data;
-} GstCmmlTrack;
-
-GstClockTime
-gst_cmml_clock_time_from_npt (const gchar * time)
-{
-  GstClockTime res;
-  gint fields;
-  gint hours = 0;
-  gint minutes = 0;
-  gint seconds = 0;
-  gint mseconds = 0;
-  GstClockTime hours_t = 0, seconds_t = 0;
-
-  if (!strncmp (time, "npt:", 4))
-    time += 4;
-
-  /* parse npt-hhmmss */
-  fields = sscanf (time, "%d:%d:%d.%d", &hours, &minutes, &seconds, &mseconds);
-  if (fields == 4) {
-    if (hours < 0 || (guint) minutes > 59 || (guint) seconds > 59)
-      goto bad_input;
-
-    hours_t = gst_util_uint64_scale (hours, GST_SECOND * 3600, 1);
-    if (hours_t == G_MAXUINT64)
-      goto overflow;
-
-    seconds_t = seconds * GST_SECOND;
-  } else {
-    guint64 u64seconds;
-
-    /* parse npt-sec */
-    hours_t = 0;
-    minutes = 0;
-    fields = sscanf (time, "%" G_GUINT64_FORMAT ".%d", &u64seconds, &mseconds);
-    if (seconds < 0)
-      goto bad_input;
-
-    seconds_t = gst_util_uint64_scale_int (u64seconds, GST_SECOND, 1);
-    if (seconds_t == G_MAXUINT64)
-      goto overflow;
-  }
-
-  if ((guint) mseconds > 999)
-    goto bad_input;
-
-  res = (minutes * 60) * GST_SECOND + mseconds * GST_MSECOND;
-  if (G_MAXUINT64 - hours_t - seconds_t < res)
-    goto overflow;
-
-  res += hours_t + seconds_t;
-
-  return res;
-
-bad_input:
-overflow:
-  return GST_CLOCK_TIME_NONE;
-}
-
-GstClockTime
-gst_cmml_clock_time_from_smpte (const gchar * time)
-{
-  GstClockTime res;
-  GstClockTime hours_t;
-  gint hours, minutes, seconds;
-  gdouble framerate;
-  gfloat frames;
-  gint fields;
-
-  if (!strncmp (time, "smpte-24:", 9)) {
-    framerate = 24.0;
-    time += 9;
-  } else if (!strncmp (time, "smpte-24-drop:", 14)) {
-    framerate = 23.976;
-    time += 14;
-  } else if (!strncmp (time, "smpte-25:", 9)) {
-    framerate = 25.0;
-    time += 9;
-  } else if (!strncmp (time, "smpte-30:", 9)) {
-    framerate = 30.0;
-    time += 9;
-  } else if (!strncmp (time, "smpte-30-drop:", 14)) {
-    framerate = 29.976;
-    time += 14;
-  } else if (!strncmp (time, "smpte-50:", 9)) {
-    framerate = 50.0;
-    time += 9;
-  } else if (!strncmp (time, "smpte-60:", 9)) {
-    framerate = 60.0;
-    time += 9;
-  } else if (!strncmp (time, "smpte-60-drop:", 14)) {
-    framerate = 59.94;
-    time += 14;
-  } else {
-    return GST_CLOCK_TIME_NONE;
-  }
-
-  fields = sscanf (time, "%d:%d:%d:%f", &hours, &minutes, &seconds, &frames);
-  if (fields == 4) {
-    if (hours < 0 || (guint) minutes > 59 || (guint) seconds > 59 ||
-        frames < 0 || frames > ceil (framerate)) {
-      res = GST_CLOCK_TIME_NONE;
-    } else {
-      hours_t = gst_util_uint64_scale (hours, GST_SECOND * 3600, 1);
-      if (hours_t == G_MAXUINT64)
-        goto overflow;
-
-      res = ((minutes * 60) + seconds + (frames / framerate))
-          * GST_SECOND;
-      if (G_MAXUINT64 - hours_t < res)
-        goto overflow;
-
-      res = hours_t + res;
-    }
-  } else {
-    res = GST_CLOCK_TIME_NONE;
-  }
-
-  return res;
-overflow:
-  return GST_CLOCK_TIME_NONE;
-}
-
-gchar *
-gst_cmml_clock_time_to_npt (const GstClockTime time)
-{
-  guint seconds, hours, minutes, mseconds;
-  gchar *res;
-
-  g_return_val_if_fail (time != GST_CLOCK_TIME_NONE, NULL);
-
-  hours = time / (GST_SECOND * 3600);
-  minutes = (time / ((GST_SECOND * 60)) % 60);
-  seconds = (time / GST_SECOND) % 60;
-  mseconds = (time % GST_SECOND) / GST_MSECOND;
-
-  if (mseconds < 100)
-    mseconds *= 10;
-
-  res = g_strdup_printf ("%u:%02u:%02u.%03u",
-      hours, minutes, seconds, mseconds);
-
-  return res;
-}
-
-gint64
-gst_cmml_clock_time_to_granule (GstClockTime prev_time,
-    GstClockTime current_time, gint64 granulerate_n, gint64 granulerate_d,
-    guint8 granuleshift)
-{
-  guint64 keyindex, keyoffset, granulepos, maxoffset;
-  gint64 granulerate;
-
-  g_return_val_if_fail (granulerate_d != 0, -1);
-  g_return_val_if_fail (granuleshift > 0, -1);
-  g_return_val_if_fail (granuleshift <= 64, -1);
-
-  if (prev_time == GST_CLOCK_TIME_NONE)
-    prev_time = 0;
-
-  if (prev_time > current_time)
-    return -1;
-
-  /* GST_SECOND / (granulerate_n / granulerate_d) */
-  granulerate = gst_util_uint64_scale (GST_SECOND,
-      granulerate_d, granulerate_n);
-
-  prev_time = prev_time / granulerate;
-
-  /* granuleshift == 64 should be a << 0 shift, which is defined */
-  maxoffset = ((guint64) 1 << (64 - granuleshift)) - 1;
-  if (prev_time > maxoffset)
-    /* we need more than 64 - granuleshift bits to encode prev_time */
-    goto overflow;
-
-  keyindex = prev_time << granuleshift;
-
-  keyoffset = (current_time / granulerate) - prev_time;
-  /* make sure we don't shift to the limits of the types as this is undefined. */
-  if (granuleshift == 64)
-    maxoffset = G_MAXUINT64;
-  else
-    maxoffset = ((guint64) 1 << granuleshift) - 1;
-
-  if (keyoffset > maxoffset)
-    /* we need more than granuleshift bits to encode prev_time - current_time */
-    goto overflow;
-
-  granulepos = keyindex + keyoffset;
-
-  return granulepos;
-
-overflow:
-  return -1;
-}
-
-/* track list */
-GHashTable *
-gst_cmml_track_list_new (void)
-{
-  return g_hash_table_new (g_str_hash, g_str_equal);
-}
-
-static gboolean
-gst_cmml_track_list_destroy_track (gchar * key,
-    GstCmmlTrack * track, gpointer user_data)
-{
-  GList *walk;
-
-  for (walk = track->clips; walk; walk = g_list_next (walk))
-    g_object_unref (G_OBJECT (walk->data));
-
-  g_free (key);
-  g_list_free (track->clips);
-  g_free (track);
-
-  return TRUE;
-}
-
-void
-gst_cmml_track_list_destroy (GHashTable * tracks)
-{
-  g_hash_table_foreach_remove (tracks,
-      (GHRFunc) gst_cmml_track_list_destroy_track, NULL);
-  g_hash_table_destroy (tracks);
-}
-
-static gint
-gst_cmml_track_list_compare_clips (GstCmmlTagClip * a, GstCmmlTagClip * b)
-{
-  if (a->start_time < b->start_time)
-    return -1;
-
-  return 1;
-}
-
-void
-gst_cmml_track_list_add_clip (GHashTable * tracks, GstCmmlTagClip * clip)
-{
-  gpointer key, value;
-  GstCmmlTrack *track;
-  gchar *track_name;
-
-  g_return_if_fail (clip->track != NULL);
-
-  if (g_hash_table_lookup_extended (tracks, clip->track, &key, &value)) {
-    track_name = (gchar *) key;
-    track = (GstCmmlTrack *) value;
-  } else {
-    track_name = g_strdup ((gchar *) clip->track);
-    track = g_new0 (GstCmmlTrack, 1);
-    g_hash_table_insert (tracks, track_name, track);
-  }
-
-  /* add clip to the tracklist */
-  track->clips = g_list_insert_sorted (track->clips, g_object_ref (clip),
-      (GCompareFunc) gst_cmml_track_list_compare_clips);
-}
-
-gboolean
-gst_cmml_track_list_del_clip (GHashTable * tracks, GstCmmlTagClip * clip)
-{
-  GstCmmlTrack *track;
-  GList *link;
-  gboolean res = FALSE;
-
-  g_return_val_if_fail (clip->track != NULL, FALSE);
-
-  track = g_hash_table_lookup (tracks, clip->track);
-  if (track) {
-    link = g_list_find (track->clips, clip);
-    if (link) {
-      g_object_unref (G_OBJECT (link->data));
-      track->clips = g_list_delete_link (track->clips, link);
-      res = TRUE;
-    }
-  }
-
-  return res;
-}
-
-gboolean
-gst_cmml_track_list_has_clip (GHashTable * tracks, GstCmmlTagClip * clip)
-{
-  GstCmmlTrack *track;
-  GList *walk;
-  GstCmmlTagClip *tmp;
-  gboolean res = FALSE;
-
-  track = g_hash_table_lookup (tracks, (gchar *) clip->track);
-  if (track) {
-    for (walk = track->clips; walk; walk = g_list_next (walk)) {
-      tmp = GST_CMML_TAG_CLIP (walk->data);
-      if (tmp->start_time == clip->start_time) {
-        res = TRUE;
-        break;
-      }
-    }
-  }
-
-  return res;
-}
-
-static gboolean
-gst_cmml_track_list_merge_track (gchar * track_name,
-    GstCmmlTrack * track, GList ** list)
-{
-  GList *walk;
-  GstCmmlTagClip *cur;
-
-  for (walk = track->clips; walk; walk = g_list_next (walk)) {
-    cur = GST_CMML_TAG_CLIP (walk->data);
-    *list = g_list_insert_sorted (*list, cur,
-        (GCompareFunc) gst_cmml_track_list_compare_clips);
-  }
-
-  return TRUE;
-}
-
-GList *
-gst_cmml_track_list_get_track_clips (GHashTable * tracks,
-    const gchar * track_name)
-{
-  GstCmmlTrack *track;
-
-  g_return_val_if_fail (track_name != NULL, NULL);
-
-  track = g_hash_table_lookup (tracks, track_name);
-  return track ? track->clips : NULL;
-}
-
-GList *
-gst_cmml_track_list_get_clips (GHashTable * tracks)
-{
-  GList *list = NULL;
-
-  g_hash_table_foreach (tracks,
-      (GHFunc) gst_cmml_track_list_merge_track, &list);
-  return list;
-}
-
-GstCmmlTagClip *
-gst_cmml_track_list_get_track_last_clip (GHashTable * tracks,
-    const gchar * track_name)
-{
-  GstCmmlTrack *track;
-  GList *res = NULL;
-
-  g_return_val_if_fail (track_name != NULL, NULL);
-
-  track = g_hash_table_lookup (tracks, track_name);
-  if (track && track->clips)
-    res = g_list_last (track->clips);
-
-  return res ? GST_CMML_TAG_CLIP (res->data) : NULL;
-}
diff --git a/ext/annodex/gstcmmlutils.h b/ext/annodex/gstcmmlutils.h
deleted file mode 100644
index 5aa2416..0000000
--- a/ext/annodex/gstcmmlutils.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * gstcmmlutils.h - GStreamer CMML utility functions
- * Copyright (C) 2005 Alessandro Decina
- * 
- * Authors:
- *   Alessandro Decina <alessandro@nnva.org>
- *
- * 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_CMML_CLOCK_TIME_H__
-#define __GST_CMML_CLOCK_TIME_H__
-
-#include <gst/gst.h>
-#include "gstcmmltag.h"
-
-/* time utils */
-GstClockTime gst_cmml_clock_time_from_npt (const gchar * time);
-GstClockTime gst_cmml_clock_time_from_smpte (const gchar * time);
-gchar * gst_cmml_clock_time_to_npt (const GstClockTime time);
-gint64 gst_cmml_clock_time_to_granule (GstClockTime prev_time,
-    GstClockTime current_time, gint64 granulerate_n, gint64 granulerate_d,
-    guint8 granuleshift);
-
-/* tracklist */
-GHashTable * gst_cmml_track_list_new (void);
-void gst_cmml_track_list_destroy (GHashTable * tracks);
-void gst_cmml_track_list_add_clip (GHashTable * tracks, GstCmmlTagClip * clip);
-gboolean gst_cmml_track_list_del_clip (GHashTable * tracks,
-    GstCmmlTagClip * clip);
-gboolean gst_cmml_track_list_has_clip (GHashTable * tracks,
-    GstCmmlTagClip * clip);
-GstCmmlTagClip * gst_cmml_track_list_get_track_last_clip (GHashTable * tracks,
-    const gchar * track_name);
-GList * gst_cmml_track_list_get_track_clips (GHashTable * tracks,
-    const gchar * track_name);
-GList * gst_cmml_track_list_get_clips (GHashTable * tracks);
-void gst_cmml_track_list_set_track_data (GHashTable * tracks, gpointer data);
-gpointer gst_cmml_track_list_get_track_data (GHashTable * tracks);
-#endif /* __GST_CMML_CLOCK_TIME_H__ */
diff --git a/ext/cairo/Makefile.in b/ext/cairo/Makefile.in
index e16ada0..22621f2 100644
--- a/ext/cairo/Makefile.in
+++ b/ext/cairo/Makefile.in
@@ -60,6 +60,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 DIST_COMMON = $(am__noinst_HEADERS_DIST) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in $(top_srcdir)/common/gst-glib-gen.mak
 subdir = ext/cairo
@@ -69,7 +70,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -206,8 +206,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -254,6 +252,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -298,8 +297,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -314,6 +315,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -379,7 +384,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -435,6 +440,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -507,7 +513,11 @@
 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@
diff --git a/ext/dv/Makefile.in b/ext/dv/Makefile.in
index 7b9de37..a783e67 100644
--- a/ext/dv/Makefile.in
+++ b/ext/dv/Makefile.in
@@ -53,6 +53,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 noinst_PROGRAMS = smpte_test$(EXEEXT)
 subdir = ext/dv
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
@@ -63,7 +64,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -194,8 +194,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -242,6 +240,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -286,8 +285,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -302,6 +303,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -367,7 +372,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -423,6 +428,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -495,7 +501,11 @@
 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@
diff --git a/ext/dv/gstdvdemux.c b/ext/dv/gstdvdemux.c
index 76a446c..794a616 100644
--- a/ext/dv/gstdvdemux.c
+++ b/ext/dv/gstdvdemux.c
@@ -302,8 +302,8 @@
 
   if (no_more_pads) {
     gst_pad_push_event (pad,
-        gst_event_new_tag (gst_tag_list_new (GST_TAG_CONTAINER_FORMAT, "DV",
-                NULL)));
+        gst_event_new_tag ("GstDemuxer",
+            gst_tag_list_new (GST_TAG_CONTAINER_FORMAT, "DV", NULL)));
   }
 
   return pad;
diff --git a/ext/flac/Makefile.in b/ext/flac/Makefile.in
index 8f265be..2b23a3f 100644
--- a/ext/flac/Makefile.in
+++ b/ext/flac/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = ext/flac
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -186,8 +186,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -234,6 +232,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -278,8 +277,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -294,6 +295,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -359,7 +364,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -415,6 +420,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -487,7 +493,11 @@
 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@
diff --git a/ext/flac/gstflactag.c b/ext/flac/gstflactag.c
index 450bc84..d7455ac 100644
--- a/ext/flac/gstflactag.c
+++ b/ext/flac/gstflactag.c
@@ -319,7 +319,7 @@
           id_data, 4, NULL);
       if (tag->tags != NULL) {
         gst_pad_push_event (tag->srcpad,
-            gst_event_new_tag (gst_tag_list_copy (tag->tags)));
+            gst_event_new_tag ("GstFlacTag", gst_tag_list_copy (tag->tags)));
       }
 
       gst_buffer_unref (tag->vorbiscomment);
diff --git a/ext/gdk_pixbuf/Makefile.in b/ext/gdk_pixbuf/Makefile.in
index 5137a2f..0b8f7a7 100644
--- a/ext/gdk_pixbuf/Makefile.in
+++ b/ext/gdk_pixbuf/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = ext/gdk_pixbuf
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -187,8 +187,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -235,6 +233,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -279,8 +278,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -295,6 +296,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -360,7 +365,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -416,6 +421,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -488,7 +494,11 @@
 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@
diff --git a/ext/jack/Makefile.in b/ext/jack/Makefile.in
index 6f41859..f079dda 100644
--- a/ext/jack/Makefile.in
+++ b/ext/jack/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = ext/jack
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -186,8 +186,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -234,6 +232,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -278,8 +277,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -294,6 +295,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -359,7 +364,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -415,6 +420,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -487,7 +493,11 @@
 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@
diff --git a/ext/jpeg/Makefile.in b/ext/jpeg/Makefile.in
index 626dbda..8e4e121 100644
--- a/ext/jpeg/Makefile.in
+++ b/ext/jpeg/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = ext/jpeg
 DIST_COMMON = README $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -185,8 +185,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -233,6 +231,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -277,8 +276,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -293,6 +294,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -358,7 +363,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -414,6 +419,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -486,7 +492,11 @@
 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@
diff --git a/ext/jpeg/gstjpegdec.c b/ext/jpeg/gstjpegdec.c
index 9a98221..c595d0e 100644
--- a/ext/jpeg/gstjpegdec.c
+++ b/ext/jpeg/gstjpegdec.c
@@ -1,6 +1,8 @@
 /* GStreamer
  * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
  * Copyright (C) <2009> Tim-Philipp Müller <tim centricular net>
+ * Copyright (C) 2012 Collabora Ltd.
+ *	Author : Edward Hervey <edward@collabora.com>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -40,6 +42,8 @@
 #include "gstjpegdec.h"
 #include "gstjpeg.h"
 #include <gst/video/video.h>
+#include <gst/video/gstvideometa.h>
+#include <gst/video/gstvideopool.h>
 #include "gst/gst-i18n-plugin.h"
 #include <jerror.h>
 
@@ -69,7 +73,6 @@
     GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE
         ("{ I420, RGB, BGR, RGBx, xRGB, BGRx, xBGR, GRAY8 }"))
     );
-
 /* *INDENT-ON* */
 
 /* FIXME: sof-marker is for IJG libjpeg 8, should be different for 6.2 */
@@ -80,7 +83,7 @@
     GST_STATIC_CAPS ("image/jpeg, "
         "width = (int) [ " G_STRINGIFY (MIN_WIDTH) ", " G_STRINGIFY (MAX_WIDTH)
         " ], " "height = (int) [ " G_STRINGIFY (MIN_HEIGHT) ", "
-        G_STRINGIFY (MAX_HEIGHT) " ], framerate = (fraction) [ 0/1, MAX ], "
+        G_STRINGIFY (MAX_HEIGHT) " ], "
         "sof-marker = (int) { 0, 1, 2, 5, 6, 7, 9, 10, 13, 14 }")
     );
 
@@ -93,25 +96,20 @@
 static void gst_jpeg_dec_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec);
 
-static GstFlowReturn gst_jpeg_dec_chain (GstPad * pad, GstObject * parent,
-    GstBuffer * buffer);
-static GstCaps *gst_jpeg_dec_getcaps (GstPad * pad, GstCaps * filter);
-static gboolean gst_jpeg_dec_sink_query (GstPad * pad, GstObject * parent,
+static gboolean gst_jpeg_dec_set_format (GstVideoDecoder * dec,
+    GstVideoCodecState * state);
+static gboolean gst_jpeg_dec_start (GstVideoDecoder * bdec);
+static gboolean gst_jpeg_dec_stop (GstVideoDecoder * bdec);
+static gboolean gst_jpeg_dec_reset (GstVideoDecoder * bdec, gboolean hard);
+static GstFlowReturn gst_jpeg_dec_parse (GstVideoDecoder * bdec,
+    GstVideoCodecFrame * frame, GstAdapter * adapter, gboolean at_eos);
+static GstFlowReturn gst_jpeg_dec_handle_frame (GstVideoDecoder * bdec,
+    GstVideoCodecFrame * frame);
+static gboolean gst_jpeg_dec_decide_allocation (GstVideoDecoder * bdec,
     GstQuery * query);
-static gboolean gst_jpeg_dec_sink_event (GstPad * pad, GstObject * parent,
-    GstEvent * event);
-static gboolean gst_jpeg_dec_src_event (GstPad * pad, GstObject * parent,
-    GstEvent * event);
-static GstStateChangeReturn gst_jpeg_dec_change_state (GstElement * element,
-    GstStateChange transition);
-static void gst_jpeg_dec_update_qos (GstJpegDec * dec, gdouble proportion,
-    GstClockTimeDiff diff, GstClockTime ts);
-static void gst_jpeg_dec_reset_qos (GstJpegDec * dec);
-static void gst_jpeg_dec_read_qos (GstJpegDec * dec, gdouble * proportion,
-    GstClockTime * time);
 
 #define gst_jpeg_dec_parent_class parent_class
-G_DEFINE_TYPE (GstJpegDec, gst_jpeg_dec, GST_TYPE_ELEMENT);
+G_DEFINE_TYPE (GstJpegDec, gst_jpeg_dec, GST_TYPE_VIDEO_DECODER);
 
 static void
 gst_jpeg_dec_finalize (GObject * object)
@@ -119,8 +117,8 @@
   GstJpegDec *dec = GST_JPEG_DEC (object);
 
   jpeg_destroy_decompress (&dec->cinfo);
-
-  g_object_unref (dec->adapter);
+  if (dec->input_state)
+    gst_video_codec_state_unref (dec->input_state);
 
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
@@ -128,11 +126,13 @@
 static void
 gst_jpeg_dec_class_init (GstJpegDecClass * klass)
 {
-  GstElementClass *gstelement_class;
   GObjectClass *gobject_class;
+  GstElementClass *element_class;
+  GstVideoDecoderClass *vdec_class;
 
-  gstelement_class = (GstElementClass *) klass;
   gobject_class = (GObjectClass *) klass;
+  element_class = (GstElementClass *) klass;
+  vdec_class = (GstVideoDecoderClass *) klass;
 
   parent_class = g_type_class_peek_parent (klass);
 
@@ -161,16 +161,21 @@
           -1, G_MAXINT, JPEG_DEFAULT_MAX_ERRORS,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
+  gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&gst_jpeg_dec_src_pad_template));
-  gst_element_class_add_pad_template (gstelement_class,
+  gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&gst_jpeg_dec_sink_pad_template));
-  gst_element_class_set_static_metadata (gstelement_class, "JPEG image decoder",
+  gst_element_class_set_details_simple (element_class, "JPEG image decoder",
       "Codec/Decoder/Image",
       "Decode images from JPEG format", "Wim Taymans <wim@fluendo.com>");
 
-  gstelement_class->change_state =
-      GST_DEBUG_FUNCPTR (gst_jpeg_dec_change_state);
+  vdec_class->start = gst_jpeg_dec_start;
+  vdec_class->stop = gst_jpeg_dec_stop;
+  vdec_class->reset = gst_jpeg_dec_reset;
+  vdec_class->parse = gst_jpeg_dec_parse;
+  vdec_class->set_format = gst_jpeg_dec_set_format;
+  vdec_class->handle_frame = gst_jpeg_dec_handle_frame;
+  vdec_class->decide_allocation = gst_jpeg_dec_decide_allocation;
 
   GST_DEBUG_CATEGORY_INIT (jpeg_dec_debug, "jpegdec", 0, "JPEG decoder");
   GST_DEBUG_CATEGORY_GET (GST_CAT_PERFORMANCE, "GST_PERFORMANCE");
@@ -228,7 +233,7 @@
     ret = GST_FLOW_OK;
   } else if (max_errors == 0) {
     /* FIXME: do something more clever in "automatic mode" */
-    if (dec->packetized) {
+    if (gst_video_decoder_get_packetized (GST_VIDEO_DECODER (dec))) {
       ret = (dec->error_count < 3) ? GST_FLOW_OK : GST_FLOW_ERROR;
     } else {
       ret = GST_FLOW_ERROR;
@@ -255,29 +260,14 @@
 gst_jpeg_dec_fill_input_buffer (j_decompress_ptr cinfo)
 {
   GstJpegDec *dec;
-  guint av;
 
   dec = CINFO_GET_JPEGDEC (cinfo);
   g_return_val_if_fail (dec != NULL, FALSE);
+  g_return_val_if_fail (dec->current_frame != NULL, FALSE);
+  g_return_val_if_fail (dec->current_frame_map.data != NULL, FALSE);
 
-  av = gst_adapter_available_fast (dec->adapter);
-  GST_DEBUG_OBJECT (dec, "fill_input_buffer: fast av=%u, remaining=%u", av,
-      dec->rem_img_len);
-
-  if (av == 0) {
-    GST_DEBUG_OBJECT (dec, "Out of data");
-    return FALSE;
-  }
-
-  if (dec->rem_img_len < av)
-    av = dec->rem_img_len;
-  dec->rem_img_len -= av;
-
-  g_free (dec->cur_buf);
-  dec->cur_buf = gst_adapter_take (dec->adapter, av);
-
-  cinfo->src->next_input_byte = dec->cur_buf;
-  cinfo->src->bytes_in_buffer = av;
+  cinfo->src->next_input_byte = dec->current_frame_map.data;
+  cinfo->src->bytes_in_buffer = dec->current_frame_map.size;
 
   return TRUE;
 }
@@ -299,22 +289,6 @@
   if (num_bytes > 0 && cinfo->src->bytes_in_buffer >= num_bytes) {
     cinfo->src->next_input_byte += (size_t) num_bytes;
     cinfo->src->bytes_in_buffer -= (size_t) num_bytes;
-  } else if (num_bytes > 0) {
-    gint available;
-
-    num_bytes -= cinfo->src->bytes_in_buffer;
-    cinfo->src->next_input_byte += (size_t) cinfo->src->bytes_in_buffer;
-    cinfo->src->bytes_in_buffer = 0;
-
-    available = gst_adapter_available (dec->adapter);
-    if (available < num_bytes || available < dec->rem_img_len) {
-      GST_WARNING_OBJECT (dec, "Less bytes to skip than available in the "
-          "adapter or the remaining image length %ld < %d or %u",
-          num_bytes, available, dec->rem_img_len);
-    }
-    num_bytes = MIN (MIN (num_bytes, available), dec->rem_img_len);
-    gst_adapter_flush (dec->adapter, num_bytes);
-    dec->rem_img_len -= num_bytes;
   }
 }
 
@@ -359,25 +333,6 @@
 {
   GST_DEBUG ("initializing");
 
-  /* create the sink and src pads */
-  dec->sinkpad =
-      gst_pad_new_from_static_template (&gst_jpeg_dec_sink_pad_template,
-      "sink");
-  gst_element_add_pad (GST_ELEMENT (dec), dec->sinkpad);
-  gst_pad_set_chain_function (dec->sinkpad,
-      GST_DEBUG_FUNCPTR (gst_jpeg_dec_chain));
-  gst_pad_set_event_function (dec->sinkpad,
-      GST_DEBUG_FUNCPTR (gst_jpeg_dec_sink_event));
-  gst_pad_set_query_function (dec->sinkpad,
-      GST_DEBUG_FUNCPTR (gst_jpeg_dec_sink_query));
-
-  dec->srcpad =
-      gst_pad_new_from_static_template (&gst_jpeg_dec_src_pad_template, "src");
-  gst_pad_set_event_function (dec->srcpad,
-      GST_DEBUG_FUNCPTR (gst_jpeg_dec_src_event));
-  gst_pad_use_fixed_caps (dec->srcpad);
-  gst_element_add_pad (GST_ELEMENT (dec), dec->srcpad);
-
   /* setup jpeglib */
   memset (&dec->cinfo, 0, sizeof (dec->cinfo));
   memset (&dec->jerr, 0, sizeof (dec->jerr));
@@ -399,35 +354,6 @@
   /* init properties */
   dec->idct_method = JPEG_DEFAULT_IDCT_METHOD;
   dec->max_errors = JPEG_DEFAULT_MAX_ERRORS;
-
-  dec->adapter = gst_adapter_new ();
-}
-
-static gboolean
-gst_jpeg_dec_ensure_header (GstJpegDec * dec)
-{
-  gint av;
-  gint offset;
-
-  av = gst_adapter_available (dec->adapter);
-  /* we expect at least 4 bytes, first of which start marker */
-  offset = gst_adapter_masked_scan_uint32 (dec->adapter, 0xffffff00, 0xffd8ff00,
-      0, av);
-  if (G_UNLIKELY (offset < 0)) {
-    GST_DEBUG_OBJECT (dec, "No JPEG header in current buffer");
-    /* not found */
-    if (av > 4)
-      gst_adapter_flush (dec->adapter, av - 4);
-    return FALSE;
-  }
-
-  if (offset > 0) {
-    GST_LOG_OBJECT (dec, "Skipping %u bytes.", offset);
-    gst_adapter_flush (dec->adapter, offset);
-  }
-  GST_DEBUG_OBJECT (dec, "Found JPEG header");
-
-  return TRUE;
 }
 
 static inline gboolean
@@ -438,42 +364,62 @@
   return FALSE;
 }
 
-/* returns image length in bytes if parsed successfully,
- * otherwise 0 if more data needed,
- * if < 0 the absolute value needs to be flushed */
-static gint
-gst_jpeg_dec_parse_image_data (GstJpegDec * dec)
+static GstFlowReturn
+gst_jpeg_dec_parse (GstVideoDecoder * bdec, GstVideoCodecFrame * frame,
+    GstAdapter * adapter, gboolean at_eos)
 {
   guint size;
+  gint toadd = 0;
   gboolean resync;
-  GstAdapter *adapter = dec->adapter;
-  gint offset, noffset;
+  gint offset = 0, noffset;
+  GstJpegDec *dec = (GstJpegDec *) bdec;
+
+  /* FIXME : The overhead of using scan_uint32 is massive */
 
   size = gst_adapter_available (adapter);
-
-  /* we expect at least 4 bytes, first of which start marker */
-  if (gst_adapter_masked_scan_uint32 (adapter, 0xffff0000, 0xffd80000, 0, 4))
-    return 0;
-
   GST_DEBUG ("Parsing jpeg image data (%u bytes)", size);
 
-  GST_DEBUG ("Parse state: offset=%d, resync=%d, entropy len=%d",
-      dec->parse_offset, dec->parse_resync, dec->parse_entropy_len);
+  if (at_eos) {
+    GST_DEBUG ("Flushing all data out");
+    toadd = size;
 
-  /* offset is 2 less than actual offset;
-   * - adapter needs at least 4 bytes for scanning,
-   * - start and end marker ensure at least that much
-   */
-  /* resume from state offset */
-  offset = dec->parse_offset;
+    /* If we have leftover data, throw it away */
+    if (!dec->saw_header)
+      goto drop_frame;
+    goto have_full_frame;
+  }
+
+  if (size < 8)
+    goto need_more_data;
+
+  if (!dec->saw_header) {
+    gint ret;
+    /* we expect at least 4 bytes, first of which start marker */
+    ret =
+        gst_adapter_masked_scan_uint32 (adapter, 0xffff0000, 0xffd80000, 0,
+        size - 4);
+
+    GST_DEBUG ("ret:%d", ret);
+    if (ret < 0)
+      goto need_more_data;
+
+    if (ret) {
+      gst_adapter_flush (adapter, ret);
+      size -= ret;
+    }
+    dec->saw_header = TRUE;
+  }
 
   while (1) {
     guint frame_len;
     guint32 value;
 
+    GST_DEBUG ("offset:%d, size:%d", offset, size);
+
     noffset =
         gst_adapter_masked_scan_uint32_peek (adapter, 0x0000ff00, 0x0000ff00,
         offset, size - offset, &value);
+
     /* lost sync if 0xff marker not where expected */
     if ((resync = (noffset != offset))) {
       GST_DEBUG ("Lost sync at 0x%08x, resyncing", offset + 2);
@@ -499,15 +445,18 @@
     if (value == 0xd9) {
       GST_DEBUG ("0x%08x: EOI marker", offset + 2);
       /* clear parse state */
+      dec->saw_header = FALSE;
       dec->parse_resync = FALSE;
-      dec->parse_offset = 0;
-      return (offset + 4);
-    } else if (value == 0xd8) {
+      toadd = offset + 4;
+      goto have_full_frame;
+    }
+    if (value == 0xd8) {
       /* Skip this frame if we found another SOI marker */
       GST_DEBUG ("0x%08x: SOI marker before EOI, skipping", offset + 2);
       dec->parse_resync = FALSE;
-      dec->parse_offset = 0;
-      return -(offset + 2);
+      /* FIXME : Need to skip data */
+      toadd -= offset + 2;
+      goto have_full_frame;
     }
 
 
@@ -532,9 +481,14 @@
     if (gst_jpeg_dec_parse_tag_has_entropy_segment (value)) {
       guint eseglen = dec->parse_entropy_len;
 
-      GST_DEBUG ("0x%08x: finding entropy segment length", offset + 2);
+      GST_DEBUG ("0x%08x: finding entropy segment length (eseglen:%d)",
+          offset + 2, eseglen);
+      if (size < offset + 2 + frame_len + eseglen)
+        goto need_more_data;
       noffset = offset + 2 + frame_len + dec->parse_entropy_len;
       while (1) {
+        GST_DEBUG ("noffset:%d, size:%d, size - noffset:%d",
+            noffset, size, size - noffset);
         noffset = gst_adapter_masked_scan_uint32_peek (adapter, 0x0000ff00,
             0x0000ff00, noffset, size - noffset, &value);
         if (noffset < 0) {
@@ -568,18 +522,27 @@
       GST_DEBUG ("found sync at 0x%x", offset + 2);
     }
 
+    /* Add current data to output buffer */
+    toadd += frame_len + 2;
     offset += frame_len + 2;
   }
 
-  /* EXITS */
 need_more_data:
-  {
-    dec->parse_offset = offset;
-    dec->parse_resync = resync;
-    return 0;
-  }
+  if (toadd)
+    gst_video_decoder_add_to_frame (bdec, toadd);
+  return GST_VIDEO_DECODER_FLOW_NEED_DATA;
+
+have_full_frame:
+  if (toadd)
+    gst_video_decoder_add_to_frame (bdec, toadd);
+  return gst_video_decoder_have_frame (bdec);
+
+drop_frame:
+  gst_adapter_flush (adapter, size);
+  return GST_FLOW_OK;
 }
 
+
 /* shamelessly ripped from jpegutils.c in mjpegtools */
 static void
 add_huff_table (j_decompress_ptr dinfo,
@@ -703,75 +666,26 @@
 }
 
 static gboolean
-gst_jpeg_dec_setcaps (GstJpegDec * dec, GstCaps * caps)
+gst_jpeg_dec_set_format (GstVideoDecoder * dec, GstVideoCodecState * state)
 {
-  GstStructure *s;
-  const GValue *framerate;
+  GstJpegDec *jpeg = GST_JPEG_DEC (dec);
+  GstVideoInfo *info = &state->info;
 
-  s = gst_caps_get_structure (caps, 0);
+  /* FIXME : previously jpegdec would handled input as packetized
+   * if the framerate was present. Here we consider it packetized if
+   * the fps is != 1/1 */
+  if (GST_VIDEO_INFO_FPS_N (info) != 1 && GST_VIDEO_INFO_FPS_D (info) != 1)
+    gst_video_decoder_set_packetized (dec, TRUE);
+  else
+    gst_video_decoder_set_packetized (dec, FALSE);
 
-  if ((framerate = gst_structure_get_value (s, "framerate")) != NULL) {
-    dec->in_fps_n = gst_value_get_fraction_numerator (framerate);
-    dec->in_fps_d = gst_value_get_fraction_denominator (framerate);
-    dec->packetized = TRUE;
-    GST_DEBUG ("got framerate of %d/%d fps => packetized mode",
-        dec->in_fps_n, dec->in_fps_d);
-  }
-
-  /* do not extract width/height here. we do that in the chain
-   * function on a per-frame basis (including the line[] array
-   * setup) */
-
-  /* But we can take the framerate values and set them on the src pad */
+  if (jpeg->input_state)
+    gst_video_codec_state_unref (jpeg->input_state);
+  jpeg->input_state = gst_video_codec_state_ref (state);
 
   return TRUE;
 }
 
-static GstCaps *
-gst_jpeg_dec_getcaps (GstPad * pad, GstCaps * filter)
-{
-  GstJpegDec *dec;
-  GstCaps *caps;
-  GstPad *peer;
-  GstCaps *templ_caps;
-
-  dec = GST_JPEG_DEC (GST_OBJECT_PARENT (pad));
-
-  if (gst_pad_has_current_caps (pad))
-    return gst_pad_get_current_caps (pad);
-
-  peer = gst_pad_get_peer (dec->srcpad);
-
-  templ_caps = gst_pad_get_pad_template_caps (pad);
-
-  if (peer) {
-    GstCaps *peer_caps;
-    GstStructure *s;
-    guint i, n;
-
-    peer_caps = gst_pad_query_caps (peer, filter);
-
-    /* Translate peercaps to image/jpeg */
-    peer_caps = gst_caps_make_writable (peer_caps);
-    n = gst_caps_get_size (peer_caps);
-    for (i = 0; i < n; i++) {
-      s = gst_caps_get_structure (peer_caps, i);
-
-      gst_structure_set_name (s, "image/jpeg");
-    }
-
-    caps = gst_caps_intersect_full (peer_caps, templ_caps,
-        GST_CAPS_INTERSECT_FIRST);
-    gst_caps_unref (peer_caps);
-    gst_caps_unref (templ_caps);
-    gst_object_unref (peer);
-  } else {
-    caps = templ_caps;
-  }
-
-  return caps;
-}
-
 
 /* yuk */
 static void
@@ -810,7 +724,7 @@
 {
   gint i;
 
-  if (G_LIKELY (dec->idr_width_allocated >= maxrowbytes))
+  if (G_LIKELY (dec->idr_width_allocated == maxrowbytes))
     return TRUE;
 
   /* FIXME: maybe just alloc one or three blocks altogether? */
@@ -929,8 +843,8 @@
 }
 
 static void
-gst_jpeg_dec_decode_indirect (GstJpegDec * dec, GstVideoFrame * frame,
-    gint r_v, gint r_h, gint comp)
+gst_jpeg_dec_decode_indirect (GstJpegDec * dec, GstVideoFrame * frame, gint r_v,
+    gint r_h, gint comp)
 {
   guchar *y_rows[16], *u_rows[16], *v_rows[16];
   guchar **scanarray[3] = { y_rows, u_rows, v_rows };
@@ -1087,319 +1001,74 @@
 }
 
 static void
-gst_jpeg_dec_update_qos (GstJpegDec * dec, gdouble proportion,
-    GstClockTimeDiff diff, GstClockTime ts)
-{
-  GST_OBJECT_LOCK (dec);
-  dec->proportion = proportion;
-  if (G_LIKELY (ts != GST_CLOCK_TIME_NONE)) {
-    if (G_UNLIKELY (diff > dec->qos_duration))
-      dec->earliest_time = ts + 2 * diff + dec->qos_duration;
-    else
-      dec->earliest_time = ts + diff;
-  } else {
-    dec->earliest_time = GST_CLOCK_TIME_NONE;
-  }
-  GST_OBJECT_UNLOCK (dec);
-}
-
-static void
-gst_jpeg_dec_reset_qos (GstJpegDec * dec)
-{
-  gst_jpeg_dec_update_qos (dec, 0.5, 0, GST_CLOCK_TIME_NONE);
-}
-
-static void
-gst_jpeg_dec_read_qos (GstJpegDec * dec, gdouble * proportion,
-    GstClockTime * time)
-{
-  GST_OBJECT_LOCK (dec);
-  *proportion = dec->proportion;
-  *time = dec->earliest_time;
-  GST_OBJECT_UNLOCK (dec);
-}
-
-/* Perform qos calculations before decoding the next frame. Returns TRUE if the
- * frame should be decoded, FALSE if the frame can be dropped entirely */
-static gboolean
-gst_jpeg_dec_do_qos (GstJpegDec * dec, GstClockTime timestamp)
-{
-  GstClockTime qostime, earliest_time;
-  gdouble proportion;
-
-  /* no timestamp, can't do QoS => decode frame */
-  if (G_UNLIKELY (!GST_CLOCK_TIME_IS_VALID (timestamp))) {
-    GST_LOG_OBJECT (dec, "invalid timestamp, can't do QoS, decode frame");
-    return TRUE;
-  }
-
-  /* get latest QoS observation values */
-  gst_jpeg_dec_read_qos (dec, &proportion, &earliest_time);
-
-  /* skip qos if we have no observation (yet) => decode frame */
-  if (G_UNLIKELY (!GST_CLOCK_TIME_IS_VALID (earliest_time))) {
-    GST_LOG_OBJECT (dec, "no observation yet, decode frame");
-    return TRUE;
-  }
-
-  /* qos is done on running time */
-  qostime = gst_segment_to_running_time (&dec->segment, GST_FORMAT_TIME,
-      timestamp);
-
-  /* see how our next timestamp relates to the latest qos timestamp */
-  GST_LOG_OBJECT (dec, "qostime %" GST_TIME_FORMAT ", earliest %"
-      GST_TIME_FORMAT, GST_TIME_ARGS (qostime), GST_TIME_ARGS (earliest_time));
-
-  if (qostime != GST_CLOCK_TIME_NONE && qostime <= earliest_time) {
-    GST_DEBUG_OBJECT (dec, "we are late, drop frame");
-    return FALSE;
-  }
-
-  GST_LOG_OBJECT (dec, "decode frame");
-  return TRUE;
-}
-
-static gboolean
-gst_jpeg_dec_buffer_pool (GstJpegDec * dec, GstCaps * caps)
-{
-  GstQuery *query;
-  GstBufferPool *pool;
-  guint size, min, max;
-  GstStructure *config;
-  static GstAllocationParams params = { 0, 0, 0, 15, };
-
-  GST_DEBUG_OBJECT (dec, "setting up bufferpool");
-
-  /* find a pool for the negotiated caps now */
-  query = gst_query_new_allocation (caps, TRUE);
-
-  if (!gst_pad_peer_query (dec->srcpad, query)) {
-    GST_DEBUG_OBJECT (dec, "peer query failed, using defaults");
-  }
-
-  if (gst_query_get_n_allocation_pools (query) > 0) {
-    /* we got configuration from our peer, parse them */
-    gst_query_parse_nth_allocation_pool (query, 0, &pool, &size, &min, &max);
-    size = MAX (size, dec->info.size);
-  } else {
-    pool = NULL;
-    size = dec->info.size;
-    min = max = 0;
-  }
-  gst_query_unref (query);
-
-  if (pool == NULL) {
-    /* we did not get a pool, make one ourselves then */
-    pool = gst_buffer_pool_new ();
-  }
-
-  config = gst_buffer_pool_get_config (pool);
-  gst_buffer_pool_config_set_params (config, caps, size, min, max);
-  gst_buffer_pool_config_set_allocator (config, NULL, &params);
-  /* and store */
-  gst_buffer_pool_set_config (pool, config);
-
-  if (dec->pool) {
-    gst_buffer_pool_set_active (dec->pool, FALSE);
-    gst_object_unref (dec->pool);
-  }
-  dec->pool = pool;
-
-  /* and activate */
-  gst_buffer_pool_set_active (pool, TRUE);
-
-  return TRUE;
-}
-
-static gboolean
 gst_jpeg_dec_negotiate (GstJpegDec * dec, gint width, gint height, gint clrspc)
 {
-  GstCaps *caps;
+  GstVideoCodecState *outstate;
+  GstVideoInfo *info;
   GstVideoFormat format;
-  GstVideoInfo info;
 
-  if (G_UNLIKELY (width == dec->info.width && height == dec->info.height &&
-          dec->in_fps_n == dec->info.fps_n && dec->in_fps_d == dec->info.fps_d
-          && clrspc == dec->clrspc))
-    return TRUE;
-
-  gst_video_info_init (&info);
-
-  /* framerate == 0/1 is a still frame */
-  if (dec->in_fps_d == 0) {
-    info.fps_n = 0;
-    info.fps_d = 1;
-  } else {
-    info.fps_n = dec->in_fps_n;
-    info.fps_d = dec->in_fps_d;
-  }
-
-  /* calculate or assume an average frame duration for QoS purposes */
-  GST_OBJECT_LOCK (dec);
-  if (info.fps_n != 0) {
-    dec->qos_duration =
-        gst_util_uint64_scale (GST_SECOND, info.fps_d, info.fps_n);
-    dec->duration = dec->qos_duration;
-  } else {
-    /* if not set just use 25fps */
-    dec->qos_duration = gst_util_uint64_scale (GST_SECOND, 1, 25);
-    dec->duration = GST_CLOCK_TIME_NONE;
-  }
-  GST_OBJECT_UNLOCK (dec);
-
-  if (dec->cinfo.jpeg_color_space == JCS_RGB) {
-    gint i;
-    GstCaps *allowed_caps;
-    GstVideoInfo tmpinfo;
-
-    GST_DEBUG_OBJECT (dec, "selecting RGB format");
-    /* retrieve allowed caps, and find the first one that reasonably maps
-     * to the parameters of the colourspace */
-    caps = gst_pad_get_allowed_caps (dec->srcpad);
-    if (!caps) {
-      GST_DEBUG_OBJECT (dec, "... but no peer, using template caps");
-      /* need to copy because get_allowed_caps returns a ref,
-       * and get_pad_template_caps doesn't */
-      caps = gst_pad_get_pad_template_caps (dec->srcpad);
-    }
-    /* avoid lists of formats, etc */
-    allowed_caps = gst_caps_normalize (caps);
-    caps = NULL;
-    GST_LOG_OBJECT (dec, "allowed source caps %" GST_PTR_FORMAT, allowed_caps);
-
-    for (i = 0; i < gst_caps_get_size (allowed_caps); i++) {
-      if (caps)
-        gst_caps_unref (caps);
-      caps = gst_caps_copy_nth (allowed_caps, i);
-      /* sigh, ds and _parse_caps need fixed caps for parsing, fixate */
-      caps = gst_caps_fixate (caps);
-      GST_LOG_OBJECT (dec, "checking caps %" GST_PTR_FORMAT, caps);
-
-      if (!gst_video_info_from_caps (&tmpinfo, caps))
-        continue;
-      /* we'll settle for the first (preferred) downstream rgb format */
-      if (GST_VIDEO_INFO_IS_RGB (&tmpinfo))
-        break;
-      /* default fall-back */
+  switch (clrspc) {
+    case JCS_RGB:
       format = GST_VIDEO_FORMAT_RGB;
-    }
-    if (caps)
-      gst_caps_unref (caps);
-    gst_caps_unref (allowed_caps);
-  } else if (dec->cinfo.jpeg_color_space == JCS_GRAYSCALE) {
-    /* TODO is anything else then 8bit supported in jpeg? */
-    format = GST_VIDEO_FORMAT_GRAY8;
-  } else {
-    /* go for plain and simple I420 */
-    /* TODO other YUV cases ? */
-    format = GST_VIDEO_FORMAT_I420;
+      break;
+    case JCS_GRAYSCALE:
+      format = GST_VIDEO_FORMAT_GRAY8;
+      break;
+    default:
+      format = GST_VIDEO_FORMAT_I420;
+      break;
   }
 
-  gst_video_info_set_format (&info, format, width, height);
-  caps = gst_video_info_to_caps (&info);
+  /* Compare to currently configured output state */
+  outstate = gst_video_decoder_get_output_state (GST_VIDEO_DECODER (dec));
+  if (outstate) {
+    info = &outstate->info;
 
-  GST_DEBUG_OBJECT (dec, "setting caps %" GST_PTR_FORMAT, caps);
+    if (width == GST_VIDEO_INFO_WIDTH (info) &&
+        height == GST_VIDEO_INFO_HEIGHT (info) &&
+        format == GST_VIDEO_INFO_FORMAT (info)) {
+      gst_video_codec_state_unref (outstate);
+      return;
+    }
+    gst_video_codec_state_unref (outstate);
+  }
+
+  outstate =
+      gst_video_decoder_set_output_state (GST_VIDEO_DECODER (dec), format,
+      width, height, dec->input_state);
+
+  switch (clrspc) {
+    case JCS_RGB:
+    case JCS_GRAYSCALE:
+      break;
+    default:
+      outstate->info.colorimetry.range = GST_VIDEO_COLOR_RANGE_0_255;
+      outstate->info.colorimetry.matrix = GST_VIDEO_COLOR_MATRIX_BT601;
+      outstate->info.colorimetry.transfer = GST_VIDEO_TRANSFER_UNKNOWN;
+      outstate->info.colorimetry.primaries = GST_VIDEO_COLOR_PRIMARIES_UNKNOWN;
+      break;
+  }
+
+  gst_video_codec_state_unref (outstate);
+
   GST_DEBUG_OBJECT (dec, "max_v_samp_factor=%d", dec->cinfo.max_v_samp_factor);
   GST_DEBUG_OBJECT (dec, "max_h_samp_factor=%d", dec->cinfo.max_h_samp_factor);
-
-  gst_pad_set_caps (dec->srcpad, caps);
-
-  dec->info = info;
-  dec->clrspc = clrspc;
-
-  gst_jpeg_dec_buffer_pool (dec, caps);
-  gst_caps_unref (caps);
-
-  return TRUE;
 }
 
 static GstFlowReturn
-gst_jpeg_dec_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
+gst_jpeg_dec_handle_frame (GstVideoDecoder * bdec, GstVideoCodecFrame * frame)
 {
   GstFlowReturn ret = GST_FLOW_OK;
-  GstJpegDec *dec;
-  GstBuffer *outbuf = NULL;
-  gint img_len;
+  GstJpegDec *dec = (GstJpegDec *) bdec;
+  GstVideoFrame vframe;
   gint width, height;
   gint r_h, r_v;
   guint code, hdr_ok;
-  GstClockTime timestamp, duration;
-  GstVideoFrame frame;
+  gboolean need_unmap = TRUE;
+  GstVideoCodecState *state = NULL;
 
-  dec = GST_JPEG_DEC (parent);
-
-  timestamp = GST_BUFFER_TIMESTAMP (buf);
-  duration = GST_BUFFER_DURATION (buf);
-
-  if (GST_CLOCK_TIME_IS_VALID (timestamp))
-    dec->next_ts = timestamp;
-
-  if (GST_BUFFER_IS_DISCONT (buf)) {
-    GST_DEBUG_OBJECT (dec, "buffer has DISCONT flag set");
-    dec->discont = TRUE;
-    if (!dec->packetized && gst_adapter_available (dec->adapter)) {
-      GST_WARNING_OBJECT (dec, "DISCONT buffer in non-packetized mode, bad");
-      gst_adapter_clear (dec->adapter);
-    }
-  }
-
-  gst_adapter_push (dec->adapter, buf);
-  buf = NULL;
-
-  /* If we are non-packetized and know the total incoming size in bytes,
-   * just wait until we have enough before doing any processing. */
-
-  if (!dec->packetized && (dec->segment.format == GST_FORMAT_BYTES) &&
-      (dec->segment.stop != -1) &&
-      (gst_adapter_available (dec->adapter) < dec->segment.stop)) {
-    /* We assume that non-packetized input in bytes is *one* single jpeg image */
-    GST_DEBUG ("Non-packetized mode. Got %" G_GSIZE_FORMAT " bytes, "
-        "need %" G_GINT64_FORMAT, gst_adapter_available (dec->adapter),
-        dec->segment.stop);
-    goto need_more_data;
-  }
-
-again:
-  if (!gst_jpeg_dec_ensure_header (dec))
-    goto need_more_data;
-
-  /* If we know that each input buffer contains data
-   * for a whole jpeg image (e.g. MJPEG streams), just 
-   * do some sanity checking instead of parsing all of 
-   * the jpeg data */
-  if (dec->packetized) {
-    img_len = gst_adapter_available (dec->adapter);
-  } else {
-    /* Parse jpeg image to handle jpeg input that
-     * is not aligned to buffer boundaries */
-    img_len = gst_jpeg_dec_parse_image_data (dec);
-
-    if (img_len == 0) {
-      goto need_more_data;
-    } else if (img_len < 0) {
-      gst_adapter_flush (dec->adapter, -img_len);
-      goto again;
-    }
-  }
-
-  dec->rem_img_len = img_len;
-
-  GST_LOG_OBJECT (dec, "image size = %u", img_len);
-
-  /* QoS: if we're too late anyway, skip decoding */
-  if (dec->packetized && !gst_jpeg_dec_do_qos (dec, timestamp))
-    goto skip_decoding;
-
-#ifndef GST_DISABLE_GST_DEBUG
-  {
-    guchar data[4];
-
-    gst_adapter_copy (dec->adapter, data, 0, 4);
-    GST_LOG_OBJECT (dec, "reading header %02x %02x %02x %02x", data[0], data[1],
-        data[2], data[3]);
-  }
-#endif
-
+  dec->current_frame = frame;
+  gst_buffer_map (frame->input_buffer, &dec->current_frame_map, GST_MAP_READ);
   gst_jpeg_dec_fill_input_buffer (&dec->cinfo);
 
   if (setjmp (dec->jerr.setjmp_buffer)) {
@@ -1497,38 +1166,21 @@
 
   gst_jpeg_dec_negotiate (dec, width, height, dec->cinfo.jpeg_color_space);
 
-  ret = gst_buffer_pool_acquire_buffer (dec->pool, &outbuf, NULL);
+  state = gst_video_decoder_get_output_state (bdec);
+  ret = gst_video_decoder_alloc_output_frame (bdec, frame);
   if (G_UNLIKELY (ret != GST_FLOW_OK))
     goto alloc_failed;
 
-  if (!gst_video_frame_map (&frame, &dec->info, outbuf, GST_MAP_READWRITE))
-    goto invalid_frame;
+  if (!gst_video_frame_map (&vframe, &state->info, frame->output_buffer,
+          GST_MAP_READWRITE))
+    goto alloc_failed;
 
   GST_LOG_OBJECT (dec, "width %d, height %d", width, height);
 
-  GST_BUFFER_TIMESTAMP (outbuf) = dec->next_ts;
-
-  if (dec->packetized && GST_CLOCK_TIME_IS_VALID (dec->next_ts)) {
-    if (GST_CLOCK_TIME_IS_VALID (duration)) {
-      /* use duration from incoming buffer for outgoing buffer */
-      dec->next_ts += duration;
-    } else if (GST_CLOCK_TIME_IS_VALID (dec->duration)) {
-      duration = dec->duration;
-      dec->next_ts += dec->duration;
-    } else {
-      duration = GST_CLOCK_TIME_NONE;
-      dec->next_ts = GST_CLOCK_TIME_NONE;
-    }
-  } else {
-    duration = GST_CLOCK_TIME_NONE;
-    dec->next_ts = GST_CLOCK_TIME_NONE;
-  }
-  GST_BUFFER_DURATION (outbuf) = duration;
-
   if (dec->cinfo.jpeg_color_space == JCS_RGB) {
-    gst_jpeg_dec_decode_rgb (dec, &frame);
+    gst_jpeg_dec_decode_rgb (dec, &vframe);
   } else if (dec->cinfo.jpeg_color_space == JCS_GRAYSCALE) {
-    gst_jpeg_dec_decode_grayscale (dec, &frame);
+    gst_jpeg_dec_decode_grayscale (dec, &vframe);
   } else {
     GST_LOG_OBJECT (dec, "decompressing (reqired scanline buffer height = %u)",
         dec->cinfo.rec_outbuf_height);
@@ -1544,60 +1196,29 @@
             || dec->cinfo.comp_info[2].h_samp_factor != 1)) {
       GST_CAT_LOG_OBJECT (GST_CAT_PERFORMANCE, dec,
           "indirect decoding using extra buffer copy");
-      gst_jpeg_dec_decode_indirect (dec, &frame, r_v, r_h,
+      gst_jpeg_dec_decode_indirect (dec, &vframe, r_v, r_h,
           dec->cinfo.num_components);
     } else {
-      ret = gst_jpeg_dec_decode_direct (dec, &frame);
+      ret = gst_jpeg_dec_decode_direct (dec, &vframe);
+
       if (G_UNLIKELY (ret != GST_FLOW_OK))
         goto decode_direct_failed;
     }
   }
 
+  gst_video_frame_unmap (&vframe);
+
   GST_LOG_OBJECT (dec, "decompressing finished");
   jpeg_finish_decompress (&dec->cinfo);
 
-  gst_video_frame_unmap (&frame);
-
-  /* Clipping */
-  if (dec->segment.format == GST_FORMAT_TIME) {
-    guint64 start, stop, clip_start, clip_stop;
-
-    GST_LOG_OBJECT (dec, "Attempting clipping");
-
-    start = GST_BUFFER_TIMESTAMP (outbuf);
-    if (GST_BUFFER_DURATION (outbuf) == GST_CLOCK_TIME_NONE)
-      stop = start;
-    else
-      stop = start + GST_BUFFER_DURATION (outbuf);
-
-    if (gst_segment_clip (&dec->segment, GST_FORMAT_TIME,
-            start, stop, &clip_start, &clip_stop)) {
-      GST_LOG_OBJECT (dec, "Clipping start to %" GST_TIME_FORMAT,
-          GST_TIME_ARGS (clip_start));
-      GST_BUFFER_TIMESTAMP (outbuf) = clip_start;
-      if (GST_BUFFER_DURATION (outbuf) != GST_CLOCK_TIME_NONE) {
-        GST_LOG_OBJECT (dec, "Clipping duration to %" GST_TIME_FORMAT,
-            GST_TIME_ARGS (clip_stop - clip_start));
-        GST_BUFFER_DURATION (outbuf) = clip_stop - clip_start;
-      }
-    } else
-      goto drop_buffer;
-  }
-
   /* reset error count on successful decode */
   dec->error_count = 0;
 
-  ++dec->good_count;
+  gst_buffer_unmap (frame->input_buffer, &dec->current_frame_map);
+  ret = gst_video_decoder_finish_frame (bdec, frame);
+  need_unmap = FALSE;
 
-  GST_LOG_OBJECT (dec, "pushing buffer (ts=%" GST_TIME_FORMAT ", dur=%"
-      GST_TIME_FORMAT, GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (outbuf)),
-      GST_TIME_ARGS (GST_BUFFER_DURATION (outbuf)));
-
-  ret = gst_pad_push (dec->srcpad, outbuf);
-
-skip_decoding:
 done:
-  gst_adapter_flush (dec->adapter, dec->rem_img_len);
 
 exit:
 
@@ -1606,16 +1227,18 @@
     ret = gst_jpeg_dec_post_error_or_warning (dec);
   }
 
+  if (need_unmap)
+    gst_buffer_unmap (frame->input_buffer, &dec->current_frame_map);
+
+  if (state)
+    gst_video_codec_state_unref (state);
+
   return ret;
 
   /* special cases */
 need_more_data:
   {
     GST_LOG_OBJECT (dec, "we need more data");
-    if (outbuf) {
-      gst_buffer_unref (outbuf);
-      outbuf = NULL;
-    }
     ret = GST_FLOW_OK;
     goto exit;
   }
@@ -1636,10 +1259,10 @@
     gst_jpeg_dec_set_error (dec, GST_FUNCTION, __LINE__,
         "Decode error #%u: %s", code, err_msg);
 
-    if (outbuf) {
-      gst_buffer_unref (outbuf);
-      outbuf = NULL;
-    }
+    gst_buffer_unmap (frame->input_buffer, &dec->current_frame_map);
+    gst_video_decoder_drop_frame (bdec, frame);
+    need_unmap = FALSE;
+
     ret = GST_FLOW_ERROR;
     goto done;
   }
@@ -1647,7 +1270,6 @@
   {
     /* already posted an error message */
     jpeg_abort_decompress (&dec->cinfo);
-    gst_buffer_replace (&outbuf, NULL);
     goto done;
   }
 alloc_failed:
@@ -1666,20 +1288,6 @@
     }
     goto exit;
   }
-invalid_frame:
-  {
-    jpeg_abort_decompress (&dec->cinfo);
-    gst_buffer_unref (outbuf);
-    ret = GST_FLOW_OK;
-    goto exit;
-  }
-drop_buffer:
-  {
-    GST_WARNING_OBJECT (dec, "Outgoing buffer is outside configured segment");
-    gst_buffer_unref (outbuf);
-    ret = GST_FLOW_OK;
-    goto exit;
-  }
 components_not_supported:
   {
     gst_jpeg_dec_set_error (dec, GST_FUNCTION, __LINE__,
@@ -1705,102 +1313,40 @@
 }
 
 static gboolean
-gst_jpeg_dec_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
+gst_jpeg_dec_decide_allocation (GstVideoDecoder * bdec, GstQuery * query)
 {
-  GstJpegDec *dec;
-  gboolean res;
+  GstBufferPool *pool;
+  GstStructure *config;
 
-  dec = GST_JPEG_DEC (parent);
+  if (!GST_VIDEO_DECODER_CLASS (parent_class)->decide_allocation (bdec, query))
+    return FALSE;
 
-  switch (GST_EVENT_TYPE (event)) {
-    case GST_EVENT_QOS:{
-      GstQOSType type;
-      GstClockTimeDiff diff;
-      GstClockTime timestamp;
-      gdouble proportion;
+  g_assert (gst_query_get_n_allocation_pools (query) > 0);
+  gst_query_parse_nth_allocation_pool (query, 0, &pool, NULL, NULL, NULL);
+  g_assert (pool != NULL);
 
-      gst_event_parse_qos (event, &type, &proportion, &diff, &timestamp);
-      gst_jpeg_dec_update_qos (dec, proportion, diff, timestamp);
-      break;
-    }
-    default:
-      break;
+  config = gst_buffer_pool_get_config (pool);
+  if (gst_query_has_allocation_meta (query, GST_VIDEO_META_API_TYPE)) {
+    gst_buffer_pool_config_add_option (config,
+        GST_BUFFER_POOL_OPTION_VIDEO_META);
   }
+  gst_buffer_pool_set_config (pool, config);
+  gst_object_unref (pool);
 
-  res = gst_pad_push_event (dec->sinkpad, event);
-
-  return res;
+  return TRUE;
 }
 
 static gboolean
-gst_jpeg_dec_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
+gst_jpeg_dec_reset (GstVideoDecoder * bdec, gboolean hard)
 {
-  gboolean ret = TRUE, forward = TRUE;
-  GstJpegDec *dec = GST_JPEG_DEC (parent);
+  GstJpegDec *dec = (GstJpegDec *) bdec;
 
-  GST_DEBUG_OBJECT (dec, "event : %s", GST_EVENT_TYPE_NAME (event));
+  jpeg_abort_decompress (&dec->cinfo);
+  dec->parse_entropy_len = 0;
+  dec->parse_resync = FALSE;
+  dec->saw_header = FALSE;
 
-  switch (GST_EVENT_TYPE (event)) {
-    case GST_EVENT_FLUSH_STOP:
-      GST_DEBUG_OBJECT (dec, "Aborting decompress");
-      jpeg_abort_decompress (&dec->cinfo);
-      gst_segment_init (&dec->segment, GST_FORMAT_UNDEFINED);
-      gst_adapter_clear (dec->adapter);
-      g_free (dec->cur_buf);
-      dec->cur_buf = NULL;
-      dec->parse_offset = 0;
-      dec->parse_entropy_len = 0;
-      dec->parse_resync = FALSE;
-      gst_jpeg_dec_reset_qos (dec);
-      break;
-    case GST_EVENT_SEGMENT:
-      gst_event_copy_segment (event, &dec->segment);
-      GST_DEBUG_OBJECT (dec, "Got NEWSEGMENT %" GST_SEGMENT_FORMAT,
-          &dec->segment);
-      break;
-    case GST_EVENT_CAPS:
-    {
-      GstCaps *caps;
-
-      gst_event_parse_caps (event, &caps);
-      ret = gst_jpeg_dec_setcaps (dec, caps);
-      forward = FALSE;
-      break;
-    }
-    default:
-      break;
-  }
-
-  if (forward)
-    ret = gst_pad_push_event (dec->srcpad, event);
-  else
-    gst_event_unref (event);
-
-  return ret;
-}
-
-static gboolean
-gst_jpeg_dec_sink_query (GstPad * pad, GstObject * parent, GstQuery * query)
-{
-  gboolean res = FALSE;
-
-  switch (GST_QUERY_TYPE (query)) {
-    case GST_QUERY_CAPS:
-    {
-      GstCaps *filter, *caps;
-
-      gst_query_parse_caps (query, &filter);
-      caps = gst_jpeg_dec_getcaps (pad, filter);
-      gst_query_set_caps_result (query, caps);
-      gst_caps_unref (caps);
-      res = TRUE;
-      break;
-    }
-    default:
-      res = gst_pad_query_default (pad, parent, query);
-      break;
-  }
-  return res;
+  return TRUE;
 }
 
 static void
@@ -1847,54 +1393,24 @@
   }
 }
 
-static GstStateChangeReturn
-gst_jpeg_dec_change_state (GstElement * element, GstStateChange transition)
+static gboolean
+gst_jpeg_dec_start (GstVideoDecoder * bdec)
 {
-  GstStateChangeReturn ret;
-  GstJpegDec *dec;
+  GstJpegDec *dec = (GstJpegDec *) bdec;
 
-  dec = GST_JPEG_DEC (element);
+  dec->error_count = 0;
+  dec->parse_entropy_len = 0;
+  dec->parse_resync = FALSE;
 
-  switch (transition) {
-    case GST_STATE_CHANGE_READY_TO_PAUSED:
-      dec->error_count = 0;
-      dec->good_count = 0;
-      dec->in_fps_n = 0;
-      dec->in_fps_d = 1;
-      gst_video_info_init (&dec->info);
-      dec->clrspc = -1;
-      dec->packetized = FALSE;
-      dec->next_ts = 0;
-      dec->discont = TRUE;
-      dec->parse_offset = 0;
-      dec->parse_entropy_len = 0;
-      dec->parse_resync = FALSE;
-      dec->cur_buf = NULL;
-      gst_segment_init (&dec->segment, GST_FORMAT_UNDEFINED);
-      gst_jpeg_dec_reset_qos (dec);
-    default:
-      break;
-  }
+  return TRUE;
+}
 
-  ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
-  if (ret != GST_STATE_CHANGE_SUCCESS)
-    return ret;
+static gboolean
+gst_jpeg_dec_stop (GstVideoDecoder * bdec)
+{
+  GstJpegDec *dec = (GstJpegDec *) bdec;
 
-  switch (transition) {
-    case GST_STATE_CHANGE_PAUSED_TO_READY:
-      gst_adapter_clear (dec->adapter);
-      g_free (dec->cur_buf);
-      dec->cur_buf = NULL;
-      gst_jpeg_dec_free_buffers (dec);
-      if (dec->pool) {
-        gst_buffer_pool_set_active (dec->pool, FALSE);
-        gst_object_unref (dec->pool);
-      }
-      dec->pool = NULL;
-      break;
-    default:
-      break;
-  }
+  gst_jpeg_dec_free_buffers (dec);
 
-  return ret;
+  return TRUE;
 }
diff --git a/ext/jpeg/gstjpegdec.h b/ext/jpeg/gstjpegdec.h
index 4946ee5..f9f33ae 100644
--- a/ext/jpeg/gstjpegdec.h
+++ b/ext/jpeg/gstjpegdec.h
@@ -1,5 +1,7 @@
 /* GStreamer
  * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
+ * Copyright (C) 2012 Collabora Ltd.
+ *	Author : Edward Hervey <edward@collabora.com>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -25,6 +27,7 @@
 #include <setjmp.h>
 #include <gst/gst.h>
 #include <gst/video/video.h>
+#include <gst/video/gstvideodecoder.h>
 #include <gst/base/gstadapter.h>
 
 /* this is a hack hack hack to get around jpeglib header bugs... */
@@ -64,45 +67,15 @@
  * doesn't handle the N buffers in, 1 buffer out case,
  * but only the 1-in 1-out case */
 struct _GstJpegDec {
-  GstElement element;
+  GstVideoDecoder decoder;
 
-  /* pads */
-  GstPad  *sinkpad;
-  GstPad  *srcpad;
-
-  GstAdapter *adapter;
-
-  guint8     *cur_buf;
-
-  /* TRUE if each input buffer contains a whole jpeg image */
-  gboolean packetized;
-
-  /* the (expected) timestamp of the next frame */
-  guint64  next_ts;
-
-  GstSegment segment;
-
-  /* TRUE if the next output buffer should have the DISCONT flag set */
-  gboolean discont;
-
-  /* QoS stuff *//* with LOCK */
-  gdouble proportion;
-  GstClockTime earliest_time;
-  GstClockTime qos_duration;
-
-  /* input state */
-  gint in_fps_n;
-  gint in_fps_d;
-
-  /* negotiated output state */
-  GstBufferPool *pool;
-  GstVideoInfo info;
-  GstClockTime duration;
-
-  gint     clrspc;
+  /* negotiated state */
+  GstVideoCodecState *input_state;
+  GstVideoCodecFrame *current_frame;
+  GstMapInfo current_frame_map;
 
   /* parse state */
-  gint     parse_offset;
+  gboolean saw_header;
   gint     parse_entropy_len;
   gint     parse_resync;
 
@@ -118,9 +91,6 @@
   /* number of errors since start or last successfully decoded image */
   guint     error_count;
 
-  /* number of successfully decoded images since start */
-  guint     good_count;
-
   struct jpeg_decompress_struct cinfo;
   struct GstJpegDecErrorMgr     jerr;
   struct GstJpegDecSourceMgr    jsrc;
@@ -133,7 +103,7 @@
 };
 
 struct _GstJpegDecClass {
-  GstElementClass  parent_class;
+  GstVideoDecoderClass decoder_class;
 };
 
 GType gst_jpeg_dec_get_type(void);
diff --git a/ext/jpeg/gstjpegenc.c b/ext/jpeg/gstjpegenc.c
index 0e9ef27..8521522 100644
--- a/ext/jpeg/gstjpegenc.c
+++ b/ext/jpeg/gstjpegenc.c
@@ -1,5 +1,7 @@
 /* GStreamer
  * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
+ * Copyright (C) 2012 Collabora Ltd.
+ *	Author : Edward Hervey <edward@collabora.com>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -38,6 +40,7 @@
 #include "gstjpegenc.h"
 #include "gstjpeg.h"
 #include <gst/video/video.h>
+#include <gst/video/gstvideometa.h>
 
 /* experimental */
 /* setting smoothig seems to have no effect in libjepeg
@@ -69,24 +72,25 @@
 static void gst_jpegenc_reset (GstJpegEnc * enc);
 static void gst_jpegenc_finalize (GObject * object);
 
-static GstFlowReturn gst_jpegenc_chain (GstPad * pad, GstObject * parent,
-    GstBuffer * buf);
-static gboolean gst_jpegenc_sink_event (GstPad * pad, GstObject * parent,
-    GstEvent * event);
-static GstCaps *gst_jpegenc_getcaps (GstPad * pad, GstCaps * filter);
-static gboolean gst_jpegenc_sink_query (GstPad * pad, GstObject * parent,
-    GstQuery * query);
-
 static void gst_jpegenc_resync (GstJpegEnc * jpegenc);
 static void gst_jpegenc_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec);
 static void gst_jpegenc_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec);
-static GstStateChangeReturn gst_jpegenc_change_state (GstElement * element,
-    GstStateChange transition);
+
+static gboolean gst_jpegenc_start (GstVideoEncoder * benc);
+static gboolean gst_jpegenc_stop (GstVideoEncoder * benc);
+static gboolean gst_jpegenc_set_format (GstVideoEncoder * encoder,
+    GstVideoCodecState * state);
+static GstFlowReturn gst_jpegenc_handle_frame (GstVideoEncoder * encoder,
+    GstVideoCodecFrame * frame);
+static gboolean gst_jpegenc_propose_allocation (GstVideoEncoder * encoder,
+    GstQuery * query);
+
+/* static guint gst_jpegenc_signals[LAST_SIGNAL] = { 0 }; */
 
 #define gst_jpegenc_parent_class parent_class
-G_DEFINE_TYPE (GstJpegEnc, gst_jpegenc, GST_TYPE_ELEMENT);
+G_DEFINE_TYPE (GstJpegEnc, gst_jpegenc, GST_TYPE_VIDEO_ENCODER);
 
 /* *INDENT-OFF* */
 static GstStaticPadTemplate gst_jpegenc_sink_pad_template =
@@ -108,15 +112,18 @@
         "height = (int) [ 16, 65535 ], " "framerate = (fraction) [ 0/1, MAX ]")
     );
 
-
 static void
 gst_jpegenc_class_init (GstJpegEncClass * klass)
 {
   GObjectClass *gobject_class;
-  GstElementClass *gstelement_class;
+  GstElementClass *element_class;
+  GstVideoEncoderClass *venc_class;
 
   gobject_class = (GObjectClass *) klass;
-  gstelement_class = (GstElementClass *) klass;
+  element_class = (GstElementClass *) klass;
+  venc_class = (GstVideoEncoderClass *) klass;
+
+  parent_class = g_type_class_peek_parent (klass);
 
   gobject_class->finalize = gst_jpegenc_finalize;
   gobject_class->set_property = gst_jpegenc_set_property;
@@ -141,21 +148,31 @@
           JPEG_DEFAULT_IDCT_METHOD,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gstelement_class->change_state = gst_jpegenc_change_state;
-
-  gst_element_class_add_pad_template (gstelement_class,
+  gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&gst_jpegenc_sink_pad_template));
-  gst_element_class_add_pad_template (gstelement_class,
+  gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&gst_jpegenc_src_pad_template));
-  gst_element_class_set_static_metadata (gstelement_class, "JPEG image encoder",
+  gst_element_class_set_details_simple (element_class, "JPEG image encoder",
       "Codec/Encoder/Image",
       "Encode images in JPEG format", "Wim Taymans <wim.taymans@tvd.be>");
 
+  venc_class->start = gst_jpegenc_start;
+  venc_class->stop = gst_jpegenc_stop;
+  venc_class->set_format = gst_jpegenc_set_format;
+  venc_class->handle_frame = gst_jpegenc_handle_frame;
+  venc_class->propose_allocation = gst_jpegenc_propose_allocation;
+
   GST_DEBUG_CATEGORY_INIT (jpegenc_debug, "jpegenc", 0,
       "JPEG encoding element");
 }
 
 static void
+gst_jpegenc_init_destination (j_compress_ptr cinfo)
+{
+  GST_DEBUG ("gst_jpegenc_chain: init_destination");
+}
+
+static void
 ensure_memory (GstJpegEnc * jpegenc)
 {
   GstMemory *new_memory;
@@ -193,12 +210,6 @@
   jpegenc->jdest.free_in_buffer = new_size - old_size;
 }
 
-static void
-gst_jpegenc_init_destination (j_compress_ptr cinfo)
-{
-  GST_DEBUG ("gst_jpegenc_chain: init_destination");
-}
-
 static boolean
 gst_jpegenc_flush_destination (j_compress_ptr cinfo)
 {
@@ -215,7 +226,9 @@
 static void
 gst_jpegenc_term_destination (j_compress_ptr cinfo)
 {
+  GstBuffer *outbuf;
   GstJpegEnc *jpegenc = (GstJpegEnc *) (cinfo->client_data);
+
   GST_DEBUG_OBJECT (jpegenc, "gst_jpegenc_chain: term_source");
 
   gst_memory_unmap (jpegenc->output_mem, &jpegenc->output_map);
@@ -224,30 +237,25 @@
       jpegenc->output_map.size - jpegenc->jdest.free_in_buffer);
   jpegenc->output_map.data = NULL;
   jpegenc->output_map.size = 0;
+
+  outbuf = gst_buffer_new ();
+  gst_buffer_copy_into (outbuf, jpegenc->current_frame->input_buffer,
+      GST_BUFFER_COPY_METADATA, 0, -1);
+  gst_buffer_append_memory (outbuf, jpegenc->output_mem);
+  jpegenc->output_mem = NULL;
+
+  jpegenc->current_frame->output_buffer = outbuf;
+
+  gst_video_frame_unmap (&jpegenc->current_vframe);
+
+  gst_video_encoder_finish_frame (GST_VIDEO_ENCODER (jpegenc),
+      jpegenc->current_frame);
+  jpegenc->current_frame = NULL;
 }
 
 static void
 gst_jpegenc_init (GstJpegEnc * jpegenc)
 {
-  /* create the sink and src pads */
-  jpegenc->sinkpad =
-      gst_pad_new_from_static_template (&gst_jpegenc_sink_pad_template, "sink");
-  gst_pad_set_chain_function (jpegenc->sinkpad,
-      GST_DEBUG_FUNCPTR (gst_jpegenc_chain));
-  gst_pad_set_query_function (jpegenc->sinkpad,
-      GST_DEBUG_FUNCPTR (gst_jpegenc_sink_query));
-  gst_pad_set_event_function (jpegenc->sinkpad,
-      GST_DEBUG_FUNCPTR (gst_jpegenc_sink_event));
-  gst_element_add_pad (GST_ELEMENT (jpegenc), jpegenc->sinkpad);
-
-  jpegenc->srcpad =
-      gst_pad_new_from_static_template (&gst_jpegenc_src_pad_template, "src");
-  gst_pad_use_fixed_caps (jpegenc->srcpad);
-  gst_element_add_pad (GST_ELEMENT (jpegenc), jpegenc->srcpad);
-
-  /* reset the initial video state */
-  gst_video_info_init (&jpegenc->info);
-
   /* setup jpeglib */
   memset (&jpegenc->cinfo, 0, sizeof (jpegenc->cinfo));
   memset (&jpegenc->jerr, 0, sizeof (jpegenc->jerr));
@@ -285,8 +293,6 @@
       enc->row[i][j] = NULL;
     }
   }
-
-  gst_video_info_init (&enc->info);
 }
 
 static void
@@ -296,220 +302,92 @@
 
   jpeg_destroy_compress (&filter->cinfo);
 
+  if (filter->input_state)
+    gst_video_codec_state_unref (filter->input_state);
+
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
-static GstCaps *
-gst_jpegenc_getcaps (GstPad * pad, GstCaps * filter)
-{
-  GstJpegEnc *jpegenc = GST_JPEGENC (gst_pad_get_parent (pad));
-  GstCaps *caps, *othercaps;
-  GstCaps *otherfilter;
-  GstCaps *templ;
-  gint i, j;
-  GstStructure *structure = NULL;
-
-  /* we want to proxy properties like width, height and framerate from the
-     other end of the element */
-  if (filter) {
-    otherfilter = gst_caps_new_empty ();
-    for (i = 0; i < gst_caps_get_size (filter); i++) {
-      GstStructure *s = gst_structure_copy (gst_caps_get_structure (filter, i));
-
-      gst_structure_set_name (s, "image/jpeg");
-
-      gst_caps_append_structure (otherfilter, s);
-    }
-  } else {
-    otherfilter = NULL;
-  }
-  othercaps = gst_pad_peer_query_caps (jpegenc->srcpad, otherfilter);
-  if (otherfilter)
-    gst_caps_unref (otherfilter);
-
-  templ = gst_pad_get_pad_template_caps (pad);
-  if (othercaps == NULL ||
-      gst_caps_is_empty (othercaps) || gst_caps_is_any (othercaps)) {
-    caps = templ;
-    goto done;
-  }
-
-  caps = gst_caps_new_empty ();
-
-  for (i = 0; i < gst_caps_get_size (templ); i++) {
-    /* pick fields from peer caps */
-    for (j = 0; j < gst_caps_get_size (othercaps); j++) {
-      GstStructure *s = gst_caps_get_structure (othercaps, j);
-      const GValue *val;
-
-      structure = gst_structure_copy (gst_caps_get_structure (templ, i));
-      if ((val = gst_structure_get_value (s, "width")))
-        gst_structure_set_value (structure, "width", val);
-      if ((val = gst_structure_get_value (s, "height")))
-        gst_structure_set_value (structure, "height", val);
-      if ((val = gst_structure_get_value (s, "framerate")))
-        gst_structure_set_value (structure, "framerate", val);
-
-      caps = gst_caps_merge_structure (caps, structure);
-    }
-  }
-
-  gst_caps_unref (templ);
-
-done:
-
-  gst_caps_replace (&othercaps, NULL);
-  gst_object_unref (jpegenc);
-
-  return caps;
-}
-
 static gboolean
-gst_jpegenc_sink_query (GstPad * pad, GstObject * parent, GstQuery * query)
+gst_jpegenc_set_format (GstVideoEncoder * encoder, GstVideoCodecState * state)
 {
-  gboolean res;
-
-  switch (GST_QUERY_TYPE (query)) {
-    case GST_QUERY_CAPS:
-    {
-      GstCaps *filter, *caps;
-
-      gst_query_parse_caps (query, &filter);
-      caps = gst_jpegenc_getcaps (pad, filter);
-      gst_query_set_caps_result (query, caps);
-      gst_caps_unref (caps);
-      res = TRUE;
-      break;
-    }
-    default:
-      res = gst_pad_query_default (pad, parent, query);
-      break;
-  }
-  return res;
-}
-
-static gboolean
-gst_jpegenc_setcaps (GstJpegEnc * enc, GstCaps * caps)
-{
-  GstVideoInfo info;
+  GstJpegEnc *enc = GST_JPEGENC (encoder);
   gint i;
-  GstCaps *othercaps;
-  gboolean ret;
-  const GstVideoFormatInfo *vinfo;
+  GstVideoInfo *info = &state->info;
+  GstVideoCodecState *output;
 
-  /* get info from caps */
-  if (!gst_video_info_from_caps (&info, caps))
-    goto refuse_caps;
-
-  /* store input description */
-  enc->info = info;
-
-  vinfo = info.finfo;
+  if (enc->input_state)
+    gst_video_codec_state_unref (enc->input_state);
+  enc->input_state = gst_video_codec_state_ref (state);
 
   /* prepare a cached image description  */
-  enc->channels = 3 + (GST_VIDEO_FORMAT_INFO_HAS_ALPHA (vinfo) ? 1 : 0);
+  enc->channels = GST_VIDEO_INFO_N_COMPONENTS (info);
+
   /* ... but any alpha is disregarded in encoding */
-  if (GST_VIDEO_FORMAT_INFO_IS_GRAY (vinfo))
+  if (GST_VIDEO_INFO_IS_GRAY (info))
     enc->channels = 1;
-  else
-    enc->channels = 3;
 
   enc->h_max_samp = 0;
   enc->v_max_samp = 0;
   for (i = 0; i < enc->channels; ++i) {
-    enc->cwidth[i] = GST_VIDEO_INFO_COMP_WIDTH (&info, i);
-    enc->cheight[i] = GST_VIDEO_INFO_COMP_HEIGHT (&info, i);
-    enc->inc[i] = GST_VIDEO_INFO_COMP_PSTRIDE (&info, i);
-
-    enc->h_samp[i] = GST_ROUND_UP_4 (info.width) / enc->cwidth[i];
+    enc->cwidth[i] = GST_VIDEO_INFO_COMP_WIDTH (info, i);
+    enc->cheight[i] = GST_VIDEO_INFO_COMP_HEIGHT (info, i);
+    enc->inc[i] = GST_VIDEO_INFO_COMP_PSTRIDE (info, i);
+    enc->h_samp[i] =
+        GST_ROUND_UP_4 (GST_VIDEO_INFO_WIDTH (info)) / enc->cwidth[i];
     enc->h_max_samp = MAX (enc->h_max_samp, enc->h_samp[i]);
-    enc->v_samp[i] = GST_ROUND_UP_4 (info.height) / enc->cheight[i];
+    enc->v_samp[i] =
+        GST_ROUND_UP_4 (GST_VIDEO_INFO_HEIGHT (info)) / enc->cheight[i];
     enc->v_max_samp = MAX (enc->v_max_samp, enc->v_samp[i]);
   }
   /* samp should only be 1, 2 or 4 */
   g_assert (enc->h_max_samp <= 4);
   g_assert (enc->v_max_samp <= 4);
+
   /* now invert */
   /* maximum is invariant, as one of the components should have samp 1 */
   for (i = 0; i < enc->channels; ++i) {
+    GST_DEBUG ("%d %d", enc->h_samp[i], enc->h_max_samp);
     enc->h_samp[i] = enc->h_max_samp / enc->h_samp[i];
     enc->v_samp[i] = enc->v_max_samp / enc->v_samp[i];
   }
   enc->planar = (enc->inc[0] == 1 && enc->inc[1] == 1 && enc->inc[2] == 1);
 
-  othercaps = gst_caps_copy (gst_pad_get_pad_template_caps (enc->srcpad));
-  gst_caps_set_simple (othercaps,
-      "width", G_TYPE_INT, info.width, "height", G_TYPE_INT, info.height, NULL);
-  if (info.fps_d > 0)
-    gst_caps_set_simple (othercaps,
-        "framerate", GST_TYPE_FRACTION, info.fps_n, info.fps_d, NULL);
-  if (info.par_d > 0)
-    gst_caps_set_simple (othercaps,
-        "pixel-aspect-ratio", GST_TYPE_FRACTION, info.par_n, info.par_d, NULL);
+  output =
+      gst_video_encoder_set_output_state (encoder,
+      gst_caps_new_empty_simple ("image/jpeg"), state);
+  gst_video_codec_state_unref (output);
 
-  ret = gst_pad_set_caps (enc->srcpad, othercaps);
-  gst_caps_unref (othercaps);
+  gst_jpegenc_resync (enc);
 
-  if (ret)
-    gst_jpegenc_resync (enc);
-
-  return ret;
-
-  /* ERRORS */
-refuse_caps:
-  {
-    GST_WARNING_OBJECT (enc, "refused caps %" GST_PTR_FORMAT, caps);
-    return FALSE;
-  }
-}
-
-static gboolean
-gst_jpegenc_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
-{
-  gboolean res;
-  GstJpegEnc *enc = GST_JPEGENC (parent);
-
-  switch (GST_EVENT_TYPE (event)) {
-    case GST_EVENT_CAPS:
-    {
-      GstCaps *caps;
-
-      gst_event_parse_caps (event, &caps);
-      res = gst_jpegenc_setcaps (enc, caps);
-      gst_event_unref (event);
-      break;
-    }
-    default:
-      res = gst_pad_event_default (pad, parent, event);
-      break;
-  }
-
-  return res;
+  return TRUE;
 }
 
 static void
 gst_jpegenc_resync (GstJpegEnc * jpegenc)
 {
+  GstVideoInfo *info;
   gint width, height;
   gint i, j;
-  const GstVideoFormatInfo *finfo;
 
   GST_DEBUG_OBJECT (jpegenc, "resync");
 
-  finfo = jpegenc->info.finfo;
+  if (!jpegenc->input_state)
+    return;
 
-  jpegenc->cinfo.image_width = width = GST_VIDEO_INFO_WIDTH (&jpegenc->info);
-  jpegenc->cinfo.image_height = height = GST_VIDEO_INFO_HEIGHT (&jpegenc->info);
+  info = &jpegenc->input_state->info;
+
+  jpegenc->cinfo.image_width = width = GST_VIDEO_INFO_WIDTH (info);
+  jpegenc->cinfo.image_height = height = GST_VIDEO_INFO_HEIGHT (info);
   jpegenc->cinfo.input_components = jpegenc->channels;
 
   GST_DEBUG_OBJECT (jpegenc, "width %d, height %d", width, height);
-  GST_DEBUG_OBJECT (jpegenc, "format %d",
-      GST_VIDEO_INFO_FORMAT (&jpegenc->info));
+  GST_DEBUG_OBJECT (jpegenc, "format %d", GST_VIDEO_INFO_FORMAT (info));
 
-  if (GST_VIDEO_FORMAT_INFO_IS_RGB (finfo)) {
+  if (GST_VIDEO_INFO_IS_RGB (info)) {
     GST_DEBUG_OBJECT (jpegenc, "RGB");
     jpegenc->cinfo.in_color_space = JCS_RGB;
-  } else if (GST_VIDEO_FORMAT_INFO_IS_GRAY (finfo)) {
+  } else if (GST_VIDEO_INFO_IS_GRAY (info)) {
     GST_DEBUG_OBJECT (jpegenc, "gray");
     jpegenc->cinfo.in_color_space = JCS_GRAYSCALE;
   } else {
@@ -518,7 +396,7 @@
   }
 
   /* input buffer size as max output */
-  jpegenc->bufsize = GST_VIDEO_INFO_SIZE (&jpegenc->info);
+  jpegenc->bufsize = GST_VIDEO_INFO_SIZE (info);
   jpeg_set_defaults (&jpegenc->cinfo);
   jpegenc->cinfo.raw_data_in = TRUE;
   /* duh, libjpeg maps RGB to YUV ... and don't expect some conversion */
@@ -554,36 +432,33 @@
 }
 
 static GstFlowReturn
-gst_jpegenc_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
+gst_jpegenc_handle_frame (GstVideoEncoder * encoder, GstVideoCodecFrame * frame)
 {
-  GstFlowReturn ret;
   GstJpegEnc *jpegenc;
   guint height;
   guchar *base[3], *end[3];
   guint stride[3];
   gint i, j, k;
-  GstBuffer *outbuf;
-  GstVideoFrame frame;
   static GstAllocationParams params = { 0, 0, 0, 3, };
 
-  jpegenc = GST_JPEGENC (parent);
+  jpegenc = GST_JPEGENC (encoder);
 
-  if (G_UNLIKELY (GST_VIDEO_INFO_FORMAT (&jpegenc->info) ==
-          GST_VIDEO_FORMAT_UNKNOWN))
-    goto not_negotiated;
+  GST_LOG_OBJECT (jpegenc, "got new frame");
 
-  if (!gst_video_frame_map (&frame, &jpegenc->info, buf, GST_MAP_READ))
+  if (!gst_video_frame_map (&jpegenc->current_vframe,
+          &jpegenc->input_state->info, frame->input_buffer, GST_MAP_READ))
     goto invalid_frame;
 
-  height = GST_VIDEO_FRAME_HEIGHT (&frame);
+  jpegenc->current_frame = frame;
 
-  GST_LOG_OBJECT (jpegenc, "got buffer of %" G_GSIZE_FORMAT " bytes",
-      gst_buffer_get_size (buf));
+  height = GST_VIDEO_INFO_HEIGHT (&jpegenc->input_state->info);
 
   for (i = 0; i < jpegenc->channels; i++) {
-    base[i] = GST_VIDEO_FRAME_COMP_DATA (&frame, i);
-    stride[i] = GST_VIDEO_FRAME_COMP_STRIDE (&frame, i);
-    end[i] = base[i] + GST_VIDEO_FRAME_COMP_HEIGHT (&frame, i) * stride[i];
+    base[i] = GST_VIDEO_FRAME_COMP_DATA (&jpegenc->current_vframe, i);
+    stride[i] = GST_VIDEO_FRAME_COMP_STRIDE (&jpegenc->current_vframe, i);
+    end[i] =
+        base[i] + GST_VIDEO_FRAME_COMP_HEIGHT (&jpegenc->current_vframe,
+        i) * stride[i];
   }
 
   jpegenc->output_mem = gst_allocator_alloc (NULL, jpegenc->bufsize, &params);
@@ -643,33 +518,25 @@
   jpeg_finish_compress (&jpegenc->cinfo);
   GST_LOG_OBJECT (jpegenc, "compressing done");
 
-  outbuf = gst_buffer_new ();
-  gst_buffer_copy_into (outbuf, buf, GST_BUFFER_COPY_METADATA, 0, -1);
-  gst_buffer_append_memory (outbuf, jpegenc->output_mem);
-  jpegenc->output_mem = NULL;
+  return GST_FLOW_OK;
 
-  ret = gst_pad_push (jpegenc->srcpad, outbuf);
-
-  gst_video_frame_unmap (&frame);
-  gst_buffer_unref (buf);
-
-  return ret;
-
-  /* ERRORS */
-not_negotiated:
-  {
-    GST_WARNING_OBJECT (jpegenc, "no input format set (no caps on buffer)");
-    gst_buffer_unref (buf);
-    return GST_FLOW_NOT_NEGOTIATED;
-  }
 invalid_frame:
   {
     GST_WARNING_OBJECT (jpegenc, "invalid frame received");
-    gst_buffer_unref (buf);
+    gst_video_encoder_finish_frame (encoder, frame);
     return GST_FLOW_OK;
   }
 }
 
+static gboolean
+gst_jpegenc_propose_allocation (GstVideoEncoder * encoder, GstQuery * query)
+{
+  gst_query_add_allocation_meta (query, GST_VIDEO_META_API_TYPE);
+
+  return GST_VIDEO_ENCODER_CLASS (parent_class)->propose_allocation (encoder,
+      query);
+}
+
 static void
 gst_jpegenc_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec)
@@ -726,34 +593,24 @@
   GST_OBJECT_UNLOCK (jpegenc);
 }
 
-static GstStateChangeReturn
-gst_jpegenc_change_state (GstElement * element, GstStateChange transition)
+static gboolean
+gst_jpegenc_start (GstVideoEncoder * benc)
 {
-  GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
-  GstJpegEnc *filter = GST_JPEGENC (element);
+  GstJpegEnc *enc = (GstJpegEnc *) benc;
 
-  switch (transition) {
-    case GST_STATE_CHANGE_NULL_TO_READY:
-      GST_DEBUG_OBJECT (element, "setting line buffers");
-      filter->line[0] = NULL;
-      filter->line[1] = NULL;
-      filter->line[2] = NULL;
-      break;
-    default:
-      break;
-  }
+  enc->line[0] = NULL;
+  enc->line[1] = NULL;
+  enc->line[2] = NULL;
 
-  ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
-  if (ret == GST_STATE_CHANGE_FAILURE)
-    return ret;
+  return TRUE;
+}
 
-  switch (transition) {
-    case GST_STATE_CHANGE_PAUSED_TO_READY:
-      gst_jpegenc_reset (filter);
-      break;
-    default:
-      break;
-  }
+static gboolean
+gst_jpegenc_stop (GstVideoEncoder * benc)
+{
+  GstJpegEnc *enc = (GstJpegEnc *) benc;
 
-  return ret;
+  gst_jpegenc_reset (enc);
+
+  return TRUE;
 }
diff --git a/ext/jpeg/gstjpegenc.h b/ext/jpeg/gstjpegenc.h
index f684ff8..470b50d 100644
--- a/ext/jpeg/gstjpegenc.h
+++ b/ext/jpeg/gstjpegenc.h
@@ -1,5 +1,7 @@
 /* GStreamer
  * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
+ * Copyright (C) 2012 Collabora Ltd.
+ *	Author : Edward Hervey <edward@collabora.com>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -24,6 +26,7 @@
 
 #include <gst/gst.h>
 #include <gst/video/video.h>
+#include <gst/video/gstvideoencoder.h>
 /* this is a hack hack hack to get around jpeglib header bugs... */
 #ifdef HAVE_STDLIB_H
 # undef HAVE_STDLIB_H
@@ -48,16 +51,14 @@
 
 struct _GstJpegEnc
 {
-  GstElement element;
+  GstVideoEncoder encoder;
 
-  /* pads */
-  GstPad *sinkpad, *srcpad;
+  GstVideoCodecState *input_state;
+  GstVideoFrame current_vframe;
+  GstVideoCodecFrame *current_frame;
 
-  /* stream/image properties */
-  GstVideoInfo info;
-  gint channels;
+  guint channels;
 
-  /* standard video_format indexed */
   gint inc[GST_VIDEO_MAX_COMPONENTS];
   gint cwidth[GST_VIDEO_MAX_COMPONENTS];
   gint cheight[GST_VIDEO_MAX_COMPONENTS];
@@ -82,16 +83,13 @@
   gint smoothing;
   gint idct_method;
 
-  /* cached return state for any problems that may occur in callbacks */
-  GstFlowReturn last_ret;
-
   GstMemory *output_mem;
   GstMapInfo output_map;
 };
 
 struct _GstJpegEncClass
 {
-  GstElementClass parent_class;
+  GstVideoEncoderClass parent_class;
 };
 
 GType gst_jpegenc_get_type (void);
diff --git a/ext/libcaca/Makefile.in b/ext/libcaca/Makefile.in
index 3f81501..89c3816 100644
--- a/ext/libcaca/Makefile.in
+++ b/ext/libcaca/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = ext/libcaca
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -183,8 +183,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -231,6 +229,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -275,8 +274,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -291,6 +292,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -356,7 +361,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -412,6 +417,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -484,7 +490,11 @@
 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@
diff --git a/ext/libpng/Makefile.in b/ext/libpng/Makefile.in
index 22ea82b..632e207 100644
--- a/ext/libpng/Makefile.in
+++ b/ext/libpng/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = ext/libpng
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -184,8 +184,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -232,6 +230,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -276,8 +275,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -292,6 +293,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -357,7 +362,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -413,6 +418,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -485,7 +491,11 @@
 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@
diff --git a/ext/libpng/gstpngdec.c b/ext/libpng/gstpngdec.c
index 74d8edf..a9c3a32 100644
--- a/ext/libpng/gstpngdec.c
+++ b/ext/libpng/gstpngdec.c
@@ -1,5 +1,7 @@
 /* GStreamer
  * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
+ * Copyright (C) 2012 Collabora Ltd.
+ *	Author : Edward Hervey <edward@collabora.com>
  *
  * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -36,26 +38,21 @@
 #define GST_CAT_DEFAULT pngdec_debug
 
 static gboolean gst_pngdec_libpng_init (GstPngDec * pngdec);
-static gboolean gst_pngdec_libpng_clear (GstPngDec * pngdec);
-
-static GstStateChangeReturn gst_pngdec_change_state (GstElement * element,
-    GstStateChange transition);
-
-static gboolean gst_pngdec_sink_activate_mode (GstPad * sinkpad,
-    GstObject * parent, GstPadMode mode, gboolean active);
-static gboolean gst_pngdec_sink_activate (GstPad * sinkpad, GstObject * parent);
+static gboolean gst_pngdec_reset (GstVideoDecoder * decoder, gboolean hard);
 
 static GstFlowReturn gst_pngdec_caps_create_and_set (GstPngDec * pngdec);
 
-static void gst_pngdec_task (GstPad * pad);
-static GstFlowReturn gst_pngdec_chain (GstPad * pad, GstObject * parent,
-    GstBuffer * buffer);
-static gboolean gst_pngdec_sink_event (GstPad * pad, GstObject * parent,
-    GstEvent * event);
-static gboolean gst_pngdec_sink_setcaps (GstPngDec * pngdec, GstCaps * caps);
+static gboolean gst_pngdec_start (GstVideoDecoder * decoder);
+static gboolean gst_pngdec_stop (GstVideoDecoder * decoder);
+static gboolean gst_pngdec_set_format (GstVideoDecoder * Decoder,
+    GstVideoCodecState * state);
+static GstFlowReturn gst_pngdec_handle_frame (GstVideoDecoder * decoder,
+    GstVideoCodecFrame * frame);
+static gboolean gst_pngdec_decide_allocation (GstVideoDecoder * decoder,
+    GstQuery * query);
 
-static GstFlowReturn gst_pngdec_negotiate_pool (GstPngDec * dec,
-    GstCaps * caps, GstVideoInfo * info);
+#define parent_class gst_pngdec_parent_class
+G_DEFINE_TYPE (GstPngDec, gst_pngdec, GST_TYPE_VIDEO_DECODER);
 
 static GstStaticPadTemplate gst_pngdec_src_pad_template =
 GST_STATIC_PAD_TEMPLATE ("src",
@@ -72,66 +69,38 @@
     GST_STATIC_CAPS ("image/png")
     );
 
-#define gst_pngdec_parent_class parent_class
-G_DEFINE_TYPE (GstPngDec, gst_pngdec, GST_TYPE_ELEMENT);
-
 static void
 gst_pngdec_class_init (GstPngDecClass * klass)
 {
-  GstElementClass *gstelement_class;
+  GstElementClass *element_class = (GstElementClass *) klass;
+  GstVideoDecoderClass *vdec_class = (GstVideoDecoderClass *) klass;
 
-  gstelement_class = (GstElementClass *) klass;
-
-  gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_pngdec_change_state);
-
-  gst_element_class_add_pad_template (gstelement_class,
+  gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&gst_pngdec_src_pad_template));
-  gst_element_class_add_pad_template (gstelement_class,
+  gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&gst_pngdec_sink_pad_template));
-  gst_element_class_set_static_metadata (gstelement_class, "PNG image decoder",
+  gst_element_class_set_details_simple (element_class, "PNG image decoder",
       "Codec/Decoder/Image",
       "Decode a png video frame to a raw image",
       "Wim Taymans <wim@fluendo.com>");
 
+  vdec_class->start = gst_pngdec_start;
+  vdec_class->reset = gst_pngdec_reset;
+  vdec_class->set_format = gst_pngdec_set_format;
+  vdec_class->handle_frame = gst_pngdec_handle_frame;
+  vdec_class->decide_allocation = gst_pngdec_decide_allocation;
+
   GST_DEBUG_CATEGORY_INIT (pngdec_debug, "pngdec", 0, "PNG image decoder");
 }
 
 static void
 gst_pngdec_init (GstPngDec * pngdec)
 {
-  pngdec->sinkpad =
-      gst_pad_new_from_static_template (&gst_pngdec_sink_pad_template, "sink");
-  gst_pad_set_activate_function (pngdec->sinkpad,
-      GST_DEBUG_FUNCPTR (gst_pngdec_sink_activate));
-  gst_pad_set_activatemode_function (pngdec->sinkpad,
-      GST_DEBUG_FUNCPTR (gst_pngdec_sink_activate_mode));
-  gst_pad_set_chain_function (pngdec->sinkpad,
-      GST_DEBUG_FUNCPTR (gst_pngdec_chain));
-  gst_pad_set_event_function (pngdec->sinkpad,
-      GST_DEBUG_FUNCPTR (gst_pngdec_sink_event));
-  gst_element_add_pad (GST_ELEMENT (pngdec), pngdec->sinkpad);
-
-  pngdec->srcpad =
-      gst_pad_new_from_static_template (&gst_pngdec_src_pad_template, "src");
-  gst_pad_use_fixed_caps (pngdec->srcpad);
-  gst_element_add_pad (GST_ELEMENT (pngdec), pngdec->srcpad);
-
-  pngdec->buffer_out = NULL;
   pngdec->png = NULL;
   pngdec->info = NULL;
   pngdec->endinfo = NULL;
-  pngdec->setup = FALSE;
 
   pngdec->color_type = -1;
-  pngdec->width = -1;
-  pngdec->height = -1;
-  pngdec->fps_n = 0;
-  pngdec->fps_d = 1;
-
-  pngdec->in_timestamp = GST_CLOCK_TIME_NONE;
-  pngdec->in_duration = GST_CLOCK_TIME_NONE;
-
-  gst_segment_init (&pngdec->segment, GST_FORMAT_UNDEFINED);
 
   pngdec->image_ready = FALSE;
 }
@@ -153,41 +122,41 @@
 {
   GstPngDec *pngdec = NULL;
   GstFlowReturn ret = GST_FLOW_OK;
-  GstBuffer *buffer = NULL;
-
-  pngdec = GST_PNGDEC (png_get_io_ptr (png_ptr));
 
   GST_LOG ("info ready");
 
+  pngdec = GST_PNGDEC (png_get_io_ptr (png_ptr));
   /* Generate the caps and configure */
   ret = gst_pngdec_caps_create_and_set (pngdec);
   if (ret != GST_FLOW_OK) {
     goto beach;
   }
 
-  if (gst_pad_check_reconfigure (pngdec->srcpad)) {
-    GstCaps *caps;
-
-    caps = gst_pad_get_current_caps (pngdec->srcpad);
-    gst_pngdec_negotiate_pool (pngdec, caps, &pngdec->vinfo);
-    gst_caps_unref (caps);
-  }
-
   /* Allocate output buffer */
-  g_assert (pngdec->pool);
-  ret = gst_buffer_pool_acquire_buffer (pngdec->pool, &buffer, NULL);
-  if (ret != GST_FLOW_OK) {
+  ret =
+      gst_video_decoder_alloc_output_frame (GST_VIDEO_DECODER (pngdec),
+      pngdec->current_frame);
+  if (G_UNLIKELY (ret != GST_FLOW_OK))
     GST_DEBUG_OBJECT (pngdec, "failed to acquire buffer");
-    ret = GST_FLOW_ERROR;
-    goto beach;
-  }
-
-  pngdec->buffer_out = buffer;
 
 beach:
   pngdec->ret = ret;
 }
 
+static gboolean
+gst_pngdec_set_format (GstVideoDecoder * decoder, GstVideoCodecState * state)
+{
+  GstPngDec *pngdec = (GstPngDec *) decoder;
+
+  if (pngdec->input_state)
+    gst_video_codec_state_unref (pngdec->input_state);
+  pngdec->input_state = gst_video_codec_state_ref (state);
+
+  /* We'll set format later on */
+
+  return TRUE;
+}
+
 static void
 user_endrow_callback (png_structp png_ptr, png_bytep new_row,
     png_uint_32 row_num, int pass)
@@ -200,14 +169,15 @@
 
   /* If buffer_out doesn't exist, it means buffer_alloc failed, which 
    * will already have set the return code */
-  if (GST_IS_BUFFER (pngdec->buffer_out)) {
+  if (GST_IS_BUFFER (pngdec->current_frame->output_buffer)) {
     GstVideoFrame frame;
-    GstBuffer *buffer = pngdec->buffer_out;
+    GstBuffer *buffer = pngdec->current_frame->output_buffer;
     size_t offset;
     gint width;
     guint8 *data;
 
-    if (!gst_video_frame_map (&frame, &pngdec->vinfo, buffer, GST_MAP_WRITE)) {
+    if (!gst_video_frame_map (&frame, &pngdec->output_state->info, buffer,
+            GST_MAP_WRITE)) {
       pngdec->ret = GST_FLOW_ERROR;
       return;
     }
@@ -215,7 +185,7 @@
     data = GST_VIDEO_FRAME_COMP_DATA (&frame, 0);
     offset = row_num * GST_VIDEO_FRAME_COMP_STRIDE (&frame, 0);
     GST_LOG ("got row %u, copying in buffer %p at offset %" G_GSIZE_FORMAT,
-        (guint) row_num, pngdec->buffer_out, offset);
+        (guint) row_num, pngdec->current_frame->output_buffer, offset);
     width = GST_ROUND_UP_4 (png_get_rowbytes (pngdec->png, pngdec->info));
     memcpy (data + offset, new_row, width);
     gst_video_frame_unmap (&frame);
@@ -223,30 +193,6 @@
   }
 }
 
-static gboolean
-buffer_clip (GstPngDec * dec, GstBuffer * buffer)
-{
-  gboolean res = TRUE;
-  guint64 cstart, cstop;
-
-  if ((!GST_CLOCK_TIME_IS_VALID (GST_BUFFER_TIMESTAMP (buffer))) ||
-      (!GST_CLOCK_TIME_IS_VALID (GST_BUFFER_DURATION (buffer))) ||
-      (dec->segment.format != GST_FORMAT_TIME))
-    goto beach;
-
-  cstart = GST_BUFFER_TIMESTAMP (buffer);
-  cstop = GST_BUFFER_DURATION (buffer);
-
-  if ((res = gst_segment_clip (&dec->segment, GST_FORMAT_TIME,
-              cstart, cstart + cstop, &cstart, &cstop))) {
-    GST_BUFFER_TIMESTAMP (buffer) = cstart;
-    GST_BUFFER_DURATION (buffer) = cstop - cstart;
-  }
-
-beach:
-  return res;
-}
-
 static void
 user_end_callback (png_structp png_ptr, png_infop info)
 {
@@ -256,152 +202,27 @@
 
   GST_LOG_OBJECT (pngdec, "and we are done reading this image");
 
-  if (!pngdec->buffer_out)
+  if (!pngdec->current_frame->output_buffer)
     return;
 
-  if (GST_CLOCK_TIME_IS_VALID (pngdec->in_timestamp))
-    GST_BUFFER_TIMESTAMP (pngdec->buffer_out) = pngdec->in_timestamp;
-  if (GST_CLOCK_TIME_IS_VALID (pngdec->in_duration))
-    GST_BUFFER_DURATION (pngdec->buffer_out) = pngdec->in_duration;
+  gst_buffer_unmap (pngdec->current_frame->input_buffer,
+      &pngdec->current_frame_map);
 
-  /* buffer clipping */
-  if (buffer_clip (pngdec, pngdec->buffer_out)) {
-    /* Push our buffer and then EOS if needed */
-    GST_LOG_OBJECT (pngdec, "pushing buffer with ts=%" GST_TIME_FORMAT,
-        GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (pngdec->buffer_out)));
+  pngdec->ret =
+      gst_video_decoder_finish_frame (GST_VIDEO_DECODER (pngdec),
+      pngdec->current_frame);
 
-    pngdec->ret = gst_pad_push (pngdec->srcpad, pngdec->buffer_out);
-  } else {
-    GST_LOG_OBJECT (pngdec, "dropped decoded buffer");
-    gst_buffer_unref (pngdec->buffer_out);
-  }
-  pngdec->buffer_out = NULL;
   pngdec->image_ready = TRUE;
 }
 
-static void
-user_read_data (png_structp png_ptr, png_bytep data, png_size_t length)
-{
-  GstPngDec *pngdec;
-  GstBuffer *buffer = NULL;
-  GstFlowReturn ret = GST_FLOW_OK;
-  guint size;
-
-  pngdec = GST_PNGDEC (png_get_io_ptr (png_ptr));
-
-  GST_LOG ("reading %" G_GSIZE_FORMAT " bytes of data at offset %d", length,
-      pngdec->offset);
-
-  ret = gst_pad_pull_range (pngdec->sinkpad, pngdec->offset, length, &buffer);
-  if (ret != GST_FLOW_OK)
-    goto pause;
-
-  size = gst_buffer_get_size (buffer);
-
-  if (size != length)
-    goto short_buffer;
-
-  gst_buffer_extract (buffer, 0, data, size);
-  gst_buffer_unref (buffer);
-
-  pngdec->offset += length;
-
-  return;
-
-  /* ERRORS */
-pause:
-  {
-    GST_INFO_OBJECT (pngdec, "pausing task, reason %s",
-        gst_flow_get_name (ret));
-    gst_pad_pause_task (pngdec->sinkpad);
-    if (ret == GST_FLOW_EOS) {
-      gst_pad_push_event (pngdec->srcpad, gst_event_new_eos ());
-    } else if (ret < GST_FLOW_EOS || ret == GST_FLOW_NOT_LINKED) {
-      GST_ELEMENT_ERROR (pngdec, STREAM, FAILED,
-          (_("Internal data stream error.")),
-          ("stream stopped, reason %s", gst_flow_get_name (ret)));
-      gst_pad_push_event (pngdec->srcpad, gst_event_new_eos ());
-    }
-    png_error (png_ptr, "Internal data stream error.");
-    return;
-  }
-short_buffer:
-  {
-    gst_buffer_unref (buffer);
-    GST_ELEMENT_ERROR (pngdec, STREAM, FAILED,
-        (_("Internal data stream error.")),
-        ("Read %u, needed %" G_GSIZE_FORMAT "bytes", size, length));
-    ret = GST_FLOW_ERROR;
-    goto pause;
-  }
-}
-
-static GstFlowReturn
-gst_pngdec_negotiate_pool (GstPngDec * dec, GstCaps * caps, GstVideoInfo * info)
-{
-  GstQuery *query;
-  GstBufferPool *pool;
-  guint size, min, max;
-  GstStructure *config;
-
-  /* find a pool for the negotiated caps now */
-  query = gst_query_new_allocation (caps, TRUE);
-
-  if (!gst_pad_peer_query (dec->srcpad, query)) {
-    GST_DEBUG_OBJECT (dec, "didn't get downstream ALLOCATION hints");
-  }
-
-  if (gst_query_get_n_allocation_pools (query) > 0) {
-    /* we got configuration from our peer, parse them */
-    gst_query_parse_nth_allocation_pool (query, 0, &pool, &size, &min, &max);
-    size = MAX (size, info->size);
-  } else {
-    pool = NULL;
-    size = info->size;
-    min = max = 0;
-  }
-
-  if (pool == NULL) {
-    /* we did not get a pool, make one ourselves then */
-    pool = gst_video_buffer_pool_new ();
-  }
-
-  if (dec->pool) {
-    gst_buffer_pool_set_active (dec->pool, TRUE);
-    gst_object_unref (dec->pool);
-  }
-  dec->pool = pool;
-
-  config = gst_buffer_pool_get_config (pool);
-  gst_buffer_pool_config_set_params (config, caps, size, min, max);
-
-  if (gst_query_has_allocation_meta (query, GST_VIDEO_META_API_TYPE)) {
-    /* just set the option, if the pool can support it we will transparently use
-     * it through the video info API. We could also see if the pool support this
-     * option and only activate it then. */
-    gst_buffer_pool_config_add_option (config,
-        GST_BUFFER_POOL_OPTION_VIDEO_META);
-  }
-  gst_buffer_pool_set_config (pool, config);
-
-  /* and activate */
-  gst_buffer_pool_set_active (pool, TRUE);
-
-  gst_query_unref (query);
-
-  return GST_FLOW_OK;
-}
 
 static GstFlowReturn
 gst_pngdec_caps_create_and_set (GstPngDec * pngdec)
 {
   GstFlowReturn ret = GST_FLOW_OK;
-  GstCaps *caps = NULL, *res = NULL;
-  GstPadTemplate *templ = NULL;
   gint bpc = 0, color_type;
   png_uint_32 width, height;
-  GstVideoFormat format;
-  GstVideoInfo vinfo = { 0, };
+  GstVideoFormat format = GST_VIDEO_FORMAT_UNKNOWN;
 
   g_return_val_if_fail (GST_IS_PNGDEC (pngdec), GST_FLOW_ERROR);
 
@@ -455,204 +276,75 @@
   png_read_update_info (pngdec->png, pngdec->info);
 
   /* Get IHDR header again after transformation settings */
-
   png_get_IHDR (pngdec->png, pngdec->info, &width, &height,
       &bpc, &pngdec->color_type, NULL, NULL, NULL);
 
-  pngdec->width = width;
-  pngdec->height = height;
-
-  GST_LOG_OBJECT (pngdec, "this is a %dx%d PNG image", pngdec->width,
-      pngdec->height);
+  GST_LOG_OBJECT (pngdec, "this is a %dx%d PNG image", (gint) width,
+      (gint) height);
 
   switch (pngdec->color_type) {
     case PNG_COLOR_TYPE_RGB:
       GST_LOG_OBJECT (pngdec, "we have no alpha channel, depth is 24 bits");
-      format = GST_VIDEO_FORMAT_RGB;
+      if (bpc == 8)
+        format = GST_VIDEO_FORMAT_RGB;
       break;
     case PNG_COLOR_TYPE_RGB_ALPHA:
-      GST_LOG_OBJECT (pngdec, "we have an alpha channel, depth is 32 bits");
-      if (bpc == 1)
+      GST_LOG_OBJECT (pngdec,
+          "we have an alpha channel, depth is 32 or 64 bits");
+      if (bpc == 8)
         format = GST_VIDEO_FORMAT_RGBA;
-      else
+      else if (bpc == 16)
         format = GST_VIDEO_FORMAT_ARGB64;
       break;
     case PNG_COLOR_TYPE_GRAY:
       GST_LOG_OBJECT (pngdec,
           "We have an gray image, depth is 8 or 16 (be) bits");
-      if (bpc == 1)
+      if (bpc == 8)
         format = GST_VIDEO_FORMAT_GRAY8;
-      else
+      else if (bpc == 16)
         format = GST_VIDEO_FORMAT_GRAY16_BE;
       break;
     default:
-      GST_ELEMENT_ERROR (pngdec, STREAM, NOT_IMPLEMENTED, (NULL),
-          ("pngdec does not support this color type"));
-      ret = GST_FLOW_NOT_SUPPORTED;
-      goto beach;
+      break;
   }
 
-  gst_video_info_set_format (&vinfo, format, pngdec->width, pngdec->height);
-  vinfo.fps_n = pngdec->fps_n;
-  vinfo.fps_d = pngdec->fps_d;
-  vinfo.par_n = 1;
-  vinfo.par_d = 1;
-
-  if (memcmp (&vinfo, &pngdec->vinfo, sizeof (vinfo)) == 0) {
-    GST_DEBUG_OBJECT (pngdec, "video info unchanged, skip negotiation");
-    ret = GST_FLOW_OK;
+  if (format == GST_VIDEO_FORMAT_UNKNOWN) {
+    GST_ELEMENT_ERROR (pngdec, STREAM, NOT_IMPLEMENTED, (NULL),
+        ("pngdec does not support this color type"));
+    ret = GST_FLOW_NOT_SUPPORTED;
     goto beach;
   }
 
-  pngdec->vinfo = vinfo;
+  /* Check if output state changed */
+  if (pngdec->output_state) {
+    GstVideoInfo *info = &pngdec->output_state->info;
 
-  caps = gst_video_info_to_caps (&pngdec->vinfo);
-
-  templ = gst_static_pad_template_get (&gst_pngdec_src_pad_template);
-
-  res = gst_caps_intersect (caps, gst_pad_template_get_caps (templ));
-
-  gst_caps_unref (caps);
-  gst_object_unref (templ);
-
-  if (!gst_pad_set_caps (pngdec->srcpad, res))
-    ret = GST_FLOW_NOT_NEGOTIATED;
-
-  /* clear pending reconfigure */
-  gst_pad_check_reconfigure (pngdec->srcpad);
-
-  GST_DEBUG_OBJECT (pngdec, "our caps %" GST_PTR_FORMAT, res);
-  gst_pngdec_negotiate_pool (pngdec, res, &pngdec->vinfo);
-
-  gst_caps_unref (res);
-
-  /* Push a newsegment event */
-  if (pngdec->need_newsegment) {
-    gst_segment_init (&pngdec->segment, GST_FORMAT_TIME);
-    gst_pad_push_event (pngdec->srcpad,
-        gst_event_new_segment (&pngdec->segment));
-    pngdec->need_newsegment = FALSE;
+    if (width == GST_VIDEO_INFO_WIDTH (info) &&
+        height == GST_VIDEO_INFO_HEIGHT (info) &&
+        GST_VIDEO_INFO_FORMAT (info) == format) {
+      goto beach;
+    }
+    gst_video_codec_state_unref (pngdec->output_state);
   }
 
+  pngdec->output_state =
+      gst_video_decoder_set_output_state (GST_VIDEO_DECODER (pngdec), format,
+      width, height, pngdec->input_state);
+  GST_DEBUG ("Final %d %d", GST_VIDEO_INFO_WIDTH (&pngdec->output_state->info),
+      GST_VIDEO_INFO_HEIGHT (&pngdec->output_state->info));
+
 beach:
   return ret;
 }
 
-static void
-gst_pngdec_task (GstPad * pad)
-{
-  GstPngDec *pngdec;
-  GstBuffer *buffer = NULL;
-  gint i = 0;
-  png_bytep *rows, inp = NULL;
-  GstFlowReturn ret = GST_FLOW_OK;
-  GstVideoFrame frame;
-
-  pngdec = GST_PNGDEC (GST_OBJECT_PARENT (pad));
-
-  GST_LOG_OBJECT (pngdec, "read frame");
-
-  /* Let libpng come back here on error */
-  if (setjmp (png_jmpbuf (pngdec->png))) {
-    ret = GST_FLOW_ERROR;
-    goto pause;
-  }
-
-  /* Set reading callback */
-  png_set_read_fn (pngdec->png, pngdec, user_read_data);
-
-  /* Read info */
-  png_read_info (pngdec->png, pngdec->info);
-
-  pngdec->fps_n = 0;
-  pngdec->fps_d = 1;
-
-  /* Generate the caps and configure */
-  ret = gst_pngdec_caps_create_and_set (pngdec);
-  if (ret != GST_FLOW_OK) {
-    goto pause;
-  }
-
-  /* Allocate output buffer */
-  g_assert (pngdec->pool);
-  ret = gst_buffer_pool_acquire_buffer (pngdec->pool, &buffer, NULL);
-  if (ret != GST_FLOW_OK)
-    goto pause;
-
-  rows = (png_bytep *) g_malloc (sizeof (png_bytep) * pngdec->height);
-
-  if (!gst_video_frame_map (&frame, &pngdec->vinfo, buffer, GST_MAP_WRITE))
-    goto invalid_frame;
-
-  inp = GST_VIDEO_FRAME_COMP_DATA (&frame, 0);
-
-  for (i = 0; i < pngdec->height; i++) {
-    rows[i] = inp;
-    inp += GST_VIDEO_FRAME_COMP_STRIDE (&frame, 0);
-  }
-
-  /* Read the actual picture */
-  png_read_image (pngdec->png, rows);
-  g_free (rows);
-
-  gst_video_frame_unmap (&frame);
-  inp = NULL;
-
-  /* Push the raw RGB frame */
-  ret = gst_pad_push (pngdec->srcpad, buffer);
-  buffer = NULL;
-  if (ret != GST_FLOW_OK)
-    goto pause;
-
-  /* And we are done */
-  gst_pad_pause_task (pngdec->sinkpad);
-  gst_pad_push_event (pngdec->srcpad, gst_event_new_eos ());
-  return;
-
-pause:
-  {
-    if (inp)
-      gst_video_frame_unmap (&frame);
-    if (buffer)
-      gst_buffer_unref (buffer);
-    GST_INFO_OBJECT (pngdec, "pausing task, reason %s",
-        gst_flow_get_name (ret));
-    gst_pad_pause_task (pngdec->sinkpad);
-    if (ret == GST_FLOW_EOS) {
-      gst_pad_push_event (pngdec->srcpad, gst_event_new_eos ());
-    } else if (ret == GST_FLOW_NOT_LINKED || ret < GST_FLOW_EOS) {
-      GST_ELEMENT_ERROR (pngdec, STREAM, FAILED,
-          (_("Internal data stream error.")),
-          ("stream stopped, reason %s", gst_flow_get_name (ret)));
-      gst_pad_push_event (pngdec->srcpad, gst_event_new_eos ());
-    }
-  }
-invalid_frame:
-  {
-    GST_DEBUG_OBJECT (pngdec, "could not map video frame");
-    ret = GST_FLOW_ERROR;
-    goto pause;
-  }
-}
-
 static GstFlowReturn
-gst_pngdec_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
+gst_pngdec_handle_frame (GstVideoDecoder * decoder, GstVideoCodecFrame * frame)
 {
-  GstPngDec *pngdec;
+  GstPngDec *pngdec = (GstPngDec *) decoder;
   GstFlowReturn ret = GST_FLOW_OK;
-  GstMapInfo map = GST_MAP_INFO_INIT;
 
-  pngdec = GST_PNGDEC (parent);
-
-  if (G_UNLIKELY (!pngdec->setup))
-    goto not_configured;
-
-  /* Something is going wrong in our callbacks */
-  ret = pngdec->ret;
-  if (G_UNLIKELY (ret != GST_FLOW_OK)) {
-    GST_WARNING_OBJECT (pngdec, "we have a pending return code of %d", ret);
-    goto beach;
-  }
+  GST_LOG_OBJECT (pngdec, "Got buffer, size=%u",
+      (guint) gst_buffer_get_size (frame->input_buffer));
 
   /* Let libpng come back here on error */
   if (setjmp (png_jmpbuf (pngdec->png))) {
@@ -661,167 +353,74 @@
     goto beach;
   }
 
-  pngdec->in_timestamp = GST_BUFFER_TIMESTAMP (buffer);
-  pngdec->in_duration = GST_BUFFER_DURATION (buffer);
-
-  gst_buffer_map (buffer, &map, GST_MAP_READ);
-
-  GST_LOG_OBJECT (pngdec, "Got buffer, size=%d", (gint) map.size);
+  pngdec->current_frame = frame;
 
   /* Progressive loading of the PNG image */
-  png_process_data (pngdec->png, pngdec->info, map.data, map.size);
+  if (!gst_buffer_map (frame->input_buffer, &pngdec->current_frame_map,
+          GST_MAP_READ)) {
+    GST_WARNING_OBJECT (pngdec, "Failed to map input buffer");
+    ret = GST_FLOW_ERROR;
+    goto beach;
+  }
+
+  png_process_data (pngdec->png, pngdec->info,
+      pngdec->current_frame_map.data, pngdec->current_frame_map.size);
 
   if (pngdec->image_ready) {
-    if (pngdec->framed) {
+    if (1) {
       /* Reset ourselves for the next frame */
-      gst_pngdec_libpng_clear (pngdec);
-      gst_pngdec_libpng_init (pngdec);
+      gst_pngdec_reset (decoder, TRUE);
       GST_LOG_OBJECT (pngdec, "setting up callbacks for next frame");
       png_set_progressive_read_fn (pngdec->png, pngdec,
           user_info_callback, user_endrow_callback, user_end_callback);
     } else {
       GST_LOG_OBJECT (pngdec, "sending EOS");
-      pngdec->ret = gst_pad_push_event (pngdec->srcpad, gst_event_new_eos ());
+      pngdec->ret = GST_FLOW_EOS;
     }
     pngdec->image_ready = FALSE;
+  } else {
+    /* An error happened and we have to unmap */
+    gst_buffer_unmap (pngdec->current_frame->input_buffer,
+        &pngdec->current_frame_map);
   }
 
-  /* grab new return code */
   ret = pngdec->ret;
-
 beach:
-  if (G_LIKELY (map.data))
-    gst_buffer_unmap (buffer, &map);
-
-  /* And release the buffer */
-  gst_buffer_unref (buffer);
 
   return ret;
-
-  /* ERRORS */
-not_configured:
-  {
-    GST_LOG_OBJECT (pngdec, "we are not configured yet");
-    ret = GST_FLOW_FLUSHING;
-    goto beach;
-  }
 }
 
 static gboolean
-gst_pngdec_sink_setcaps (GstPngDec * pngdec, GstCaps * caps)
+gst_pngdec_decide_allocation (GstVideoDecoder * bdec, GstQuery * query)
 {
-  GstStructure *s;
-  gint num, denom;
+  GstBufferPool *pool;
+  GstStructure *config;
 
-  s = gst_caps_get_structure (caps, 0);
-  if (gst_structure_get_fraction (s, "framerate", &num, &denom)) {
-    GST_DEBUG_OBJECT (pngdec, "framed input");
-    pngdec->framed = TRUE;
-    pngdec->fps_n = num;
-    pngdec->fps_d = denom;
-  } else {
-    GST_DEBUG_OBJECT (pngdec, "single picture input");
-    pngdec->framed = FALSE;
-    pngdec->fps_n = 0;
-    pngdec->fps_d = 1;
+  if (!GST_VIDEO_DECODER_CLASS (parent_class)->decide_allocation (bdec, query))
+    return FALSE;
+
+  g_assert (gst_query_get_n_allocation_pools (query) > 0);
+  gst_query_parse_nth_allocation_pool (query, 0, &pool, NULL, NULL, NULL);
+  g_assert (pool != NULL);
+
+  config = gst_buffer_pool_get_config (pool);
+  if (gst_query_has_allocation_meta (query, GST_VIDEO_META_API_TYPE)) {
+    gst_buffer_pool_config_add_option (config,
+        GST_BUFFER_POOL_OPTION_VIDEO_META);
   }
+  gst_buffer_pool_set_config (pool, config);
+  gst_object_unref (pool);
 
   return TRUE;
 }
 
-static gboolean
-gst_pngdec_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
-{
-  GstPngDec *pngdec;
-  gboolean res;
-
-  pngdec = GST_PNGDEC (parent);
-
-  switch (GST_EVENT_TYPE (event)) {
-    case GST_EVENT_SEGMENT:{
-      gst_event_copy_segment (event, &pngdec->segment);
-
-      GST_LOG_OBJECT (pngdec, "SEGMENT %" GST_SEGMENT_FORMAT, &pngdec->segment);
-
-      if (pngdec->segment.format == GST_FORMAT_TIME) {
-        pngdec->need_newsegment = FALSE;
-        res = gst_pad_push_event (pngdec->srcpad, event);
-      } else {
-        gst_event_unref (event);
-        res = TRUE;
-      }
-      break;
-    }
-    case GST_EVENT_FLUSH_STOP:
-    {
-      gst_pngdec_libpng_clear (pngdec);
-      gst_pngdec_libpng_init (pngdec);
-      png_set_progressive_read_fn (pngdec->png, pngdec,
-          user_info_callback, user_endrow_callback, user_end_callback);
-      pngdec->ret = GST_FLOW_OK;
-      gst_segment_init (&pngdec->segment, GST_FORMAT_UNDEFINED);
-      res = gst_pad_push_event (pngdec->srcpad, event);
-      break;
-    }
-    case GST_EVENT_EOS:
-    {
-      GST_LOG_OBJECT (pngdec, "EOS");
-      gst_pngdec_libpng_clear (pngdec);
-      pngdec->ret = GST_FLOW_EOS;
-      res = gst_pad_push_event (pngdec->srcpad, event);
-      break;
-    }
-    case GST_EVENT_CAPS:
-    {
-      GstCaps *caps;
-
-      gst_event_parse_caps (event, &caps);
-      res = gst_pngdec_sink_setcaps (pngdec, caps);
-      gst_event_unref (event);
-      break;
-    }
-    default:
-      res = gst_pad_push_event (pngdec->srcpad, event);
-      break;
-  }
-
-  return res;
-}
-
 
 /* Clean up the libpng structures */
 static gboolean
-gst_pngdec_libpng_clear (GstPngDec * pngdec)
+gst_pngdec_reset (GstVideoDecoder * decoder, gboolean hard)
 {
-  png_infopp info = NULL, endinfo = NULL;
-
-  g_return_val_if_fail (GST_IS_PNGDEC (pngdec), FALSE);
-
-  GST_LOG ("cleaning up libpng structures");
-
-  if (pngdec->info) {
-    info = &pngdec->info;
-  }
-
-  if (pngdec->endinfo) {
-    endinfo = &pngdec->endinfo;
-  }
-
-  if (pngdec->png) {
-    png_destroy_read_struct (&(pngdec->png), info, endinfo);
-    pngdec->png = NULL;
-    pngdec->info = NULL;
-    pngdec->endinfo = NULL;
-  }
-
-  pngdec->color_type = pngdec->height = pngdec->width = -1;
-  pngdec->offset = 0;
-  pngdec->buffer_out = NULL;
-
-  pngdec->setup = FALSE;
-
-  pngdec->in_timestamp = GST_CLOCK_TIME_NONE;
-  pngdec->in_duration = GST_CLOCK_TIME_NONE;
+  gst_pngdec_stop (decoder);
+  gst_pngdec_start (decoder);
 
   return TRUE;
 }
@@ -831,9 +430,6 @@
 {
   g_return_val_if_fail (GST_IS_PNGDEC (pngdec), FALSE);
 
-  if (pngdec->setup)
-    return TRUE;
-
   GST_LOG ("init libpng structures");
 
   /* initialize png struct stuff */
@@ -851,7 +447,8 @@
   if (pngdec->endinfo == NULL)
     goto endinfo_failed;
 
-  pngdec->setup = TRUE;
+  png_set_progressive_read_fn (pngdec->png, pngdec,
+      user_info_callback, user_endrow_callback, user_end_callback);
 
   return TRUE;
 
@@ -864,138 +461,61 @@
   }
 info_failed:
   {
-    gst_pngdec_libpng_clear (pngdec);
     GST_ELEMENT_ERROR (pngdec, LIBRARY, INIT, (NULL),
         ("Failed to initialize info structure"));
     return FALSE;
   }
 endinfo_failed:
   {
-    gst_pngdec_libpng_clear (pngdec);
     GST_ELEMENT_ERROR (pngdec, LIBRARY, INIT, (NULL),
         ("Failed to initialize endinfo structure"));
     return FALSE;
   }
 }
 
-static GstStateChangeReturn
-gst_pngdec_change_state (GstElement * element, GstStateChange transition)
+static gboolean
+gst_pngdec_start (GstVideoDecoder * decoder)
 {
-  GstStateChangeReturn ret;
-  GstPngDec *pngdec;
+  GstPngDec *pngdec = (GstPngDec *) decoder;
 
-  pngdec = GST_PNGDEC (element);
+  gst_pngdec_libpng_init (pngdec);
 
-  switch (transition) {
-    case GST_STATE_CHANGE_READY_TO_PAUSED:
-      gst_pngdec_libpng_init (pngdec);
-      pngdec->need_newsegment = TRUE;
-      pngdec->framed = FALSE;
-      pngdec->ret = GST_FLOW_OK;
-      gst_segment_init (&pngdec->segment, GST_FORMAT_UNDEFINED);
-      break;
-    default:
-      break;
-  }
-
-  ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
-  if (ret != GST_STATE_CHANGE_SUCCESS)
-    return ret;
-
-  switch (transition) {
-    case GST_STATE_CHANGE_PAUSED_TO_READY:
-      gst_pngdec_libpng_clear (pngdec);
-      if (pngdec->pool)
-        gst_object_unref (pngdec->pool);
-      break;
-    default:
-      break;
-  }
-
-  return ret;
+  return TRUE;
 }
 
-/* this function gets called when we activate ourselves in pull mode.
- * We can perform  random access to the resource and we start a task
- * to start reading */
 static gboolean
-gst_pngdec_sink_activate_mode (GstPad * sinkpad, GstObject * parent,
-    GstPadMode mode, gboolean active)
+gst_pngdec_stop (GstVideoDecoder * decoder)
 {
-  GstPngDec *pngdec = GST_PNGDEC (parent);
-  gboolean res;
+  GstPngDec *pngdec = (GstPngDec *) decoder;
+  png_infopp info = NULL, endinfo = NULL;
 
-  switch (mode) {
-    case GST_PAD_MODE_PULL:
-      if (active) {
-        res = gst_pad_start_task (sinkpad, (GstTaskFunction) gst_pngdec_task,
-            sinkpad);
-      } else {
-        res = gst_pad_stop_task (sinkpad);
-      }
-      break;
-    case GST_PAD_MODE_PUSH:
-      GST_DEBUG_OBJECT (pngdec, "activating push/chain function");
-      if (active) {
-        pngdec->ret = GST_FLOW_OK;
+  GST_LOG ("cleaning up libpng structures");
 
-        /* Let libpng come back here on error */
-        if (setjmp (png_jmpbuf (pngdec->png)))
-          goto setup_failed;
-
-        GST_LOG_OBJECT (pngdec, "setting up progressive loading callbacks");
-        png_set_progressive_read_fn (pngdec->png, pngdec,
-            user_info_callback, user_endrow_callback, user_end_callback);
-      } else {
-        GST_DEBUG_OBJECT (pngdec, "deactivating push/chain function");
-      }
-      res = TRUE;
-      break;
-    default:
-      res = FALSE;
-      break;
-  }
-  return res;
-
-setup_failed:
-  {
-    GST_LOG_OBJECT (pngdec, "failed setting up libpng jmpbuf");
-    gst_pngdec_libpng_clear (pngdec);
-    return FALSE;
-  }
-}
-
-/* this function is called when the pad is activated and should start
- * processing data.
- *
- * We check if we can do random access to decide if we work push or
- * pull based.
- */
-static gboolean
-gst_pngdec_sink_activate (GstPad * sinkpad, GstObject * parent)
-{
-  GstQuery *query;
-  gboolean pull_mode;
-
-  query = gst_query_new_scheduling ();
-
-  if (!gst_pad_peer_query (sinkpad, query)) {
-    gst_query_unref (query);
-    goto activate_push;
+  if (pngdec->info) {
+    info = &pngdec->info;
   }
 
-  pull_mode = gst_query_has_scheduling_mode (query, GST_PAD_MODE_PULL);
-  gst_query_unref (query);
-
-  if (!pull_mode)
-    goto activate_push;
-
-  GST_DEBUG_OBJECT (sinkpad, "activating pull");
-  return gst_pad_activate_mode (sinkpad, GST_PAD_MODE_PULL, TRUE);
-
-activate_push:
-  {
-    GST_DEBUG_OBJECT (sinkpad, "activating push");
-    return gst_pad_activate_mode (sinkpad, GST_PAD_MODE_PUSH, TRUE);
+  if (pngdec->endinfo) {
+    endinfo = &pngdec->endinfo;
   }
+
+  if (pngdec->png) {
+    png_destroy_read_struct (&(pngdec->png), info, endinfo);
+    pngdec->png = NULL;
+    pngdec->info = NULL;
+    pngdec->endinfo = NULL;
+  }
+
+  pngdec->color_type = -1;
+
+  if (pngdec->input_state) {
+    gst_video_codec_state_unref (pngdec->input_state);
+    pngdec->input_state = NULL;
+  }
+  if (pngdec->output_state) {
+    gst_video_codec_state_unref (pngdec->output_state);
+    pngdec->output_state = NULL;
+  }
+
+  return TRUE;
 }
diff --git a/ext/libpng/gstpngdec.h b/ext/libpng/gstpngdec.h
index 391bcf9..69a4ff6 100644
--- a/ext/libpng/gstpngdec.h
+++ b/ext/libpng/gstpngdec.h
@@ -1,5 +1,7 @@
 /* GStreamer
  * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
+ * Copyright (C) 2012 Collabora Ltd.
+ *	Author : Edward Hervey <edward@collabora.com>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -22,9 +24,7 @@
 #define __GST_PNGDEC_H__
 
 #include <gst/gst.h>
-#include <gst/video/video.h>
-#include <gst/video/gstvideopool.h>
-
+#include <gst/video/gstvideodecoder.h>
 #include <png.h>
 
 G_BEGIN_DECLS
@@ -40,45 +40,27 @@
 
 struct _GstPngDec
 {
-  GstElement element;
+  GstVideoDecoder parent;
 
-  GstPad *sinkpad, *srcpad;
+  GstVideoCodecState *input_state;
+  GstVideoCodecState *output_state;
+  GstMapInfo current_frame_map;
+  GstVideoCodecFrame *current_frame;
 
-  gboolean need_newsegment;
-
-  /* Progressive */
-  GstBuffer *buffer_out;
   GstFlowReturn ret;
-  
-  /* Pull range */
-  gint offset;
 
   png_structp png;
   png_infop info;
   png_infop endinfo;
-  gboolean setup;
 
-  GstVideoInfo vinfo;
-  gint width;
-  gint height;
   gint color_type;
-  gint fps_n;
-  gint fps_d;
 
-  GstBufferPool *pool;
-
-  /* Chain */
-  gboolean framed;
-  GstClockTime in_timestamp;
-  GstClockTime in_duration;
-
-  GstSegment segment;
   gboolean image_ready;
 };
 
 struct _GstPngDecClass
 {
-  GstElementClass parent_class;
+  GstVideoDecoderClass parent_class;
 };
 
 GType gst_pngdec_get_type(void);
diff --git a/ext/libpng/gstpngenc.c b/ext/libpng/gstpngenc.c
index 2c5e71b..9d3e1d0 100644
--- a/ext/libpng/gstpngenc.c
+++ b/ext/libpng/gstpngenc.c
@@ -4,6 +4,9 @@
  * Filter:
  * Copyright (C) 2000 Donald A. Graft
  *
+ * Copyright (C) 2012 Collabora Ltd.
+ *	Author : Edward Hervey <edward@collabora.com>
+ *
  * 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
@@ -27,6 +30,8 @@
 #include <string.h>
 #include <gst/gst.h>
 #include "gstpngenc.h"
+#include <gst/video/video.h>
+#include <gst/video/gstvideometa.h>
 #include <zlib.h>
 
 GST_DEBUG_CATEGORY_STATIC (pngenc_debug);
@@ -40,14 +45,12 @@
 };
 
 #define DEFAULT_SNAPSHOT                FALSE
-/* #define DEFAULT_NEWMEDIA             FALSE */
 #define DEFAULT_COMPRESSION_LEVEL       6
 
 enum
 {
   ARG_0,
   ARG_SNAPSHOT,
-/*   ARG_NEWMEDIA, */
   ARG_COMPRESSION_LEVEL
 };
 
@@ -67,19 +70,22 @@
     GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("{ RGBA, RGB, GRAY8, GRAY16_BE }"))
     );
 
-/* static GstElementClass *parent_class = NULL; */
-
-G_DEFINE_TYPE (GstPngEnc, gst_pngenc, GST_TYPE_ELEMENT);
+#define parent_class gst_pngenc_parent_class
+G_DEFINE_TYPE (GstPngEnc, gst_pngenc, GST_TYPE_VIDEO_ENCODER);
 
 static void gst_pngenc_set_property (GObject * object,
     guint prop_id, const GValue * value, GParamSpec * pspec);
 static void gst_pngenc_get_property (GObject * object,
     guint prop_id, GValue * value, GParamSpec * pspec);
 
-static GstFlowReturn gst_pngenc_chain (GstPad * pad, GstObject * parent,
-    GstBuffer * data);
-static gboolean gst_pngenc_sink_event (GstPad * pad, GstObject * parent,
-    GstEvent * event);
+static GstFlowReturn gst_pngenc_handle_frame (GstVideoEncoder * encoder,
+    GstVideoCodecFrame * frame);
+static gboolean gst_pngenc_set_format (GstVideoEncoder * encoder,
+    GstVideoCodecState * state);
+static gboolean gst_pngenc_propose_allocation (GstVideoEncoder * encoder,
+    GstQuery * query);
+
+static void gst_pngenc_finalize (GObject * object);
 
 static void
 user_error_fn (png_structp png_ptr, png_const_charp error_msg)
@@ -98,9 +104,13 @@
 {
   GObjectClass *gobject_class;
   GstElementClass *element_class;
+  GstVideoEncoderClass *venc_class;
 
   gobject_class = (GObjectClass *) klass;
   element_class = (GstElementClass *) klass;
+  venc_class = (GstVideoEncoderClass *) klass;
+
+  parent_class = g_type_class_peek_parent (klass);
 
   gobject_class->get_property = gst_pngenc_get_property;
   gobject_class->set_property = gst_pngenc_set_property;
@@ -110,11 +120,6 @@
           "Send EOS after encoding a frame, useful for snapshots",
           DEFAULT_SNAPSHOT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-/*   g_object_class_install_property (gobject_class, ARG_NEWMEDIA, */
-/*       g_param_spec_boolean ("newmedia", "newmedia", */
-/*           "Send new media discontinuity after encoding each frame", */
-/*           DEFAULT_NEWMEDIA, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); */
-
   g_object_class_install_property (gobject_class, ARG_COMPRESSION_LEVEL,
       g_param_spec_uint ("compression-level", "compression-level",
           "PNG compression level",
@@ -126,78 +131,66 @@
       (element_class, gst_static_pad_template_get (&pngenc_sink_template));
   gst_element_class_add_pad_template
       (element_class, gst_static_pad_template_get (&pngenc_src_template));
-  gst_element_class_set_static_metadata (element_class, "PNG image encoder",
+  gst_element_class_set_details_simple (element_class, "PNG image encoder",
       "Codec/Encoder/Image",
       "Encode a video frame to a .png image",
       "Jeremy SIMON <jsimon13@yahoo.fr>");
 
+  venc_class->set_format = gst_pngenc_set_format;
+  venc_class->handle_frame = gst_pngenc_handle_frame;
+  venc_class->propose_allocation = gst_pngenc_propose_allocation;
+  gobject_class->finalize = gst_pngenc_finalize;
+
   GST_DEBUG_CATEGORY_INIT (pngenc_debug, "pngenc", 0, "PNG image encoder");
 }
 
 
 static gboolean
-gst_pngenc_setcaps (GstPngEnc * pngenc, GstCaps * caps)
+gst_pngenc_set_format (GstVideoEncoder * encoder, GstVideoCodecState * state)
 {
-  int fps_n, fps_d;
-  GstCaps *pcaps;
-  gboolean ret;
-  GstVideoInfo info;
+  GstPngEnc *pngenc;
+  gboolean ret = TRUE;
+  GstVideoInfo *info;
+  GstVideoCodecState *output_state;
 
-  ret = gst_video_info_from_caps (&info, caps);
+  pngenc = GST_PNGENC (encoder);
+  info = &state->info;
 
-  if (G_UNLIKELY (!ret))
-    goto done;
-
-  pngenc->info = info;
-
-  switch (GST_VIDEO_INFO_FORMAT (&info)) {
+  switch (GST_VIDEO_INFO_FORMAT (info)) {
     case GST_VIDEO_FORMAT_RGBA:
       pngenc->png_color_type = PNG_COLOR_TYPE_RGBA;
-      pngenc->depth = 8;
       break;
     case GST_VIDEO_FORMAT_RGB:
       pngenc->png_color_type = PNG_COLOR_TYPE_RGB;
-      pngenc->depth = 8;
       break;
     case GST_VIDEO_FORMAT_GRAY8:
-      pngenc->png_color_type = PNG_COLOR_TYPE_GRAY;
-      pngenc->depth = 8;
-      break;
     case GST_VIDEO_FORMAT_GRAY16_BE:
       pngenc->png_color_type = PNG_COLOR_TYPE_GRAY;
-      pngenc->depth = 16;
       break;
     default:
       ret = FALSE;
       goto done;
   }
 
-  pngenc->width = GST_VIDEO_INFO_WIDTH (&info);
-  pngenc->height = GST_VIDEO_INFO_HEIGHT (&info);
-  fps_n = GST_VIDEO_INFO_FPS_N (&info);
-  fps_d = GST_VIDEO_INFO_FPS_D (&info);
-
-  if (G_UNLIKELY (pngenc->width < 16 || pngenc->width > 1000000 ||
-          pngenc->height < 16 || pngenc->height > 1000000)) {
-    ret = FALSE;
-    goto done;
+  switch (GST_VIDEO_INFO_FORMAT (info)) {
+    case GST_VIDEO_FORMAT_GRAY16_BE:
+      pngenc->depth = 16;
+      break;
+    default:                   /* GST_VIDEO_FORMAT_RGB and GST_VIDEO_FORMAT_GRAY8 */
+      pngenc->depth = 8;
+      break;
   }
 
-  pcaps = gst_caps_new_simple ("image/png",
-      "width", G_TYPE_INT, pngenc->width,
-      "height", G_TYPE_INT, pngenc->height,
-      "framerate", GST_TYPE_FRACTION, fps_n, fps_d, NULL);
+  if (pngenc->input_state)
+    gst_video_codec_state_unref (pngenc->input_state);
+  pngenc->input_state = gst_video_codec_state_ref (state);
 
-  ret = gst_pad_set_caps (pngenc->srcpad, pcaps);
+  output_state =
+      gst_video_encoder_set_output_state (encoder,
+      gst_caps_new_empty_simple ("image/png"), state);
+  gst_video_codec_state_unref (output_state);
 
-  gst_caps_unref (pcaps);
-
-  /* Fall-through. */
 done:
-  if (G_UNLIKELY (!ret)) {
-    pngenc->width = 0;
-    pngenc->height = 0;
-  }
 
   return ret;
 }
@@ -205,31 +198,26 @@
 static void
 gst_pngenc_init (GstPngEnc * pngenc)
 {
-  /* sinkpad */
-  pngenc->sinkpad = gst_pad_new_from_static_template
-      (&pngenc_sink_template, "sink");
-  gst_pad_set_chain_function (pngenc->sinkpad,
-      GST_DEBUG_FUNCPTR (gst_pngenc_chain));
-  gst_pad_set_event_function (pngenc->sinkpad,
-      GST_DEBUG_FUNCPTR (gst_pngenc_sink_event));
-  gst_element_add_pad (GST_ELEMENT (pngenc), pngenc->sinkpad);
-
-  /* srcpad */
-  pngenc->srcpad = gst_pad_new_from_static_template
-      (&pngenc_src_template, "src");
-  gst_pad_use_fixed_caps (pngenc->srcpad);
-  gst_element_add_pad (GST_ELEMENT (pngenc), pngenc->srcpad);
-
   /* init settings */
   pngenc->png_struct_ptr = NULL;
   pngenc->png_info_ptr = NULL;
 
   pngenc->snapshot = DEFAULT_SNAPSHOT;
-/*   pngenc->newmedia = FALSE; */
   pngenc->compression_level = DEFAULT_COMPRESSION_LEVEL;
 }
 
 static void
+gst_pngenc_finalize (GObject * object)
+{
+  GstPngEnc *pngenc = GST_PNGENC (object);
+
+  if (pngenc->input_state)
+    gst_video_codec_state_unref (pngenc->input_state);
+
+  G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static void
 user_flush_data (png_structp png_ptr G_GNUC_UNUSED)
 {
 }
@@ -238,80 +226,64 @@
 user_write_data (png_structp png_ptr, png_bytep data, png_uint_32 length)
 {
   GstPngEnc *pngenc;
-  GstMapInfo map;
+  GstMemory *mem;
+  GstMapInfo minfo;
 
   pngenc = (GstPngEnc *) png_get_io_ptr (png_ptr);
 
-  gst_buffer_map (pngenc->buffer_out, &map, GST_MAP_WRITE);
-  if (pngenc->written + length >= map.size) {
-    gst_buffer_unmap (pngenc->buffer_out, &map);
-    GST_ERROR_OBJECT (pngenc, "output buffer bigger than the input buffer!?");
-    png_error (png_ptr, "output buffer bigger than the input buffer!?");
+  mem = gst_allocator_alloc (NULL, length, NULL);
+  if (!mem) {
+    GST_ERROR_OBJECT (pngenc, "Failed to allocate memory");
+    png_error (png_ptr, "Failed to allocate memory");
 
     /* never reached */
     return;
   }
 
-  GST_DEBUG_OBJECT (pngenc, "writing %u bytes", (guint) length);
+  if (!gst_memory_map (mem, &minfo, GST_MAP_WRITE)) {
+    GST_ERROR_OBJECT (pngenc, "Failed to map memory");
+    gst_memory_unref (mem);
 
-  memcpy (map.data + pngenc->written, data, length);
-  gst_buffer_unmap (pngenc->buffer_out, &map);
-  pngenc->written += length;
+    png_error (png_ptr, "Failed to map memory");
+
+    /* never reached */
+    return;
+  }
+
+  memcpy (minfo.data, data, length);
+  gst_memory_unmap (mem, &minfo);
+
+  gst_buffer_append_memory (pngenc->buffer_out, mem);
 }
 
 static GstFlowReturn
-gst_pngenc_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
+gst_pngenc_handle_frame (GstVideoEncoder * encoder, GstVideoCodecFrame * frame)
 {
   GstPngEnc *pngenc;
   gint row_index;
   png_byte **row_pointers;
   GstFlowReturn ret = GST_FLOW_OK;
-  GstBuffer *encoded_buf = NULL;
-  GstVideoFrame frame;
+  GstVideoInfo *info;
+  GstVideoFrame vframe;
 
-  pngenc = GST_PNGENC (parent);
+  pngenc = GST_PNGENC (encoder);
+  info = &pngenc->input_state->info;
 
   GST_DEBUG_OBJECT (pngenc, "BEGINNING");
 
-  if (G_UNLIKELY (pngenc->width <= 0 || pngenc->height <= 0)) {
-    ret = GST_FLOW_NOT_NEGOTIATED;
-    goto exit;
-  }
-
-  if (!gst_video_frame_map (&frame, &pngenc->info, buf, GST_MAP_READ)) {
-    GST_ELEMENT_ERROR (pngenc, STREAM, FORMAT, (NULL),
-        ("Failed to map video frame, caps problem?"));
-    ret = GST_FLOW_ERROR;
-    goto exit;
-  }
-
   /* initialize png struct stuff */
   pngenc->png_struct_ptr = png_create_write_struct (PNG_LIBPNG_VER_STRING,
       (png_voidp) NULL, user_error_fn, user_warning_fn);
-  if (pngenc->png_struct_ptr == NULL) {
-    GST_ELEMENT_ERROR (pngenc, LIBRARY, INIT, (NULL),
-        ("Failed to initialize png structure"));
-    ret = GST_FLOW_ERROR;
-    goto done;
-  }
+  if (pngenc->png_struct_ptr == NULL)
+    goto struct_init_fail;
 
   pngenc->png_info_ptr = png_create_info_struct (pngenc->png_struct_ptr);
-  if (!pngenc->png_info_ptr) {
-    png_destroy_write_struct (&(pngenc->png_struct_ptr), (png_infopp) NULL);
-    GST_ELEMENT_ERROR (pngenc, LIBRARY, INIT, (NULL),
-        ("Failed to initialize the png info structure"));
-    ret = GST_FLOW_ERROR;
-    goto done;
-  }
+  if (!pngenc->png_info_ptr)
+    goto png_info_fail;
 
   /* non-0 return is from a longjmp inside of libpng */
-  if (setjmp (png_jmpbuf (pngenc->png_struct_ptr)) != 0) {
-    png_destroy_write_struct (&pngenc->png_struct_ptr, &pngenc->png_info_ptr);
-    GST_ELEMENT_ERROR (pngenc, LIBRARY, FAILED, (NULL),
-        ("returning from longjmp"));
-    ret = GST_FLOW_ERROR;
-    goto done;
-  }
+  if (setjmp (png_jmpbuf (pngenc->png_struct_ptr)) != 0)
+    goto longjmp_fail;
 
   png_set_filter (pngenc->png_struct_ptr, 0,
       PNG_FILTER_NONE | PNG_FILTER_VALUE_NONE);
@@ -319,8 +291,8 @@
 
   png_set_IHDR (pngenc->png_struct_ptr,
       pngenc->png_info_ptr,
-      pngenc->width,
-      pngenc->height,
+      GST_VIDEO_INFO_WIDTH (info),
+      GST_VIDEO_INFO_HEIGHT (info),
       pngenc->depth,
       pngenc->png_color_type,
       PNG_INTERLACE_NONE,
@@ -329,17 +301,22 @@
   png_set_write_fn (pngenc->png_struct_ptr, pngenc,
       (png_rw_ptr) user_write_data, user_flush_data);
 
-  row_pointers = g_new (png_byte *, pngenc->height);
+  row_pointers = g_new (png_byte *, GST_VIDEO_INFO_HEIGHT (info));
+  if (!gst_video_frame_map (&vframe, &pngenc->input_state->info,
+          frame->input_buffer, GST_MAP_READ)) {
+    GST_ELEMENT_ERROR (pngenc, STREAM, FORMAT, (NULL),
+        ("Failed to map video frame, caps problem?"));
+    ret = GST_FLOW_ERROR;
+    goto done;
+  }
 
-  for (row_index = 0; row_index < pngenc->height; row_index++) {
-    row_pointers[row_index] = GST_VIDEO_FRAME_COMP_DATA (&frame, 0) +
-        (row_index * GST_VIDEO_FRAME_COMP_STRIDE (&frame, 0));
+  for (row_index = 0; row_index < GST_VIDEO_INFO_HEIGHT (info); row_index++) {
+    row_pointers[row_index] = GST_VIDEO_FRAME_COMP_DATA (&vframe, 0) +
+        (row_index * GST_VIDEO_FRAME_COMP_STRIDE (&vframe, 0));
   }
 
   /* allocate the output buffer */
-  pngenc->buffer_out =
-      gst_buffer_new_and_alloc (pngenc->height * pngenc->width);
-  pngenc->written = 0;
+  pngenc->buffer_out = gst_buffer_new ();
 
   png_write_info (pngenc->png_struct_ptr, pngenc->png_info_ptr);
   png_write_image (pngenc->png_struct_ptr, row_pointers);
@@ -347,69 +324,57 @@
 
   g_free (row_pointers);
 
-  GST_DEBUG_OBJECT (pngenc, "written %d", pngenc->written);
-
-  encoded_buf =
-      gst_buffer_copy_region (pngenc->buffer_out, GST_BUFFER_COPY_MEMORY,
-      0, pngenc->written);
-
   png_destroy_info_struct (pngenc->png_struct_ptr, &pngenc->png_info_ptr);
   png_destroy_write_struct (&pngenc->png_struct_ptr, (png_infopp) NULL);
 
-  GST_BUFFER_TIMESTAMP (encoded_buf) = GST_BUFFER_TIMESTAMP (buf);
-  GST_BUFFER_DURATION (encoded_buf) = GST_BUFFER_DURATION (buf);
+  /* Set final size and store */
+  frame->output_buffer = pngenc->buffer_out;
 
-  if ((ret = gst_pad_push (pngenc->srcpad, encoded_buf)) != GST_FLOW_OK)
+  pngenc->buffer_out = NULL;
+
+  if ((ret = gst_video_encoder_finish_frame (encoder, frame)) != GST_FLOW_OK)
     goto done;
 
-  if (pngenc->snapshot) {
-    GstEvent *event;
-
-    GST_DEBUG_OBJECT (pngenc, "snapshot mode, sending EOS");
-    /* send EOS event, since a frame has been pushed out */
-    event = gst_event_new_eos ();
-
-    gst_pad_push_event (pngenc->srcpad, event);
+  if (pngenc->snapshot)
     ret = GST_FLOW_EOS;
-  }
 
 done:
-  gst_video_frame_unmap (&frame);
-exit:
-  gst_buffer_unref (buf);
   GST_DEBUG_OBJECT (pngenc, "END, ret:%d", ret);
 
-  if (pngenc->buffer_out != NULL) {
-    gst_buffer_unref (pngenc->buffer_out);
-    pngenc->buffer_out = NULL;
+  return ret;
+
+  /* ERRORS */
+struct_init_fail:
+  {
+    GST_ELEMENT_ERROR (pngenc, LIBRARY, INIT, (NULL),
+        ("Failed to initialize png structure"));
+    return GST_FLOW_ERROR;
   }
 
-  return ret;
+png_info_fail:
+  {
+    png_destroy_write_struct (&(pngenc->png_struct_ptr), (png_infopp) NULL);
+    GST_ELEMENT_ERROR (pngenc, LIBRARY, INIT, (NULL),
+        ("Failed to initialize the png info structure"));
+    return GST_FLOW_ERROR;
+  }
+
+longjmp_fail:
+  {
+    png_destroy_write_struct (&pngenc->png_struct_ptr, &pngenc->png_info_ptr);
+    GST_ELEMENT_ERROR (pngenc, LIBRARY, FAILED, (NULL),
+        ("returning from longjmp"));
+    return GST_FLOW_ERROR;
+  }
 }
 
 static gboolean
-gst_pngenc_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
+gst_pngenc_propose_allocation (GstVideoEncoder * encoder, GstQuery * query)
 {
-  GstPngEnc *enc;
-  gboolean res;
+  gst_query_add_allocation_meta (query, GST_VIDEO_META_API_TYPE);
 
-  enc = GST_PNGENC (parent);
-
-  switch (GST_EVENT_TYPE (event)) {
-    case GST_EVENT_CAPS:
-    {
-      GstCaps *caps;
-
-      gst_event_parse_caps (event, &caps);
-      res = gst_pngenc_setcaps (enc, caps);
-      gst_event_unref (event);
-      break;
-    }
-    default:
-      res = gst_pad_push_event (enc->srcpad, event);
-      break;
-  }
-  return res;
+  return GST_VIDEO_ENCODER_CLASS (parent_class)->propose_allocation (encoder,
+      query);
 }
 
 static void
@@ -424,9 +389,6 @@
     case ARG_SNAPSHOT:
       g_value_set_boolean (value, pngenc->snapshot);
       break;
-/*     case ARG_NEWMEDIA: */
-/*       g_value_set_boolean (value, pngenc->newmedia); */
-/*       break; */
     case ARG_COMPRESSION_LEVEL:
       g_value_set_uint (value, pngenc->compression_level);
       break;
@@ -449,9 +411,6 @@
     case ARG_SNAPSHOT:
       pngenc->snapshot = g_value_get_boolean (value);
       break;
-/*     case ARG_NEWMEDIA: */
-/*       pngenc->newmedia = g_value_get_boolean (value); */
-/*       break; */
     case ARG_COMPRESSION_LEVEL:
       pngenc->compression_level = g_value_get_uint (value);
       break;
diff --git a/ext/libpng/gstpngenc.h b/ext/libpng/gstpngenc.h
index ba306b9..87bee92 100644
--- a/ext/libpng/gstpngenc.h
+++ b/ext/libpng/gstpngenc.h
@@ -1,5 +1,7 @@
 /* GStreamer
  * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
+ * Copyright (C) 2012 Collabora Ltd.
+ *	Author : Edward Hervey <edward@collabora.com>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -22,7 +24,7 @@
 #define __GST_PNGENC_H__
 
 #include <gst/gst.h>
-#include <gst/video/video.h>
+#include <gst/video/gstvideoencoder.h>
 #include <png.h>
 
 #ifdef __cplusplus
@@ -41,20 +43,16 @@
 
 struct _GstPngEnc
 {
-  GstElement element;
+  GstVideoEncoder parent;
 
-  GstPad *sinkpad, *srcpad;
+  GstVideoCodecState *input_state;
   GstBuffer *buffer_out;
-  guint written;
 
   png_structp png_struct_ptr;
   png_infop png_info_ptr;
 
-  GstVideoInfo info;
   gint png_color_type;
   gint depth;
-  gint width;
-  gint height;
   guint compression_level;
 
   gboolean snapshot;
@@ -63,7 +61,7 @@
 
 struct _GstPngEncClass
 {
-  GstElementClass parent_class;
+  GstVideoEncoderClass parent_class;
 };
 
 GType gst_pngenc_get_type(void);
diff --git a/ext/pulse/Makefile.in b/ext/pulse/Makefile.in
index 15b49ff..22c0379 100644
--- a/ext/pulse/Makefile.in
+++ b/ext/pulse/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = ext/pulse
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -186,8 +186,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -234,6 +232,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -278,8 +277,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -294,6 +295,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -359,7 +364,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -415,6 +420,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -487,7 +493,11 @@
 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@
diff --git a/ext/pulse/pulsesrc.c b/ext/pulse/pulsesrc.c
index b4afe37..1b1acf2 100644
--- a/ext/pulse/pulsesrc.c
+++ b/ext/pulse/pulsesrc.c
@@ -104,6 +104,8 @@
 static GstStateChangeReturn gst_pulsesrc_change_state (GstElement *
     element, GstStateChange transition);
 
+static GstClockTime gst_pulsesrc_get_time (GstClock * clock, GstPulseSrc * src);
+
 #if (G_BYTE_ORDER == G_LITTLE_ENDIAN)
 # define FORMATS "{ S16LE, S16BE, F32LE, F32BE, S32LE, S32BE, U8 }"
 #else
@@ -291,6 +293,14 @@
   /* this should be the default but it isn't yet */
   gst_audio_base_src_set_slave_method (GST_AUDIO_BASE_SRC (pulsesrc),
       GST_AUDIO_BASE_SRC_SLAVE_SKEW);
+
+  /* override with a custom clock */
+  if (GST_AUDIO_BASE_SRC (pulsesrc)->clock)
+    gst_object_unref (GST_AUDIO_BASE_SRC (pulsesrc)->clock);
+
+  GST_AUDIO_BASE_SRC (pulsesrc)->clock =
+      gst_audio_clock_new ("GstPulseSrcClock",
+      (GstAudioClockGetTimeFunc) gst_pulsesrc_get_time, pulsesrc, NULL);
 }
 
 static void
@@ -985,14 +995,14 @@
   GstPulseSrc *pulsesrc = GST_PULSESRC_CAST (asrc);
   size_t sum = 0;
 
-  pa_threaded_mainloop_lock (pulsesrc->mainloop);
-  pulsesrc->in_read = TRUE;
-
   if (g_atomic_int_compare_and_exchange (&pulsesrc->notify, 1, 0)) {
     g_object_notify (G_OBJECT (pulsesrc), "volume");
     g_object_notify (G_OBJECT (pulsesrc), "mute");
   }
 
+  pa_threaded_mainloop_lock (pulsesrc->mainloop);
+  pulsesrc->in_read = TRUE;
+
   if (pulsesrc->paused)
     goto was_paused;
 
@@ -1322,6 +1332,7 @@
   GstPulseSrc *pulsesrc = GST_PULSESRC_CAST (asrc);
   pa_stream_flags_t flags;
   pa_operation *o;
+  GstAudioClock *clock;
 
   pa_threaded_mainloop_lock (pulsesrc->mainloop);
 
@@ -1338,7 +1349,7 @@
   /* enable event notifications */
   GST_LOG_OBJECT (pulsesrc, "subscribing to context events");
   if (!(o = pa_context_subscribe (pulsesrc->context,
-              PA_SUBSCRIPTION_MASK_SINK_INPUT, NULL, NULL))) {
+              PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT, NULL, NULL))) {
     GST_ELEMENT_ERROR (pulsesrc, RESOURCE, FAILED,
         ("pa_context_subscribe() failed: %s",
             pa_strerror (pa_context_errno (pulsesrc->context))), (NULL));
@@ -1371,6 +1382,10 @@
     goto connect_failed;
   }
 
+  /* our clock will now start from 0 again */
+  clock = GST_AUDIO_CLOCK (GST_AUDIO_BASE_SRC (pulsesrc)->clock);
+  gst_audio_clock_reset (clock, 0);
+
   pulsesrc->corked = TRUE;
 
   for (;;) {
@@ -1606,6 +1621,11 @@
         goto mainloop_start_failed;
       }
       break;
+    case GST_STATE_CHANGE_READY_TO_PAUSED:
+      gst_element_post_message (element,
+          gst_message_new_clock_provide (GST_OBJECT_CAST (element),
+              GST_AUDIO_BASE_SRC (this)->clock, TRUE));
+      break;
     case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
       /* uncork and start recording */
       gst_pulsesrc_play (this);
@@ -1639,6 +1659,12 @@
         this->mainloop = NULL;
       }
       break;
+    case GST_STATE_CHANGE_PAUSED_TO_READY:
+      /* format_lost is reset in release() in baseaudiosink */
+      gst_element_post_message (element,
+          gst_message_new_clock_lost (GST_OBJECT_CAST (element),
+              GST_AUDIO_BASE_SRC (this)->clock));
+      break;
     default:
       break;
   }
@@ -1659,3 +1685,28 @@
     return GST_STATE_CHANGE_FAILURE;
   }
 }
+
+static GstClockTime
+gst_pulsesrc_get_time (GstClock * clock, GstPulseSrc * src)
+{
+  pa_usec_t time = 0;
+
+  pa_threaded_mainloop_lock (src->mainloop);
+
+  if (gst_pulsesrc_is_dead (src, TRUE)) {
+    goto unlock_and_out;
+  }
+
+  if (pa_stream_get_time (src->stream, &time) < 0) {
+    GST_DEBUG_OBJECT (src, "could not get time");
+    time = GST_CLOCK_TIME_NONE;
+  } else {
+    time *= 1000;
+  }
+
+
+unlock_and_out:
+  pa_threaded_mainloop_unlock (src->mainloop);
+
+  return time;
+}
diff --git a/ext/raw1394/Makefile.in b/ext/raw1394/Makefile.in
index af2eef5..bc8dabf 100644
--- a/ext/raw1394/Makefile.in
+++ b/ext/raw1394/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = ext/raw1394
 DIST_COMMON = $(am__noinst_HEADERS_DIST) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -191,8 +191,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -239,6 +237,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -283,8 +282,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -299,6 +300,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -364,7 +369,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -420,6 +425,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -492,7 +498,11 @@
 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@
diff --git a/ext/shout2/Makefile.in b/ext/shout2/Makefile.in
index 73796b9..a71ae75 100644
--- a/ext/shout2/Makefile.in
+++ b/ext/shout2/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = ext/shout2
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -183,8 +183,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -231,6 +229,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -275,8 +274,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -291,6 +292,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -356,7 +361,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -412,6 +417,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -484,7 +490,11 @@
 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@
diff --git a/ext/soup/Makefile.in b/ext/soup/Makefile.in
index 2c4c589..5c17ba7 100644
--- a/ext/soup/Makefile.in
+++ b/ext/soup/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = ext/soup
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -186,8 +186,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -234,6 +232,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -278,8 +277,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -294,6 +295,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -359,7 +364,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -415,6 +420,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -487,7 +493,11 @@
 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@
diff --git a/ext/soup/gstsouphttpsrc.c b/ext/soup/gstsouphttpsrc.c
index e35e39a..40ff92f 100644
--- a/ext/soup/gstsouphttpsrc.c
+++ b/ext/soup/gstsouphttpsrc.c
@@ -788,7 +788,8 @@
   if (!gst_tag_list_is_empty (tag_list)) {
     GST_DEBUG_OBJECT (src,
         "calling gst_element_found_tags with %" GST_PTR_FORMAT, tag_list);
-    gst_pad_push_event (GST_BASE_SRC_PAD (src), gst_event_new_tag (tag_list));
+    gst_pad_push_event (GST_BASE_SRC_PAD (src), gst_event_new_tag ("GstSrc",
+            tag_list));
   } else {
     gst_tag_list_free (tag_list);
   }
@@ -1083,8 +1084,6 @@
           *cookie);
     }
   }
-  soup_message_headers_append (src->msg->request_headers,
-      "transferMode.dlna.org", "Streaming");
   src->retry = FALSE;
 
   g_signal_connect (src->msg, "got_headers",
@@ -1312,8 +1311,9 @@
 
   GST_DEBUG_OBJECT (src, "do_seek(%" G_GUINT64_FORMAT ")", segment->start);
 
-  if (src->read_position == segment->start) {
-    GST_DEBUG_OBJECT (src, "Seeking to current read position");
+  if (src->read_position == segment->start &&
+      src->request_position == src->read_position) {
+    GST_DEBUG_OBJECT (src, "Seek to current read position and no seek pending");
     return TRUE;
   }
 
diff --git a/ext/speex/Makefile.in b/ext/speex/Makefile.in
index 4a96d52..09d2889 100644
--- a/ext/speex/Makefile.in
+++ b/ext/speex/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = ext/speex
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -185,8 +185,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -233,6 +231,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -277,8 +276,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -293,6 +294,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -358,7 +363,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -414,6 +419,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -486,7 +492,11 @@
 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@
diff --git a/ext/taglib/Makefile.in b/ext/taglib/Makefile.in
index 3eed109..5585916 100644
--- a/ext/taglib/Makefile.in
+++ b/ext/taglib/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = ext/taglib
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -200,8 +200,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -248,6 +246,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -292,8 +291,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -308,6 +309,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -373,7 +378,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -429,6 +434,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -501,7 +507,11 @@
 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@
diff --git a/ext/wavpack/Makefile.in b/ext/wavpack/Makefile.in
index 5f9081c..b41449f 100644
--- a/ext/wavpack/Makefile.in
+++ b/ext/wavpack/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = ext/wavpack
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -188,8 +188,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -236,6 +234,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -280,8 +279,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -296,6 +297,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -361,7 +366,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -417,6 +422,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -489,7 +495,11 @@
 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@
diff --git a/gst-plugins-good.doap b/gst-plugins-good.doap
index da421d1..5c262bf 100644
--- a/gst-plugins-good.doap
+++ b/gst-plugins-good.doap
@@ -34,6 +34,16 @@
 
  <release>
   <Version>
+   <revision>0.11.92</revision>
+   <branch>0.11</branch>
+   <name>Money</name>
+   <created>2012-06-07</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.11.92.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>0.11.91</revision>
    <branch>0.11</branch>
    <name>I smell the blood of an Englishman</name>
diff --git a/gst-plugins-good.spec b/gst-plugins-good.spec
index 6ebfede..d7383da 100644
--- a/gst-plugins-good.spec
+++ b/gst-plugins-good.spec
@@ -4,7 +4,7 @@
 %define gst_minver   0.11.0
 
 Name: 		%{gstreamer}-plugins-good
-Version: 	0.11.91
+Version: 	0.11.92
 Release: 	1.gst
 Summary: 	GStreamer plug-ins with good code and licensing
 
diff --git a/gst/Makefile.in b/gst/Makefile.in
index b9974ab..74d4d5d 100644
--- a/gst/Makefile.in
+++ b/gst/Makefile.in
@@ -55,6 +55,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 	$(top_srcdir)/common/parallel-subdirs.mak
 subdir = gst
@@ -64,7 +65,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -161,8 +161,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -209,6 +207,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -253,8 +252,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -269,6 +270,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -334,7 +339,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -390,6 +395,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -462,7 +468,11 @@
 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@
diff --git a/gst/alpha/Makefile.in b/gst/alpha/Makefile.in
index 49511b5..6da2875 100644
--- a/gst/alpha/Makefile.in
+++ b/gst/alpha/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/alpha
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -193,8 +193,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -241,6 +239,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -285,8 +284,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -301,6 +302,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -366,7 +371,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -422,6 +427,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -494,7 +500,11 @@
 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@
diff --git a/gst/apetag/Makefile.in b/gst/apetag/Makefile.in
index d741199..2234f28 100644
--- a/gst/apetag/Makefile.in
+++ b/gst/apetag/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/apetag
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -183,8 +183,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -231,6 +229,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -275,8 +274,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -291,6 +292,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -356,7 +361,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -412,6 +417,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -484,7 +490,11 @@
 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@
diff --git a/gst/audiofx/Makefile.in b/gst/audiofx/Makefile.in
index cedfbe2..402d35d 100644
--- a/gst/audiofx/Makefile.in
+++ b/gst/audiofx/Makefile.in
@@ -54,6 +54,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/audiofx
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -63,7 +64,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -200,8 +200,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -250,6 +248,7 @@
 # FIXME 0.11: ignore GValueArray warnings for now until this is sorted
 ERROR_CFLAGS = 
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -294,8 +293,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -310,6 +311,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -375,7 +380,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -431,6 +436,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -503,7 +509,11 @@
 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@
diff --git a/gst/audioparsers/Makefile.in b/gst/audioparsers/Makefile.in
index e7d5bbd..12d86c4 100644
--- a/gst/audioparsers/Makefile.in
+++ b/gst/audioparsers/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/audioparsers
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -191,8 +191,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -239,6 +237,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -283,8 +282,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -299,6 +300,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -364,7 +369,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -420,6 +425,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -492,7 +498,11 @@
 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@
diff --git a/gst/audioparsers/gstaacparse.c b/gst/audioparsers/gstaacparse.c
index b082076..f56b3e8 100644
--- a/gst/audioparsers/gstaacparse.c
+++ b/gst/audioparsers/gstaacparse.c
@@ -1093,10 +1093,8 @@
   GstCaps *peercaps, *templ;
   GstCaps *res;
 
-  /* FIXME: handle filter caps */
-
-  templ = gst_pad_get_pad_template_caps (GST_BASE_PARSE_SINK_PAD (parse)),
-      peercaps = gst_pad_get_allowed_caps (GST_BASE_PARSE_SRC_PAD (parse));
+  templ = gst_pad_get_pad_template_caps (GST_BASE_PARSE_SINK_PAD (parse));
+  peercaps = gst_pad_get_allowed_caps (GST_BASE_PARSE_SRC_PAD (parse));
   if (peercaps) {
     guint i, n;
 
@@ -1111,10 +1109,24 @@
 
     res = gst_caps_intersect_full (peercaps, templ, GST_CAPS_INTERSECT_FIRST);
     gst_caps_unref (peercaps);
-    gst_caps_unref (templ);
+
+    /* Append the template caps because we still want to accept
+     * caps without any fields in the case upstream does not
+     * know anything.
+     */
+    gst_caps_append (res, templ);
   } else {
     res = templ;
   }
 
+  if (filter) {
+    GstCaps *intersection;
+
+    intersection =
+        gst_caps_intersect_full (filter, res, GST_CAPS_INTERSECT_FIRST);
+    gst_caps_unref (res);
+    res = intersection;
+  }
+
   return res;
 }
diff --git a/gst/audioparsers/gstac3parse.c b/gst/audioparsers/gstac3parse.c
index 26ee0d8..e6ac16b 100644
--- a/gst/audioparsers/gstac3parse.c
+++ b/gst/audioparsers/gstac3parse.c
@@ -696,9 +696,9 @@
   GstCaps *peercaps, *templ;
   GstCaps *res;
 
-  /* FIXME: handle filter */
-  templ = gst_pad_get_pad_template_caps (GST_BASE_PARSE_SINK_PAD (parse)),
-      peercaps = gst_pad_get_allowed_caps (GST_BASE_PARSE_SRC_PAD (parse));
+  templ = gst_pad_get_pad_template_caps (GST_BASE_PARSE_SINK_PAD (parse));
+  peercaps = gst_pad_get_allowed_caps (GST_BASE_PARSE_SRC_PAD (parse));
+
   if (peercaps) {
     guint i, n;
 
@@ -715,10 +715,24 @@
 
     res = gst_caps_intersect_full (peercaps, templ, GST_CAPS_INTERSECT_FIRST);
     gst_caps_unref (peercaps);
-    gst_caps_unref (templ);
+
+    /* Append the template caps because we still want to accept
+     * caps without any fields in the case upstream does not
+     * know anything.
+     */
+    gst_caps_append (res, templ);
   } else {
     res = templ;
   }
 
+  if (filter) {
+    GstCaps *intersection;
+
+    intersection =
+        gst_caps_intersect_full (filter, res, GST_CAPS_INTERSECT_FIRST);
+    gst_caps_unref (res);
+    res = intersection;
+  }
+
   return res;
 }
diff --git a/gst/audioparsers/gstamrparse.c b/gst/audioparsers/gstamrparse.c
index 530f025..2bcb085 100644
--- a/gst/audioparsers/gstamrparse.c
+++ b/gst/audioparsers/gstamrparse.c
@@ -368,11 +368,10 @@
   GstCaps *peercaps, *templ;
   GstCaps *res;
 
-  /* FIXME: handle filter caps */
 
   templ = gst_pad_get_pad_template_caps (GST_BASE_PARSE_SINK_PAD (parse));
-
   peercaps = gst_pad_get_allowed_caps (GST_BASE_PARSE_SRC_PAD (parse));
+
   if (peercaps) {
     guint i, n;
 
@@ -390,10 +389,23 @@
 
     res = gst_caps_intersect_full (peercaps, templ, GST_CAPS_INTERSECT_FIRST);
     gst_caps_unref (peercaps);
-    gst_caps_unref (templ);
+    /* Append the template caps because we still want to accept
+     * caps without any fields in the case upstream does not
+     * know anything.
+     */
+    gst_caps_append (res, templ);
   } else {
     res = templ;
   }
 
+  if (filter) {
+    GstCaps *intersection;
+
+    intersection =
+        gst_caps_intersect_full (filter, res, GST_CAPS_INTERSECT_FIRST);
+    gst_caps_unref (res);
+    res = intersection;
+  }
+
   return res;
 }
diff --git a/gst/audioparsers/gstdcaparse.c b/gst/audioparsers/gstdcaparse.c
index 2b6aafb..3d44b65 100644
--- a/gst/audioparsers/gstdcaparse.c
+++ b/gst/audioparsers/gstdcaparse.c
@@ -446,10 +446,9 @@
   GstCaps *peercaps, *templ;
   GstCaps *res;
 
-  /* FIXME: handle filter caps */
   templ = gst_pad_get_pad_template_caps (GST_BASE_PARSE_SINK_PAD (parse));
-
   peercaps = gst_pad_get_allowed_caps (GST_BASE_PARSE_SRC_PAD (parse));
+
   if (peercaps) {
     guint i, n;
 
@@ -464,10 +463,24 @@
 
     res = gst_caps_intersect_full (peercaps, templ, GST_CAPS_INTERSECT_FIRST);
     gst_caps_unref (peercaps);
-    gst_caps_unref (templ);
+
+    /* Append the template caps because we still want to accept
+     * caps without any fields in the case upstream does not
+     * know anything.
+     */
+    gst_caps_append (res, templ);
   } else {
     res = templ;
   }
 
+  if (filter) {
+    GstCaps *intersection;
+
+    intersection =
+        gst_caps_intersect_full (filter, res, GST_CAPS_INTERSECT_FIRST);
+    gst_caps_unref (res);
+    res = intersection;
+  }
+
   return res;
 }
diff --git a/gst/audioparsers/gstflacparse.c b/gst/audioparsers/gstflacparse.c
index 5ca2ca1..18978ff 100644
--- a/gst/audioparsers/gstflacparse.c
+++ b/gst/audioparsers/gstflacparse.c
@@ -1503,7 +1503,7 @@
   /* Push tags */
   if (flacparse->tags) {
     gst_pad_push_event (GST_BASE_PARSE_SRC_PAD (flacparse),
-        gst_event_new_tag (flacparse->tags));
+        gst_event_new_tag ("GstParser", flacparse->tags));
     flacparse->tags = NULL;
   }
 
@@ -1550,10 +1550,9 @@
   GstCaps *peercaps, *templ;
   GstCaps *res;
 
-  /* FIXME: handle filter caps */
   templ = gst_pad_get_pad_template_caps (GST_BASE_PARSE_SINK_PAD (parse));
-
   peercaps = gst_pad_get_allowed_caps (GST_BASE_PARSE_SRC_PAD (parse));
+
   if (peercaps) {
     guint i, n;
 
@@ -1568,10 +1567,24 @@
 
     res = gst_caps_intersect_full (peercaps, templ, GST_CAPS_INTERSECT_FIRST);
     gst_caps_unref (peercaps);
-    gst_caps_unref (templ);
+
+    /* Append the template caps because we still want to accept
+     * caps without any fields in the case upstream does not
+     * know anything.
+     */
+    gst_caps_append (res, templ);
   } else {
     res = templ;
   }
 
+  if (filter) {
+    GstCaps *intersection;
+
+    intersection =
+        gst_caps_intersect_full (filter, res, GST_CAPS_INTERSECT_FIRST);
+    gst_caps_unref (res);
+    res = intersection;
+  }
+
   return res;
 }
diff --git a/gst/audioparsers/gstmpegaudioparse.c b/gst/audioparsers/gstmpegaudioparse.c
index b028be1..bd35117 100644
--- a/gst/audioparsers/gstmpegaudioparse.c
+++ b/gst/audioparsers/gstmpegaudioparse.c
@@ -1350,7 +1350,7 @@
           GST_TAG_NOMINAL_BITRATE, mp3parse->hdr_bitrate, NULL);
     }
     gst_pad_push_event (GST_BASE_PARSE_SRC_PAD (mp3parse),
-        gst_event_new_tag (taglist));
+        gst_event_new_tag ("GstParser", taglist));
     g_free (codec);
 
     /* also signals the end of first-frame processing */
@@ -1389,7 +1389,7 @@
   /* if the taglist exists, we need to send it */
   if (taglist) {
     gst_pad_push_event (GST_BASE_PARSE_SRC_PAD (mp3parse),
-        gst_event_new_tag (taglist));
+        gst_event_new_tag ("GstParser", taglist));
   }
 
   /* usual clipping applies */
@@ -1404,10 +1404,9 @@
   GstCaps *peercaps, *templ;
   GstCaps *res;
 
-  /* FIXME: handle filter caps */
   templ = gst_pad_get_pad_template_caps (GST_BASE_PARSE_SINK_PAD (parse));
-
   peercaps = gst_pad_get_allowed_caps (GST_BASE_PARSE_SRC_PAD (parse));
+
   if (peercaps) {
     guint i, n;
 
@@ -1422,10 +1421,24 @@
 
     res = gst_caps_intersect_full (peercaps, templ, GST_CAPS_INTERSECT_FIRST);
     gst_caps_unref (peercaps);
-    gst_caps_unref (templ);
+
+    /* Append the template caps because we still want to accept
+     * caps without any fields in the case upstream does not
+     * know anything.
+     */
+    gst_caps_append (res, templ);
   } else {
     res = templ;
   }
 
+  if (filter) {
+    GstCaps *intersection;
+
+    intersection =
+        gst_caps_intersect_full (filter, res, GST_CAPS_INTERSECT_FIRST);
+    gst_caps_unref (res);
+    res = intersection;
+  }
+
   return res;
 }
diff --git a/gst/audioparsers/gstwavpackparse.c b/gst/audioparsers/gstwavpackparse.c
index c3bcb68..e11f82a 100644
--- a/gst/audioparsers/gstwavpackparse.c
+++ b/gst/audioparsers/gstwavpackparse.c
@@ -614,10 +614,9 @@
   GstCaps *peercaps, *templ;
   GstCaps *res;
 
-  /* FIXME: handle filter caps */
   templ = gst_pad_get_pad_template_caps (GST_BASE_PARSE_SINK_PAD (parse));
-
   peercaps = gst_pad_get_allowed_caps (GST_BASE_PARSE_SRC_PAD (parse));
+
   if (peercaps) {
     guint i, n;
 
@@ -632,10 +631,24 @@
 
     res = gst_caps_intersect_full (peercaps, templ, GST_CAPS_INTERSECT_FIRST);
     gst_caps_unref (peercaps);
-    gst_caps_unref (templ);
+
+    /* Append the template caps because we still want to accept
+     * caps without any fields in the case upstream does not
+     * know anything.
+     */
+    gst_caps_append (res, templ);
   } else {
     res = templ;
   }
 
+  if (filter) {
+    GstCaps *intersection;
+
+    intersection =
+        gst_caps_intersect_full (filter, res, GST_CAPS_INTERSECT_FIRST);
+    gst_caps_unref (res);
+    res = intersection;
+  }
+
   return res;
 }
diff --git a/gst/auparse/Makefile.in b/gst/auparse/Makefile.in
index ae0820e..a152575 100644
--- a/gst/auparse/Makefile.in
+++ b/gst/auparse/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/auparse
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -183,8 +183,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -231,6 +229,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -275,8 +274,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -291,6 +292,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -356,7 +361,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -412,6 +417,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -484,7 +490,11 @@
 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@
diff --git a/gst/autodetect/Makefile.in b/gst/autodetect/Makefile.in
index b3ab2e0..42164e4 100644
--- a/gst/autodetect/Makefile.in
+++ b/gst/autodetect/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/autodetect
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -187,8 +187,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -235,6 +233,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -279,8 +278,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -295,6 +296,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -360,7 +365,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -416,6 +421,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -488,7 +494,11 @@
 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@
diff --git a/gst/avi/Makefile.in b/gst/avi/Makefile.in
index 811fe48..01ac3fe 100644
--- a/gst/avi/Makefile.in
+++ b/gst/avi/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/avi
 DIST_COMMON = README $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -185,8 +185,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -233,6 +231,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -277,8 +276,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -293,6 +294,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -358,7 +363,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -414,6 +419,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -486,7 +492,11 @@
 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@
diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c
index 55589fd..dddec00 100644
--- a/gst/avi/gstavidemux.c
+++ b/gst/avi/gstavidemux.c
@@ -5119,7 +5119,7 @@
     if (pad && tags) {
       GST_DEBUG_OBJECT (pad, "Tags: %" GST_PTR_FORMAT, tags);
 
-      gst_pad_push_event (pad, gst_event_new_tag (tags));
+      gst_pad_push_event (pad, gst_event_new_tag ("GstDemuxer", tags));
       stream->taglist = NULL;
     }
   }
@@ -5131,7 +5131,7 @@
       GST_TAG_CONTAINER_FORMAT, "AVI", NULL);
 
   GST_DEBUG_OBJECT (avi, "Global tags: %" GST_PTR_FORMAT, tags);
-  gst_avi_demux_push_event (avi, gst_event_new_tag (tags));
+  gst_avi_demux_push_event (avi, gst_event_new_tag ("GstDemuxer", tags));
   avi->globaltags = NULL;
   avi->got_tags = FALSE;
 }
diff --git a/gst/avi/gstavimux.c b/gst/avi/gstavimux.c
index 573de47..1e699c8 100644
--- a/gst/avi/gstavimux.c
+++ b/gst/avi/gstavimux.c
@@ -1112,18 +1112,32 @@
     0, NULL}
   };
   gint n;
-  gchar *str;
+  gchar *str = NULL;
   GstByteWriter *bw = data;
   guint chunk;
 
   for (n = 0; rifftags[n].fcc != 0; n++) {
-    if (!strcmp (rifftags[n].tag, tag) &&
-        gst_tag_list_get_string (list, tag, &str) && str) {
-      chunk = gst_avi_mux_start_chunk (bw, NULL, rifftags[n].fcc);
-      gst_byte_writer_put_string (bw, str);
-      gst_avi_mux_end_chunk (bw, chunk);
-      g_free (str);
-      break;
+    if (!strcmp (rifftags[n].tag, tag)) {
+      if (rifftags[n].fcc == GST_RIFF_INFO_ICRD) {
+        GDate *date;
+        /* special case for the date tag */
+        if (gst_tag_list_get_date (list, tag, &date)) {
+          str =
+              g_strdup_printf ("%04d:%02d:%02d", g_date_get_year (date),
+              g_date_get_month (date), g_date_get_day (date));
+          g_date_free (date);
+        }
+      } else {
+        gst_tag_list_get_string (list, tag, &str);
+      }
+      if (str) {
+        chunk = gst_avi_mux_start_chunk (bw, NULL, rifftags[n].fcc);
+        gst_byte_writer_put_string (bw, str);
+        gst_avi_mux_end_chunk (bw, chunk);
+        g_free (str);
+        str = NULL;
+        break;
+      }
     }
   }
 }
diff --git a/gst/avi/gstavisubtitle.c b/gst/avi/gstavisubtitle.c
index 80f0668..a404011 100644
--- a/gst/avi/gstavisubtitle.c
+++ b/gst/avi/gstavisubtitle.c
@@ -177,7 +177,8 @@
 gst_avi_subtitle_title_tag (GstAviSubtitle * sub, gchar * title)
 {
   gst_pad_push_event (sub->src,
-      gst_event_new_tag (gst_tag_list_new (GST_TAG_TITLE, title, NULL)));
+      gst_event_new_tag ("GstParser", gst_tag_list_new (GST_TAG_TITLE, title,
+              NULL)));
 }
 
 static GstFlowReturn
diff --git a/gst/cutter/Makefile.in b/gst/cutter/Makefile.in
index 069daf0..970a316 100644
--- a/gst/cutter/Makefile.in
+++ b/gst/cutter/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/cutter
 DIST_COMMON = README $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -183,8 +183,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -231,6 +229,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -275,8 +274,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -291,6 +292,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -356,7 +361,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -412,6 +417,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -484,7 +490,11 @@
 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@
diff --git a/gst/debugutils/Makefile.in b/gst/debugutils/Makefile.in
index e083626..cea61dc 100644
--- a/gst/debugutils/Makefile.in
+++ b/gst/debugutils/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/debugutils
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -200,8 +200,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -248,6 +246,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -292,8 +291,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -308,6 +309,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -373,7 +378,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -429,6 +434,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -501,7 +507,11 @@
 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@
diff --git a/gst/debugutils/gsttaginject.c b/gst/debugutils/gsttaginject.c
index baee8f1..8decf6a 100644
--- a/gst/debugutils/gsttaginject.c
+++ b/gst/debugutils/gsttaginject.c
@@ -148,7 +148,7 @@
     if (self->tags && !gst_tag_list_is_empty (self->tags)) {
       GST_DEBUG ("tag event :%" GST_PTR_FORMAT, self->tags);
       gst_pad_push_event (GST_BASE_TRANSFORM_SRC_PAD (trans),
-          gst_event_new_tag (gst_tag_list_copy (self->tags)));
+          gst_event_new_tag ("GstTagInject", gst_tag_list_copy (self->tags)));
     }
   }
 
diff --git a/gst/deinterlace/Makefile.in b/gst/deinterlace/Makefile.in
index 632058b..89d9cd6 100644
--- a/gst/deinterlace/Makefile.in
+++ b/gst/deinterlace/Makefile.in
@@ -74,6 +74,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in $(top_srcdir)/common/orc.mak
 subdir = gst/deinterlace
@@ -83,7 +84,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -219,8 +219,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -267,6 +265,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -311,8 +310,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -327,6 +328,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -392,7 +397,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -448,6 +453,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -520,7 +526,11 @@
 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@
diff --git a/gst/effectv/Makefile.in b/gst/effectv/Makefile.in
index f68ccac..3582336 100644
--- a/gst/effectv/Makefile.in
+++ b/gst/effectv/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/effectv
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -191,8 +191,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -239,6 +237,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -283,8 +282,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -299,6 +300,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -364,7 +369,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -420,6 +425,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -492,7 +498,11 @@
 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@
diff --git a/gst/equalizer/Makefile.in b/gst/equalizer/Makefile.in
index ecb15d7..9787570 100644
--- a/gst/equalizer/Makefile.in
+++ b/gst/equalizer/Makefile.in
@@ -53,6 +53,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/equalizer
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -62,7 +63,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -189,8 +189,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -237,6 +235,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -281,8 +280,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -297,6 +298,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -362,7 +367,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -418,6 +423,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -490,7 +496,11 @@
 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@
diff --git a/gst/flv/Makefile.in b/gst/flv/Makefile.in
index b7aeb44..b773636 100644
--- a/gst/flv/Makefile.in
+++ b/gst/flv/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/flv
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -184,8 +184,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -232,6 +230,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -276,8 +275,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -292,6 +293,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -357,7 +362,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -413,6 +418,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -485,7 +491,11 @@
 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@
diff --git a/gst/flv/gstflvdemux.c b/gst/flv/gstflvdemux.c
index da2b13a..d22104a 100644
--- a/gst/flv/gstflvdemux.c
+++ b/gst/flv/gstflvdemux.c
@@ -796,7 +796,8 @@
   if (demux->taglist) {
     GST_DEBUG_OBJECT (demux, "pushing tags out %" GST_PTR_FORMAT,
         demux->taglist);
-    gst_flv_demux_push_src_event (demux, gst_event_new_tag (demux->taglist));
+    gst_flv_demux_push_src_event (demux, gst_event_new_tag ("GstDemuxer",
+            demux->taglist));
     demux->taglist = gst_tag_list_new_empty ();
     demux->push_tags = FALSE;
   }
@@ -2472,7 +2473,10 @@
         }
 
         GST_LOG_OBJECT (demux, "Sending EOS, at end of stream");
-        if (!gst_flv_demux_push_src_event (demux, gst_event_new_eos ()))
+        if (!demux->audio_pad && !demux->video_pad)
+          GST_ELEMENT_ERROR (demux, STREAM, FAILED,
+              ("Internal data stream error."), ("Got EOS before any data"));
+        else if (!gst_flv_demux_push_src_event (demux, gst_event_new_eos ()))
           GST_WARNING_OBJECT (demux, "failed pushing EOS on streams");
       }
     } else if (ret == GST_FLOW_NOT_LINKED || ret < GST_FLOW_EOS) {
@@ -2936,13 +2940,19 @@
         gst_index_commit (index, demux->index_id);
         gst_object_unref (index);
       }
-      if (!demux->no_more_pads) {
-        gst_element_no_more_pads (GST_ELEMENT (demux));
-        demux->no_more_pads = TRUE;
-      }
 
-      if (!gst_flv_demux_push_src_event (demux, event))
-        GST_WARNING_OBJECT (demux, "failed pushing EOS on streams");
+      if (!demux->audio_pad && !demux->video_pad)
+        GST_ELEMENT_ERROR (demux, STREAM, FAILED,
+            ("Internal data stream error."), ("Got EOS before any data"));
+      else {
+        if (!demux->no_more_pads) {
+          gst_element_no_more_pads (GST_ELEMENT (demux));
+          demux->no_more_pads = TRUE;
+        }
+
+        if (!gst_flv_demux_push_src_event (demux, event))
+          GST_WARNING_OBJECT (demux, "failed pushing EOS on streams");
+      }
       ret = TRUE;
       break;
     }
diff --git a/gst/flv/gstflvmux.c b/gst/flv/gstflvmux.c
index 2b44a18..a48f318 100644
--- a/gst/flv/gstflvmux.c
+++ b/gst/flv/gstflvmux.c
@@ -712,7 +712,7 @@
 
   script_tag = gst_buffer_append (script_tag, tmp);
 
-  n_tags = (tags) ? gst_structure_n_fields ((GstStructure *) tags) : 0;
+  n_tags = (tags) ? gst_tag_list_n_tags (tags) : 0;
   _gst_buffer_new_and_alloc (5, &tmp, &data);
   data[0] = 8;                  /* ECMA array */
   GST_WRITE_UINT32_BE (data + 1, n_tags);
@@ -743,8 +743,7 @@
 
 tags:
   for (i = 0; tags && i < n_tags; i++) {
-    const gchar *tag_name =
-        gst_structure_nth_field_name ((const GstStructure *) tags, i);
+    const gchar *tag_name = gst_tag_list_nth_tag_name (tags, i);
     if (!strcmp (tag_name, GST_TAG_DURATION)) {
       guint64 dur;
 
diff --git a/gst/flx/Makefile.in b/gst/flx/Makefile.in
index e6cf3ba..fc7bef9 100644
--- a/gst/flx/Makefile.in
+++ b/gst/flx/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/flx
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -184,8 +184,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -232,6 +230,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -276,8 +275,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -292,6 +293,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -357,7 +362,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -413,6 +418,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -485,7 +491,11 @@
 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@
diff --git a/gst/goom/Makefile.in b/gst/goom/Makefile.in
index bf1620c..7064d00 100644
--- a/gst/goom/Makefile.in
+++ b/gst/goom/Makefile.in
@@ -51,6 +51,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/goom
 DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -59,7 +60,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -202,8 +202,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -250,6 +248,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -294,8 +293,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -310,6 +311,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -375,7 +380,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -431,6 +436,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -503,7 +509,11 @@
 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@
diff --git a/gst/goom2k1/Makefile.in b/gst/goom2k1/Makefile.in
index 950ca47..7bf4dc8 100644
--- a/gst/goom2k1/Makefile.in
+++ b/gst/goom2k1/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/goom2k1
 DIST_COMMON = README $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -186,8 +186,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -234,6 +232,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -278,8 +277,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -294,6 +295,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -359,7 +364,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -415,6 +420,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -487,7 +493,11 @@
 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@
diff --git a/gst/icydemux/Makefile.in b/gst/icydemux/Makefile.in
index c385bba..81fe0d7 100644
--- a/gst/icydemux/Makefile.in
+++ b/gst/icydemux/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/icydemux
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -184,8 +184,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -232,6 +230,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -276,8 +275,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -292,6 +293,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -357,7 +362,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -413,6 +418,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -485,7 +491,11 @@
 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@
diff --git a/gst/icydemux/gsticydemux.c b/gst/icydemux/gsticydemux.c
index 4970745..e72b104 100644
--- a/gst/icydemux/gsticydemux.c
+++ b/gst/icydemux/gsticydemux.c
@@ -231,14 +231,16 @@
     g_return_val_if_fail (icydemux->srcpad != NULL, FALSE);
 
     gst_pad_use_fixed_caps (icydemux->srcpad);
+    gst_pad_set_active (icydemux->srcpad, TRUE);
 
-    if (icydemux->src_caps)
-      gst_pad_set_caps (icydemux->srcpad, icydemux->src_caps);
+    if (icydemux->src_caps) {
+      if (!gst_pad_set_caps (icydemux->srcpad, icydemux->src_caps))
+        GST_WARNING_OBJECT (icydemux, "Failed to set caps on src pad");
+    }
 
     GST_DEBUG_OBJECT (icydemux, "Adding src pad with caps %" GST_PTR_FORMAT,
         icydemux->src_caps);
 
-    gst_pad_set_active (icydemux->srcpad, TRUE);
     if (!(gst_element_add_pad (GST_ELEMENT (icydemux), icydemux->srcpad)))
       return FALSE;
     gst_element_no_more_pads (GST_ELEMENT (icydemux));
@@ -615,7 +617,7 @@
   gst_element_post_message (GST_ELEMENT (icydemux),
       gst_message_new_tag (GST_OBJECT (icydemux), gst_tag_list_copy (tags)));
 
-  event = gst_event_new_tag (tags);
+  event = gst_event_new_tag ("GstDemuxer", tags);
   GST_EVENT_TIMESTAMP (event) = 0;
 
   GST_DEBUG_OBJECT (icydemux, "Sending tag event on src pad");
diff --git a/gst/id3demux/Makefile.in b/gst/id3demux/Makefile.in
index 2bee50a..bc39420 100644
--- a/gst/id3demux/Makefile.in
+++ b/gst/id3demux/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/id3demux
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -183,8 +183,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -231,6 +229,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -275,8 +274,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -291,6 +292,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -356,7 +361,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -412,6 +417,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -484,7 +490,11 @@
 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@
diff --git a/gst/imagefreeze/Makefile.in b/gst/imagefreeze/Makefile.in
index e2d8fdd..e90e77d 100644
--- a/gst/imagefreeze/Makefile.in
+++ b/gst/imagefreeze/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/imagefreeze
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -183,8 +183,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -231,6 +229,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -275,8 +274,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -291,6 +292,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -356,7 +361,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -412,6 +417,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -484,7 +490,11 @@
 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@
diff --git a/gst/interleave/Makefile.in b/gst/interleave/Makefile.in
index ccbdf76..53b47d3 100644
--- a/gst/interleave/Makefile.in
+++ b/gst/interleave/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/interleave
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -185,8 +185,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -233,6 +231,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -277,8 +276,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -293,6 +294,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -358,7 +363,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -414,6 +419,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -486,7 +492,11 @@
 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@
diff --git a/gst/isomp4/Makefile.in b/gst/isomp4/Makefile.in
index 23beb5c..f2a890a 100644
--- a/gst/isomp4/Makefile.in
+++ b/gst/isomp4/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/isomp4
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -192,8 +192,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -240,6 +238,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -284,8 +283,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -300,6 +301,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -365,7 +370,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -421,6 +426,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -493,7 +499,11 @@
 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@
diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c
index 21dc47a..ae3aa4c 100644
--- a/gst/isomp4/qtdemux.c
+++ b/gst/isomp4/qtdemux.c
@@ -794,7 +794,7 @@
       GST_DEBUG_OBJECT (qtdemux, "Sending tags %" GST_PTR_FORMAT,
           stream->pending_tags);
       gst_pad_push_event (stream->pad,
-          gst_event_new_tag (stream->pending_tags));
+          gst_event_new_tag ("GstDemuxer", stream->pending_tags));
       stream->pending_tags = NULL;
     }
 
@@ -802,7 +802,8 @@
       GST_DEBUG_OBJECT (qtdemux, "Sending global tags %" GST_PTR_FORMAT,
           qtdemux->tag_list);
       gst_pad_push_event (stream->pad,
-          gst_event_new_tag (gst_tag_list_copy (qtdemux->tag_list)));
+          gst_event_new_tag ("GstDemuxer",
+              gst_tag_list_copy (qtdemux->tag_list)));
       stream->send_global_tags = FALSE;
     }
   }
@@ -5138,7 +5139,7 @@
         /* make sure it's not writable. We leave MALLOCDATA to NULL so that we
          * don't free any of the buffer data. */
         palette = _gst_buffer_new_wrapped ((gpointer) palette_data,
-            palette_count, NULL);
+            palette_count * 4, NULL);
 
         gst_caps_set_simple (stream->caps, "palette_data",
             GST_TYPE_BUFFER, palette, NULL);
diff --git a/gst/law/Makefile.in b/gst/law/Makefile.in
index c47b7f1..f0e3cf4 100644
--- a/gst/law/Makefile.in
+++ b/gst/law/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/law
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -194,8 +194,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -242,6 +240,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -286,8 +285,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -302,6 +303,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -367,7 +372,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -423,6 +428,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -495,7 +501,11 @@
 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@
diff --git a/gst/level/Makefile.in b/gst/level/Makefile.in
index 46fa113..193d556 100644
--- a/gst/level/Makefile.in
+++ b/gst/level/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/level
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -183,8 +183,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -231,6 +229,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -275,8 +274,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -291,6 +292,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -356,7 +361,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -412,6 +417,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -484,7 +490,11 @@
 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@
diff --git a/gst/matroska/Makefile.in b/gst/matroska/Makefile.in
index eb087d7..6a85a91 100644
--- a/gst/matroska/Makefile.in
+++ b/gst/matroska/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/matroska
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -192,8 +192,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -240,6 +238,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -284,8 +283,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -300,6 +301,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -365,7 +370,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -421,6 +426,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -493,7 +499,11 @@
 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@
diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c
index 34c3699..d66769b 100644
--- a/gst/matroska/matroska-demux.c
+++ b/gst/matroska/matroska-demux.c
@@ -1502,7 +1502,7 @@
           GST_PTR_FORMAT, stream->pending_tags,
           GST_DEBUG_PAD_NAME (stream->pad), stream->pending_tags);
       gst_pad_push_event (stream->pad,
-          gst_event_new_tag (stream->pending_tags));
+          gst_event_new_tag ("GstDemuxer", stream->pending_tags));
       stream->pending_tags = NULL;
     }
   }
@@ -1514,7 +1514,7 @@
     GST_DEBUG_OBJECT (demux, "Sending global_tags %p : %" GST_PTR_FORMAT,
         demux->common.global_tags, demux->common.global_tags);
 
-    tag_event = gst_event_new_tag (demux->common.global_tags);
+    tag_event = gst_event_new_tag ("GstDemuxer", demux->common.global_tags);
 
     for (i = 0; i < demux->common.src->len; i++) {
       GstMatroskaTrackContext *stream;
@@ -1975,10 +1975,10 @@
    * would be determined again when parsing, but anyway ... */
   seeksegment.duration = demux->common.segment.duration;
 
-  flush = !!(flags & GST_SEEK_FLAG_FLUSH);
-  keyunit = !!(flags & GST_SEEK_FLAG_KEY_UNIT);
-  after = !!(flags & GST_SEEK_FLAG_SNAP_AFTER);
-  before = !!(flags & GST_SEEK_FLAG_SNAP_BEFORE);
+  flush = ! !(flags & GST_SEEK_FLAG_FLUSH);
+  keyunit = ! !(flags & GST_SEEK_FLAG_KEY_UNIT);
+  after = ! !(flags & GST_SEEK_FLAG_SNAP_AFTER);
+  before = ! !(flags & GST_SEEK_FLAG_SNAP_BEFORE);
 
   GST_DEBUG_OBJECT (demux, "New segment %" GST_SEGMENT_FORMAT, &seeksegment);
 
@@ -2010,6 +2010,11 @@
   GST_OBJECT_UNLOCK (demux);
 
   if (demux->streaming) {
+    GST_OBJECT_LOCK (demux);
+    /* now update the real segment info */
+    GST_DEBUG_OBJECT (demux, "Committing new seek segment");
+    memcpy (&demux->common.segment, &seeksegment, sizeof (GstSegment));
+    GST_OBJECT_UNLOCK (demux);
     /* need to seek to cluster start to pick up cluster time */
     /* upstream takes care of flushing and all that
      * ... and segment event handling takes care of the rest */
@@ -3427,14 +3432,19 @@
             "Setting stream start time to %" GST_TIME_FORMAT,
             GST_TIME_ARGS (lace_time));
       }
-      if (GST_CLOCK_TIME_IS_VALID (segment->stop))
-        segment_duration = segment->stop - segment->start;
-      else if (GST_CLOCK_TIME_IS_VALID (segment->position))
-        segment_duration = segment->position - segment->start;
-      segment->base += segment_duration / fabs (segment->rate);
-      segment->start = MAX (lace_time, demux->stream_start_time);
-      segment->stop = GST_CLOCK_TIME_NONE;
-      segment->position = segment->start - demux->stream_start_time;
+      if (demux->common.segment.start == 0) {
+        /* set segment fields only if they weren't already set by seek handling
+         * code
+         */
+        if (GST_CLOCK_TIME_IS_VALID (segment->stop))
+          segment_duration = segment->stop - segment->start;
+        else if (GST_CLOCK_TIME_IS_VALID (segment->position))
+          segment_duration = segment->position - segment->start;
+        segment->base += segment_duration / fabs (segment->rate);
+        segment->start = MAX (lace_time, demux->stream_start_time);
+        segment->stop = GST_CLOCK_TIME_NONE;
+        segment->position = segment->start - demux->stream_start_time;
+      }
       /* now convey our segment notion downstream */
       gst_matroska_demux_send_event (demux, gst_event_new_segment (segment));
       demux->need_segment = FALSE;
diff --git a/gst/matroska/matroska-read-common.c b/gst/matroska/matroska-read-common.c
index 146255c..3a2c8f8 100644
--- a/gst/matroska/matroska-read-common.c
+++ b/gst/matroska/matroska-read-common.c
@@ -439,7 +439,7 @@
     gst_tag_list_insert (common->global_tags, taglist, GST_TAG_MERGE_APPEND);
     gst_tag_list_free (taglist);
   } else {
-    GstEvent *tag_event = gst_event_new_tag (taglist);
+    GstEvent *tag_event = gst_event_new_tag ("GstDemuxer", taglist);
     gint i;
 
     /* hm, already sent, no need to cache and wait anymore */
@@ -707,7 +707,7 @@
   }
   DEBUG_ELEMENT_STOP (common, ebml, "Attachments", ret);
 
-  if (gst_structure_n_fields (GST_STRUCTURE (taglist)) > 0) {
+  if (gst_tag_list_n_tags (taglist) > 0) {
     GST_DEBUG_OBJECT (common, "Storing attachment tags");
     gst_matroska_read_common_found_global_tag (common, el, taglist);
   } else {
diff --git a/gst/monoscope/Makefile.in b/gst/monoscope/Makefile.in
index b6ff945..7d463c8 100644
--- a/gst/monoscope/Makefile.in
+++ b/gst/monoscope/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/monoscope
 DIST_COMMON = README $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -184,8 +184,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -232,6 +230,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -276,8 +275,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -292,6 +293,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -357,7 +362,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -413,6 +418,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -485,7 +491,11 @@
 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@
diff --git a/gst/multifile/Makefile.in b/gst/multifile/Makefile.in
index a730bed..bbd9bd1 100644
--- a/gst/multifile/Makefile.in
+++ b/gst/multifile/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/multifile
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -189,8 +189,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -237,6 +235,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -281,8 +280,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -297,6 +298,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -362,7 +367,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -418,6 +423,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -490,7 +496,11 @@
 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@
diff --git a/gst/multipart/Makefile.in b/gst/multipart/Makefile.in
index 7ec44b6..3606fce 100644
--- a/gst/multipart/Makefile.in
+++ b/gst/multipart/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/multipart
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -185,8 +185,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -233,6 +231,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -277,8 +276,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -293,6 +294,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -358,7 +363,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -414,6 +419,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -486,7 +492,11 @@
 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@
diff --git a/gst/multipart/multipartdemux.c b/gst/multipart/multipartdemux.c
index ab9dacb..540b298 100644
--- a/gst/multipart/multipartdemux.c
+++ b/gst/multipart/multipartdemux.c
@@ -609,7 +609,8 @@
         gst_pad_push_event (srcpad->pad, gst_event_new_segment (&segment));
 
         tags = gst_tag_list_new (GST_TAG_CONTAINER_FORMAT, "Multipart", NULL);
-        gst_pad_push_event (srcpad->pad, gst_event_new_tag (tags));
+        gst_pad_push_event (srcpad->pad, gst_event_new_tag ("GstDemuxer",
+                tags));
 
         GST_BUFFER_TIMESTAMP (outbuf) = 0;
       } else {
diff --git a/gst/replaygain/Makefile.in b/gst/replaygain/Makefile.in
index 59e862b..0f9b0bd 100644
--- a/gst/replaygain/Makefile.in
+++ b/gst/replaygain/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/replaygain
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -188,8 +188,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -236,6 +234,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -280,8 +279,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -296,6 +297,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -361,7 +366,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -417,6 +422,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -489,7 +495,11 @@
 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@
diff --git a/gst/replaygain/gstrganalysis.c b/gst/replaygain/gstrganalysis.c
index 50853d5..76b9dcb 100644
--- a/gst/replaygain/gstrganalysis.c
+++ b/gst/replaygain/gstrganalysis.c
@@ -634,7 +634,8 @@
           GST_TAG_REFERENCE_LEVEL, filter->reference_level, NULL);
       /* This steals our reference to the list: */
       gst_pad_push_event (GST_BASE_TRANSFORM_SRC_PAD (GST_BASE_TRANSFORM
-              (filter)), gst_event_new_tag (gst_tag_list_copy (tag_list)));
+              (filter)), gst_event_new_tag ("GstAnalysis",
+              gst_tag_list_copy (tag_list)));
       /* special case element, also post here */
       gst_element_post_message (GST_ELEMENT_CAST (filter),
           gst_message_new_tag (GST_OBJECT (filter), tag_list));
diff --git a/gst/rtp/Makefile.in b/gst/rtp/Makefile.in
index 67c9009..9e40ac4 100644
--- a/gst/rtp/Makefile.in
+++ b/gst/rtp/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/rtp
 DIST_COMMON = README $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in TODO
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -224,8 +224,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -272,6 +270,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -316,8 +315,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -332,6 +333,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -397,7 +402,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -453,6 +458,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -525,7 +531,11 @@
 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@
diff --git a/gst/rtp/gstrtph264depay.c b/gst/rtp/gstrtph264depay.c
index 7c839b4..1739c2d 100644
--- a/gst/rtp/gstrtph264depay.c
+++ b/gst/rtp/gstrtph264depay.c
@@ -426,8 +426,8 @@
       gst_buffer_map (g_ptr_array_index (rtph264depay->sps, i), &nalmap,
           GST_MAP_READ);
 
-      GST_DEBUG_OBJECT (rtph264depay, "copy SPS %d of length %d", i,
-          nalmap.size);
+      GST_DEBUG_OBJECT (rtph264depay, "copy SPS %d of length %u", i,
+          (guint) nalmap.size);
       GST_WRITE_UINT16_BE (data, nalmap.size);
       data += 2;
       memcpy (data, nalmap.data, nalmap.size);
@@ -442,8 +442,8 @@
       gst_buffer_map (g_ptr_array_index (rtph264depay->pps, i), &nalmap,
           GST_MAP_READ);
 
-      GST_DEBUG_OBJECT (rtph264depay, "copy PPS %d of length %d", i,
-          nalmap.size);
+      GST_DEBUG_OBJECT (rtph264depay, "copy PPS %d of length %u", i,
+          (guint) nalmap.size);
       GST_WRITE_UINT16_BE (data, nalmap.size);
       data += 2;
       memcpy (data, nalmap.data, nalmap.size);
diff --git a/gst/rtp/gstrtph264pay.c b/gst/rtp/gstrtph264pay.c
index 90a41be..7319526 100644
--- a/gst/rtp/gstrtph264pay.c
+++ b/gst/rtp/gstrtph264pay.c
@@ -273,6 +273,7 @@
   GstCaps *template_caps;
   GstCaps *allowed_caps;
   GstCaps *caps, *icaps;
+  gboolean append_unrestricted;
   guint i;
 
   allowed_caps =
@@ -296,6 +297,7 @@
 
   caps = gst_caps_new_empty ();
 
+  append_unrestricted = FALSE;
   for (i = 0; i < gst_caps_get_size (allowed_caps); i++) {
     GstStructure *s = gst_caps_get_structure (allowed_caps, i);
     GstStructure *new_s = gst_structure_new_empty ("video/x-h264");
@@ -364,15 +366,22 @@
             "profile", G_TYPE_STRING, "constrained-baseline", NULL);
       }
     } else {
-      /* No profile-level-id also means baseline */
+      /* No profile-level-id means baseline or unrestricted */
 
       gst_structure_set (new_s,
           "profile", G_TYPE_STRING, "constrained-baseline", NULL);
+      append_unrestricted = TRUE;
     }
 
     caps = gst_caps_merge_structure (caps, new_s);
   }
 
+  if (append_unrestricted) {
+    caps =
+        gst_caps_merge_structure (caps, gst_structure_new ("video/x-h264", NULL,
+            NULL));
+  }
+
   icaps = gst_caps_intersect (caps, template_caps);
   gst_caps_unref (caps);
   caps = icaps;
diff --git a/gst/rtp/gstrtpjpegpay.c b/gst/rtp/gstrtpjpegpay.c
index 15144cf..aaa8cc4 100644
--- a/gst/rtp/gstrtpjpegpay.c
+++ b/gst/rtp/gstrtpjpegpay.c
@@ -417,7 +417,8 @@
 
 static gboolean
 gst_rtp_jpeg_pay_read_sof (GstRtpJPEGPay * pay, const guint8 * data,
-    guint size, guint * offset, CompInfo info[])
+    guint size, guint * offset, CompInfo info[], RtpQuantTable tables[],
+    gulong tables_elements)
 {
   guint sof_size, off;
   guint width, height, infolen;
@@ -495,8 +496,18 @@
 
   /* the other components are free to use any quant table but they have to
    * have the same table id */
-  if (info[1].qt != info[2].qt)
-    goto invalid_comp;
+  if (info[1].qt != info[2].qt) {
+    /* Some MJPG (like the one from the Logitech C-920 camera) uses different
+     * quant tables for component 1 and 2 but both tables contain the exact
+     * same data, so we could consider them as being the same tables */
+    if (!(info[1].qt < tables_elements &&
+            info[2].qt < tables_elements &&
+            tables[info[1].qt].size > 0 &&
+            tables[info[1].qt].size == tables[info[2].qt].size &&
+            memcmp (tables[info[1].qt].data, tables[info[2].qt].data,
+                tables[info[1].qt].size) == 0))
+      goto invalid_comp;
+  }
 
   return TRUE;
 
@@ -648,7 +659,8 @@
         offset += gst_rtp_jpeg_pay_header_size (data, offset);
         break;
       case JPEG_MARKER_SOF:
-        if (!gst_rtp_jpeg_pay_read_sof (pay, data, size, &offset, info))
+        if (!gst_rtp_jpeg_pay_read_sof (pay, data, size, &offset, info, tables,
+                G_N_ELEMENTS (tables)))
           goto invalid_format;
         sof_found = TRUE;
         break;
diff --git a/gst/rtp/gstrtpmp2tdepay.c b/gst/rtp/gstrtpmp2tdepay.c
index acb4d52..39699e5 100644
--- a/gst/rtp/gstrtpmp2tdepay.c
+++ b/gst/rtp/gstrtpmp2tdepay.c
@@ -150,7 +150,7 @@
 {
   GstRtpMP2TDepay *rtpmp2tdepay;
   GstBuffer *outbuf;
-  gint payload_len;
+  gint payload_len, leftover;
   GstRTPBuffer rtp = { NULL };
 
   rtpmp2tdepay = GST_RTP_MP2T_DEPAY (depayload);
@@ -161,11 +161,28 @@
   if (G_UNLIKELY (payload_len <= rtpmp2tdepay->skip_first_bytes))
     goto empty_packet;
 
-  outbuf = gst_rtp_buffer_get_payload_subbuffer (&rtp,
-      rtpmp2tdepay->skip_first_bytes, -1);
+  payload_len -= rtpmp2tdepay->skip_first_bytes;
+
+  /* RFC 2250
+   *
+   * 2. Encapsulation of MPEG System and Transport Streams
+   *
+   * For MPEG2 Transport Streams the RTP payload will contain an integral
+   * number of MPEG transport packets.
+   */
+  leftover = payload_len % 188;
+  if (G_UNLIKELY (leftover)) {
+    GST_WARNING ("We don't have an integral number of buffers (leftover: %d)",
+        leftover);
+
+    payload_len -= leftover;
+  }
+
+  outbuf =
+      gst_rtp_buffer_get_payload_subbuffer (&rtp,
+      rtpmp2tdepay->skip_first_bytes, payload_len);
 
   gst_rtp_buffer_unmap (&rtp);
-
   if (outbuf)
     GST_DEBUG ("gst_rtp_mp2t_depay_chain: pushing buffer of size %"
         G_GSIZE_FORMAT, gst_buffer_get_size (outbuf));
diff --git a/gst/rtp/gstrtpmp2tpay.c b/gst/rtp/gstrtpmp2tpay.c
index 84c60ab..79fff72 100644
--- a/gst/rtp/gstrtpmp2tpay.c
+++ b/gst/rtp/gstrtpmp2tpay.c
@@ -117,35 +117,56 @@
 static GstFlowReturn
 gst_rtp_mp2t_pay_flush (GstRTPMP2TPay * rtpmp2tpay)
 {
-  guint avail;
-  guint8 *payload;
-  GstFlowReturn ret;
+  guint avail, mtu;
+  GstFlowReturn ret = GST_FLOW_OK;
   GstBuffer *outbuf;
-  GstRTPBuffer rtp = { NULL };
 
   avail = gst_adapter_available (rtpmp2tpay->adapter);
-  if (avail == 0)
-    return GST_FLOW_OK;
-  outbuf = gst_rtp_buffer_new_allocate (avail, 0, 0);
 
-  /* get payload */
-  gst_rtp_buffer_map (outbuf, GST_MAP_WRITE, &rtp);
-  payload = gst_rtp_buffer_get_payload (&rtp);
+  mtu = GST_RTP_BASE_PAYLOAD_MTU (rtpmp2tpay);
 
-  /* copy stuff from adapter to payload */
-  gst_adapter_copy (rtpmp2tpay->adapter, payload, 0, avail);
-  gst_rtp_buffer_unmap (&rtp);
+  while (avail > 0 && (ret == GST_FLOW_OK)) {
+    guint towrite;
+    guint8 *payload;
+    guint payload_len;
+    guint packet_len;
+    GstRTPBuffer rtp = { NULL };
 
-  GST_BUFFER_TIMESTAMP (outbuf) = rtpmp2tpay->first_ts;
-  GST_BUFFER_DURATION (outbuf) = rtpmp2tpay->duration;
+    /* this will be the total length of the packet */
+    packet_len = gst_rtp_buffer_calc_packet_len (avail, 0, 0);
 
-  GST_DEBUG_OBJECT (rtpmp2tpay, "pushing buffer of size %" G_GSIZE_FORMAT,
-      gst_buffer_get_size (outbuf));
+    /* fill one MTU or all available bytes */
+    towrite = MIN (packet_len, mtu);
 
-  ret = gst_rtp_base_payload_push (GST_RTP_BASE_PAYLOAD (rtpmp2tpay), outbuf);
+    /* this is the payload length */
+    payload_len = gst_rtp_buffer_calc_payload_len (towrite, 0, 0);
+    payload_len -= payload_len % 188;
 
-  /* flush the adapter content */
-  gst_adapter_flush (rtpmp2tpay->adapter, avail);
+    /* need whole packets */
+    if (!payload_len)
+      break;
+
+    /* create buffer to hold the payload */
+    outbuf = gst_rtp_buffer_new_allocate (payload_len, 0, 0);
+
+    /* get payload */
+    gst_rtp_buffer_map (outbuf, GST_MAP_WRITE, &rtp);
+    payload = gst_rtp_buffer_get_payload (&rtp);
+
+    /* copy stuff from adapter to payload */
+    gst_adapter_copy (rtpmp2tpay->adapter, payload, 0, payload_len);
+    gst_rtp_buffer_unmap (&rtp);
+    gst_adapter_flush (rtpmp2tpay->adapter, payload_len);
+    avail -= payload_len;
+
+    GST_BUFFER_TIMESTAMP (outbuf) = rtpmp2tpay->first_ts;
+    GST_BUFFER_DURATION (outbuf) = rtpmp2tpay->duration;
+
+    GST_DEBUG_OBJECT (rtpmp2tpay, "pushing buffer of size %u",
+        (guint) gst_buffer_get_size (outbuf));
+
+    ret = gst_rtp_base_payload_push (GST_RTP_BASE_PAYLOAD (rtpmp2tpay), outbuf);
+  }
 
   return ret;
 }
@@ -165,6 +186,7 @@
   timestamp = GST_BUFFER_TIMESTAMP (buffer);
   duration = GST_BUFFER_DURATION (buffer);
 
+again:
   ret = GST_FLOW_OK;
   avail = gst_adapter_available (rtpmp2tpay->adapter);
 
@@ -174,13 +196,12 @@
     rtpmp2tpay->duration = duration;
   }
 
-  /* get packet length of previous data and this new data, 
-   * payload length includes a 4 byte header */
-  packet_len = gst_rtp_buffer_calc_packet_len (4 + avail + size, 0, 0);
+  /* get packet length of previous data and this new data */
+  packet_len = gst_rtp_buffer_calc_packet_len (avail + size, 0, 0);
 
-  /* if this buffer is going to overflow the packet, flush what we
-   * have. */
-  if (gst_rtp_base_payload_is_filled (basepayload,
+  /* if this buffer is going to overflow the packet, flush what we have,
+   * or if upstream is handing us several packets, to keep latency low */
+  if (!size || gst_rtp_base_payload_is_filled (basepayload,
           packet_len, rtpmp2tpay->duration + duration)) {
     ret = gst_rtp_mp2t_pay_flush (rtpmp2tpay);
     rtpmp2tpay->first_ts = timestamp;
@@ -193,7 +214,15 @@
   }
 
   /* copy buffer to adapter */
-  gst_adapter_push (rtpmp2tpay->adapter, buffer);
+  if (buffer) {
+    gst_adapter_push (rtpmp2tpay->adapter, buffer);
+    buffer = NULL;
+  }
+
+  if (size >= (188 * 2)) {
+    size = 0;
+    goto again;
+  }
 
   return ret;
 
diff --git a/gst/rtpmanager/Makefile.in b/gst/rtpmanager/Makefile.in
index b7590c2..3aa009b 100644
--- a/gst/rtpmanager/Makefile.in
+++ b/gst/rtpmanager/Makefile.in
@@ -60,6 +60,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in $(top_srcdir)/common/gst-glib-gen.mak
 subdir = gst/rtpmanager
@@ -69,7 +70,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -204,8 +204,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -254,6 +252,7 @@
 # FIXME 0.11: ignore GValueArray warnings for now until this is sorted
 ERROR_CFLAGS = 
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -298,8 +297,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -314,6 +315,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -379,7 +384,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -435,6 +440,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -507,7 +513,11 @@
 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@
diff --git a/gst/rtsp/Makefile.in b/gst/rtsp/Makefile.in
index f5794a4..7c01665 100644
--- a/gst/rtsp/Makefile.in
+++ b/gst/rtsp/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/rtsp
 DIST_COMMON = README $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -185,8 +185,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -233,6 +231,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -277,8 +276,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -293,6 +294,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -358,7 +363,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -414,6 +419,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -486,7 +492,11 @@
 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@
diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c
index 0cd8074..d86cce8 100644
--- a/gst/rtsp/gstrtspsrc.c
+++ b/gst/rtsp/gstrtspsrc.c
@@ -1868,6 +1868,7 @@
     gst_rtspsrc_get_position (src);
     gst_rtspsrc_pause (src, FALSE, FALSE);
   }
+  src->skip = skip;
 
   gst_rtspsrc_do_seek (src, &seeksegment);
 
@@ -1907,7 +1908,6 @@
     GstRTSPStream *stream = (GstRTSPStream *) walk->data;
     stream->discont = TRUE;
   }
-  src->skip = skip;
 
   GST_RTSP_STREAM_UNLOCK (src);
 
@@ -3136,7 +3136,8 @@
 }
 
 static void
-gst_rtspsrc_configure_caps (GstRTSPSrc * src, GstSegment * segment)
+gst_rtspsrc_configure_caps (GstRTSPSrc * src, GstSegment * segment,
+    gboolean reset_manager)
 {
   GList *walk;
   guint64 start, stop;
@@ -3172,7 +3173,7 @@
     }
     GST_DEBUG_OBJECT (src, "stream %p, caps %" GST_PTR_FORMAT, stream, caps);
   }
-  if (src->manager) {
+  if (reset_manager && src->manager) {
     GST_DEBUG_OBJECT (src, "clear session");
     g_signal_emit_by_name (src->manager, "clear-pt-map", NULL);
   }
@@ -6185,12 +6186,13 @@
     if (control)
       break;
   }
+  /* configure the caps of the streams after we parsed all headers. Only reset
+   * the manager object when we set a new Range header (we did a seek) */
+  gst_rtspsrc_configure_caps (src, segment, src->need_range);
+
   /* set again when needed */
   src->need_range = FALSE;
 
-  /* configure the caps of the streams after we parsed all headers. */
-  gst_rtspsrc_configure_caps (src, segment);
-
   src->running = TRUE;
   src->base_time = -1;
   src->state = GST_RTSP_STATE_PLAYING;
diff --git a/gst/shapewipe/Makefile.in b/gst/shapewipe/Makefile.in
index eef47ad..5d58f25 100644
--- a/gst/shapewipe/Makefile.in
+++ b/gst/shapewipe/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/shapewipe
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -183,8 +183,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -231,6 +229,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -275,8 +274,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -291,6 +292,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -356,7 +361,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -412,6 +417,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -484,7 +490,11 @@
 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@
diff --git a/gst/smpte/Makefile.in b/gst/smpte/Makefile.in
index 5836c64..319c407 100644
--- a/gst/smpte/Makefile.in
+++ b/gst/smpte/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/smpte
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -186,8 +186,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -234,6 +232,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -278,8 +277,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -294,6 +295,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -359,7 +364,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -415,6 +420,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -487,7 +493,11 @@
 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@
diff --git a/gst/spectrum/Makefile.in b/gst/spectrum/Makefile.in
index 01f5311..c52e403 100644
--- a/gst/spectrum/Makefile.in
+++ b/gst/spectrum/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/spectrum
 DIST_COMMON = README $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -184,8 +184,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -232,6 +230,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -276,8 +275,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -292,6 +293,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -357,7 +362,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -413,6 +418,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -485,7 +491,11 @@
 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@
diff --git a/gst/udp/Makefile.in b/gst/udp/Makefile.in
index 904a6c9..0c35a0e 100644
--- a/gst/udp/Makefile.in
+++ b/gst/udp/Makefile.in
@@ -60,6 +60,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 DIST_COMMON = README $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in $(top_srcdir)/common/gst-glib-gen.mak
 subdir = gst/udp
@@ -69,7 +70,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -199,8 +199,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -247,6 +245,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -291,8 +290,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -307,6 +308,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -372,7 +377,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -428,6 +433,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -500,7 +506,11 @@
 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@
diff --git a/gst/videobox/Makefile.in b/gst/videobox/Makefile.in
index d8b1c38..1292b11 100644
--- a/gst/videobox/Makefile.in
+++ b/gst/videobox/Makefile.in
@@ -74,6 +74,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 DIST_COMMON = README $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in $(top_srcdir)/common/orc.mak
 subdir = gst/videobox
@@ -83,7 +84,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -210,8 +210,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -258,6 +256,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -302,8 +301,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -318,6 +319,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -383,7 +388,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -439,6 +444,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -511,7 +517,11 @@
 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@
diff --git a/gst/videobox/gstvideobox.c b/gst/videobox/gstvideobox.c
index 0cb2200..506e91e 100644
--- a/gst/videobox/gstvideobox.c
+++ b/gst/videobox/gstvideobox.c
@@ -50,7 +50,7 @@
  * Sample pipeline:
  * |[
  * gst-launch videotestsrc ! videobox autocrop=true ! \
- *   "video/x-raw-yuv, width=600, height=400" ! ffmpegcolorspace ! ximagesink
+ *   "video/x-raw, width=600, height=400" ! videoconvert ! ximagesink
  * ]|
  */
 
diff --git a/gst/videocrop/Makefile.in b/gst/videocrop/Makefile.in
index b47c174..24147e2 100644
--- a/gst/videocrop/Makefile.in
+++ b/gst/videocrop/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/videocrop
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -183,8 +183,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -231,6 +229,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -275,8 +274,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -291,6 +292,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -356,7 +361,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -412,6 +417,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -484,7 +490,11 @@
 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@
diff --git a/gst/videocrop/gstaspectratiocrop.c b/gst/videocrop/gstaspectratiocrop.c
index ec7bc3d..e1e99cf 100644
--- a/gst/videocrop/gstaspectratiocrop.c
+++ b/gst/videocrop/gstaspectratiocrop.c
@@ -58,7 +58,7 @@
 #define ASPECT_RATIO_CROP_CAPS                        \
   GST_VIDEO_CAPS_MAKE ("{ RGBx, xRGB, BGRx, xBGR, "    \
       "RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, YUY2, " \
-      "YVYU, UYVY, Y800, I420, RGB16, RGB15, GRAY8 }")
+      "YVYU, UYVY, I420, RGB16, RGB15, GRAY8 }")
 
 static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
diff --git a/gst/videocrop/gstvideocrop.c b/gst/videocrop/gstvideocrop.c
index 6e04343..77e6d08 100644
--- a/gst/videocrop/gstvideocrop.c
+++ b/gst/videocrop/gstvideocrop.c
@@ -80,7 +80,7 @@
 #define VIDEO_CROP_CAPS                                \
   GST_VIDEO_CAPS_MAKE ("{ RGBx, xRGB, BGRx, xBGR, "    \
       "RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, YUY2, " \
-      "YVYU, UYVY, Y800, I420, RGB16, RGB15, GRAY8 }")
+      "YVYU, UYVY, I420, RGB16, RGB15, GRAY8 }")
 
 static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
@@ -266,7 +266,7 @@
           details->macro_y_off = 0;
         }
         break;
-      case GST_VIDEO_FORMAT_Y800:
+      case GST_VIDEO_FORMAT_GRAY8:
         details->packing = VIDEO_CROP_PIXEL_FORMAT_PACKED_SIMPLE;
         break;
       case GST_VIDEO_FORMAT_I420:
diff --git a/gst/videofilter/Makefile.in b/gst/videofilter/Makefile.in
index b23cae6..7e82dd8 100644
--- a/gst/videofilter/Makefile.in
+++ b/gst/videofilter/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/videofilter
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -186,8 +186,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -234,6 +232,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -278,8 +277,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -294,6 +295,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -359,7 +364,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -415,6 +420,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -487,7 +493,11 @@
 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@
diff --git a/gst/videomixer/Makefile.in b/gst/videomixer/Makefile.in
index b3d8168..fb2a03e 100644
--- a/gst/videomixer/Makefile.in
+++ b/gst/videomixer/Makefile.in
@@ -74,6 +74,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 DIST_COMMON = README $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in $(top_srcdir)/common/orc.mak
 subdir = gst/videomixer
@@ -83,7 +84,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -211,8 +211,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -259,6 +257,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -303,8 +302,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -319,6 +320,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -384,7 +389,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -440,6 +445,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -512,7 +518,11 @@
 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@
diff --git a/gst/wavenc/Makefile.in b/gst/wavenc/Makefile.in
index 79fb867..582f701 100644
--- a/gst/wavenc/Makefile.in
+++ b/gst/wavenc/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/wavenc
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -183,8 +183,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -231,6 +229,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -275,8 +274,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -291,6 +292,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -356,7 +361,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -412,6 +417,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -484,7 +490,11 @@
 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@
diff --git a/gst/wavparse/Makefile.in b/gst/wavparse/Makefile.in
index 2e0ae34..bc21285 100644
--- a/gst/wavparse/Makefile.in
+++ b/gst/wavparse/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/wavparse
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -184,8 +184,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -232,6 +230,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -276,8 +275,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -292,6 +293,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -357,7 +362,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -413,6 +418,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -485,7 +491,11 @@
 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@
diff --git a/gst/wavparse/gstwavparse.c b/gst/wavparse/gstwavparse.c
index 1687766..098222b 100644
--- a/gst/wavparse/gstwavparse.c
+++ b/gst/wavparse/gstwavparse.c
@@ -1786,7 +1786,8 @@
   }
 
   if (wav->tags) {
-    gst_pad_push_event (wav->srcpad, gst_event_new_tag (wav->tags));
+    gst_pad_push_event (wav->srcpad, gst_event_new_tag ("GstParser",
+            wav->tags));
     wav->tags = NULL;
   }
 }
diff --git a/gst/y4m/Makefile.in b/gst/y4m/Makefile.in
index 9ae05b2..ee80d96 100644
--- a/gst/y4m/Makefile.in
+++ b/gst/y4m/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = gst/y4m
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -182,8 +182,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -230,6 +228,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -274,8 +273,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -290,6 +291,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -355,7 +360,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -411,6 +416,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -483,7 +489,11 @@
 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@
diff --git a/m4/Makefile.in b/m4/Makefile.in
index 9754363..8017ae3 100644
--- a/m4/Makefile.in
+++ b/m4/Makefile.in
@@ -50,6 +50,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = m4
 DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -58,7 +59,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -116,8 +116,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -164,6 +162,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -208,8 +207,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -224,6 +225,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -289,7 +294,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -345,6 +350,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -417,7 +423,11 @@
 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@
diff --git a/pkgconfig/Makefile.in b/pkgconfig/Makefile.in
index ce401c2..1b5e806 100644
--- a/pkgconfig/Makefile.in
+++ b/pkgconfig/Makefile.in
@@ -50,6 +50,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = pkgconfig
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 	$(srcdir)/gstreamer-plugins-good-uninstalled.pc.in
@@ -59,7 +60,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -117,8 +117,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -165,6 +163,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -209,8 +208,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -225,6 +226,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -290,7 +295,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -346,6 +351,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -418,7 +424,11 @@
 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@
diff --git a/po/af.gmo b/po/af.gmo
index 245d187..594426d 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index 6880951..6f57896 100644
--- a/po/af.po
+++ b/po/af.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins 0.7.6\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2004-03-18 14:16+0200\n"
 "Last-Translator: Petri Jooste <rkwjpj@puk.ac.za>\n"
 "Language-Team: Afrikaans <i18n@af.org.za>\n"
@@ -24,9 +24,6 @@
 msgid "Failed to decode JPEG image"
 msgstr ""
 
-msgid "Internal data stream error."
-msgstr ""
-
 #, fuzzy
 msgid "Could not connect to server"
 msgstr "Kon nie beheertoestel \"%s\" toemaak nie."
@@ -55,6 +52,9 @@
 msgid "No URL set."
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr ""
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "Geen of ongeldige klanktoevoer, AVI-stroom sal korrup wees."
 
diff --git a/po/az.gmo b/po/az.gmo
index 414190e..3b1178d 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index dcf156f..004031f 100644
--- a/po/az.po
+++ b/po/az.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-0.8.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2004-03-19 18:29+0200\n"
 "Last-Translator: Metin Amiroff <metin@karegen.com>\n"
 "Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
@@ -25,9 +25,6 @@
 msgid "Failed to decode JPEG image"
 msgstr ""
 
-msgid "Internal data stream error."
-msgstr ""
-
 #, fuzzy
 msgid "Could not connect to server"
 msgstr "\"%s\" idarə avadanlığı bağlana bilmədi."
@@ -56,6 +53,9 @@
 msgid "No URL set."
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr ""
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "Səhv ya da olmayan audio girişi, AVI yayımı pozulacaqdır."
 
diff --git a/po/bg.gmo b/po/bg.gmo
index 207efc2..d9c2a8c 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index 5b30754..dc897d1 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.28.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2011-04-26 22:35+0300\n"
 "Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
 "Language-Team: Bulgarian <dict@fsa-bg.org>\n"
@@ -26,9 +26,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Неуспешно декодиране на изображение, формат JPEG."
 
-msgid "Internal data stream error."
-msgstr "Вътрешна грешка на потока от данни."
-
 msgid "Could not connect to server"
 msgstr "Не може да се осъществи връзка към сървър."
 
@@ -54,6 +51,9 @@
 msgid "No URL set."
 msgstr "Не е зададен адрес."
 
+msgid "Internal data stream error."
+msgstr "Вътрешна грешка на потока от данни."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "Аудио входът липсва или е грешен. Потокът с AVI ще бъде повреден."
 
diff --git a/po/ca.gmo b/po/ca.gmo
index 777978d..d7d7dee 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index 26c15e5..e27ecf9 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.28.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2012-01-01 14:19+0100\n"
 "Last-Translator: Gil Forcada <gforcada@gnome.org>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
@@ -27,9 +27,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Ha fallat en descodificar la imatge JPEG"
 
-msgid "Internal data stream error."
-msgstr "S'ha produït un error intern de flux de dades."
-
 msgid "Could not connect to server"
 msgstr "No s'ha pogut connectar al servidor"
 
@@ -57,6 +54,9 @@
 msgid "No URL set."
 msgstr "No s'ha indicat cap URL."
 
+msgid "Internal data stream error."
+msgstr "S'ha produït un error intern de flux de dades."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "Manca o no és vàlida l'entrada d'àudio, el flux AVI estarà malmès."
 
diff --git a/po/cs.gmo b/po/cs.gmo
index 96c71ef..68a7141 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index 4008c31..072d313 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-0.10.26.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2011-01-12 23:07+0100\n"
 "Last-Translator: Petr Kovar <pknbe@volny.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
@@ -27,9 +27,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Nezdařilo se dekódování obrázku JPEG"
 
-msgid "Internal data stream error."
-msgstr "Vnitřní chyba datového proudu."
-
 msgid "Could not connect to server"
 msgstr "Nezdařilo se spojení se serverem"
 
@@ -55,6 +52,9 @@
 msgid "No URL set."
 msgstr "Nenastaveno URL."
 
+msgid "Internal data stream error."
+msgstr "Vnitřní chyba datového proudu."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "Žádný nebo neplatný zvukový vstup, proud AVI bude poškozen."
 
diff --git a/po/da.gmo b/po/da.gmo
index e267a40..3ab7c63 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index e42b074..47971cc 100644
--- a/po/da.po
+++ b/po/da.po
@@ -12,7 +12,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-0.10.26.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2011-01-07 23:54+0200\n"
 "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -29,9 +29,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Mislykkedes i at afkode JPEG-billede"
 
-msgid "Internal data stream error."
-msgstr "Intern datastrømsfejl."
-
 msgid "Could not connect to server"
 msgstr "Kunne ikke forbinde til server"
 
@@ -58,6 +55,9 @@
 msgid "No URL set."
 msgstr "Ingen adresse angivet."
 
+msgid "Internal data stream error."
+msgstr "Intern datastrømsfejl."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "Ingen eller defekt inddatalyd, AVI-sekvens vil blive ødelagt."
 
diff --git a/po/de.gmo b/po/de.gmo
index 302e30c..d8e55b3 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index ac13f11..6b33e5b 100644
--- a/po/de.po
+++ b/po/de.po
@@ -14,7 +14,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.26.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2011-01-21 22:36+0100\n"
 "Last-Translator: Christian Kirbach <christian.kirbach@googlemail.com>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
@@ -34,9 +34,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Dekodieren des JPEG-Bildes schlug fehl"
 
-msgid "Internal data stream error."
-msgstr "Interner Datenstromfehler."
-
 msgid "Could not connect to server"
 msgstr "Verbindung zum Server konnte nicht hergestellt werden"
 
@@ -64,6 +61,9 @@
 msgid "No URL set."
 msgstr "Keine Adresse festgelegt."
 
+msgid "Internal data stream error."
+msgstr "Interner Datenstromfehler."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "Kein oder ungültiger Eingabeton, der AVI-Strom wird fehlerhaft sein."
 
diff --git a/po/el.gmo b/po/el.gmo
index f1b3035..3a4eb71 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index 7f1696f..405d26a 100644
--- a/po/el.po
+++ b/po/el.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.25.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2010-10-27 12:16+0200\n"
 "Last-Translator: Michael Kotsarinis <mk73628@gmail.com>\n"
 "Language-Team: Greek <team@lists.gnome.gr>\n"
@@ -26,9 +26,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Αποτυχία αποκωδικοποίησης της εικόνας JPEG"
 
-msgid "Internal data stream error."
-msgstr "Εσωτερικό σφάλμα ροής δεδομένων."
-
 msgid "Could not connect to server"
 msgstr "Δεν ήταν δυνατή η σύνδεση με τον διακομιστή"
 
@@ -55,6 +52,9 @@
 msgid "No URL set."
 msgstr "Δεν ορίσθηκε URL."
 
+msgid "Internal data stream error."
+msgstr "Εσωτερικό σφάλμα ροής δεδομένων."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "Καμία ή άκυρη εισαγωγή ήχου, η AVI ροή θα καταρρεύσει."
 
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index 815f724..99af035 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 493acff..68c1b6b 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins 0.8.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2004-04-26 10:41-0400\n"
 "Last-Translator: Gareth Owen <gowen72@yahoo.com>\n"
 "Language-Team: English (British) <en_gb@li.org>\n"
@@ -23,9 +23,6 @@
 msgid "Failed to decode JPEG image"
 msgstr ""
 
-msgid "Internal data stream error."
-msgstr ""
-
 #, fuzzy
 msgid "Could not connect to server"
 msgstr "Could not close control device \"%s\"."
@@ -55,6 +52,9 @@
 msgid "No URL set."
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr ""
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "No or invalid input audio, AVI stream will be corrupt."
 
diff --git a/po/eo.gmo b/po/eo.gmo
index 0e63a78..657ea79 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index e2ef46a..d90e6fa 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.28.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2011-06-04 21:48+0100\n"
 "Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
 "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
@@ -25,9 +25,6 @@
 msgid "Failed to decode JPEG image"
 msgstr ""
 
-msgid "Internal data stream error."
-msgstr "Interna datumflu-eraro."
-
 msgid "Could not connect to server"
 msgstr "Ne eblis konekti al servilo"
 
@@ -53,6 +50,9 @@
 msgid "No URL set."
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr "Interna datumflu-eraro."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr ""
 
diff --git a/po/es.gmo b/po/es.gmo
index 47f55d9..eeef4aa 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 49ac469..4230ccb 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.26.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2011-02-12 18:30+0100\n"
 "Last-Translator: Jorge González González <aloriel@gmail.com>\n"
 "Language-Team: Spanish <es@li.org>\n"
@@ -26,9 +26,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Falló al decodificar la imagen JPEG"
 
-msgid "Internal data stream error."
-msgstr "Error interno de flujo de datos."
-
 msgid "Could not connect to server"
 msgstr "No se pudo conectar con el servidor"
 
@@ -55,6 +52,9 @@
 msgid "No URL set."
 msgstr "No existe un URL establecido."
 
+msgid "Internal data stream error."
+msgstr "Error interno de flujo de datos."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "El audio no existe o no es válido, el flujo AVI estará corrupto."
 
diff --git a/po/eu.gmo b/po/eu.gmo
index 28b5acf..8f758e7 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index 0876571..de12454 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-0.10.18.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2010-03-25 12:37+0100\n"
 "Last-Translator: Mikel Olasagasti Uranga <hey_neken@mundurat.net>\n"
 "Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
@@ -27,9 +27,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Huts egin du JPEG irudia deskodetzean"
 
-msgid "Internal data stream error."
-msgstr "Datu-korrontearen barne-errorea."
-
 msgid "Could not connect to server"
 msgstr "Ezin izan da konektatu zerbitzariarekin"
 
@@ -57,6 +54,9 @@
 msgid "No URL set."
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr "Datu-korrontearen barne-errorea."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr ""
 "Ez dago audio-sarrerarik, edo baliogabea da. AVI korrontea hondatua egongo "
diff --git a/po/fi.gmo b/po/fi.gmo
index 7b1dc92..65f49d1 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index c0633e0..3fdfe40 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.25.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2010-11-17 23:03+0200\n"
 "Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -29,9 +29,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "JPEG-kuvan purku epäonnistui"
 
-msgid "Internal data stream error."
-msgstr "Sisäisen tietovirran virhe."
-
 msgid "Could not connect to server"
 msgstr "Palvelimeen ei saatu yhteyttä"
 
@@ -57,6 +54,9 @@
 msgid "No URL set."
 msgstr "Ei URL:ää asetettuna."
 
+msgid "Internal data stream error."
+msgstr "Sisäisen tietovirran virhe."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr ""
 "Ääntä ei ole tai äänilähde on viallinen, AVI-virta tulee olemaan "
diff --git a/po/fr.gmo b/po/fr.gmo
index 22cf26f..b5d5cf2 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index c2efbe7..4341608 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.28.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2011-04-28 09:22+0200\n"
 "Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
 "Language-Team: French <traduc@traduc.org>\n"
@@ -26,9 +26,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Échec de décodage de l'image JPEG"
 
-msgid "Internal data stream error."
-msgstr "Erreur interne de flux de données."
-
 msgid "Could not connect to server"
 msgstr "Impossible de se connecter au serveur"
 
@@ -56,6 +53,9 @@
 msgid "No URL set."
 msgstr "Aucun URL défini."
 
+msgid "Internal data stream error."
+msgstr "Erreur interne de flux de données."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "Entrée audio absente ou non valide, le flux AVI sera corrompu."
 
diff --git a/po/gl.gmo b/po/gl.gmo
index bbb271d..5e6c846 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index 4d96e66..30bd09d 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.26.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2011-01-09 21:20+0100\n"
 "Last-Translator: Fran Diéguez <frandieguez@ubuntu.com>\n"
 "Language-Team: Galician <proxecto@trasno.net>\n"
@@ -25,9 +25,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Produciuse un erro ao descodificar a imaxe JPEG"
 
-msgid "Internal data stream error."
-msgstr "Produciuse un erro no fluxo de datos interno."
-
 msgid "Could not connect to server"
 msgstr "Non foi posíbel conectarse ao servidor"
 
@@ -55,6 +52,9 @@
 msgid "No URL set."
 msgstr "No existe un URL estabelecido."
 
+msgid "Internal data stream error."
+msgstr "Produciuse un erro no fluxo de datos interno."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "O audio non existe ou non é válido, o fluxo AVI está corrompido."
 
diff --git a/po/gst-plugins-good-1.0.pot b/po/gst-plugins-good-1.0.pot
index d28984f..59798f7 100644
--- a/po/gst-plugins-good-1.0.pot
+++ b/po/gst-plugins-good-1.0.pot
@@ -5,9 +5,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-good 0.11.91\n"
+"Project-Id-Version: gst-plugins-good 0.11.92\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\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"
@@ -22,49 +22,48 @@
 msgid "'%s' by '%s'"
 msgstr ""
 
-#: ext/jpeg/gstjpegdec.c:246
+#: ext/jpeg/gstjpegdec.c:251
 msgid "Failed to decode JPEG image"
 msgstr ""
 
-#: ext/libpng/gstpngdec.c:321 ext/libpng/gstpngdec.c:332
-#: ext/libpng/gstpngdec.c:625 gst/avi/gstavidemux.c:5223
-msgid "Internal data stream error."
-msgstr ""
-
 #: ext/shout2/gstshout2.c:549
 msgid "Could not connect to server"
 msgstr ""
 
-#: ext/soup/gstsouphttpsrc.c:804
+#: ext/soup/gstsouphttpsrc.c:805
 msgid "Server does not support seeking."
 msgstr ""
 
-#: ext/soup/gstsouphttpsrc.c:1020
+#: ext/soup/gstsouphttpsrc.c:1021
 msgid "Could not resolve server name."
 msgstr ""
 
-#: ext/soup/gstsouphttpsrc.c:1026
+#: ext/soup/gstsouphttpsrc.c:1027
 msgid "Could not establish connection to server."
 msgstr ""
 
-#: ext/soup/gstsouphttpsrc.c:1031
+#: ext/soup/gstsouphttpsrc.c:1032
 msgid "Secure connection setup failed."
 msgstr ""
 
-#: ext/soup/gstsouphttpsrc.c:1036
+#: ext/soup/gstsouphttpsrc.c:1037
 msgid ""
 "A network error occured, or the server closed the connection unexpectedly."
 msgstr ""
 
-#: ext/soup/gstsouphttpsrc.c:1042
+#: ext/soup/gstsouphttpsrc.c:1043
 msgid "Server sent bad data."
 msgstr ""
 
-#: ext/soup/gstsouphttpsrc.c:1189
+#: ext/soup/gstsouphttpsrc.c:1188
 msgid "No URL set."
 msgstr ""
 
-#: gst/avi/gstavimux.c:1778
+#: gst/avi/gstavidemux.c:5223
+msgid "Internal data stream error."
+msgstr ""
+
+#: gst/avi/gstavimux.c:1792
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr ""
 
@@ -72,50 +71,50 @@
 msgid "This file contains no playable streams."
 msgstr ""
 
-#: gst/isomp4/qtdemux.c:592 gst/isomp4/qtdemux.c:4085
-#: gst/isomp4/qtdemux.c:4155 gst/isomp4/qtdemux.c:4306
+#: gst/isomp4/qtdemux.c:592 gst/isomp4/qtdemux.c:4086
+#: gst/isomp4/qtdemux.c:4156 gst/isomp4/qtdemux.c:4307
 msgid "This file is invalid and cannot be played."
 msgstr ""
 
-#: gst/isomp4/qtdemux.c:2454 gst/isomp4/qtdemux.c:2530
-#: gst/isomp4/qtdemux.c:2573 gst/isomp4/qtdemux.c:4909
-#: gst/isomp4/qtdemux.c:4916 gst/isomp4/qtdemux.c:5533
-#: gst/isomp4/qtdemux.c:5961 gst/isomp4/qtdemux.c:5968
-#: gst/isomp4/qtdemux.c:7539
+#: gst/isomp4/qtdemux.c:2455 gst/isomp4/qtdemux.c:2531
+#: gst/isomp4/qtdemux.c:2574 gst/isomp4/qtdemux.c:4910
+#: gst/isomp4/qtdemux.c:4917 gst/isomp4/qtdemux.c:5534
+#: gst/isomp4/qtdemux.c:5962 gst/isomp4/qtdemux.c:5969
+#: gst/isomp4/qtdemux.c:7540
 msgid "This file is corrupt and cannot be played."
 msgstr ""
 
-#: gst/isomp4/qtdemux.c:2664
+#: gst/isomp4/qtdemux.c:2665
 msgid "Invalid atom size."
 msgstr ""
 
-#: gst/isomp4/qtdemux.c:2730
+#: gst/isomp4/qtdemux.c:2731
 msgid "This file is incomplete and cannot be played."
 msgstr ""
 
-#: gst/isomp4/qtdemux.c:5131
+#: gst/isomp4/qtdemux.c:5132
 msgid "The video in this file might not play correctly."
 msgstr ""
 
-#: gst/isomp4/qtdemux.c:7568
+#: gst/isomp4/qtdemux.c:7569
 #, c-format
 msgid "This file contains too many streams. Only playing first %d"
 msgstr ""
 
-#: gst/rtsp/gstrtspsrc.c:5339
+#: gst/rtsp/gstrtspsrc.c:5340
 msgid ""
 "No supported stream was found. You might need to install a GStreamer RTSP "
 "extension plugin for Real media streams."
 msgstr ""
 
-#: gst/rtsp/gstrtspsrc.c:5344
+#: gst/rtsp/gstrtspsrc.c:5345
 msgid ""
 "No supported stream was found. You might need to allow more transport "
 "protocols or may otherwise be missing the right GStreamer RTSP extension "
 "plugin."
 msgstr ""
 
-#: gst/wavparse/gstwavparse.c:2081
+#: gst/wavparse/gstwavparse.c:2082
 msgid "Internal data flow error."
 msgstr ""
 
diff --git a/po/hu.gmo b/po/hu.gmo
index aa8719b..d20f1f1 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 2550883..3e240bb 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.25.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2010-11-04 01:21+0100\n"
 "Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
 "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
@@ -29,9 +29,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "A JPEG kép visszafejtése meghiúsult"
 
-msgid "Internal data stream error."
-msgstr "Belső adatfolyam-hiba."
-
 msgid "Could not connect to server"
 msgstr "Nem lehet csatlakozni a kiszolgálóhoz"
 
@@ -58,6 +55,9 @@
 msgid "No URL set."
 msgstr "Nincs beállítva URL."
 
+msgid "Internal data stream error."
+msgstr "Belső adatfolyam-hiba."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "Nincs vagy érvénytelen bemeneti hang, az AVI-folyam sérült lesz."
 
diff --git a/po/id.gmo b/po/id.gmo
index 6cd1753..7959456 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index a44e52e..af532cb 100644
--- a/po/id.po
+++ b/po/id.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.26.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2011-02-26 18:09+0700\n"
 "Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
 "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -24,9 +24,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Gagal untuk mengawasandi citra JPEG"
 
-msgid "Internal data stream error."
-msgstr "Galat arus data internal."
-
 msgid "Could not connect to server"
 msgstr "Tak dapat menghubungi server"
 
@@ -53,6 +50,9 @@
 msgid "No URL set."
 msgstr "Tak ada URL yang ditentukan."
 
+msgid "Internal data stream error."
+msgstr "Galat arus data internal."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "Masukan audio tidak ada atau tidak sah, arus AVI akan rusak."
 
diff --git a/po/it.gmo b/po/it.gmo
index 694dcc2..5e69706 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index 1984ad1..df35dcd 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.25.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2010-10-25 10:11+0200\n"
 "Last-Translator: Luca Ferretti <elle.uca@infinito.it>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
@@ -24,9 +24,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Decodifica dell'immagine JPEG non riuscita"
 
-msgid "Internal data stream error."
-msgstr "Errore interno nello stream dei dati."
-
 msgid "Could not connect to server"
 msgstr "Impossibile connettersi al server"
 
@@ -54,6 +51,9 @@
 msgid "No URL set."
 msgstr "Nessun URL impostato."
 
+msgid "Internal data stream error."
+msgstr "Errore interno nello stream dei dati."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr ""
 "Ingresso audio assente o non valido. Lo stream AVI risulterà danneggiato."
diff --git a/po/ja.gmo b/po/ja.gmo
index ff674f3..30256dc 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 2536213..fc820b5 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.28.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2011-08-28 23:59+0900\n"
 "Last-Translator: Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@@ -27,9 +27,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "JPEG画像のデコードに失敗しました"
 
-msgid "Internal data stream error."
-msgstr "内部データストリームエラー"
-
 msgid "Could not connect to server"
 msgstr "サーバーへ接続できません"
 
@@ -56,6 +53,9 @@
 msgid "No URL set."
 msgstr "URLが指定されていません。"
 
+msgid "Internal data stream error."
+msgstr "内部データストリームエラー"
+
 # SUN REVIEWED
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "入力オーディオが存在しないか無効であるため、AVI ストリームは壊れます。"
diff --git a/po/lt.gmo b/po/lt.gmo
index 169c33f..83b9eec 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index 768a479..13b2e15 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.23.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2010-07-16 19:34+0300\n"
 "Last-Translator: Žygimantas Beručka <uid0@akl.lt>\n"
 "Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
@@ -27,9 +27,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Nepavyko dekoduoti JPEG paveikslėlio"
 
-msgid "Internal data stream error."
-msgstr "Vidinė duomenų srauto klaida."
-
 msgid "Could not connect to server"
 msgstr "Nepavyko prisijungti prie serverio"
 
@@ -57,6 +54,9 @@
 msgid "No URL set."
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr "Vidinė duomenų srauto klaida."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "Nėra įvesties garso arba jis netinkamas, AVI srautas bus sugadintas."
 
diff --git a/po/lv.gmo b/po/lv.gmo
index b87dff7..02b298c 100644
--- a/po/lv.gmo
+++ b/po/lv.gmo
Binary files differ
diff --git a/po/lv.po b/po/lv.po
index db46151..1dddbf1 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.28.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2011-09-02 11:23-0000\n"
 "Last-Translator: Rihards Priedītis <rprieditis@gmail.com>\n"
 "Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n"
@@ -28,9 +28,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Neizdevās atkodēt JPEG attēlu"
 
-msgid "Internal data stream error."
-msgstr "Iekšējās datu plūsmas kļūda."
-
 msgid "Could not connect to server"
 msgstr "Nevar savienoties ar serveri"
 
@@ -56,6 +53,9 @@
 msgid "No URL set."
 msgstr "URL nav uzstādīts."
 
+msgid "Internal data stream error."
+msgstr "Iekšējās datu plūsmas kļūda."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "Nav neviena vai nederīgs ievades audio, AVI straume tiks bojāta."
 
diff --git a/po/mt.gmo b/po/mt.gmo
index 28b68f7..e4c0184 100644
--- a/po/mt.gmo
+++ b/po/mt.gmo
Binary files differ
diff --git a/po/mt.po b/po/mt.po
index ee84871..d725361 100644
--- a/po/mt.po
+++ b/po/mt.po
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-0.10.10.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2008-10-26 19:09+0100\n"
 "Last-Translator: Michel Bugeja <michelbugeja@rabatmalta.com>\n"
 "Language-Team: Maltese <translation-team-mt@lists.sourceforge.net>\n"
@@ -24,9 +24,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Problem fid-decoding tal-istampa JPEG"
 
-msgid "Internal data stream error."
-msgstr "Problema interna fid-data stream"
-
 msgid "Could not connect to server"
 msgstr "Mhux possibli naqbad mas-server"
 
@@ -55,6 +52,9 @@
 msgid "No URL set."
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr "Problema interna fid-data stream"
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "Input audio ma nstabx jew mhux validu. AVI stream jista jkun korrott."
 
diff --git a/po/nb.gmo b/po/nb.gmo
index a71021e..90eee2f 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index 4a076fb..51f8a64 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.25.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2010-10-24 21:53+0200\n"
 "Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
 "Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
@@ -23,9 +23,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Klarte ikke å dekode JPEG-bilde"
 
-msgid "Internal data stream error."
-msgstr "Intern feil i datastrøm."
-
 msgid "Could not connect to server"
 msgstr "Kunne ikke koble til tjener."
 
@@ -51,6 +48,9 @@
 msgid "No URL set."
 msgstr "Ingen URL satt."
 
+msgid "Internal data stream error."
+msgstr "Intern feil i datastrøm."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr ""
 
diff --git a/po/nl.gmo b/po/nl.gmo
index 9d0ced3..24a2224 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 86f6a60..61ec863 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.28.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2011-04-27 00:05+0200\n"
 "Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
@@ -25,9 +25,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Kan de JPEG-afbeelding niet decoderen"
 
-msgid "Internal data stream error."
-msgstr "Interne fout in gegevensstroom."
-
 msgid "Could not connect to server"
 msgstr "Kan geen verbinding maken met server"
 
@@ -55,6 +52,9 @@
 msgid "No URL set."
 msgstr "Geen URL ingesteld."
 
+msgid "Internal data stream error."
+msgstr "Interne fout in gegevensstroom."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "Geen of ongeldig invoergeluid, AVI-stroom zal slecht zijn."
 
diff --git a/po/or.gmo b/po/or.gmo
index 39f76ad..72cb77f 100644
--- a/po/or.gmo
+++ b/po/or.gmo
Binary files differ
diff --git a/po/or.po b/po/or.po
index a45844c..df174e1 100644
--- a/po/or.po
+++ b/po/or.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-0.8.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2004-09-27 13:32+0530\n"
 "Last-Translator: Gora Mohanty <gora_mohanty@yahoo.co.in>\n"
 "Language-Team: Oriya <gora_mohanty@yahoo.co.in>\n"
@@ -25,9 +25,6 @@
 msgid "Failed to decode JPEG image"
 msgstr ""
 
-msgid "Internal data stream error."
-msgstr ""
-
 #, fuzzy
 msgid "Could not connect to server"
 msgstr "\"%s\" ନିୟନ୍ତ୍ରଣ ଯନ୍ତ୍ର ବନ୍ଦ କରିହେଲା ନାହିଁ."
@@ -57,6 +54,9 @@
 msgid "No URL set."
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr ""
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "ନିବେଶ ଧ୍ବନି ନାହିଁ ବା ଅବୈଧ ଅଛି. ଏ.ଭି.ଆଇ. ଧାରା ଭ୍ରଷ୍ଟ ହୋଇଯିବ."
 
diff --git a/po/pl.gmo b/po/pl.gmo
index 8d89fbe..8b32dc9 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index f79f72c..4b0da15 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.26.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2011-01-07 21:53+0100\n"
 "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -23,9 +23,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Nie udało się zdekodować obrazu JPEG"
 
-msgid "Internal data stream error."
-msgstr "Błąd wewnętrzny strumienia danych."
-
 msgid "Could not connect to server"
 msgstr "Nie udało się połączyć z serwerem"
 
@@ -51,6 +48,9 @@
 msgid "No URL set."
 msgstr "Nie ustawiono URL-a."
 
+msgid "Internal data stream error."
+msgstr "Błąd wewnętrzny strumienia danych."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "Brak lub niepoprawne wejście dźwięku, strumień AVI będzie uszkodzony."
 
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index a7c5eb4..3716f8a 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 1c51be9..72cf7c3 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.26.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2011-01-08 01:28-0300\n"
 "Last-Translator: Fabrício Godoy <skarllot@gmail.com>\n"
 "Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n"
@@ -29,9 +29,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Falha ao decodificar a imagem JPEG"
 
-msgid "Internal data stream error."
-msgstr "Erro interno no fluxo de dados."
-
 msgid "Could not connect to server"
 msgstr "Não foi possível conectar ao servidor"
 
@@ -58,6 +55,9 @@
 msgid "No URL set."
 msgstr "Nenhum URL definido."
 
+msgid "Internal data stream error."
+msgstr "Erro interno no fluxo de dados."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "Entrada de áudio nula ou inválida, o fluxo AVI pode estar corrompido."
 
diff --git a/po/ro.gmo b/po/ro.gmo
index 419586f..05fcf6c 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index a3e73b7..85353d2 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.23.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2010-08-16 03:22+0300\n"
 "Last-Translator: Lucian Adrian Grijincu <lucian.grijincu@gmail.com>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -26,9 +26,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Nu s-a putut decoda imaginea JPEG"
 
-msgid "Internal data stream error."
-msgstr "Eroare internă a fluxului de date."
-
 msgid "Could not connect to server"
 msgstr "Nu se poate stabili o conexiune la server"
 
@@ -56,6 +53,9 @@
 msgid "No URL set."
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr "Eroare internă a fluxului de date."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr ""
 "Intrarea audio nu există sau este nevalidă, fluxul de date AVI va fi corupt."
diff --git a/po/ru.gmo b/po/ru.gmo
index 2e9d3cc..1517e22 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index 10b3c8a..ef696c2 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.28.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2011-04-26 21:13+0400\n"
 "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
 "Language-Team: Russian <gnu@mx.ru>\n"
@@ -28,9 +28,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Не удалось декодировать JPEG-изображение"
 
-msgid "Internal data stream error."
-msgstr "Внутренняя ошибка потока данных."
-
 msgid "Could not connect to server"
 msgstr "Не удалось соединиться с сервером"
 
@@ -56,6 +53,9 @@
 msgid "No URL set."
 msgstr "URL не задан."
 
+msgid "Internal data stream error."
+msgstr "Внутренняя ошибка потока данных."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr ""
 "Входящие аудио-данные отсутствуют или недействительны, поток AVI будет "
diff --git a/po/sk.gmo b/po/sk.gmo
index 40a9314..5c3e0c3 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index 658a4f7..1da8ff5 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.25.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2010-11-08 15:48+0100\n"
 "Last-Translator: Peter Tuhársky <tuharsky@misbb.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -26,9 +26,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Nepodarilo sa dekódovať obrázok JPEG"
 
-msgid "Internal data stream error."
-msgstr "Vnútorná chyba prúdu údajov."
-
 msgid "Could not connect to server"
 msgstr "Nepodarilo sa pripojiť k serveru"
 
@@ -54,6 +51,9 @@
 msgid "No URL set."
 msgstr "Nebolo nastavené URL."
 
+msgid "Internal data stream error."
+msgstr "Vnútorná chyba prúdu údajov."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "Žiadny alebo chybný vstup zvuku, prúd údajov AVI bude poškodený."
 
diff --git a/po/sl.gmo b/po/sl.gmo
index 9dcd3f2..a9a0516 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index 598151f..cbf8b01 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.26.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2011-03-12 18:35+0100\n"
 "Last-Translator: Klemen Košir <klemen.kosir@gmx.com>\n"
 "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
@@ -31,9 +31,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Odkodiranje slike JPEG je spodletelo"
 
-msgid "Internal data stream error."
-msgstr "Notranja napaka pretoka podatkov."
-
 msgid "Could not connect to server"
 msgstr "S strežnikom se ni mogoče povezati"
 
@@ -60,6 +57,9 @@
 msgid "No URL set."
 msgstr "Ni nastavljenega naslova URL."
 
+msgid "Internal data stream error."
+msgstr "Notranja napaka pretoka podatkov."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "Napaka vhodnega zvoka, pretok AVI bo pokvarjen."
 
diff --git a/po/sq.gmo b/po/sq.gmo
index 124adaa..ac7643f 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index cb59679..13dbc91 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins 0.8.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2004-08-07 20:29+0200\n"
 "Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n"
 "Language-Team: Albanian <begraj@hotmail.com>\n"
@@ -23,9 +23,6 @@
 msgid "Failed to decode JPEG image"
 msgstr ""
 
-msgid "Internal data stream error."
-msgstr ""
-
 #, fuzzy
 msgid "Could not connect to server"
 msgstr "E pamundur mbyllja e dispozitivit të kontrollit \"%s\"."
@@ -55,6 +52,9 @@
 msgid "No URL set."
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr ""
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "Input audio i gabuar ose mungon, stream AVI mund të jetë i dëmtuar."
 
diff --git a/po/sr.gmo b/po/sr.gmo
index df28907..8bcc75f 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index b044d7b..17e0317 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-0.10.28.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2011-12-04 16:44+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <gnu@prevod.org>\n"
@@ -28,9 +28,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Нисам успео да декодирам ЈПЕГ слику"
 
-msgid "Internal data stream error."
-msgstr "Унутрашња грешка тока података."
-
 msgid "Could not connect to server"
 msgstr "Не могу да се повежем са сервером"
 
@@ -56,6 +53,9 @@
 msgid "No URL set."
 msgstr "Није подешена адреса."
 
+msgid "Internal data stream error."
+msgstr "Унутрашња грешка тока података."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "Улазног звука нема или је неисправан, АВИ ток ће бити оштећен."
 
diff --git a/po/sv.gmo b/po/sv.gmo
index b8933e6..39897d0 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 4b9b028..330fad7 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.26.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2011-01-09 19:36+0100\n"
 "Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -25,9 +25,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Misslyckades med att avkoda JPEG-bild"
 
-msgid "Internal data stream error."
-msgstr "Internt fel i dataström."
-
 msgid "Could not connect to server"
 msgstr "Kunde inte ansluta till servern"
 
@@ -53,6 +50,9 @@
 msgid "No URL set."
 msgstr "Ingen URL inställd."
 
+msgid "Internal data stream error."
+msgstr "Internt fel i dataström."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "Inget eller ogiltigt inljud. AVI-flödet kommer att skadas."
 
diff --git a/po/tr.gmo b/po/tr.gmo
index 338db3f..0c03c15 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 62f6c2a..f6587da 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.26.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2011-01-08 00:03+0200\n"
 "Last-Translator: Server Acim <serveracim@gmail.com>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -23,9 +23,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "JPEG görüntüsünü çözümlenemedi"
 
-msgid "Internal data stream error."
-msgstr "İç veri akım hatası."
-
 msgid "Could not connect to server"
 msgstr "Sunucuya bağlanamıyor"
 
@@ -53,6 +50,9 @@
 msgid "No URL set."
 msgstr "Hiç bir URL ayarlanmamış."
 
+msgid "Internal data stream error."
+msgstr "İç veri akım hatası."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "Geçerli bir ses girişi bulunamadı. AVI akışı kesilecek."
 
diff --git a/po/uk.gmo b/po/uk.gmo
index d5a9a8d..d8d21a4 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index cb76e43..e9d8091 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.28.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2011-05-01 11:55+0300\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
@@ -27,9 +27,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Помилка при декодуванні зображення JPEG"
 
-msgid "Internal data stream error."
-msgstr "Внутрішня помилка потоку даних."
-
 msgid "Could not connect to server"
 msgstr "Не вдалося з'єднатись з сервером"
 
@@ -57,6 +54,9 @@
 msgid "No URL set."
 msgstr "Не вказано адресу"
 
+msgid "Internal data stream error."
+msgstr "Внутрішня помилка потоку даних."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr ""
 "Не вказано або вказано некоректний вхід звукових даних, AVI-потік буде "
diff --git a/po/vi.gmo b/po/vi.gmo
index c9df698..9474a98 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index f7a0d31..e8d5f44 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.23.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2010-10-03 18:48+1030\n"
 "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
 "Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
@@ -26,9 +26,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "Lỗi giải mã ảnh JPEG"
 
-msgid "Internal data stream error."
-msgstr "Lỗi luồng dữ liệu nội bộ."
-
 msgid "Could not connect to server"
 msgstr "Không thể kết nối tới máy phục vụ"
 
@@ -56,6 +53,9 @@
 msgid "No URL set."
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr "Lỗi luồng dữ liệu nội bộ."
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr ""
 "Chưa có dữ liệu âm thanh nhập, hoặc dữ liệu âm thanh nhập không hợp lệ. Vì "
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index cccedc0..4416784 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 4c2d57f..8503ed0 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.16.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2009-11-13 22:20+0800\n"
 "Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -24,9 +24,6 @@
 msgid "Failed to decode JPEG image"
 msgstr "解码 JPEG 图像出错"
 
-msgid "Internal data stream error."
-msgstr "内部数据流错误。"
-
 msgid "Could not connect to server"
 msgstr "无法连接至服务器"
 
@@ -55,6 +52,9 @@
 msgid "No URL set."
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr "内部数据流错误。"
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "没有或无效的输入音频，AVI 流将损坏。"
 
diff --git a/po/zh_HK.gmo b/po/zh_HK.gmo
index ea89212..e9986ca 100644
--- a/po/zh_HK.gmo
+++ b/po/zh_HK.gmo
Binary files differ
diff --git a/po/zh_HK.po b/po/zh_HK.po
index 402c2e2..3d5dc9d 100644
--- a/po/zh_HK.po
+++ b/po/zh_HK.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-0.10.2 0.10.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2006-08-29 01:08+0800\n"
 "Last-Translator: Abel Cheung <abelcheung@gmail.com>\n"
 "Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n"
@@ -23,9 +23,6 @@
 msgid "Failed to decode JPEG image"
 msgstr ""
 
-msgid "Internal data stream error."
-msgstr "內部資料串流發生錯誤。"
-
 msgid "Could not connect to server"
 msgstr ""
 
@@ -51,6 +48,9 @@
 msgid "No URL set."
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr "內部資料串流發生錯誤。"
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "沒有任何輸入的音效資料或者資料無效，表示 AVI 串流出現錯誤。"
 
diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo
index 8318b4b..698da29 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 9ad9c18..6025c75 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-0.10.2 0.10.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2012-05-13 16:29+0200\n"
+"POT-Creation-Date: 2012-06-07 16:10+0200\n"
 "PO-Revision-Date: 2006-08-29 01:08+0800\n"
 "Last-Translator: Abel Cheung <abelcheung@gmail.com>\n"
 "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
@@ -23,9 +23,6 @@
 msgid "Failed to decode JPEG image"
 msgstr ""
 
-msgid "Internal data stream error."
-msgstr "內部資料串流發生錯誤。"
-
 msgid "Could not connect to server"
 msgstr ""
 
@@ -51,6 +48,9 @@
 msgid "No URL set."
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr "內部資料串流發生錯誤。"
+
 msgid "No or invalid input audio, AVI stream will be corrupt."
 msgstr "沒有任何輸入的音效資料或者資料無效，表示 AVI 串流出現錯誤。"
 
diff --git a/sys/Makefile.in b/sys/Makefile.in
index 0d93b4f..b5d4e33 100644
--- a/sys/Makefile.in
+++ b/sys/Makefile.in
@@ -61,6 +61,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 	$(top_srcdir)/common/parallel-subdirs.mak
 subdir = sys
@@ -70,7 +71,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -167,8 +167,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -215,6 +213,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -259,8 +258,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -275,6 +276,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -340,7 +345,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -396,6 +401,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -468,7 +474,11 @@
 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@
diff --git a/sys/directsound/Makefile.in b/sys/directsound/Makefile.in
index 2548d8d..1c809e1 100644
--- a/sys/directsound/Makefile.in
+++ b/sys/directsound/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = sys/directsound
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -187,8 +187,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -235,6 +233,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -279,8 +278,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -295,6 +296,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -360,7 +365,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -416,6 +421,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -488,7 +494,11 @@
 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@
diff --git a/sys/oss/Makefile.in b/sys/oss/Makefile.in
index 4688685..ae49e36 100644
--- a/sys/oss/Makefile.in
+++ b/sys/oss/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = sys/oss
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -185,8 +185,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -233,6 +231,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -277,8 +276,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -293,6 +294,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -358,7 +363,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -414,6 +419,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -486,7 +492,11 @@
 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@
diff --git a/sys/oss4/Makefile.in b/sys/oss4/Makefile.in
index 6515f42..2a284b4 100644
--- a/sys/oss4/Makefile.in
+++ b/sys/oss4/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = sys/oss4
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -186,8 +186,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -234,6 +232,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -278,8 +277,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -294,6 +295,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -359,7 +364,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -415,6 +420,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -487,7 +493,11 @@
 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@
diff --git a/sys/osxaudio/Makefile.in b/sys/osxaudio/Makefile.in
index cd1aa37..1285c9e 100644
--- a/sys/osxaudio/Makefile.in
+++ b/sys/osxaudio/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = sys/osxaudio
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -187,8 +187,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -235,6 +233,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -279,8 +278,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -295,6 +296,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -360,7 +365,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -416,6 +421,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -488,7 +494,11 @@
 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@
diff --git a/sys/osxaudio/gstosxaudiosink.c b/sys/osxaudio/gstosxaudiosink.c
index c11d0dd..639f499 100644
--- a/sys/osxaudio/gstosxaudiosink.c
+++ b/sys/osxaudio/gstosxaudiosink.c
@@ -98,6 +98,34 @@
         "signed = (boolean) { TRUE }, "
         "width = (int) 32, "
         "depth = (int) 32, "
+        "rate = (int) [1, MAX], "
+        "channels = (int) [1, MAX];"
+        "audio/x-raw-int, "
+        "endianness = (int) {" G_STRINGIFY (G_BYTE_ORDER) " }, "
+        "signed = (boolean) { TRUE }, "
+        "width = (int) 32, "
+        "depth = (int) 32, "
+        "rate = (int) [1, MAX], "
+        "channels = (int) [1, MAX];"
+        "audio/x-raw-int, "
+        "endianness = (int) {" G_STRINGIFY (G_BYTE_ORDER) " }, "
+        "signed = (boolean) { TRUE }, "
+        "width = (int) 24, "
+        "depth = (int) 24, "
+        "rate = (int) [1, MAX], "
+        "channels = (int) [1, MAX];"
+        "audio/x-raw-int, "
+        "endianness = (int) {" G_STRINGIFY (G_BYTE_ORDER) " }, "
+        "signed = (boolean) { TRUE }, "
+        "width = (int) 16, "
+        "depth = (int) 16, "
+        "rate = (int) [1, MAX], "
+        "channels = (int) [1, MAX];"
+        "audio/x-raw-int, "
+        "endianness = (int) {" G_STRINGIFY (G_BYTE_ORDER) " }, "
+        "signed = (boolean) { TRUE }, "
+        "width = (int) 8, "
+        "depth = (int) 8, "
         "rate = (int) [1, MAX], " "channels = (int) [1, MAX]")
     );
 
diff --git a/sys/osxaudio/gstosxringbuffer.c b/sys/osxaudio/gstosxringbuffer.c
index 095efc1..cb77162 100644
--- a/sys/osxaudio/gstosxringbuffer.c
+++ b/sys/osxaudio/gstosxringbuffer.c
@@ -329,6 +329,7 @@
   int layoutSize;
   int element;
   int i;
+  int width, depth;
   AudioUnitScope scope;
   gboolean ret = FALSE;
   GstStructure *structure;
@@ -341,10 +342,25 @@
   format.mFormatID = kAudioFormatLinearPCM;
   format.mSampleRate = (double) spec->rate;
   format.mChannelsPerFrame = spec->channels;
-  format.mFormatFlags = kAudioFormatFlagsNativeFloatPacked;
-  format.mBytesPerFrame = spec->channels * sizeof (float);
-  format.mBitsPerChannel = sizeof (float) * 8;
-  format.mBytesPerPacket = spec->channels * sizeof (float);
+  if (spec->type == GST_BUFTYPE_FLOAT) {
+    format.mFormatFlags = kAudioFormatFlagsNativeFloatPacked;
+    width = depth = spec->width;
+  } else {
+    format.mFormatFlags = kAudioFormatFlagIsSignedInteger;
+    width = spec->width;
+    depth = spec->depth;
+    if (width == depth) {
+      format.mFormatFlags |= kAudioFormatFlagIsPacked;
+    } else {
+      format.mFormatFlags |= kAudioFormatFlagIsAlignedHigh;
+    }
+    if (spec->bigend) {
+      format.mFormatFlags |= kAudioFormatFlagIsBigEndian;
+    }
+  }
+  format.mBytesPerFrame = spec->channels * (width >> 3);
+  format.mBitsPerChannel = depth;
+  format.mBytesPerPacket = spec->channels * (width >> 3);
   format.mFramesPerPacket = 1;
   format.mReserved = 0;
 
diff --git a/sys/osxvideo/Makefile.am b/sys/osxvideo/Makefile.am
index 0ff6c0c..cd69504 100644
--- a/sys/osxvideo/Makefile.am
+++ b/sys/osxvideo/Makefile.am
@@ -3,17 +3,16 @@
 
 libgstosxvideosink_la_SOURCES = osxvideosink.m cocoawindow.m 
 libgstosxvideosink_la_CFLAGS = $(GST_CFLAGS) $(GST_BASE_CFLAGS) \
-	$(GST_PLUGINS_BASE_CFLAGS)
+	$(GST_PLUGINS_BASE_CFLAGS) -DRUN_NS_APP_THREAD
+libgstosxvideosink_la_OBJCFLAGS = $(GST_OBJCFLAGS) $(GST_BASE_CFLAGS) \
+	$(GST_PLUGINS_BASE_CFLAGS) -DRUN_NS_APP_THREAD
 libgstosxvideosink_la_LIBADD =  \
 	$(GST_LIBS) \
 	$(GST_BASE_LIBS) \
-    $(GST_PLUGINS_BASE_LIBS) \
-    -lgstvideo-$(GST_API_VERSION) \
-	-lgstinterfaces-$(GST_API_VERSION)
+	$(GST_PLUGINS_BASE_LIBS) \
+	-lgstvideo-$(GST_API_VERSION)
 
 libgstosxvideosink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -Wl,-framework -Wl,Cocoa -Wl,-framework -Wl,QuickTime -Wl,-framework -Wl,OpenGL
 libgstosxvideosink_la_LIBTOOLFLAGS = --tag=disable-static
 
-AM_OBJCFLAGS=$(CFLAGS) $(GST_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) -Wno-aggregate-return
-
 noinst_HEADERS = osxvideosink.h cocoawindow.h
diff --git a/sys/osxvideo/Makefile.in b/sys/osxvideo/Makefile.in
index c3f8303..a616add 100644
--- a/sys/osxvideo/Makefile.in
+++ b/sys/osxvideo/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = sys/osxvideo
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -139,8 +139,8 @@
 am__v_lt_0 = --silent
 libgstosxvideosink_la_LINK = $(LIBTOOL) $(AM_V_lt) \
 	$(libgstosxvideosink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(OBJCLD) $(AM_OBJCFLAGS) $(OBJCFLAGS) \
-	$(libgstosxvideosink_la_LDFLAGS) $(LDFLAGS) -o $@
+	--mode=link $(OBJCLD) $(libgstosxvideosink_la_OBJCFLAGS) \
+	$(OBJCFLAGS) $(libgstosxvideosink_la_LDFLAGS) $(LDFLAGS) -o $@
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -185,8 +185,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -233,6 +231,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -277,8 +276,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -293,6 +294,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -358,7 +363,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -414,6 +419,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -486,25 +492,30 @@
 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@
 plugin_LTLIBRARIES = libgstosxvideosink.la
 libgstosxvideosink_la_SOURCES = osxvideosink.m cocoawindow.m 
 libgstosxvideosink_la_CFLAGS = $(GST_CFLAGS) $(GST_BASE_CFLAGS) \
-	$(GST_PLUGINS_BASE_CFLAGS)
+	$(GST_PLUGINS_BASE_CFLAGS) -DRUN_NS_APP_THREAD
+
+libgstosxvideosink_la_OBJCFLAGS = $(GST_OBJCFLAGS) $(GST_BASE_CFLAGS) \
+	$(GST_PLUGINS_BASE_CFLAGS) -DRUN_NS_APP_THREAD
 
 libgstosxvideosink_la_LIBADD = \
 	$(GST_LIBS) \
 	$(GST_BASE_LIBS) \
-    $(GST_PLUGINS_BASE_LIBS) \
-    -lgstvideo-$(GST_API_VERSION) \
-	-lgstinterfaces-$(GST_API_VERSION)
+	$(GST_PLUGINS_BASE_LIBS) \
+	-lgstvideo-$(GST_API_VERSION)
 
 libgstosxvideosink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -Wl,-framework -Wl,Cocoa -Wl,-framework -Wl,QuickTime -Wl,-framework -Wl,OpenGL
 libgstosxvideosink_la_LIBTOOLFLAGS = --tag=disable-static
-AM_OBJCFLAGS = $(CFLAGS) $(GST_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) -Wno-aggregate-return
 noinst_HEADERS = osxvideosink.h cocoawindow.h
 all: all-am
 
@@ -606,18 +617,18 @@
 @am__fastdepOBJC_FALSE@	$(AM_V_OBJC@am__nodep@)$(LTOBJCCOMPILE) -c -o $@ $<
 
 libgstosxvideosink_la-osxvideosink.lo: osxvideosink.m
-@am__fastdepOBJC_TRUE@	$(AM_V_OBJC)$(LIBTOOL) $(AM_V_lt) $(libgstosxvideosink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS) -MT libgstosxvideosink_la-osxvideosink.lo -MD -MP -MF $(DEPDIR)/libgstosxvideosink_la-osxvideosink.Tpo -c -o libgstosxvideosink_la-osxvideosink.lo `test -f 'osxvideosink.m' || echo '$(srcdir)/'`osxvideosink.m
+@am__fastdepOBJC_TRUE@	$(AM_V_OBJC)$(LIBTOOL) $(AM_V_lt) $(libgstosxvideosink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstosxvideosink_la_OBJCFLAGS) $(OBJCFLAGS) -MT libgstosxvideosink_la-osxvideosink.lo -MD -MP -MF $(DEPDIR)/libgstosxvideosink_la-osxvideosink.Tpo -c -o libgstosxvideosink_la-osxvideosink.lo `test -f 'osxvideosink.m' || echo '$(srcdir)/'`osxvideosink.m
 @am__fastdepOBJC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstosxvideosink_la-osxvideosink.Tpo $(DEPDIR)/libgstosxvideosink_la-osxvideosink.Plo
 @AMDEP_TRUE@@am__fastdepOBJC_FALSE@	$(AM_V_OBJC)source='osxvideosink.m' object='libgstosxvideosink_la-osxvideosink.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepOBJC_FALSE@	DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepOBJC_FALSE@	$(AM_V_OBJC@am__nodep@)$(LIBTOOL) $(AM_V_lt) $(libgstosxvideosink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS) -c -o libgstosxvideosink_la-osxvideosink.lo `test -f 'osxvideosink.m' || echo '$(srcdir)/'`osxvideosink.m
+@am__fastdepOBJC_FALSE@	$(AM_V_OBJC@am__nodep@)$(LIBTOOL) $(AM_V_lt) $(libgstosxvideosink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstosxvideosink_la_OBJCFLAGS) $(OBJCFLAGS) -c -o libgstosxvideosink_la-osxvideosink.lo `test -f 'osxvideosink.m' || echo '$(srcdir)/'`osxvideosink.m
 
 libgstosxvideosink_la-cocoawindow.lo: cocoawindow.m
-@am__fastdepOBJC_TRUE@	$(AM_V_OBJC)$(LIBTOOL) $(AM_V_lt) $(libgstosxvideosink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS) -MT libgstosxvideosink_la-cocoawindow.lo -MD -MP -MF $(DEPDIR)/libgstosxvideosink_la-cocoawindow.Tpo -c -o libgstosxvideosink_la-cocoawindow.lo `test -f 'cocoawindow.m' || echo '$(srcdir)/'`cocoawindow.m
+@am__fastdepOBJC_TRUE@	$(AM_V_OBJC)$(LIBTOOL) $(AM_V_lt) $(libgstosxvideosink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstosxvideosink_la_OBJCFLAGS) $(OBJCFLAGS) -MT libgstosxvideosink_la-cocoawindow.lo -MD -MP -MF $(DEPDIR)/libgstosxvideosink_la-cocoawindow.Tpo -c -o libgstosxvideosink_la-cocoawindow.lo `test -f 'cocoawindow.m' || echo '$(srcdir)/'`cocoawindow.m
 @am__fastdepOBJC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstosxvideosink_la-cocoawindow.Tpo $(DEPDIR)/libgstosxvideosink_la-cocoawindow.Plo
 @AMDEP_TRUE@@am__fastdepOBJC_FALSE@	$(AM_V_OBJC)source='cocoawindow.m' object='libgstosxvideosink_la-cocoawindow.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepOBJC_FALSE@	DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepOBJC_FALSE@	$(AM_V_OBJC@am__nodep@)$(LIBTOOL) $(AM_V_lt) $(libgstosxvideosink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS) -c -o libgstosxvideosink_la-cocoawindow.lo `test -f 'cocoawindow.m' || echo '$(srcdir)/'`cocoawindow.m
+@am__fastdepOBJC_FALSE@	$(AM_V_OBJC@am__nodep@)$(LIBTOOL) $(AM_V_lt) $(libgstosxvideosink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstosxvideosink_la_OBJCFLAGS) $(OBJCFLAGS) -c -o libgstosxvideosink_la-cocoawindow.lo `test -f 'cocoawindow.m' || echo '$(srcdir)/'`cocoawindow.m
 
 mostlyclean-libtool:
 	-rm -f *.lo
diff --git a/sys/osxvideo/cocoawindow.h b/sys/osxvideo/cocoawindow.h
index 7324cc7..fef9120 100644
--- a/sys/osxvideo/cocoawindow.h
+++ b/sys/osxvideo/cocoawindow.h
@@ -29,6 +29,7 @@
 #import <Cocoa/Cocoa.h>
 #import <QuickTime/QuickTime.h>
 #import <glib.h>
+#import <gst/video/navigation.h>
 
 struct _GstOSXImage;
 
@@ -42,8 +43,13 @@
     char* data;
     int width, height;
     BOOL fullscreen;
+    BOOL keepAspectRatio;
     NSOpenGLContext* fullScreenContext; 
     NSOpenGLContext* actualContext;
+    NSTrackingArea *trackingArea;
+    GstNavigation *navigation;
+    NSRect drawingBounds;
+    NSThread *mainThread;
 }
 - (void) drawQuad;
 - (void) drawRect: (NSRect) rect;
@@ -54,12 +60,16 @@
 - (void) displayTexture;
 - (char*) getTextureBuffer;
 - (void) setFullScreen: (BOOL) flag;
+- (void) setKeepAspectRatio: (BOOL) flag;
 - (void) reshape;
 - (void) setVideoSize: (int) w: (int) h;
+- (NSRect) getDrawingBounds;
 - (BOOL) haveSuperview;
 - (void) haveSuperviewReal: (NSMutableArray *)closure;
 - (void) addToSuperview: (NSView *)superview;
 - (void) removeFromSuperview: (id)unused;
+- (void) setNavigation: (GstNavigation *) nav;
+- (void) setMainThread: (NSThread *) thread;
 
 @end
 
@@ -70,5 +80,5 @@
 
 - (void) setContentSize: (NSSize) size;
 - (GstGLView *) gstView;
-- (id)initWithContentRect:(NSRect)contentRect styleMask:(unsigned int)styleMask backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag screen:(NSScreen *)aScreen;
+- (id)initWithContentNSRect:(NSRect)contentRect styleMask:(unsigned int)styleMask backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag screen:(NSScreen *)aScreen;
 @end
diff --git a/sys/osxvideo/cocoawindow.m b/sys/osxvideo/cocoawindow.m
index ed24fad..d8fde9b 100644
--- a/sys/osxvideo/cocoawindow.m
+++ b/sys/osxvideo/cocoawindow.m
@@ -42,7 +42,7 @@
 @ implementation GstOSXVideoSinkWindow
 
 /* The object has to be released */
-- (id) initWithContentRect: (NSRect) rect
+- (id) initWithContentNSRect: (NSRect) rect
 		 styleMask: (unsigned int) styleMask
 		   backing: (NSBackingStoreType) bufferingType 
 		     defer: (BOOL) flag
@@ -82,21 +82,6 @@
   [self setAcceptsMouseMovedEvents:YES];
 }
 
-- (void) sendEvent:(NSEvent *) event {
-  BOOL taken = NO;
-
-  GST_DEBUG ("event %p type:%d", event,(gint)[event type]);
-
-  if ([event type] == NSKeyDown) {
-  }
-  /*taken = [gstview keyDown:event]; */
-
-  if (!taken) {
-    [super sendEvent:event];
-  }
-}
-
-
 @end
 
 
@@ -141,15 +126,31 @@
   data = nil;
   width = frame.size.width;
   height = frame.size.height;
+  drawingBounds = NSMakeRect(0, 0, width, height);
 
   GST_LOG ("Width: %d Height: %d", width, height);
 
+  trackingArea = [[NSTrackingArea alloc] initWithRect:[self bounds]
+      options: (NSTrackingMouseEnteredAndExited | NSTrackingMouseMoved | NSTrackingActiveInKeyWindow)
+      owner:self
+      userInfo:nil];
+
+  [self addTrackingArea:trackingArea];
+  mainThread = [NSThread mainThread];
+
   [self initTextures];
   return self;
 }
 
+- (NSRect) getDrawingBounds {
+  return drawingBounds;
+}
+
 - (void) reshape {
   NSRect bounds;
+  gdouble frame_par, view_par;
+  gint view_height, view_width, c_height, c_width, c_x, c_y;
+
 
   GST_LOG ("reshaping");
 
@@ -160,9 +161,33 @@
   [actualContext makeCurrentContext];
 
   bounds = [self bounds];
+  view_width = bounds.size.width;
+  view_height = bounds.size.height;
 
-  glViewport (0, 0, (GLint) bounds.size.width, (GLint) bounds.size.height);
+  frame_par = (gdouble) width / height;
+  view_par = (gdouble) view_width / view_height;
+  if (!keepAspectRatio)
+    view_par = frame_par;
 
+  if (frame_par == view_par) {
+    c_height = view_height;
+    c_width = view_width;
+    c_x = 0;
+    c_y = 0;
+  } else if (frame_par < view_par) {
+    c_height = view_height;
+    c_width = c_height * frame_par;
+    c_x = (view_width - c_width) / 2;
+    c_y = 0;
+  } else {
+    c_width = view_width;
+    c_height = c_width / frame_par;
+    c_x = 0;
+    c_y = (view_height - c_height) / 2;
+  }
+
+  drawingBounds = NSMakeRect(c_x, c_y, c_width, c_height);
+  glViewport (c_x, c_y, (GLint) c_width, (GLint) c_height);
 }
 
 - (void) initTextures {
@@ -382,6 +407,16 @@
 
 //  data = g_malloc0 (2 * w * h);
   [self initTextures];
+  [self reshape];
+}
+
+- (void) setKeepAspectRatio: (BOOL) flag {
+  keepAspectRatio = flag;
+  [self reshape];
+}
+
+- (void) setMainThread: (NSThread *) thread {
+  mainThread = thread;
 }
 
 - (void) haveSuperviewReal:(NSMutableArray *)closure {
@@ -391,8 +426,9 @@
 
 - (BOOL) haveSuperview {
 	NSMutableArray *closure = [NSMutableArray arrayWithCapacity:1];
-	[self performSelectorOnMainThread:@selector(haveSuperviewReal:)
-			withObject:(id)closure waitUntilDone:YES];
+	[self performSelector:@selector(haveSuperviewReal:)
+		onThread:mainThread
+		withObject:(id)closure waitUntilDone:YES];
 
 	return [[closure objectAtIndex:0] boolValue];
 }
@@ -406,8 +442,9 @@
 }
 
 - (void) addToSuperview: (NSView *)superview {
-	[self performSelectorOnMainThread:@selector(addToSuperviewReal:)
-			withObject:superview waitUntilDone:YES];
+	[self performSelector:@selector(addToSuperviewReal:)
+		onThread:mainThread
+		withObject:superview waitUntilDone:YES];
 }
 
 - (void) removeFromSuperview: (id)unused
@@ -429,4 +466,111 @@
 
   [super dealloc];
 }
+
+- (void)updateTrackingAreas {
+  [self removeTrackingArea:trackingArea];
+  [trackingArea release];
+  trackingArea = [[NSTrackingArea alloc] initWithRect: [self bounds]
+      options: (NSTrackingMouseEnteredAndExited | NSTrackingMouseMoved | NSTrackingActiveInKeyWindow)
+      owner:self userInfo:nil];
+  [self addTrackingArea:trackingArea];
+}
+
+- (BOOL)acceptsFirstResponder {
+    return YES;
+}
+
+- (void) setNavigation:(GstNavigation *)nav
+{
+  navigation = nav;
+}
+
+- (void)sendMouseEvent:(NSEvent *)event: (const char *)event_name
+{
+  NSPoint location;
+  gint button;
+  gdouble x, y;
+
+  if (!navigation)
+    return;
+
+  switch ([event type]) {
+    case NSMouseMoved:
+      button = 0;
+      break;
+    case NSLeftMouseDown:
+    case NSLeftMouseUp:
+      button = 1;
+      break;
+    case NSRightMouseDown:
+    case NSRightMouseUp:
+      button = 2;
+      break;
+    default:
+      button = 3;
+      break;
+  }
+
+  location = [self convertPoint:[event locationInWindow] fromView:nil];
+
+  x = location.x;
+  y = location.y;
+  /* invert Y */
+
+  y = (1 - ((gdouble) y) / [self bounds].size.height) * [self bounds].size.height;
+
+  gst_navigation_send_mouse_event (navigation, event_name, button, x, y);
+}
+
+- (void)sendKeyEvent:(NSEvent *)event: (const char *)event_name
+{
+  NSString *keyCharStr = [event charactersIgnoringModifiers];
+  gchar * key_str;
+
+  if (!navigation)
+    return;
+
+  if ( [keyCharStr length] == 0 )
+    return;
+
+  if ( [keyCharStr length] == 1 ) {
+    key_str = g_strdup_printf("%c", [keyCharStr characterAtIndex:0]);
+    gst_navigation_send_key_event(navigation, event_name, (const gchar *) key_str);
+    g_free(key_str);
+  }
+}
+
+- (void)keyDown:(NSEvent *) event;
+{
+  [self sendKeyEvent: event: "key-press"];
+}
+
+- (void)keyUp:(NSEvent *) event;
+{
+  [self sendKeyEvent: event: "key-release"];
+}
+
+- (void)mouseDown:(NSEvent *) event;
+{
+  [self sendMouseEvent:event: "mouse-button-press"];
+}
+
+- (void)mouseUp:(NSEvent *) event;
+{
+  [self sendMouseEvent:event: "mouse-button-release"];
+}
+
+- (void)mouseMoved:(NSEvent *)event;
+{
+  [self sendMouseEvent:event: "mouse-move"];
+}
+
+- (void)mouseEntered:(NSEvent *)event;
+{
+}
+
+- (void)mouseExited:(NSEvent *)event;
+{
+}
+
 @end
diff --git a/sys/osxvideo/osxvideosink.h b/sys/osxvideo/osxvideosink.h
index 2a228d0..37b68c2 100644
--- a/sys/osxvideo/osxvideosink.h
+++ b/sys/osxvideo/osxvideosink.h
@@ -31,6 +31,7 @@
 
 #include <string.h>
 #include <math.h>
+#include <objc/runtime.h>
 #include <Cocoa/Cocoa.h>
 
 #include <QuickTime/QuickTime.h>
@@ -39,6 +40,14 @@
 GST_DEBUG_CATEGORY_EXTERN (gst_debug_osx_video_sink);
 #define GST_CAT_DEFAULT gst_debug_osx_video_sink
 
+/* The hack doesn't work on leopard, the _CFMainPThread symbol
+ * is doesn't exist in the CoreFoundation library */
+#if MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_5
+#ifdef RUN_NS_APP_THREAD
+#undef RUN_NS_APP_THREAD
+#endif
+#endif
+
 G_BEGIN_DECLS
 
 #define GST_TYPE_OSX_VIDEO_SINK \
@@ -62,15 +71,28 @@
 /* OSXWindow stuff */
 struct _GstOSXWindow {
   gint width, height;
+  gboolean closed;
   gboolean internal;
   GstGLView* gstview;
+  GstOSXVideoSinkWindow* win;
 };
 
 struct _GstOSXVideoSink {
   /* Our element stuff */
   GstVideoSink videosink;
   GstOSXWindow *osxwindow;
+  void *osxvideosinkobject;
   NSView *superview;
+  NSThread *ns_app_thread;
+#ifdef RUN_NS_APP_THREAD
+  GMutex *loop_thread_lock;
+  GCond *loop_thread_cond;
+#else
+  guint cocoa_timeout;
+#endif
+  gboolean app_started;
+  gboolean keep_par;
+  gboolean embed;
 };
 
 struct _GstOSXVideoSinkClass {
@@ -79,6 +101,53 @@
 
 GType gst_osx_video_sink_get_type(void);
 
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
+@interface NSApplication(AppleMenu)
+- (void)setAppleMenu:(NSMenu *)menu;
+@end
+#endif
+
+@interface GstBufferObject : NSObject
+{
+  @public
+  GstBuffer *buf;
+}
+
+-(id) initWithBuffer: (GstBuffer *) buf;
+@end
+
+
+#if MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_5
+@interface GstWindowDelegate : NSObject
+#else
+@interface GstWindowDelegate : NSObject <NSWindowDelegate>
+#endif
+{
+  @public
+  GstOSXVideoSink *osxvideosink;
+}
+-(id) initWithSink: (GstOSXVideoSink *) sink;
+@end
+
+@interface GstOSXVideoSinkObject : NSObject
+{
+  BOOL destroyed;
+
+  @public
+  GstOSXVideoSink *osxvideosink;
+}
+
+-(id) initWithSink: (GstOSXVideoSink *) sink;
+-(void) createInternalWindow;
+-(void) resize;
+-(void) destroy;
+-(void) showFrame: (GstBufferObject*) buf;
+#ifdef RUN_NS_APP_THREAD
++ (BOOL) isMainThread;
+-(void) nsAppThread;
+#endif
+@end
+
 G_END_DECLS
 
 #endif /* __GST_OSX_VIDEO_SINK_H__ */
diff --git a/sys/osxvideo/osxvideosink.m b/sys/osxvideo/osxvideosink.m
index 2e31c99..0bcd494 100644
--- a/sys/osxvideo/osxvideosink.m
+++ b/sys/osxvideo/osxvideosink.m
@@ -37,7 +37,8 @@
  */
 
 #include "config.h"
-#include <gst/interfaces/xoverlay.h>
+#include <gst/video/videooverlay.h>
+#include <gst/video/navigation.h>
 
 #include "osxvideosink.h"
 #include <unistd.h>
@@ -46,18 +47,23 @@
 GST_DEBUG_CATEGORY (gst_debug_osx_video_sink);
 #define GST_CAT_DEFAULT gst_debug_osx_video_sink
 
+#ifdef RUN_NS_APP_THREAD
+extern  void _CFRunLoopSetCurrent(CFRunLoopRef rl);
+extern pthread_t _CFMainPThread;
+#endif
+
 static GstStaticPadTemplate gst_osx_video_sink_sink_template_factory =
 GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("video/x-raw-yuv, "
+    GST_STATIC_CAPS ("video/x-raw, "
         "framerate = (fraction) [ 0, MAX ], "
         "width = (int) [ 1, MAX ], "
         "height = (int) [ 1, MAX ], "
 #if G_BYTE_ORDER == G_BIG_ENDIAN
-       "format = (fourcc) YUY2")
+       "format = (string) YUY2")
 #else
-        "format = (fourcc) UYVY")
+        "format = (string) UYVY")
 #endif
     );
 
@@ -65,12 +71,100 @@
 {
   ARG_0,
   ARG_EMBED,
+  ARG_FORCE_PAR,
 };
 
 static void gst_osx_video_sink_osxwindow_destroy (GstOSXVideoSink * osxvideosink);
 
 static GstVideoSinkClass *parent_class = NULL;
 
+/* Helper to trigger calls from the main thread */
+static void
+gst_osx_video_sink_call_from_main_thread(GstOSXVideoSink *osxvideosink,
+    NSObject * object, SEL function, NSObject *data, BOOL waitUntilDone)
+{
+
+  NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+
+  [object performSelector:function onThread:osxvideosink->ns_app_thread
+          withObject:data waitUntilDone:waitUntilDone];
+  [pool release];
+}
+
+/* Poll for cocoa events */
+static void
+run_ns_app_loop (void) {
+  NSEvent *event;
+  NSAutoreleasePool *pool =[[NSAutoreleasePool alloc] init];
+  NSDate *pollTime = nil;
+
+#ifdef RUN_NS_APP_THREAD
+  /* when running the loop in a thread we want to sleep as long as possible */
+  pollTime = [NSDate distantFuture];
+#else
+  pollTime = [NSDate distantPast];
+#endif
+
+  do {
+      event = [NSApp nextEventMatchingMask:NSAnyEventMask untilDate:pollTime
+          inMode:NSDefaultRunLoopMode dequeue:YES];
+      [NSApp sendEvent:event];
+    }
+  while (event != nil);
+  [pool release];
+}
+
+static void
+gst_osx_video_sink_run_cocoa_loop (GstOSXVideoSink * sink )
+{
+  /* Cocoa applications require a main runloop running to dispatch UI
+   * events and process deferred calls to the main thread through
+   * perfermSelectorOnMainThread.
+   * Since the sink needs to create it's own Cocoa window when no
+   * external NSView is passed to the sink through the GstVideoOverlay API,
+   * we need to run the cocoa mainloop somehow.
+   */
+  if ([[NSRunLoop mainRunLoop] currentMode] == nil) {
+#ifdef RUN_NS_APP_THREAD
+    /* run the main runloop in a separate thread */
+
+    /* override [NSThread isMainThread] with our own implementation so that we can
+     * make it believe our dedicated thread is the main thread 
+     */
+    Method origIsMainThread = class_getClassMethod([NSThread class],
+        NSSelectorFromString(@"isMainThread"));
+    Method ourIsMainThread = class_getClassMethod([GstOSXVideoSinkObject class],
+        NSSelectorFromString(@"isMainThread"));
+
+    method_exchangeImplementations(origIsMainThread, ourIsMainThread);
+
+    sink->ns_app_thread = [[NSThread alloc]
+        initWithTarget:sink->osxvideosinkobject
+        selector:@selector(nsAppThread) object:nil];
+    [sink->ns_app_thread start];
+
+    g_mutex_lock (sink->loop_thread_lock);
+    while (!sink->app_started)
+      g_cond_wait (sink->loop_thread_cond, sink->loop_thread_lock);
+    g_mutex_unlock (sink->loop_thread_lock);
+#else
+  /* assume that there is a GMainLoop and iterate the main runloop from there
+   */
+    sink->cocoa_timeout = g_timeout_add (10,
+        (GSourceFunc) run_ns_app_loop, NULL);
+#endif
+  }
+}
+
+static void
+gst_osx_video_sink_stop_cocoa_loop (GstOSXVideoSink * osxvideosink)
+{
+#ifndef RUN_NS_APP_THREAD
+  if (osxvideosink->cocoa_timeout)
+    g_source_remove(osxvideosink->cocoa_timeout);
+#endif
+}
+
 /* This function handles osx window creation */
 static gboolean
 gst_osx_video_sink_osxwindow_create (GstOSXVideoSink * osxvideosink, gint width,
@@ -91,6 +185,7 @@
 
   osxwindow->width = width;
   osxwindow->height = height;
+  osxwindow->closed = FALSE;
 
   /* Allocate our GstGLView for the window, and then tell the application
    * about it (hopefully it's listening...) */
@@ -109,6 +204,10 @@
 
   GST_INFO_OBJECT (osxvideosink, "'have-ns-view' message sent");
 
+  osxvideosink->ns_app_thread = [NSThread mainThread];
+  gst_osx_video_sink_run_cocoa_loop (osxvideosink);
+  [osxwindow->gstview setMainThread:osxvideosink->ns_app_thread];
+
   /* check if have-ns-view was handled and osxwindow->gstview was added to a
    * superview
    */
@@ -116,7 +215,7 @@
     /* have-ns-view wasn't handled, post prepare-xwindow-id */
     if (osxvideosink->superview == NULL) {
       GST_INFO_OBJECT (osxvideosink, "emitting prepare-xwindow-id");
-      gst_x_overlay_prepare_xwindow_id (GST_X_OVERLAY (osxvideosink));
+      gst_video_overlay_prepare_window_handle (GST_VIDEO_OVERLAY (osxvideosink));
     }
 
     if (osxvideosink->superview != NULL) {
@@ -125,16 +224,26 @@
        * from the main thread
        */
       GST_INFO_OBJECT (osxvideosink, "we have a superview, adding our view to it");
-      [osxwindow->gstview performSelectorOnMainThread:@selector(addToSuperview:)
-          withObject:osxvideosink->superview waitUntilDone:YES];
+      gst_osx_video_sink_call_from_main_thread(osxvideosink, osxwindow->gstview,
+          @selector(addToSuperview:), osxvideosink->superview, NO);
+
     } else {
-      /* the view wasn't added to a superview. It's possible that the
-       * application handled have-ns-view, stored our view internally and is
-       * going to add it to a superview later (webkit does that now).
-       */
-      GST_INFO_OBJECT (osxvideosink, "no superview");
+      if (osxvideosink->embed) {
+        /* the view wasn't added to a superview. It's possible that the
+         * application handled have-ns-view, stored our view internally and is
+         * going to add it to a superview later (webkit does that now).
+         */
+        GST_INFO_OBJECT (osxvideosink, "no superview");
+      } else {
+        gst_osx_video_sink_call_from_main_thread(osxvideosink,
+          osxvideosink->osxvideosinkobject,
+          @selector(createInternalWindow), nil, YES);
+        GST_INFO_OBJECT (osxvideosink, "No superview, creating an internal window.");
+      }
     }
   }
+  [osxwindow->gstview setNavigation: GST_NAVIGATION(osxvideosink)];
+  [osxvideosink->osxwindow->gstview setKeepAspectRatio: osxvideosink->keep_par];
 
   [pool release];
 
@@ -149,17 +258,10 @@
   g_return_if_fail (GST_IS_OSX_VIDEO_SINK (osxvideosink));
   pool = [[NSAutoreleasePool alloc] init];
 
-  if (osxvideosink->osxwindow) {
-    if (osxvideosink->superview) {
-      [osxvideosink->osxwindow->gstview
-          performSelectorOnMainThread:@selector(removeFromSuperview:)
-            withObject:(id)nil waitUntilDone:YES];
-    }
-    [osxvideosink->osxwindow->gstview release];
-
-    g_free (osxvideosink->osxwindow);
-    osxvideosink->osxwindow = NULL;
-  }
+  gst_osx_video_sink_call_from_main_thread(osxvideosink,
+      osxvideosink->osxvideosinkobject,
+      @selector(destroy), (id) nil, YES);
+  gst_osx_video_sink_stop_cocoa_loop (osxvideosink);
   [pool release];
 }
 
@@ -168,6 +270,8 @@
 gst_osx_video_sink_osxwindow_resize (GstOSXVideoSink * osxvideosink,
     GstOSXWindow * osxwindow, guint width, guint height)
 {
+  GstOSXVideoSinkObject *object = osxvideosink->osxvideosinkobject;
+
   NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
   g_return_if_fail (osxwindow != NULL);
   g_return_if_fail (GST_IS_OSX_VIDEO_SINK (osxvideosink));
@@ -178,8 +282,9 @@
   GST_DEBUG_OBJECT (osxvideosink, "Resizing window to (%d,%d)", width, height);
 
   /* Directly resize the underlying view */
-  GST_DEBUG_OBJECT (osxvideosink, "Calling setVideoSize on %p", osxwindow->gstview); 
-  [osxwindow->gstview setVideoSize:width :height];
+  GST_DEBUG_OBJECT (osxvideosink, "Calling setVideoSize on %p", osxwindow->gstview);
+  gst_osx_video_sink_call_from_main_thread(osxvideosink, object,
+      @selector(resize), (id)nil, YES);
 
   [pool release];
 }
@@ -256,6 +361,7 @@
     case GST_STATE_CHANGE_PAUSED_TO_READY:
       GST_VIDEO_SINK_WIDTH (osxvideosink) = 0;
       GST_VIDEO_SINK_HEIGHT (osxvideosink) = 0;
+      osxvideosink->app_started = FALSE;
       gst_osx_video_sink_osxwindow_destroy (osxvideosink);
       break;
     case GST_STATE_CHANGE_READY_TO_NULL:
@@ -272,18 +378,17 @@
 gst_osx_video_sink_show_frame (GstBaseSink * bsink, GstBuffer * buf)
 {
   GstOSXVideoSink *osxvideosink;
-  guint8 *viewdata;
+  GstBufferObject* bufferobject;
   NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
 
   osxvideosink = GST_OSX_VIDEO_SINK (bsink);
-  viewdata = (guint8 *) [osxvideosink->osxwindow->gstview getTextureBuffer];
 
   GST_DEBUG ("show_frame");
-  memcpy (viewdata, GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
-  [osxvideosink->osxwindow->gstview displayTexture];
-
+  bufferobject = [[GstBufferObject alloc] initWithBuffer:buf];
+  gst_osx_video_sink_call_from_main_thread(osxvideosink,
+      osxvideosink->osxvideosinkobject,
+      @selector(showFrame:), bufferobject, NO);
   [pool release];
-
   return GST_FLOW_OK;
 }
 
@@ -309,7 +414,13 @@
 
   switch (prop_id) {
     case ARG_EMBED:
-      /* Ignore, just here for backwards compatibility */
+      osxvideosink->embed = g_value_get_boolean(value);
+      break;
+    case ARG_FORCE_PAR:
+      osxvideosink->keep_par = g_value_get_boolean(value);
+      if (osxvideosink->osxwindow)
+        [osxvideosink->osxwindow->gstview
+            setKeepAspectRatio: osxvideosink->keep_par];
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -329,7 +440,10 @@
 
   switch (prop_id) {
     case ARG_EMBED:
-      g_value_set_boolean (value, TRUE);
+      g_value_set_boolean (value, osxvideosink->embed);
+      break;
+    case ARG_FORCE_PAR:
+      g_value_set_boolean (value, osxvideosink->keep_par);
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -339,10 +453,17 @@
 
 
 static void
-gst_osx_video_sink_init (GstOSXVideoSink * osxvideosink)
+gst_osx_video_sink_init (GstOSXVideoSink * sink)
 {
-  osxvideosink->osxwindow = NULL;
-  osxvideosink->superview = NULL;
+  sink->osxwindow = NULL;
+  sink->superview = NULL;
+  sink->osxvideosinkobject = [[GstOSXVideoSinkObject alloc] initWithSink:sink];
+#ifdef RUN_NS_APP_THREAD
+  sink->loop_thread_lock = g_mutex_new ();
+  sink->loop_thread_cond = g_cond_new ();
+#endif
+  sink->app_started = FALSE;
+  sink->keep_par = FALSE;
 }
 
 static void
@@ -366,6 +487,9 @@
   if (osxvideosink->superview)
     [osxvideosink->superview release];
 
+  if (osxvideosink->osxvideosinkobject)
+    [(GstOSXVideoSinkObject*)(osxvideosink->osxvideosinkobject) release];
+
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
@@ -402,23 +526,89 @@
   g_object_class_install_property (gobject_class, ARG_EMBED,
       g_param_spec_boolean ("embed", "embed", "For ABI compatiblity only, do not use",
           FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-}
 
-static gboolean
-gst_osx_video_sink_interface_supported (GstImplementsInterface * iface, GType type)
-{
-  g_assert (type == GST_TYPE_X_OVERLAY);
-  return TRUE;
+  /**
+   * GstOSXVideoSink:force-aspect-ratio
+   *
+   * When enabled, scaling will respect original aspect ratio.
+   *
+   **/
+
+  g_object_class_install_property (gobject_class, ARG_FORCE_PAR,
+      g_param_spec_boolean ("force-aspect-ratio", "force aspect ration",
+          "When enabled, scaling will respect original aspect ration",
+          FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 }
 
 static void
-gst_osx_video_sink_interface_init (GstImplementsInterfaceClass * klass)
+gst_osx_video_sink_navigation_send_event (GstNavigation * navigation,
+    GstStructure * structure)
 {
-  klass->supported = gst_osx_video_sink_interface_supported;
+  GstOSXVideoSink *osxvideosink = GST_OSX_VIDEO_SINK (navigation);
+  GstPad *peer;
+  GstEvent *event;
+  GstVideoRectangle src, dst, result;
+  NSRect bounds;
+  gdouble x, y, xscale = 1.0, yscale = 1.0;
+
+  peer = gst_pad_get_peer (GST_VIDEO_SINK_PAD (osxvideosink));
+
+  if (!peer || !osxvideosink->osxwindow)
+    return;
+
+  event = gst_event_new_navigation (structure);
+
+  bounds = [osxvideosink->osxwindow->gstview getDrawingBounds];
+
+  if (osxvideosink->keep_par) {
+    /* We get the frame position using the calculated geometry from _setcaps
+       that respect pixel aspect ratios */
+    src.w = GST_VIDEO_SINK_WIDTH (osxvideosink);
+    src.h = GST_VIDEO_SINK_HEIGHT (osxvideosink);
+    dst.w = bounds.size.width;
+    dst.h = bounds.size.height;
+
+    gst_video_sink_center_rect (src, dst, &result, TRUE);
+    result.x += bounds.origin.x;
+    result.y += bounds.origin.y;
+  } else {
+    result.x = bounds.origin.x;
+    result.y = bounds.origin.y;
+    result.w = bounds.size.width;
+    result.h = bounds.size.height;
+  }
+
+  /* We calculate scaling using the original video frames geometry to include
+     pixel aspect ratio scaling. */
+  xscale = (gdouble) osxvideosink->osxwindow->width / result.w;
+  yscale = (gdouble) osxvideosink->osxwindow->height / result.h;
+
+  /* Converting pointer coordinates to the non scaled geometry */
+  if (gst_structure_get_double (structure, "pointer_x", &x)) {
+    x = MIN (x, result.x + result.w);
+    x = MAX (x - result.x, 0);
+    gst_structure_set (structure, "pointer_x", G_TYPE_DOUBLE,
+        (gdouble) x * xscale, NULL);
+  }
+  if (gst_structure_get_double (structure, "pointer_y", &y)) {
+    y = MIN (y, result.y + result.h);
+    y = MAX (y - result.y, 0);
+    gst_structure_set (structure, "pointer_y", G_TYPE_DOUBLE,
+        (gdouble) y * yscale, NULL);
+  }
+
+  gst_pad_send_event (peer, event);
+  gst_object_unref (peer);
 }
 
 static void
-gst_osx_video_sink_set_window_handle (GstXOverlay * overlay, guintptr handle_id)
+gst_osx_video_sink_navigation_init (GstNavigationInterface * iface)
+{
+  iface->send_event = gst_osx_video_sink_navigation_send_event;
+}
+
+static void
+gst_osx_video_sink_set_window_handle (GstVideoOverlay * overlay, guintptr handle_id)
 {
   GstOSXVideoSink *osxvideosink = GST_OSX_VIDEO_SINK (overlay);
   gulong window_id = (gulong) handle_id;
@@ -426,23 +616,25 @@
   if (osxvideosink->superview) {
     GST_INFO_OBJECT (osxvideosink, "old xwindow id %p", osxvideosink->superview);
     if (osxvideosink->osxwindow) {
-      [osxvideosink->osxwindow->gstview
-          performSelectorOnMainThread:@selector(removeFromSuperview:)
-            withObject:(id)nil waitUntilDone:YES];
+      gst_osx_video_sink_call_from_main_thread(osxvideosink,
+          osxvideosink->osxwindow->gstview,
+          @selector(removeFromSuperview:), (id)nil, YES);
     }
     [osxvideosink->superview release];
+
   }
 
   GST_INFO_OBJECT (osxvideosink, "set xwindow id 0x%lx", window_id);
   osxvideosink->superview = [((NSView *) window_id) retain];
   if (osxvideosink->osxwindow) {
-      [osxvideosink->osxwindow->gstview performSelectorOnMainThread:@selector(addToSuperview:)
-          withObject:osxvideosink->superview waitUntilDone:YES];
+      gst_osx_video_sink_call_from_main_thread(osxvideosink,
+        osxvideosink->osxwindow->gstview,
+        @selector(addToSuperview:), osxvideosink->superview, YES);
   }
 }
 
 static void
-gst_osx_video_sink_xoverlay_init (GstXOverlayClass * iface)
+gst_osx_video_sink_xoverlay_init (GstVideoOverlayInterface * iface)
 {
   iface->set_window_handle = gst_osx_video_sink_set_window_handle;
   iface->expose = NULL;
@@ -479,30 +671,225 @@
       (GInstanceInitFunc) gst_osx_video_sink_init,
     };
 
-    static const GInterfaceInfo iface_info = {
-      (GInterfaceInitFunc) gst_osx_video_sink_interface_init,
-      NULL,
-      NULL,
-    };
-
     static const GInterfaceInfo overlay_info = {
       (GInterfaceInitFunc) gst_osx_video_sink_xoverlay_init,
       NULL,
       NULL,
     };
 
+    static const GInterfaceInfo navigation_info = {
+      (GInterfaceInitFunc) gst_osx_video_sink_navigation_init,
+      NULL,
+      NULL,
+    };
     osxvideosink_type = g_type_register_static (GST_TYPE_VIDEO_SINK,
         "GstOSXVideoSink", &osxvideosink_info, 0);
 
-    g_type_add_interface_static (osxvideosink_type,
-        GST_TYPE_IMPLEMENTS_INTERFACE, &iface_info);
-    g_type_add_interface_static (osxvideosink_type, GST_TYPE_X_OVERLAY,
+    g_type_add_interface_static (osxvideosink_type, GST_TYPE_VIDEO_OVERLAY,
         &overlay_info);
+    g_type_add_interface_static (osxvideosink_type, GST_TYPE_NAVIGATION,
+        &navigation_info);
   }
 
   return osxvideosink_type;
 }
 
+@implementation GstWindowDelegate
+- (id) initWithSink: (GstOSXVideoSink *) sink
+{
+  self = [super init];
+  self->osxvideosink = sink;
+  return self;
+}
+
+- (void)windowWillClose:(NSNotification *)notification {
+  /* Only handle close events if the window was closed manually by the user
+   * and not becuase of a state change state to READY */
+  if (!osxvideosink->osxwindow->closed) {
+    osxvideosink->osxwindow->closed = TRUE;
+    GST_ELEMENT_ERROR (osxvideosink, RESOURCE, NOT_FOUND, ("Output window was closed"), (NULL));
+    gst_osx_video_sink_osxwindow_destroy(osxvideosink);
+  }
+}
+
+@end
+
+@ implementation GstOSXVideoSinkObject
+
+-(id) initWithSink: (GstOSXVideoSink*) sink
+{
+  self = [super init];
+  self->osxvideosink = sink;
+  return self;
+}
+
+-(void) createInternalWindow
+{
+  GstOSXWindow *osxwindow = osxvideosink->osxwindow;
+  ProcessSerialNumber psn;
+  NSRect rect;
+  unsigned int mask;
+
+  osxwindow->internal = TRUE;
+
+  mask =  NSTitledWindowMask             |
+          NSClosableWindowMask           |
+          NSResizableWindowMask          |
+          NSTexturedBackgroundWindowMask |
+          NSMiniaturizableWindowMask;
+
+  rect.origin.x = 100.0;
+  rect.origin.y = 100.0;
+  rect.size.width = (float) osxwindow->width;
+  rect.size.height = (float) osxwindow->height;
+
+#ifndef RUN_NS_APP_THREAD
+  if (!osxvideosink->app_started) {
+    [NSApplication sharedApplication];
+    [NSApp finishLaunching];
+    osxvideosink->app_started = TRUE;
+  }
+#endif
+
+  if (!GetCurrentProcess(&psn)) {
+      TransformProcessType(&psn, kProcessTransformToForegroundApplication);
+      SetFrontProcess(&psn);
+  }
+
+  osxwindow->win =[[GstOSXVideoSinkWindow alloc]
+                       initWithContentNSRect: rect
+                       styleMask: mask
+                       backing: NSBackingStoreBuffered
+                       defer: NO
+                       screen: nil];
+  GST_DEBUG("VideoSinkWindow created, %p", osxwindow->win);
+  [osxwindow->win makeKeyAndOrderFront:NSApp];
+  osxwindow->gstview =[osxwindow->win gstView];
+  [osxwindow->win setDelegate:[[GstWindowDelegate alloc]
+      initWithSink:osxvideosink]];
+
+}
+
+#ifdef RUN_NS_APP_THREAD
++ (BOOL) isMainThread
+{
+  /* FIXME: ideally we should return YES only for ->ns_app_thread here */
+  return YES;
+}
+#endif
+
+- (void) resize
+{
+  GstOSXWindow *osxwindow = osxvideosink->osxwindow;
+
+  NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+
+  GST_INFO_OBJECT (osxvideosink, "resizing");
+  [osxwindow->gstview setVideoSize:osxwindow->width :osxwindow->height];
+  GST_INFO_OBJECT (osxvideosink, "done");
+
+  [pool release];
+}
+
+- (void) showFrame: (GstBufferObject *) object
+{
+  GstMapInfo info;
+  guint8 *viewdata;
+  NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+  GstBuffer *buf = object->buf;
+
+  if (!destroyed)
+  {
+    gst_buffer_map (buf, &info, GST_MAP_READ);
+    viewdata = (guint8 *) [osxvideosink->osxwindow->gstview getTextureBuffer];
+
+    memcpy (viewdata, info.data, info.size);
+    [osxvideosink->osxwindow->gstview displayTexture];
+    gst_buffer_unmap (buf, &info);
+  }
+
+  [object release];
+
+  [pool release];
+}
+
+-(void) destroy
+{
+  NSAutoreleasePool *pool;
+
+  pool = [[NSAutoreleasePool alloc] init];
+
+  destroyed = TRUE;
+
+  if (osxvideosink->osxwindow) {
+    if (osxvideosink->superview) {
+      [osxvideosink->osxwindow->gstview removeFromSuperview];
+    }
+    [osxvideosink->osxwindow->gstview release];
+    if (osxvideosink->osxwindow->internal) {
+      if (!osxvideosink->osxwindow->closed) {
+        osxvideosink->osxwindow->closed = TRUE;
+        [osxvideosink->osxwindow->win release];
+      }
+    }
+
+    g_free (osxvideosink->osxwindow);
+    osxvideosink->osxwindow = NULL;
+  }
+  [pool release];
+}
+
+#ifdef RUN_NS_APP_THREAD
+-(void) nsAppThread
+{
+  NSAutoreleasePool *pool;
+  GstOSXVideoSink *sink = osxvideosink;
+
+  /* set the main runloop as the runloop for the current thread. This has the
+   * effect that calling NSApp nextEventMatchingMask:untilDate:inMode:dequeue
+   * runs the main runloop.
+   */
+  _CFRunLoopSetCurrent(CFRunLoopGetMain());
+
+  /* this is needed to make IsMainThread checks in core foundation work from the
+   * current thread
+   */
+  _CFMainPThread = pthread_self();
+
+  pool = [[NSAutoreleasePool alloc] init];
+
+  [NSApplication sharedApplication];
+  [NSApp finishLaunching];
+
+  g_mutex_lock (sink->loop_thread_lock);
+  sink->app_started = TRUE;
+  g_cond_signal (sink->loop_thread_cond);
+  g_mutex_unlock (sink->loop_thread_lock);
+
+  /* run the loop */
+  run_ns_app_loop ();
+
+  [pool release];
+}
+#endif
+
+@end
+
+@ implementation GstBufferObject
+-(id) initWithBuffer: (GstBuffer*) buffer
+{
+  self = [super init];
+  gst_buffer_ref(buffer);
+  self->buf = buffer;
+  return self;
+}
+
+-(void) dealloc{
+  gst_buffer_unref(buf);
+  [super dealloc];
+}
+@end
+
 static gboolean
 plugin_init (GstPlugin * plugin)
 {
diff --git a/sys/sunaudio/Makefile.in b/sys/sunaudio/Makefile.in
index 1a1623c..f25c6fc 100644
--- a/sys/sunaudio/Makefile.in
+++ b/sys/sunaudio/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = sys/sunaudio
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -189,8 +189,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -237,6 +235,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -281,8 +280,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -297,6 +298,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -362,7 +367,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -418,6 +423,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -490,7 +496,11 @@
 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@
diff --git a/sys/v4l2/Makefile.in b/sys/v4l2/Makefile.in
index 13d1ce1..966423d 100644
--- a/sys/v4l2/Makefile.in
+++ b/sys/v4l2/Makefile.in
@@ -60,6 +60,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 DIST_COMMON = README $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in $(top_srcdir)/common/gst-glib-gen.mak
 subdir = sys/v4l2
@@ -69,7 +70,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -221,8 +221,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -269,6 +267,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -313,8 +312,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -329,6 +330,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -394,7 +399,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -450,6 +455,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -522,7 +528,11 @@
 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@
diff --git a/sys/v4l2/gstv4l2colorbalance.h b/sys/v4l2/gstv4l2colorbalance.h
index 7bf47e1..cd720a4 100644
--- a/sys/v4l2/gstv4l2colorbalance.h
+++ b/sys/v4l2/gstv4l2colorbalance.h
@@ -106,4 +106,5 @@
   iface->get_balance_type = interface_as_function ## _color_balance_get_balance_type; \
 }                                                                                     \
 
+G_END_DECLS
 #endif /* __GST_V4L2_COLOR_BALANCE_H__ */
diff --git a/sys/v4l2/gstv4l2vidorient.h b/sys/v4l2/gstv4l2vidorient.h
index bf3736f..41da501 100644
--- a/sys/v4l2/gstv4l2vidorient.h
+++ b/sys/v4l2/gstv4l2vidorient.h
@@ -114,4 +114,5 @@
     iface->set_vcenter = interface_as_function ## _video_orientation_set_vcenter;                 \
   }
 
+G_END_DECLS
 #endif /* __GST_V4L2_VIDORIENT_H__ */
diff --git a/sys/waveform/Makefile.in b/sys/waveform/Makefile.in
index c337162..4bd8d26 100644
--- a/sys/waveform/Makefile.in
+++ b/sys/waveform/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = sys/waveform
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -185,8 +185,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -233,6 +231,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -277,8 +276,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -293,6 +294,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -358,7 +363,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -414,6 +419,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -486,7 +492,11 @@
 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@
diff --git a/sys/ximage/Makefile.in b/sys/ximage/Makefile.in
index 6c891f7..ded8b1e 100644
--- a/sys/ximage/Makefile.in
+++ b/sys/ximage/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = sys/ximage
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -186,8 +186,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -234,6 +232,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -278,8 +277,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -294,6 +295,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -359,7 +364,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -415,6 +420,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -487,7 +493,11 @@
 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@
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 5502056..dcd6ef2 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -50,6 +50,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = tests
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -58,7 +59,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -155,8 +155,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -203,6 +201,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -247,8 +246,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -263,6 +264,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -328,7 +333,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -384,6 +389,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -456,7 +462,11 @@
 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@
diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am
index 7773f1a..c6866d3 100644
--- a/tests/check/Makefile.am
+++ b/tests/check/Makefile.am
@@ -35,14 +35,6 @@
 
 clean-local: clean-local-check clean-local-orc
 
-if USE_ANNODEX
-check_annodex = \
-	elements/cmmldec \
-	elements/cmmlenc
-else
-check_annodex =
-endif
-
 if USE_FLAC
 check_flac = pipelines/flacdec
 else
@@ -102,7 +94,6 @@
 	elements/aacparse \
 	elements/ac3parse \
 	elements/amrparse \
-	$(check_annodex) \
 	elements/alphacolor \
 	elements/aspectratiocrop \
 	elements/audioamplify \
@@ -247,9 +238,6 @@
 elements_spectrum_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
 elements_spectrum_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) $(LDADD)
 
-elements_cmmldec_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
-elements_cmmlenc_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
-
 elements_alphacolor_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
 
 elements_deinterlace_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
diff --git a/tests/check/Makefile.in b/tests/check/Makefile.in
index 681cffd..a0ca289 100644
--- a/tests/check/Makefile.in
+++ b/tests/check/Makefile.in
@@ -51,12 +51,12 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 	$(top_srcdir)/common/check.mak
 check_PROGRAMS = generic/states$(EXEEXT) elements/aacparse$(EXEEXT) \
 	elements/ac3parse$(EXEEXT) elements/amrparse$(EXEEXT) \
-	$(am__EXEEXT_1) elements/alphacolor$(EXEEXT) \
-	elements/aspectratiocrop$(EXEEXT) \
+	elements/alphacolor$(EXEEXT) elements/aspectratiocrop$(EXEEXT) \
 	elements/audioamplify$(EXEEXT) elements/audiochebband$(EXEEXT) \
 	elements/audiocheblimit$(EXEEXT) \
 	elements/audiodynamic$(EXEEXT) elements/audioecho$(EXEEXT) \
@@ -85,9 +85,9 @@
 	elements/y4menc$(EXEEXT) \
 	pipelines/simple-launch-lines$(EXEEXT) \
 	pipelines/effectv$(EXEEXT) pipelines/tagschecking$(EXEEXT) \
-	pipelines/wavenc$(EXEEXT) $(am__EXEEXT_2) $(am__EXEEXT_3) \
-	$(am__EXEEXT_4) $(am__EXEEXT_5) $(am__EXEEXT_6) \
-	$(am__EXEEXT_7) $(am__EXEEXT_8) $(am__EXEEXT_9)
+	pipelines/wavenc$(EXEEXT) $(am__EXEEXT_1) $(am__EXEEXT_2) \
+	$(am__EXEEXT_3) $(am__EXEEXT_4) $(am__EXEEXT_5) \
+	$(am__EXEEXT_6) $(am__EXEEXT_7) $(am__EXEEXT_8)
 subdir = tests/check
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -95,7 +95,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -142,19 +141,17 @@
 libparser_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(libparser_la_CFLAGS) \
 	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-@USE_ANNODEX_TRUE@am__EXEEXT_1 = elements/cmmldec$(EXEEXT) \
-@USE_ANNODEX_TRUE@	elements/cmmlenc$(EXEEXT)
-@USE_FLAC_TRUE@am__EXEEXT_2 = pipelines/flacdec$(EXEEXT)
-@USE_GDK_PIXBUF_TRUE@am__EXEEXT_3 = elements/gdkpixbufsink$(EXEEXT)
-@USE_JPEG_TRUE@am__EXEEXT_4 = elements/jpegenc$(EXEEXT)
-@USE_SOUP_TRUE@am__EXEEXT_5 = elements/souphttpsrc$(EXEEXT)
-@USE_SUNAUDIO_TRUE@am__EXEEXT_6 = elements/sunaudio$(EXEEXT)
-@USE_TAGLIB_TRUE@am__EXEEXT_7 = elements/id3v2mux$(EXEEXT) \
+@USE_FLAC_TRUE@am__EXEEXT_1 = pipelines/flacdec$(EXEEXT)
+@USE_GDK_PIXBUF_TRUE@am__EXEEXT_2 = elements/gdkpixbufsink$(EXEEXT)
+@USE_JPEG_TRUE@am__EXEEXT_3 = elements/jpegenc$(EXEEXT)
+@USE_SOUP_TRUE@am__EXEEXT_4 = elements/souphttpsrc$(EXEEXT)
+@USE_SUNAUDIO_TRUE@am__EXEEXT_5 = elements/sunaudio$(EXEEXT)
+@USE_TAGLIB_TRUE@am__EXEEXT_6 = elements/id3v2mux$(EXEEXT) \
 @USE_TAGLIB_TRUE@	elements/apev2mux$(EXEEXT)
-@USE_WAVPACK_TRUE@am__EXEEXT_8 = elements/wavpackdec$(EXEEXT) \
+@USE_WAVPACK_TRUE@am__EXEEXT_7 = elements/wavpackdec$(EXEEXT) \
 @USE_WAVPACK_TRUE@	elements/wavpackenc$(EXEEXT) \
 @USE_WAVPACK_TRUE@	pipelines/wavpack$(EXEEXT)
-@HAVE_ORC_TRUE@am__EXEEXT_9 = orc/deinterlace$(EXEEXT) \
+@HAVE_ORC_TRUE@am__EXEEXT_8 = orc/deinterlace$(EXEEXT) \
 @HAVE_ORC_TRUE@	orc/videomixer$(EXEEXT) orc/videobox$(EXEEXT)
 elements_aacparse_SOURCES = elements/aacparse.c
 elements_aacparse_OBJECTS = aacparse.$(OBJEXT)
@@ -294,22 +291,6 @@
 elements_capssetter_OBJECTS = capssetter.$(OBJEXT)
 elements_capssetter_LDADD = $(LDADD)
 elements_capssetter_DEPENDENCIES = $(am__DEPENDENCIES_1)
-elements_cmmldec_SOURCES = elements/cmmldec.c
-elements_cmmldec_OBJECTS = elements_cmmldec-cmmldec.$(OBJEXT)
-elements_cmmldec_LDADD = $(LDADD)
-elements_cmmldec_DEPENDENCIES = $(am__DEPENDENCIES_1)
-elements_cmmldec_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
-	$(elements_cmmldec_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-	-o $@
-elements_cmmlenc_SOURCES = elements/cmmlenc.c
-elements_cmmlenc_OBJECTS = elements_cmmlenc-cmmlenc.$(OBJEXT)
-elements_cmmlenc_LDADD = $(LDADD)
-elements_cmmlenc_DEPENDENCIES = $(am__DEPENDENCIES_1)
-elements_cmmlenc_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
-	$(elements_cmmlenc_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-	-o $@
 elements_deinterlace_SOURCES = elements/deinterlace.c
 elements_deinterlace_OBJECTS =  \
 	elements_deinterlace-deinterlace.$(OBJEXT)
@@ -652,10 +633,9 @@
 	elements/audiopanorama.c elements/audiowsincband.c \
 	elements/audiowsinclimit.c elements/autodetect.c \
 	elements/avimux.c elements/avisubtitle.c elements/capssetter.c \
-	elements/cmmldec.c elements/cmmlenc.c elements/deinterlace.c \
-	elements/deinterleave.c elements/equalizer.c \
-	elements/flacparse.c elements/flvdemux.c elements/flvmux.c \
-	elements/gdkpixbufsink.c elements/icydemux.c \
+	elements/deinterlace.c elements/deinterleave.c \
+	elements/equalizer.c elements/flacparse.c elements/flvdemux.c \
+	elements/flvmux.c elements/gdkpixbufsink.c elements/icydemux.c \
 	elements/id3demux.c elements/id3v2mux.c elements/imagefreeze.c \
 	elements/interleave.c elements/jpegenc.c elements/level.c \
 	elements/matroskamux.c elements/matroskaparse.c \
@@ -685,10 +665,9 @@
 	elements/audiopanorama.c elements/audiowsincband.c \
 	elements/audiowsinclimit.c elements/autodetect.c \
 	elements/avimux.c elements/avisubtitle.c elements/capssetter.c \
-	elements/cmmldec.c elements/cmmlenc.c elements/deinterlace.c \
-	elements/deinterleave.c elements/equalizer.c \
-	elements/flacparse.c elements/flvdemux.c elements/flvmux.c \
-	elements/gdkpixbufsink.c elements/icydemux.c \
+	elements/deinterlace.c elements/deinterleave.c \
+	elements/equalizer.c elements/flacparse.c elements/flvdemux.c \
+	elements/flvmux.c elements/gdkpixbufsink.c elements/icydemux.c \
 	elements/id3demux.c elements/id3v2mux.c elements/imagefreeze.c \
 	elements/interleave.c elements/jpegenc.c elements/level.c \
 	elements/matroskamux.c elements/matroskaparse.c \
@@ -722,8 +701,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -770,6 +747,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -814,8 +792,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -830,6 +810,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -895,7 +879,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -951,6 +935,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -1023,7 +1008,11 @@
 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@
@@ -1063,11 +1052,6 @@
 
 # the core dumps of some machines have PIDs appended
 CLEANFILES = core.* test-registry.*
-@USE_ANNODEX_FALSE@check_annodex = 
-@USE_ANNODEX_TRUE@check_annodex = \
-@USE_ANNODEX_TRUE@	elements/cmmldec \
-@USE_ANNODEX_TRUE@	elements/cmmlenc
-
 @USE_FLAC_FALSE@check_flac = 
 @USE_FLAC_TRUE@check_flac = pipelines/flacdec
 @USE_GDK_PIXBUF_FALSE@check_gdkpixbuf = 
@@ -1157,8 +1141,6 @@
 elements_rgvolume_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) $(LDADD)
 elements_spectrum_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
 elements_spectrum_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) $(LDADD)
-elements_cmmldec_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
-elements_cmmlenc_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
 elements_alphacolor_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
 elements_deinterlace_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
 elements_deinterlace_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) $(LDADD)
@@ -1349,12 +1331,6 @@
 elements/capssetter$(EXEEXT): $(elements_capssetter_OBJECTS) $(elements_capssetter_DEPENDENCIES) $(EXTRA_elements_capssetter_DEPENDENCIES) elements/$(am__dirstamp)
 	@rm -f elements/capssetter$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(elements_capssetter_OBJECTS) $(elements_capssetter_LDADD) $(LIBS)
-elements/cmmldec$(EXEEXT): $(elements_cmmldec_OBJECTS) $(elements_cmmldec_DEPENDENCIES) $(EXTRA_elements_cmmldec_DEPENDENCIES) elements/$(am__dirstamp)
-	@rm -f elements/cmmldec$(EXEEXT)
-	$(AM_V_CCLD)$(elements_cmmldec_LINK) $(elements_cmmldec_OBJECTS) $(elements_cmmldec_LDADD) $(LIBS)
-elements/cmmlenc$(EXEEXT): $(elements_cmmlenc_OBJECTS) $(elements_cmmlenc_DEPENDENCIES) $(EXTRA_elements_cmmlenc_DEPENDENCIES) elements/$(am__dirstamp)
-	@rm -f elements/cmmlenc$(EXEEXT)
-	$(AM_V_CCLD)$(elements_cmmlenc_LINK) $(elements_cmmlenc_OBJECTS) $(elements_cmmlenc_LDADD) $(LIBS)
 elements/deinterlace$(EXEEXT): $(elements_deinterlace_OBJECTS) $(elements_deinterlace_DEPENDENCIES) $(EXTRA_elements_deinterlace_DEPENDENCIES) elements/$(am__dirstamp)
 	@rm -f elements/deinterlace$(EXEEXT)
 	$(AM_V_CCLD)$(elements_deinterlace_LINK) $(elements_deinterlace_OBJECTS) $(elements_deinterlace_LDADD) $(LIBS)
@@ -1537,8 +1513,6 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elements_audiopanorama-audiopanorama.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elements_audiowsincband-audiowsincband.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elements_audiowsinclimit-audiowsinclimit.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elements_cmmldec-cmmldec.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elements_cmmlenc-cmmlenc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elements_deinterlace-deinterlace.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elements_deinterleave-deinterleave.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elements_equalizer-equalizer.Po@am__quote@
@@ -1910,34 +1884,6 @@
 @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 capssetter.obj `if test -f 'elements/capssetter.c'; then $(CYGPATH_W) 'elements/capssetter.c'; else $(CYGPATH_W) '$(srcdir)/elements/capssetter.c'; fi`
 
-elements_cmmldec-cmmldec.o: elements/cmmldec.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_cmmldec_CFLAGS) $(CFLAGS) -MT elements_cmmldec-cmmldec.o -MD -MP -MF $(DEPDIR)/elements_cmmldec-cmmldec.Tpo -c -o elements_cmmldec-cmmldec.o `test -f 'elements/cmmldec.c' || echo '$(srcdir)/'`elements/cmmldec.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/elements_cmmldec-cmmldec.Tpo $(DEPDIR)/elements_cmmldec-cmmldec.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='elements/cmmldec.c' object='elements_cmmldec-cmmldec.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) $(elements_cmmldec_CFLAGS) $(CFLAGS) -c -o elements_cmmldec-cmmldec.o `test -f 'elements/cmmldec.c' || echo '$(srcdir)/'`elements/cmmldec.c
-
-elements_cmmldec-cmmldec.obj: elements/cmmldec.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_cmmldec_CFLAGS) $(CFLAGS) -MT elements_cmmldec-cmmldec.obj -MD -MP -MF $(DEPDIR)/elements_cmmldec-cmmldec.Tpo -c -o elements_cmmldec-cmmldec.obj `if test -f 'elements/cmmldec.c'; then $(CYGPATH_W) 'elements/cmmldec.c'; else $(CYGPATH_W) '$(srcdir)/elements/cmmldec.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/elements_cmmldec-cmmldec.Tpo $(DEPDIR)/elements_cmmldec-cmmldec.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='elements/cmmldec.c' object='elements_cmmldec-cmmldec.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) $(elements_cmmldec_CFLAGS) $(CFLAGS) -c -o elements_cmmldec-cmmldec.obj `if test -f 'elements/cmmldec.c'; then $(CYGPATH_W) 'elements/cmmldec.c'; else $(CYGPATH_W) '$(srcdir)/elements/cmmldec.c'; fi`
-
-elements_cmmlenc-cmmlenc.o: elements/cmmlenc.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_cmmlenc_CFLAGS) $(CFLAGS) -MT elements_cmmlenc-cmmlenc.o -MD -MP -MF $(DEPDIR)/elements_cmmlenc-cmmlenc.Tpo -c -o elements_cmmlenc-cmmlenc.o `test -f 'elements/cmmlenc.c' || echo '$(srcdir)/'`elements/cmmlenc.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/elements_cmmlenc-cmmlenc.Tpo $(DEPDIR)/elements_cmmlenc-cmmlenc.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='elements/cmmlenc.c' object='elements_cmmlenc-cmmlenc.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) $(elements_cmmlenc_CFLAGS) $(CFLAGS) -c -o elements_cmmlenc-cmmlenc.o `test -f 'elements/cmmlenc.c' || echo '$(srcdir)/'`elements/cmmlenc.c
-
-elements_cmmlenc-cmmlenc.obj: elements/cmmlenc.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_cmmlenc_CFLAGS) $(CFLAGS) -MT elements_cmmlenc-cmmlenc.obj -MD -MP -MF $(DEPDIR)/elements_cmmlenc-cmmlenc.Tpo -c -o elements_cmmlenc-cmmlenc.obj `if test -f 'elements/cmmlenc.c'; then $(CYGPATH_W) 'elements/cmmlenc.c'; else $(CYGPATH_W) '$(srcdir)/elements/cmmlenc.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/elements_cmmlenc-cmmlenc.Tpo $(DEPDIR)/elements_cmmlenc-cmmlenc.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='elements/cmmlenc.c' object='elements_cmmlenc-cmmlenc.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) $(elements_cmmlenc_CFLAGS) $(CFLAGS) -c -o elements_cmmlenc-cmmlenc.obj `if test -f 'elements/cmmlenc.c'; then $(CYGPATH_W) 'elements/cmmlenc.c'; else $(CYGPATH_W) '$(srcdir)/elements/cmmlenc.c'; fi`
-
 elements_deinterlace-deinterlace.o: elements/deinterlace.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_deinterlace_CFLAGS) $(CFLAGS) -MT elements_deinterlace-deinterlace.o -MD -MP -MF $(DEPDIR)/elements_deinterlace-deinterlace.Tpo -c -o elements_deinterlace-deinterlace.o `test -f 'elements/deinterlace.c' || echo '$(srcdir)/'`elements/deinterlace.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/elements_deinterlace-deinterlace.Tpo $(DEPDIR)/elements_deinterlace-deinterlace.Po
diff --git a/tests/check/elements/aspectratiocrop.c b/tests/check/elements/aspectratiocrop.c
index eb0fb0e..f02c6f9 100644
--- a/tests/check/elements/aspectratiocrop.c
+++ b/tests/check/elements/aspectratiocrop.c
@@ -28,7 +28,7 @@
 #define ASPECT_RATIO_CROP_CAPS                      \
   GST_VIDEO_CAPS_MAKE ("{ RGBx, xRGB, BGRx, xBGR, " \
       "RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, "    \
-      "YUY2, YVYU, UYVY, Y800, I420, YV12, RGB16, " \
+      "YUY2, YVYU, UYVY, GRAY8, I420, YV12, RGB16, " \
       "RGB15 }")
 
 static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
diff --git a/tests/check/elements/cmmldec.c b/tests/check/elements/cmmldec.c
deleted file mode 100644
index 5705ad0..0000000
--- a/tests/check/elements/cmmldec.c
+++ /dev/null
@@ -1,653 +0,0 @@
-/*
- * cmmldec.c - GStreamer CMML decoder test suite
- * Copyright (C) 2005 Alessandro Decina
- * 
- * Authors:
- *   Alessandro Decina <alessandro@nnva.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/* FIXME 0.11: suppress warnings for deprecated API such as GValueArray
- * with newer GLib versions (>= 2.31.0) */
-#define GLIB_DISABLE_DEPRECATION_WARNINGS
-
-#include <gst/check/gstcheck.h>
-#include <gst/tag/tag.h>
-
-#define SINK_CAPS "text/x-cmml"
-#define SRC_CAPS "text/x-cmml, encoded=(boolean)TRUE"
-
-#define IDENT_HEADER \
-  "CMML\x00\x00\x00\x00"\
-  "\x03\x00\x00\x00"\
-  "\xe8\x03\x00\x00\x00\x00\x00\x00"\
-  "\x01\x00\x00\x00\x00\x00\x00\x00"\
-  "\x20"
-#define IDENT_HEADER_SIZE 29
-
-#define PREAMBLE_NO_PI \
-  "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n"\
-  "<!DOCTYPE cmml SYSTEM \"cmml.dtd\">\n"
-#define PREAMBLE PREAMBLE_NO_PI "<?cmml?>"
-#define PREAMBLE_DECODED PREAMBLE_NO_PI "<cmml >"
-
-#define HEAD_TAG \
-  "<head>"\
-  "<title>The Research Hunter</title>"\
-  "<meta name=\"DC.audience\" content=\"General\"/>"\
-  "<meta name=\"DC.author\" content=\"CSIRO Publishing\"/>"\
-  "<meta name=\"DC.format\" content=\"video\"/>"\
-  "<meta name=\"DC.language\" content=\"English\"/>"\
-  "<meta name=\"DC.publisher\" content=\"CSIRO Australia\"/>"\
-  "</head>"
-
-#define HEAD_TAG_DECODED HEAD_TAG
-
-#define CLIP_TEMPLATE \
-  "<clip id=\"%s\" track=\"%s\">"\
-  "<a href=\"http://www.csiro.au/\">http://www.csiro.au</a>"\
-  "<img src=\"images/index1.jpg\"/>"\
-  "<desc>Welcome to CSIRO</desc>"\
-  "<meta name=\"test\" content=\"test content\"/>"\
-  "</clip>"
-
-#define CLIP_TEMPLATE_DECODED \
-  "<clip id=\"%s\" track=\"%s\" start=\"%s\">"\
-  "<a href=\"http://www.csiro.au/\">http://www.csiro.au</a>"\
-  "<img src=\"images/index1.jpg\"/>"\
-  "<desc>Welcome to CSIRO</desc>"\
-  "<meta name=\"test\" content=\"test content\"/>"\
-  "</clip>"
-
-#define EMPTY_CLIP_TEMPLATE \
-  "<clip id=\"%s\" track=\"%s\" />"
-
-#define END_TAG \
-  "</cmml>"
-
-#define fail_unless_equals_flow_return(a, b)                            \
-G_STMT_START {                                                          \
-  gchar *a_up = g_ascii_strup (gst_flow_get_name (a), -1);              \
-  gchar *b_up = g_ascii_strup (gst_flow_get_name (b), -1);              \
-  fail_unless (a == b,                                                  \
-      "'" #a "' (GST_FLOW_%s) is not equal to '" #b "' (GST_FLOW_%s)",  \
-      a_up, b_up);                                                      \
-  g_free (a_up);                                                        \
-  g_free (b_up);                                                        \
-} G_STMT_END;
-
-static GstElement *cmmldec;
-
-static GstBus *bus;
-
-static GstFlowReturn flow;
-
-static GList *current_buf;
-
-static gint64 granulerate;
-
-static guint8 granuleshift;
-
-static GstPad *srcpad, *sinkpad;
-
-static GList *events;
-
-static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS (SINK_CAPS)
-    );
-
-static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS (SRC_CAPS)
-    );
-
-static GstBuffer *
-buffer_new (const gchar * buffer_data, guint size)
-{
-  GstBuffer *buffer;
-  guint8 *data;
-
-  data = g_malloc (size);
-  memcpy (data, buffer_data, size);
-
-  if (data)
-    buffer = gst_buffer_new_wrapped (data, size);
-  else
-    buffer = gst_buffer_new ();
-
-  return buffer;
-}
-
-static void
-buffer_unref (void *buffer, void *user_data)
-{
-  ASSERT_OBJECT_REFCOUNT (buffer, "buf", 1);
-  gst_buffer_unref (GST_BUFFER (buffer));
-}
-
-static void
-event_unref (void *event, void *user_data)
-{
-  ASSERT_OBJECT_REFCOUNT (event, "event", 1);
-  gst_event_unref (GST_EVENT (event));
-}
-
-static gboolean
-cmmldec_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
-{
-  GST_LOG ("received event %" GST_PTR_FORMAT, event);
-
-  switch (GST_EVENT_TYPE (event)) {
-    case GST_EVENT_TAG:
-      events = g_list_append (events, event);
-      break;
-    default:
-      gst_event_unref (event);
-      break;
-  }
-
-  return TRUE;
-}
-
-static void
-setup_cmmldec (void)
-{
-  GST_DEBUG ("setup_cmmldec");
-  cmmldec = gst_check_setup_element ("cmmldec");
-  srcpad = gst_check_setup_src_pad (cmmldec, &srctemplate);
-  sinkpad = gst_check_setup_sink_pad (cmmldec, &sinktemplate);
-  gst_pad_set_event_function (sinkpad, cmmldec_sink_event);
-  gst_pad_set_active (srcpad, TRUE);
-  gst_pad_set_active (sinkpad, TRUE);
-
-  bus = gst_bus_new ();
-  gst_element_set_bus (cmmldec, bus);
-
-  fail_unless (gst_element_set_state (cmmldec,
-          GST_STATE_PLAYING) != GST_STATE_CHANGE_FAILURE,
-      "could not set to playing");
-
-  granulerate = GST_SECOND / 1000;
-  granuleshift = 32;
-  buffers = NULL;
-}
-
-static void
-teardown_cmmldec (void)
-{
-  g_list_foreach (buffers, buffer_unref, NULL);
-  g_list_free (buffers);
-  buffers = NULL;
-  current_buf = NULL;
-
-  gst_bus_set_flushing (bus, TRUE);
-  gst_object_unref (bus);
-
-  GST_DEBUG ("teardown_cmmldec");
-  gst_pad_set_active (srcpad, FALSE);
-  gst_pad_set_active (sinkpad, FALSE);
-  gst_check_teardown_src_pad (cmmldec);
-  gst_check_teardown_sink_pad (cmmldec);
-  gst_check_teardown_element (cmmldec);
-
-  /* sticky stuff cleared above first */
-  g_list_foreach (events, event_unref, NULL);
-  g_list_free (events);
-  events = NULL;
-}
-
-static void
-check_output_buffer_is_equal (const gchar * name,
-    const gchar * data, gint refcount)
-{
-  GstBuffer *buffer;
-  GstMapInfo map;
-
-  if (current_buf == NULL)
-    current_buf = buffers;
-  else
-    current_buf = g_list_next (current_buf);
-
-  fail_unless (current_buf != NULL);
-
-  buffer = GST_BUFFER (current_buf->data);
-  gst_buffer_map (buffer, &map, GST_MAP_READ);
-
-  ASSERT_OBJECT_REFCOUNT (buffer, name, refcount);
-  fail_unless (memcmp (map.data, data, map.size) == 0,
-      "'%s' (%s) is not equal to (%s)", name, map.data, data);
-
-  gst_buffer_unmap (buffer, &map);
-}
-
-static GstFlowReturn
-push_data (const gchar * name, const gchar * data, gint size, gint64 granulepos)
-{
-  GstBuffer *buffer;
-
-  buffer = buffer_new (data, size);
-  GST_BUFFER_OFFSET_END (buffer) = granulepos;
-  return gst_pad_push (srcpad, buffer);
-}
-
-static void
-push_caps (void)
-{
-  GstCaps *caps;
-
-  caps = gst_caps_from_string (SRC_CAPS);
-  fail_unless (gst_pad_set_caps (srcpad, caps));
-  gst_caps_unref (caps);
-}
-
-static GObject *
-cmml_tag_message_pop (GstBus * bus, const gchar * tag)
-{
-  GstTagList *taglist;
-  const GValue *value;
-  GObject *obj = NULL;
-  GstEvent *event;
-
-  if (!events)
-    return NULL;
-
-  event = (GstEvent *) events->data;
-  events = g_list_delete_link (events, events);
-  gst_event_parse_tag (event, &taglist);
-
-  value = gst_tag_list_get_value_index (taglist, tag, 0);
-  if (value == NULL)
-    goto exit;
-
-  obj = g_value_dup_object (value);
-
-exit:
-  gst_event_unref (event);
-
-  return obj;
-}
-
-static void
-check_headers (void)
-{
-  GObject *head_tag;
-
-  gchar *title, *base;
-
-  GValueArray *meta;
-
-  push_caps ();
-
-  /* push the ident header */
-  flow = push_data ("ident-header", IDENT_HEADER, IDENT_HEADER_SIZE, 0);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-
-  /* push the cmml preamble */
-  flow = push_data ("preamble", PREAMBLE, strlen (PREAMBLE), 0);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-
-  /* push the head tag */
-  flow = push_data ("head", HEAD_TAG, strlen (HEAD_TAG), 0);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-
-  fail_unless_equals_int (g_list_length (buffers), 2);
-
-  /* check the decoded preamble */
-  check_output_buffer_is_equal ("cmml-preamble-buffer", PREAMBLE_DECODED, 1);
-
-  /* check the decoded head tag */
-  check_output_buffer_is_equal ("head-tag-buffer", HEAD_TAG_DECODED, 1);
-
-  /* check the GstCmmlTagHead tag object */
-  head_tag = cmml_tag_message_pop (bus, GST_TAG_CMML_HEAD);
-  fail_unless (head_tag != NULL);
-  g_object_get (head_tag,
-      "title", &title, "base-uri", &base, "meta", &meta, NULL);
-  fail_unless_equals_string ("The Research Hunter", title);
-  fail_unless (base == NULL);
-  fail_unless (meta != NULL);
-  fail_unless_equals_int (meta->n_values, 10);
-
-  g_free (title);
-  g_free (base);
-  g_value_array_free (meta);
-  g_object_unref (head_tag);
-}
-
-static GstFlowReturn
-push_clip_full (const gchar * name, const gchar * track, const gchar * template,
-    GstClockTime prev, GstClockTime start)
-{
-  gchar *clip;
-
-  gint64 keyindex, keyoffset, granulepos;
-
-  GstFlowReturn res;
-
-  if (track == NULL)
-    track = "default";
-
-  if (prev == GST_CLOCK_TIME_NONE)
-    prev = 0;
-
-  keyindex = prev / granulerate << granuleshift;
-  keyoffset = (start - prev) / granulerate;
-  granulepos = keyindex + keyoffset;
-
-  clip = g_strdup_printf (template, name, track);
-  res = push_data (name, clip, strlen (clip), granulepos);
-  g_free (clip);
-
-  return res;
-}
-
-static GstFlowReturn
-push_clip (const gchar * name, const gchar * track,
-    GstClockTime prev, GstClockTime start)
-{
-  return push_clip_full (name, track, CLIP_TEMPLATE, prev, start);
-}
-
-static GstFlowReturn
-push_empty_clip (const gchar * name, const gchar * track, GstClockTime start)
-{
-  return push_clip_full (name, track,
-      EMPTY_CLIP_TEMPLATE, GST_CLOCK_TIME_NONE, start);
-}
-
-
-static void
-check_output_clip (const gchar * name, const gchar * track,
-    const gchar * start, const gchar * end)
-{
-  gchar *decoded_clip;
-
-  if (track == NULL)
-    track = "default";
-
-  decoded_clip = g_strdup_printf (CLIP_TEMPLATE_DECODED, name, track, start);
-  check_output_buffer_is_equal (name, decoded_clip, 1);
-  g_free (decoded_clip);
-}
-
-GST_START_TEST (test_dec)
-{
-  GstClockTime clip1_start = 1 * GST_SECOND + 234 * GST_MSECOND;
-
-  GstClockTime clip2_start = clip1_start;
-
-  GstClockTime clip3_start =
-      ((100 * 3600) + (59 * 60) + 59) * GST_SECOND + 678 * GST_MSECOND;
-
-  check_headers ();
-
-  flow = push_clip ("clip-1", "default", GST_CLOCK_TIME_NONE, clip1_start);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-
-  flow = push_clip ("clip-2", "othertrack", GST_CLOCK_TIME_NONE, clip2_start);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-
-  flow = push_clip ("clip-3", "default", clip1_start, clip3_start);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-
-  /* send EOS to flush clip-2 and clip-3 */
-  gst_pad_send_event (GST_PAD_PEER (srcpad), gst_event_new_eos ());
-
-  check_output_clip ("clip-1", "default", "0:00:01.234", NULL);
-  check_output_clip ("clip-2", "othertrack", "0:00:01.234", NULL);
-  check_output_clip ("clip-3", "default", "100:59:59.678", NULL);
-  check_output_buffer_is_equal ("cmml-end-tag", END_TAG, 1);
-}
-
-GST_END_TEST;
-
-GST_START_TEST (test_preamble_no_pi)
-{
-  push_caps ();
-
-  flow = push_data ("ident-header", IDENT_HEADER, IDENT_HEADER_SIZE, 0);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-  fail_unless_equals_int (g_list_length (buffers), 0);
-
-  flow = push_data ("preamble-no-pi",
-      PREAMBLE_NO_PI, strlen (PREAMBLE_NO_PI), 0);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-  fail_unless_equals_int (g_list_length (buffers), 1);
-
-  check_output_buffer_is_equal ("cmml-preamble-buffer",
-      PREAMBLE_NO_PI "<cmml>", 1);
-}
-
-GST_END_TEST;
-
-GST_START_TEST (test_tags)
-{
-  GObject *tag;
-
-  gboolean empty;
-
-  gchar *id, *track;
-
-  gint64 start_time, end_time;
-
-  gchar *anchor_href, *anchor_text;
-
-  gchar *img_src, *img_alt;
-
-  gchar *desc;
-
-  GValueArray *meta;
-
-  GstClockTime clip1_start;
-
-  check_headers ();
-
-  clip1_start = 1 * GST_SECOND + 234 * GST_MSECOND;
-  flow = push_clip ("clip-1", "default", 0, clip1_start);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-
-  tag = cmml_tag_message_pop (bus, GST_TAG_CMML_CLIP);
-  fail_unless (tag != NULL);
-
-  g_object_get (tag, "id", &id, "empty", &empty, "track", &track,
-      "start-time", &start_time, "end-time", &end_time,
-      "anchor-uri", &anchor_href, "anchor-text", &anchor_text,
-      "img-uri", &img_src, "img-alt", &img_alt,
-      "description", &desc, "meta", &meta, NULL);
-
-  fail_unless (empty == FALSE);
-  fail_unless_equals_string (id, "clip-1");
-  fail_unless_equals_string (track, "default");
-  fail_unless_equals_int (start_time, 1 * GST_SECOND + 234 * GST_MSECOND);
-  fail_unless_equals_uint64 (end_time, GST_CLOCK_TIME_NONE);
-  fail_unless_equals_string (anchor_href, "http://www.csiro.au/");
-  fail_unless_equals_string (anchor_text, "http://www.csiro.au");
-  fail_unless_equals_string (img_src, "images/index1.jpg");
-  fail_unless (img_alt == NULL);
-  fail_unless_equals_string (desc, "Welcome to CSIRO");
-  fail_unless (meta != NULL);
-  fail_unless_equals_int (meta->n_values, 2);
-
-  g_free (id);
-  g_free (track);
-  g_free (anchor_href);
-  g_free (anchor_text);
-  g_free (img_src);
-  g_free (img_alt);
-  g_free (desc);
-  g_value_array_free (meta);
-  g_object_unref (tag);
-}
-
-GST_END_TEST;
-
-GST_START_TEST (test_wait_clip_end)
-{
-  GObject *tag;
-
-  gchar *id;
-
-  GstClockTime end_time = 0;
-
-  GstClockTime clip1_start = 1 * GST_SECOND + 234 * GST_MSECOND;
-
-  GstClockTime clip2_start = 2 * GST_SECOND + 234 * GST_MSECOND;
-
-  GstClockTime clip3_start = 3 * GST_SECOND + 234 * GST_MSECOND;
-
-  GstClockTime clip3_end = 4 * GST_SECOND + 234 * GST_MSECOND;
-
-  GstClockTime clip4_start = 5 * GST_SECOND + 234 * GST_MSECOND;
-
-  g_object_set (cmmldec, "wait-clip-end-time", TRUE, NULL);
-
-  check_headers ();
-
-  flow = push_clip ("clip-1", "default", 0, clip1_start);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-  /* no tag has been posted yet */
-  fail_unless (cmml_tag_message_pop (bus, GST_TAG_CMML_CLIP) == NULL);
-
-  flow = push_clip ("clip-2", "default", clip1_start, clip2_start);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-
-  tag = cmml_tag_message_pop (bus, GST_TAG_CMML_CLIP);
-  fail_unless (tag != NULL);
-  g_object_get (tag, "id", &id, "end-time", &end_time, NULL);
-  /* clip-1 is posted when clip-2 is decoded. clip-1 ends when clip-2 starts */
-  fail_unless_equals_string (id, "clip-1");
-  fail_unless_equals_int (end_time, clip2_start);
-  g_free (id);
-  g_object_unref (tag);
-
-  flow = push_clip ("clip-3", "default", clip2_start, clip3_start);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-
-  tag = cmml_tag_message_pop (bus, GST_TAG_CMML_CLIP);
-  fail_unless (tag != NULL);
-  g_object_get (tag, "id", &id, "end-time", &end_time, NULL);
-  /* clip-2 is posted when clip-3 is decoded. It ends when clip-3 starts */
-  fail_unless_equals_string (id, "clip-2");
-  fail_unless_equals_int (end_time, clip3_start);
-  g_free (id);
-  g_object_unref (tag);
-
-  flow = push_empty_clip ("empty-clip", "default", clip3_end);
-  tag = cmml_tag_message_pop (bus, GST_TAG_CMML_CLIP);
-  fail_unless (tag != NULL);
-  g_object_get (tag, "id", &id, "end-time", &end_time, NULL);
-  /* clip-3 ends when empty-clip is decoded */
-  fail_unless_equals_string (id, "clip-3");
-  fail_unless_equals_int (end_time, clip3_end);
-  g_free (id);
-  g_object_unref (tag);
-
-  flow = push_clip ("clip-4", "default", clip3_start, clip4_start);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-
-  /* an empty clip just marks the end of the previous one, so no tag is posted
-   * for empty-clip */
-  fail_unless (cmml_tag_message_pop (bus, GST_TAG_CMML_CLIP) == NULL);
-  /* send EOS to flush clip-4 */
-  gst_pad_send_event (GST_PAD_PEER (srcpad), gst_event_new_eos ());
-
-  tag = cmml_tag_message_pop (bus, GST_TAG_CMML_CLIP);
-  fail_unless (tag != NULL);
-  g_object_get (tag, "id", &id, NULL);
-  fail_unless_equals_string (id, "clip-4");
-  g_free (id);
-  g_object_unref (tag);
-}
-
-GST_END_TEST;
-
-GST_START_TEST (test_weird_input)
-{
-  const gchar *bad_xml = "<?xml version=\"1.0\"?><a><b></a>";
-
-  push_caps ();
-
-  /* malformed ident header */
-  flow = push_data ("bad-ident-header", "CMML\0\0\0\0garbage", 15, 0);
-  fail_unless_equals_flow_return (flow, GST_FLOW_ERROR);
-
-  /* push invalid xml */
-  flow = push_data ("bad-xml", bad_xml, strlen (bad_xml), 0);
-  fail_unless_equals_flow_return (flow, GST_FLOW_ERROR);
-
-  /* and now for something completely different: an empty buffer. This is valid
-   * as 'NIL' EOS pages are allowed */
-  flow = push_data ("empty-eos", NULL, 0, 0);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-}
-
-GST_END_TEST;
-
-GST_START_TEST (test_sink_query_convert)
-{
-  guint64 keyindex, keyoffset, granulepos;
-
-  GstClockTime index_time, offset_time;
-
-  GstFormat dstfmt = GST_FORMAT_TIME;
-
-  gint64 dstval;
-
-  /* send headers to set the granulerate */
-  check_headers ();
-
-  /* create a 1|1 granulepos */
-  index_time = 1 * GST_SECOND;
-  offset_time = 1 * GST_SECOND;
-
-  keyindex = (index_time / granulerate) << granuleshift;
-  keyoffset = offset_time / granulerate;
-  granulepos = keyindex + keyoffset;
-
-  fail_unless (gst_pad_query_convert (GST_PAD_PEER (srcpad),
-          GST_FORMAT_DEFAULT, granulepos, dstfmt, &dstval));
-
-  fail_unless (dstfmt == GST_FORMAT_TIME);
-  /* fail unless dstval == index + offset */
-  fail_unless_equals_int (2 * GST_SECOND, dstval);
-}
-
-GST_END_TEST;
-
-static Suite *
-cmmldec_suite (void)
-{
-  Suite *s = suite_create ("cmmldec");
-
-  TCase *tc_general = tcase_create ("general");
-
-  suite_add_tcase (s, tc_general);
-  tcase_add_checked_fixture (tc_general, setup_cmmldec, teardown_cmmldec);
-  tcase_add_test (tc_general, test_dec);
-  tcase_add_test (tc_general, test_tags);
-  tcase_add_test (tc_general, test_preamble_no_pi);
-  tcase_add_test (tc_general, test_wait_clip_end);
-  tcase_add_test (tc_general, test_sink_query_convert);
-  tcase_add_test (tc_general, test_weird_input);
-
-  return s;
-}
-
-GST_CHECK_MAIN (cmmldec);
diff --git a/tests/check/elements/cmmlenc.c b/tests/check/elements/cmmlenc.c
deleted file mode 100644
index a546202..0000000
--- a/tests/check/elements/cmmlenc.c
+++ /dev/null
@@ -1,505 +0,0 @@
-/*
- * cmmlenc.c - GStreamer CMML decoder test suite
- * Copyright (C) 2005 Alessandro Decina
- * 
- * Authors:
- *   Alessandro Decina <alessandro@nnva.org>
- *
- * 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/check/gstcheck.h>
-
-#include <gst/tag/tag.h>
-
-#define SINK_CAPS "text/x-cmml"
-#define SRC_CAPS "text/x-cmml,encoded=(boolean)FALSE"
-
-#define IDENT_HEADER \
-  "CMML\x00\x00\x00\x00"\
-  "\x03\x00\x00\x00"\
-  "\xe8\x03\x00\x00\x00\x00\x00\x00"\
-  "\x01\x00\x00\x00\x00\x00\x00\x00"\
-  "\x20"
-
-#define XML_PREAMBLE \
-  "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n"\
-  "<!DOCTYPE cmml SYSTEM \"cmml.dtd\">\n"
-
-#define START_TAG \
-  "<cmml>"
-
-#define PROCESSING_INSTRUCTION \
-  "<?cmml ?>"
-
-#define PREAMBLE \
-  XML_PREAMBLE START_TAG
-
-#define PREAMBLE_ENCODED \
-  XML_PREAMBLE PROCESSING_INSTRUCTION
-
-#define STREAM_TAG \
-  "<stream timebase=\"10\">"\
-     "<import src=\"test.ogg\"/>"\
-     "<import src=\"test1.ogg\"/>"\
-   "</stream>"
-
-#define STREAM_TAG_ENCODED STREAM_TAG
-
-#define HEAD_TAG \
-  "<head>"\
-    "<title>The Research Hunter</title>"\
-    "<meta name=\"DC.audience\" content=\"General\"/>"\
-    "<meta name=\"DC.author\" content=\"CSIRO Publishing\"/>"\
-    "<meta name=\"DC.format\" content=\"video\"/>"\
-    "<meta name=\"DC.language\" content=\"English\"/>"\
-    "<meta name=\"DC.publisher\" content=\"CSIRO Australia\"/>"\
-  "</head>"
-
-#define HEAD_TAG_ENCODED HEAD_TAG
-
-#define CLIP_TEMPLATE \
-  "<clip id=\"%s\" track=\"%s\" start=\"%s\">"\
-    "<a href=\"http://www.annodex.org/\">http://www.annodex.org</a>"\
-    "<img src=\"images/index.jpg\"/>"\
-    "<desc>Annodex Foundation</desc>"\
-    "<meta name=\"test\" content=\"test content\"/>"\
-  "</clip>"
-
-#define ENDED_CLIP_TEMPLATE \
-  "<clip id=\"%s\" track=\"%s\" start=\"%s\" end=\"%s\">"\
-    "<a href=\"http://www.annodex.org/\">http://www.annodex.org</a>"\
-    "<img src=\"images/index.jpg\"/>"\
-    "<desc>Annodex Foundation</desc>"\
-    "<meta name=\"test\" content=\"test content\"/>"\
-  "</clip>"
-
-#define CLIP_TEMPLATE_ENCODED \
-  "<clip id=\"%s\" track=\"%s\">"\
-    "<a href=\"http://www.annodex.org/\">http://www.annodex.org</a>"\
-    "<img src=\"images/index.jpg\"/>"\
-    "<desc>Annodex Foundation</desc>"\
-    "<meta name=\"test\" content=\"test content\"/>"\
-  "</clip>"
-
-#define EMPTY_CLIP_TEMPLATE_ENCODED \
-  "<clip track=\"%s\"/>"
-
-#define fail_unless_equals_flow_return(a, b)                            \
-G_STMT_START {                                                          \
-  gchar *a_up = g_ascii_strup (gst_flow_get_name (a), -1);              \
-  gchar *b_up = g_ascii_strup (gst_flow_get_name (b), -1);              \
-  fail_unless (a == b,                                                  \
-      "'" #a "' (GST_FLOW_%s) is not equal to '" #b "' (GST_FLOW_%s)",  \
-      a_up, b_up);                                                      \
-  g_free (a_up);                                                        \
-  g_free (b_up);                                                        \
-} G_STMT_END;
-
-static GList *current_buf;
-static guint64 granulerate;
-static guint8 granuleshift;
-static GstElement *cmmlenc;
-static GstBus *bus;
-static GstFlowReturn flow;
-static GstPad *srcpad, *sinkpad;
-
-static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS (SINK_CAPS)
-    );
-
-static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS (SRC_CAPS)
-    );
-
-static GstBuffer *
-buffer_new (const gchar * buffer_data, guint size)
-{
-  GstBuffer *buffer;
-  guint8 *data;
-
-  data = g_malloc (size);
-  memcpy (data, buffer_data, size);
-
-  buffer = gst_buffer_new_wrapped (data, size);
-
-  return buffer;
-}
-
-static void
-buffer_unref (void *buffer, void *user_data)
-{
-  gst_buffer_unref (GST_BUFFER (buffer));
-}
-
-static void
-setup_cmmlenc (void)
-{
-  guint64 granulerate_n, granulerate_d;
-
-  GST_DEBUG ("setup_cmmlenc");
-
-  cmmlenc = gst_check_setup_element ("cmmlenc");
-  srcpad = gst_check_setup_src_pad (cmmlenc, &srctemplate);
-  sinkpad = gst_check_setup_sink_pad (cmmlenc, &sinktemplate);
-  gst_pad_set_active (srcpad, TRUE);
-  gst_pad_set_active (sinkpad, TRUE);
-
-  bus = gst_bus_new ();
-  gst_element_set_bus (cmmlenc, bus);
-
-  fail_unless (gst_element_set_state (cmmlenc,
-          GST_STATE_PLAYING) != GST_STATE_CHANGE_FAILURE,
-      "could not set to playing");
-
-  g_object_get (cmmlenc, "granule-rate-numerator", &granulerate_n,
-      "granule-rate-denominator", &granulerate_d,
-      "granule-shift", &granuleshift, NULL);
-
-  granulerate = GST_SECOND * granulerate_d / granulerate_n;
-}
-
-static void
-teardown_cmmlenc (void)
-{
-  /* free encoded buffers */
-  g_list_foreach (buffers, buffer_unref, NULL);
-  g_list_free (buffers);
-  buffers = NULL;
-  current_buf = NULL;
-
-  gst_bus_set_flushing (bus, TRUE);
-  gst_object_unref (bus);
-
-  GST_DEBUG ("teardown_cmmlenc");
-  gst_pad_set_active (srcpad, FALSE);
-  gst_pad_set_active (sinkpad, FALSE);
-  gst_check_teardown_src_pad (cmmlenc);
-  gst_check_teardown_sink_pad (cmmlenc);
-  gst_check_teardown_element (cmmlenc);
-}
-
-static void
-check_output_buffer_is_equal (const gchar * name,
-    const gchar * data, gint refcount)
-{
-  GstBuffer *buffer;
-  GstMapInfo map;
-
-  if (current_buf == NULL)
-    current_buf = buffers;
-  else
-    current_buf = g_list_next (current_buf);
-
-  fail_unless (current_buf != NULL);
-  buffer = GST_BUFFER (current_buf->data);
-  gst_buffer_map (buffer, &map, GST_MAP_READ);
-
-  ASSERT_OBJECT_REFCOUNT (buffer, name, refcount);
-  fail_unless (memcmp (map.data, data, map.size) == 0,
-      "'%s' (%s) is not equal to (%s)", name, map.data, data);
-
-  gst_buffer_unmap (buffer, &map);
-}
-
-static GstFlowReturn
-push_data (const gchar * name, const gchar * data, gint size)
-{
-  GstBuffer *buffer;
-  GstFlowReturn res;
-
-  buffer = buffer_new (data, size);
-  res = gst_pad_push (srcpad, buffer);
-
-  return res;
-}
-
-static void
-push_caps (void)
-{
-  GstCaps *caps;
-
-  caps = gst_caps_from_string (SRC_CAPS);
-  fail_unless (gst_pad_set_caps (srcpad, caps));
-  gst_caps_unref (caps);
-}
-
-static void
-check_headers (void)
-{
-  push_caps ();
-
-  /* push the cmml start tag */
-  flow = push_data ("preamble", PREAMBLE, strlen (PREAMBLE));
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-
-  /* push the stream tag */
-  flow = push_data ("stream", STREAM_TAG, strlen (STREAM_TAG));
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-  /* push the head tag */
-  flow = push_data ("head", HEAD_TAG, strlen (HEAD_TAG));
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-
-  /* should output 3 buffers: the ident, preamble and head headers */
-  fail_unless_equals_int (g_list_length (buffers), 3);
-
-  /* check the ident header */
-  check_output_buffer_is_equal ("cmml-ident-buffer", IDENT_HEADER, 1);
-
-  /* check the cmml processing instruction */
-  check_output_buffer_is_equal ("cmml-preamble-buffer", PREAMBLE_ENCODED, 1);
-
-  /* check the encoded head tag */
-  check_output_buffer_is_equal ("head-tag-buffer", HEAD_TAG_ENCODED, 1);
-}
-
-static GstFlowReturn
-push_clip (const gchar * name, const gchar * track,
-    const gchar * start, const gchar * end)
-{
-  gchar *clip;
-  GstFlowReturn res;
-
-  if (end != NULL)
-    clip = g_strdup_printf (ENDED_CLIP_TEMPLATE, name, track, start, end);
-  else
-    clip = g_strdup_printf (CLIP_TEMPLATE, name, track, start);
-  res = push_data (name, clip, strlen (clip));
-  g_free (clip);
-
-  return res;
-}
-
-static void
-check_clip_times (GstBuffer * buffer, GstClockTime start, GstClockTime prev)
-{
-  guint64 keyindex, keyoffset, granulepos;
-
-  granulepos = GST_BUFFER_OFFSET_END (buffer);
-  if (granuleshift == 0 || granuleshift == 64)
-    keyindex = 0;
-  else
-    keyindex = granulepos >> granuleshift;
-  keyoffset = granulepos - (keyindex << granuleshift);
-  fail_unless_equals_uint64 (keyindex * granulerate, prev);
-  fail_unless_equals_uint64 ((keyindex + keyoffset) * granulerate, start);
-}
-
-static void
-check_clip (const gchar * name, const gchar * track,
-    GstClockTime start, GstClockTime prev)
-{
-  gchar *encoded_clip;
-  GstBuffer *buffer;
-
-  encoded_clip = g_strdup_printf (CLIP_TEMPLATE_ENCODED, name, track);
-  check_output_buffer_is_equal (name, encoded_clip, 1);
-  g_free (encoded_clip);
-  buffer = GST_BUFFER (current_buf->data);
-  check_clip_times (buffer, start, prev);
-}
-
-static void
-check_empty_clip (const gchar * name, const gchar * track,
-    GstClockTime start, GstClockTime prev)
-{
-  gchar *encoded_clip;
-  GstBuffer *buffer;
-
-  encoded_clip = g_strdup_printf (EMPTY_CLIP_TEMPLATE_ENCODED, track);
-  check_output_buffer_is_equal (name, encoded_clip, 1);
-  g_free (encoded_clip);
-  buffer = GST_BUFFER (current_buf->data);
-  check_clip_times (buffer, start, prev);
-}
-
-GST_START_TEST (test_enc)
-{
-  check_headers ();
-
-  flow = push_clip ("clip-1", "default", "1.234", NULL);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-  check_clip ("clip-1", "default", 1 * GST_SECOND + 234 * GST_MSECOND, 0);
-
-  flow = push_clip ("clip-2", "default", "5.678", NULL);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-  check_clip ("clip-2", "default",
-      5 * GST_SECOND + 678 * GST_MSECOND, 1 * GST_SECOND + 234 * GST_MSECOND);
-
-  flow = push_clip ("clip-3", "othertrack", "9.123", NULL);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-  check_clip ("clip-3", "othertrack", 9 * GST_SECOND + 123 * GST_MSECOND, 0);
-
-  flow = push_data ("end-tag", "</cmml>", strlen ("</cmml>"));
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-  check_output_buffer_is_equal ("cmml-eos", NULL, 1);
-}
-
-GST_END_TEST;
-
-GST_START_TEST (test_clip_end_time)
-{
-  check_headers ();
-
-  /* push a clip that starts at 1.234 an ends at 2.234 */
-  flow = push_clip ("clip-1", "default", "1.234", "2.234");
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-  check_clip ("clip-1", "default", 1 * GST_SECOND + 234 * GST_MSECOND, 0);
-
-  /* now check that the encoder created an empty clip starting at 2.234 to mark
-   * the end of clip-1 */
-  check_empty_clip ("clip-1-end", "default",
-      2 * GST_SECOND + 234 * GST_MSECOND, 1 * GST_SECOND + 234 * GST_MSECOND);
-
-  /* now push another clip on the same track and check that the keyindex part of
-   * the granulepos points to clip-1 and not to the empty clip */
-  flow = push_clip ("clip-2", "default", "5", NULL);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-  check_clip ("clip-2", "default",
-      5 * GST_SECOND, 1 * GST_SECOND + 234 * GST_MSECOND);
-}
-
-GST_END_TEST;
-
-GST_START_TEST (test_time_order)
-{
-  check_headers ();
-
-  /* clips belonging to the same track must have start times in non decreasing
-   * order */
-  flow = push_clip ("clip-1", "default", "1000:00:00.000", NULL);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-  check_clip ("clip-1", "default", 3600 * 1000 * GST_SECOND, 0);
-
-  /* this will make the encoder throw an error message */
-  flow = push_clip ("clip-2", "default", "5.678", NULL);
-  fail_unless_equals_flow_return (flow, GST_FLOW_ERROR);
-
-  flow = push_clip ("clip-3", "default", "1000:00:00.001", NULL);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-  check_clip ("clip-3", "default",
-      3600 * 1000 * GST_SECOND + 1 * GST_MSECOND, 3600 * 1000 * GST_SECOND);
-
-  /* tracks don't interfere with each other */
-  flow = push_clip ("clip-4", "othertrack", "9.123", NULL);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-  check_clip ("clip-4", "othertrack", 9 * GST_SECOND + 123 * GST_MSECOND, 0);
-}
-
-GST_END_TEST;
-
-GST_START_TEST (test_time_parsing)
-{
-  check_headers ();
-
-  flow = push_clip ("bad-msecs", "default", "0.1000", NULL);
-  fail_unless_equals_flow_return (flow, GST_FLOW_ERROR);
-
-  flow = push_clip ("bad-secs", "default", "00:00:60.123", NULL);
-  fail_unless_equals_flow_return (flow, GST_FLOW_ERROR);
-
-  flow = push_clip ("bad-minutes", "default", "00:60:12.345", NULL);
-  fail_unless_equals_flow_return (flow, GST_FLOW_ERROR);
-
-  /* this fails since we can't store 5124096 * 3600 * GST_SECOND in a
-   * GstClockTime */
-  flow = push_clip ("bad-hours", "default", "5124096:00:00.000", NULL);
-  fail_unless_equals_flow_return (flow, GST_FLOW_ERROR);
-}
-
-GST_END_TEST;
-
-GST_START_TEST (test_time_limits)
-{
-  check_headers ();
-
-  /* ugly hack to make sure that the following checks actually overflow parsing
-   * the times in gst_cmml_clock_time_from_npt rather than converting them to
-   * granulepos in gst_cmml_clock_time_to_granule */
-  granuleshift = 64;
-  g_object_set (cmmlenc, "granule-shift", granuleshift, NULL);
-
-  /* 5124095:34:33.709 is the max npt-hhmmss time representable with
-   * GstClockTime */
-  flow = push_clip ("max-npt-hhmmss", "foo", "5124095:34:33.709", NULL);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-  check_clip ("max-npt-hhmmss", "foo",
-      (GstClockTime) 5124095 * 3600 * GST_SECOND + 34 * 60 * GST_SECOND +
-      33 * GST_SECOND + 709 * GST_MSECOND, 0);
-
-  flow = push_clip ("overflow-max-npt-hhmmss", "overflows",
-      "5124095:34:33.710", NULL);
-  fail_unless_equals_flow_return (flow, GST_FLOW_ERROR);
-
-  /* 18446744073.709 is the max ntp-sec time */
-  flow = push_clip ("max-npt-secs", "bar", "18446744073.709", NULL);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-  check_clip ("max-npt-secs", "bar",
-      (GstClockTime) 5124095 * 3600 * GST_SECOND + 34 * 60 * GST_SECOND +
-      33 * GST_SECOND + 709 * GST_MSECOND, 0);
-
-  /* overflow doing 18446744074 * GST_SECOND */
-  flow = push_clip ("overflow-max-npt-secs", "overflows",
-      "18446744074.000", NULL);
-  fail_unless_equals_flow_return (flow, GST_FLOW_ERROR);
-
-  /* overflow doing seconds + milliseconds */
-  flow = push_clip ("overflow-max-npt-secs-msecs", "overflows",
-      "18446744073.710", NULL);
-  fail_unless_equals_flow_return (flow, GST_FLOW_ERROR);
-
-  /* reset granuleshift to 32 to check keyoffset overflows in
-   * gst_cmml_clock_time_to_granule */
-  granuleshift = 32;
-  g_object_set (cmmlenc, "granule-shift", granuleshift, NULL);
-
-  /* 1193:02:47.295 is the max time we can encode in the keyoffset part of a
-   * granulepos given a granuleshift of 32 */
-  flow = push_clip ("max-granule-keyoffset", "baz", "1193:02:47.295", NULL);
-  fail_unless_equals_flow_return (flow, GST_FLOW_OK);
-  check_clip ("max-granule-keyoffset", "baz",
-      1193 * 3600 * GST_SECOND + 2 * 60 * GST_SECOND +
-      47 * GST_SECOND + 295 * GST_MSECOND, 0);
-
-  flow = push_clip ("overflow-max-granule-keyoffset", "overflows",
-      "1193:02:47.296", NULL);
-  fail_unless_equals_flow_return (flow, GST_FLOW_ERROR);
-}
-
-GST_END_TEST;
-
-static Suite *
-cmmlenc_suite (void)
-{
-  Suite *s = suite_create ("cmmlenc");
-  TCase *tc_general = tcase_create ("general");
-
-  suite_add_tcase (s, tc_general);
-  tcase_add_checked_fixture (tc_general, setup_cmmlenc, teardown_cmmlenc);
-  tcase_add_test (tc_general, test_enc);
-  tcase_add_test (tc_general, test_clip_end_time);
-  tcase_add_test (tc_general, test_time_order);
-  tcase_add_test (tc_general, test_time_parsing);
-  tcase_add_test (tc_general, test_time_limits);
-
-  return s;
-}
-
-GST_CHECK_MAIN (cmmlenc);
diff --git a/tests/check/elements/rganalysis.c b/tests/check/elements/rganalysis.c
index ca780de..daad236 100644
--- a/tests/check/elements/rganalysis.c
+++ b/tests/check/elements/rganalysis.c
@@ -218,7 +218,7 @@
 send_tag_event (GstElement * element, GstTagList * tag_list)
 {
   GstPad *pad = gst_element_get_static_pad (element, "sink");
-  GstEvent *event = gst_event_new_tag (tag_list);
+  GstEvent *event = gst_event_new_tag ("test", tag_list);
 
   fail_unless (gst_pad_send_event (pad, event),
       "Cannot send TAG event: Not handled.");
diff --git a/tests/check/elements/rgvolume.c b/tests/check/elements/rgvolume.c
index 0cd589a..25c6fac 100644
--- a/tests/check/elements/rgvolume.c
+++ b/tests/check/elements/rgvolume.c
@@ -349,7 +349,7 @@
       GST_TAG_TRACK_GAIN, +4.95, GST_TAG_TRACK_PEAK, 0.59463,
       GST_TAG_ALBUM_GAIN, -1.54, GST_TAG_ALBUM_PEAK, 0.693415,
       GST_TAG_ARTIST, "Foobar", NULL);
-  event = gst_event_new_tag (tag_list);
+  event = gst_event_new_tag ("test", tag_list);
   new_event = send_tag_event (element, event);
   gst_event_parse_tag (new_event, &tag_list);
   fail_unless (gst_tag_list_get_string (tag_list, GST_TAG_ARTIST, &artist));
@@ -364,7 +364,7 @@
       GST_TAG_TRACK_GAIN, +4.95, GST_TAG_TRACK_PEAK, 0.59463,
       GST_TAG_ALBUM_GAIN, -1.54, GST_TAG_ALBUM_PEAK, 0.693415,
       GST_TAG_ARTIST, "Foobar", NULL);
-  event = gst_event_new_tag (tag_list);
+  event = gst_event_new_tag ("test", tag_list);
   new_event = send_tag_event (element, event);
   gst_event_parse_tag (new_event, &tag_list);
   fail_unless (gst_tag_list_get_string (tag_list, GST_TAG_ARTIST, &artist));
@@ -392,7 +392,8 @@
   gst_tag_list_add (tag_list, GST_TAG_MERGE_REPLACE,
       GST_TAG_TRACK_GAIN, -3.45, GST_TAG_TRACK_PEAK, 1.0,
       GST_TAG_ALBUM_GAIN, +2.09, GST_TAG_ALBUM_PEAK, 1.0, NULL);
-  fail_unless (send_tag_event (element, gst_event_new_tag (tag_list)) == NULL);
+  fail_unless (send_tag_event (element, gst_event_new_tag ("test",
+              tag_list)) == NULL);
   fail_unless_gain (element, -9.45);    /* pre-amp + track gain */
   send_eos_event (element);
 
@@ -402,7 +403,8 @@
   gst_tag_list_add (tag_list, GST_TAG_MERGE_REPLACE,
       GST_TAG_TRACK_GAIN, -3.45, GST_TAG_TRACK_PEAK, 1.0,
       GST_TAG_ALBUM_GAIN, +2.09, GST_TAG_ALBUM_PEAK, 1.0, NULL);
-  fail_unless (send_tag_event (element, gst_event_new_tag (tag_list)) == NULL);
+  fail_unless (send_tag_event (element, gst_event_new_tag ("test",
+              tag_list)) == NULL);
   fail_unless_gain (element, -3.91);    /* pre-amp + album gain */
 
   /* Switching back to track mode in the middle of a stream: */
@@ -434,7 +436,8 @@
   gst_tag_list_add (tag_list, GST_TAG_MERGE_REPLACE,
       GST_TAG_TRACK_GAIN, +3.5, GST_TAG_TRACK_PEAK, 1.0,
       GST_TAG_ALBUM_GAIN, -0.5, GST_TAG_ALBUM_PEAK, 1.0, NULL);
-  fail_unless (send_tag_event (element, gst_event_new_tag (tag_list)) == NULL);
+  fail_unless (send_tag_event (element, gst_event_new_tag ("test",
+              tag_list)) == NULL);
   fail_unless_gain (element, -2.50);    /* pre-amp + track gain */
   send_eos_event (element);
 
@@ -478,7 +481,8 @@
   tag_list = gst_tag_list_new_empty ();
   gst_tag_list_add (tag_list, GST_TAG_MERGE_REPLACE,
       GST_TAG_TRACK_GAIN, +2.11, GST_TAG_TRACK_PEAK, 1.0, NULL);
-  fail_unless (send_tag_event (element, gst_event_new_tag (tag_list)) == NULL);
+  fail_unless (send_tag_event (element, gst_event_new_tag ("test",
+              tag_list)) == NULL);
   fail_unless_gain (element, -3.89);    /* pre-amp + track gain */
 
   send_eos_event (element);
@@ -505,7 +509,8 @@
   tag_list = gst_tag_list_new_empty ();
   gst_tag_list_add (tag_list, GST_TAG_MERGE_REPLACE,
       GST_TAG_ALBUM_GAIN, +3.73, GST_TAG_ALBUM_PEAK, 1.0, NULL);
-  fail_unless (send_tag_event (element, gst_event_new_tag (tag_list)) == NULL);
+  fail_unless (send_tag_event (element, gst_event_new_tag ("test",
+              tag_list)) == NULL);
   fail_unless_gain (element, -2.27);    /* pre-amp + album gain */
 
   send_eos_event (element);
@@ -529,7 +534,8 @@
   tag_list = gst_tag_list_new_empty ();
   gst_tag_list_add (tag_list, GST_TAG_MERGE_REPLACE,
       GST_TAG_TRACK_GAIN, +3.50, GST_TAG_TRACK_PEAK, 1.0, NULL);
-  fail_unless (send_tag_event (element, gst_event_new_tag (tag_list)) == NULL);
+  fail_unless (send_tag_event (element, gst_event_new_tag ("test",
+              tag_list)) == NULL);
   fail_unless_target_gain (element, +3.50);     /* pre-amp + track gain */
   fail_unless_result_gain (element, +0.00);
   send_eos_event (element);
@@ -538,7 +544,8 @@
   tag_list = gst_tag_list_new_empty ();
   gst_tag_list_add (tag_list, GST_TAG_MERGE_REPLACE,
       GST_TAG_TRACK_GAIN, +9.18, GST_TAG_TRACK_PEAK, 0.687149, NULL);
-  fail_unless (send_tag_event (element, gst_event_new_tag (tag_list)) == NULL);
+  fail_unless (send_tag_event (element, gst_event_new_tag ("test",
+              tag_list)) == NULL);
   fail_unless_target_gain (element, +9.18);     /* pre-amp + track gain */
   /* Result is 20. * log10 (1. / peak) + headroom. */
   fail_unless_result_gain (element, 5.2589816238303335);
@@ -548,7 +555,8 @@
   tag_list = gst_tag_list_new_empty ();
   gst_tag_list_add (tag_list, GST_TAG_MERGE_REPLACE,
       GST_TAG_ALBUM_GAIN, +5.50, GST_TAG_ALBUM_PEAK, 1.0, NULL);
-  fail_unless (send_tag_event (element, gst_event_new_tag (tag_list)) == NULL);
+  fail_unless (send_tag_event (element, gst_event_new_tag ("test",
+              tag_list)) == NULL);
   fail_unless_target_gain (element, +5.50);     /* pre-amp + album gain */
   fail_unless_result_gain (element, +2.00);     /* headroom */
   send_eos_event (element);
@@ -574,7 +582,8 @@
   gst_tag_list_add (tag_list, GST_TAG_MERGE_REPLACE,
       GST_TAG_TRACK_GAIN, 0.00, GST_TAG_TRACK_PEAK, 0.2,
       GST_TAG_REFERENCE_LEVEL, 83., NULL);
-  fail_unless (send_tag_event (element, gst_event_new_tag (tag_list)) == NULL);
+  fail_unless (send_tag_event (element, gst_event_new_tag ("test",
+              tag_list)) == NULL);
   /* Because our authorative reference is 89 dB, we bump it up by +6 dB. */
   fail_unless_gain (element, +6.00);    /* pre-amp + track gain */
   send_eos_event (element);
@@ -588,7 +597,8 @@
       GST_TAG_TRACK_GAIN, 1.23, GST_TAG_TRACK_PEAK, 0.1,
       GST_TAG_ALBUM_GAIN, 0.00, GST_TAG_ALBUM_PEAK, 0.2,
       GST_TAG_REFERENCE_LEVEL, 83., NULL);
-  fail_unless (send_tag_event (element, gst_event_new_tag (tag_list)) == NULL);
+  fail_unless (send_tag_event (element, gst_event_new_tag ("test",
+              tag_list)) == NULL);
   fail_unless_gain (element, +6.00);    /* pre-amp + album gain */
 
   cleanup_rgvolume (element);
diff --git a/tests/check/elements/rtpbin.c b/tests/check/elements/rtpbin.c
index fb1cc67..1339060 100644
--- a/tests/check/elements/rtpbin.c
+++ b/tests/check/elements/rtpbin.c
@@ -22,6 +22,20 @@
 
 #include <gst/check/gstcheck.h>
 
+GST_START_TEST (test_pads)
+{
+  GstElement *element;
+  GstPad *pad;
+
+  element = gst_element_factory_make ("rtpsession", NULL);
+
+  pad = gst_element_get_request_pad (element, "recv_rtcp_sink");
+  gst_object_unref (pad);
+  gst_object_unref (element);
+}
+
+GST_END_TEST;
+
 GST_START_TEST (test_cleanup_send)
 {
   GstElement *rtpbin;
@@ -419,6 +433,7 @@
   TCase *tc_chain = tcase_create ("general");
 
   suite_add_tcase (s, tc_chain);
+  tcase_add_test (tc_chain, test_pads);
   tcase_add_test (tc_chain, test_cleanup_send);
   tcase_add_test (tc_chain, test_cleanup_recv);
   tcase_add_test (tc_chain, test_cleanup_recv2);
diff --git a/tests/check/elements/videocrop.c b/tests/check/elements/videocrop.c
index 2849d8c..b923150 100644
--- a/tests/check/elements/videocrop.c
+++ b/tests/check/elements/videocrop.c
@@ -271,10 +271,7 @@
 
   finfo = info.finfo;
 
-
-  if (GST_VIDEO_INFO_FORMAT (&info) == GST_VIDEO_FORMAT_Y800)
-    values = gray_values;
-  else if (GST_VIDEO_INFO_IS_YUV (&info))
+  if (GST_VIDEO_INFO_IS_YUV (&info))
     values = yuv_values;
   else if (GST_VIDEO_INFO_IS_GRAY (&info))
     values = gray_values;
diff --git a/tests/examples/Makefile.in b/tests/examples/Makefile.in
index c3d1699..c02599e 100644
--- a/tests/examples/Makefile.in
+++ b/tests/examples/Makefile.in
@@ -55,6 +55,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 	$(top_srcdir)/common/parallel-subdirs.mak
 subdir = tests/examples
@@ -64,7 +65,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -161,8 +161,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -209,6 +207,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -253,8 +252,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -269,6 +270,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -334,7 +339,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -390,6 +395,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -462,7 +468,11 @@
 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@
diff --git a/tests/examples/audiofx/Makefile.in b/tests/examples/audiofx/Makefile.in
index 6799031..a72a6ac 100644
--- a/tests/examples/audiofx/Makefile.in
+++ b/tests/examples/audiofx/Makefile.in
@@ -51,6 +51,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 noinst_PROGRAMS = firfilter-example$(EXEEXT) \
 	iirfilter-example$(EXEEXT)
 subdir = tests/examples/audiofx
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -164,8 +164,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -214,6 +212,7 @@
 # FIXME 0.11: ignore GValueArray warnings for now until this is sorted
 ERROR_CFLAGS = 
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -258,8 +257,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -274,6 +275,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -339,7 +344,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -395,6 +400,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -467,7 +473,11 @@
 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@
diff --git a/tests/examples/cairo/Makefile.in b/tests/examples/cairo/Makefile.in
index a6905da..99c52e9 100644
--- a/tests/examples/cairo/Makefile.in
+++ b/tests/examples/cairo/Makefile.in
@@ -51,6 +51,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 @USE_CAIRO_GOBJECT_TRUE@noinst_PROGRAMS = cairo_overlay$(EXEEXT)
 subdir = tests/examples/cairo
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
@@ -60,7 +61,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -152,8 +152,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -200,6 +198,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -244,8 +243,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -260,6 +261,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -325,7 +330,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -381,6 +386,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -453,7 +459,11 @@
 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@
diff --git a/tests/examples/equalizer/Makefile.in b/tests/examples/equalizer/Makefile.in
index 98c5122..522a4f9 100644
--- a/tests/examples/equalizer/Makefile.in
+++ b/tests/examples/equalizer/Makefile.in
@@ -51,6 +51,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 @HAVE_GTK_TRUE@noinst_PROGRAMS = demo$(EXEEXT)
 subdir = tests/examples/equalizer
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
@@ -60,7 +61,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -152,8 +152,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -200,6 +198,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -244,8 +243,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -260,6 +261,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -325,7 +330,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -381,6 +386,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -453,7 +459,11 @@
 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@
diff --git a/tests/examples/jack/Makefile.in b/tests/examples/jack/Makefile.in
index ad8179c..0dc4ec9 100644
--- a/tests/examples/jack/Makefile.in
+++ b/tests/examples/jack/Makefile.in
@@ -51,6 +51,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 noinst_PROGRAMS = $(am__EXEEXT_1)
 subdir = tests/examples/jack
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
@@ -60,7 +61,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -151,8 +151,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -199,6 +197,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -243,8 +242,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -259,6 +260,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -324,7 +329,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -380,6 +385,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -452,7 +458,11 @@
 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@
diff --git a/tests/examples/level/Makefile.in b/tests/examples/level/Makefile.in
index cbf939d..9c5a356 100644
--- a/tests/examples/level/Makefile.in
+++ b/tests/examples/level/Makefile.in
@@ -51,6 +51,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 noinst_PROGRAMS = level-example$(EXEEXT)
 subdir = tests/examples/level
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
@@ -60,7 +61,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -152,8 +152,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -200,6 +198,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -244,8 +243,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -260,6 +261,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -325,7 +330,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -381,6 +386,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -453,7 +459,11 @@
 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@
diff --git a/tests/examples/pulse/Makefile.in b/tests/examples/pulse/Makefile.in
index f6661b3..2bbc952 100644
--- a/tests/examples/pulse/Makefile.in
+++ b/tests/examples/pulse/Makefile.in
@@ -51,6 +51,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 noinst_PROGRAMS = pulse$(EXEEXT)
 subdir = tests/examples/pulse
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
@@ -60,7 +61,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -152,8 +152,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -200,6 +198,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -244,8 +243,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -260,6 +261,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -325,7 +330,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -381,6 +386,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -453,7 +459,11 @@
 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@
diff --git a/tests/examples/rtp/Makefile.in b/tests/examples/rtp/Makefile.in
index 0b31e53..2b662f6 100644
--- a/tests/examples/rtp/Makefile.in
+++ b/tests/examples/rtp/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 noinst_PROGRAMS = server-alsasrc-PCMA$(EXEEXT) client-PCMA$(EXEEXT)
 subdir = tests/examples/rtp
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
@@ -61,7 +62,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -162,8 +162,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -212,6 +210,7 @@
 # FIXME 0.11: ignore GValueArray warnings for now until this is sorted
 ERROR_CFLAGS = 
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -256,8 +255,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -272,6 +273,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -337,7 +342,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -393,6 +398,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -465,7 +471,11 @@
 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@
diff --git a/tests/examples/shapewipe/Makefile.in b/tests/examples/shapewipe/Makefile.in
index cb40ab2..d343d01 100644
--- a/tests/examples/shapewipe/Makefile.in
+++ b/tests/examples/shapewipe/Makefile.in
@@ -52,6 +52,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 noinst_PROGRAMS = shapewipe-example$(EXEEXT)
 subdir = tests/examples/shapewipe
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
@@ -62,7 +63,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -157,8 +157,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -205,6 +203,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -249,8 +248,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -265,6 +266,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -330,7 +335,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -386,6 +391,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -458,7 +464,11 @@
 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@
diff --git a/tests/examples/spectrum/Makefile.in b/tests/examples/spectrum/Makefile.in
index b961c16..d5f62cc 100644
--- a/tests/examples/spectrum/Makefile.in
+++ b/tests/examples/spectrum/Makefile.in
@@ -51,6 +51,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 @HAVE_GTK_TRUE@noinst_PROGRAMS = demo-osssrc$(EXEEXT) \
 @HAVE_GTK_TRUE@	demo-audiotest$(EXEEXT) \
 @HAVE_GTK_TRUE@	spectrum-example$(EXEEXT)
@@ -62,7 +63,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -174,8 +174,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -222,6 +220,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -266,8 +265,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -282,6 +283,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -347,7 +352,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -403,6 +408,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -475,7 +481,11 @@
 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@
diff --git a/tests/examples/v4l2/Makefile.in b/tests/examples/v4l2/Makefile.in
index 5530a06..5a0d09f 100644
--- a/tests/examples/v4l2/Makefile.in
+++ b/tests/examples/v4l2/Makefile.in
@@ -51,6 +51,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 noinst_PROGRAMS = camctrl$(EXEEXT)
 subdir = tests/examples/v4l2
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
@@ -60,7 +61,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -152,8 +152,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -200,6 +198,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -244,8 +243,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -260,6 +261,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -325,7 +330,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -381,6 +386,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -453,7 +459,11 @@
 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@
diff --git a/tests/files/Makefile.in b/tests/files/Makefile.in
index de55715..0607f5a 100644
--- a/tests/files/Makefile.in
+++ b/tests/files/Makefile.in
@@ -50,6 +50,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 subdir = tests/files
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -58,7 +59,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -116,8 +116,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -164,6 +162,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -208,8 +207,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -224,6 +225,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -289,7 +294,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -345,6 +350,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -417,7 +423,11 @@
 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@
diff --git a/tests/icles/Makefile.in b/tests/icles/Makefile.in
index ac5ead2..548e346 100644
--- a/tests/icles/Makefile.in
+++ b/tests/icles/Makefile.in
@@ -51,6 +51,7 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+target_triplet = @target@
 noinst_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
 	$(am__EXEEXT_4) equalizer-test$(EXEEXT) \
 	videocrop-test$(EXEEXT) videobox-test$(EXEEXT) \
@@ -63,7 +64,6 @@
 	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
 	$(top_srcdir)/common/m4/as-gcc-inline-assembly.m4 \
 	$(top_srcdir)/common/m4/as-libtool.m4 \
-	$(top_srcdir)/common/m4/as-objc.m4 \
 	$(top_srcdir)/common/m4/as-python.m4 \
 	$(top_srcdir)/common/m4/as-scrub-include.m4 \
 	$(top_srcdir)/common/m4/as-version.m4 \
@@ -221,8 +221,6 @@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ANNODEX_CFLAGS = @ANNODEX_CFLAGS@
-ANNODEX_LIBS = @ANNODEX_LIBS@
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -269,6 +267,7 @@
 EGREP = @EGREP@
 ERROR_CFLAGS = @ERROR_CFLAGS@
 ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
 EXEEXT = @EXEEXT@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
@@ -313,8 +312,10 @@
 GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
 GST_NET_CFLAGS = @GST_NET_CFLAGS@
 GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
 GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
 GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
 GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
@@ -329,6 +330,10 @@
 GST_REVISION = @GST_REVISION@
 GST_TOOLS_DIR = @GST_TOOLS_DIR@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
 GTK_CFLAGS = @GTK_CFLAGS@
 GTK_LIBS = @GTK_LIBS@
 GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
@@ -394,7 +399,7 @@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
-OBJC_LDFLAGS = @OBJC_LDFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 ORCC = @ORCC@
@@ -450,6 +455,7 @@
 VERSION = @VERSION@
 WARNING_CFLAGS = @WARNING_CFLAGS@
 WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
 WAVPACK_CFLAGS = @WAVPACK_CFLAGS@
 WAVPACK_LIBS = @WAVPACK_LIBS@
 XDAMAGE_CFLAGS = @XDAMAGE_CFLAGS@
@@ -522,7 +528,11 @@
 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@
diff --git a/win32/common/config.h b/win32/common/config.h
index e3b2d29..96a3156 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -58,7 +58,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-05-13"
+#define GST_PACKAGE_RELEASE_DATETIME "2012-06-07"
 
 /* struct v4l2_buffer missing */
 #undef GST_V4L2_MISSING_BUFDECL
@@ -69,9 +69,6 @@
 /* Define to enable aalib ASCII Art library (used by aasink). */
 #undef HAVE_AALIB
 
-/* Define to enable XML library (used by annodex). */
-#undef HAVE_ANNODEX
-
 /* Define to 1 if you have the `asinh' function. */
 #undef HAVE_ASINH
 
@@ -96,46 +93,46 @@
 /* Define to 1 if you have the `cosh' function. */
 #undef HAVE_COSH
 
-/* Define if the host CPU is an Alpha */
+/* Define if the target CPU is an Alpha */
 #undef HAVE_CPU_ALPHA
 
-/* Define if the host CPU is an ARM */
+/* Define if the target CPU is an ARM */
 #undef HAVE_CPU_ARM
 
-/* Define if the host CPU is a CRIS */
+/* Define if the target CPU is a CRIS */
 #undef HAVE_CPU_CRIS
 
-/* Define if the host CPU is a CRISv32 */
+/* Define if the target CPU is a CRISv32 */
 #undef HAVE_CPU_CRISV32
 
-/* Define if the host CPU is a HPPA */
+/* Define if the target CPU is a HPPA */
 #undef HAVE_CPU_HPPA
 
-/* Define if the host CPU is an x86 */
+/* Define if the target CPU is an x86 */
 #define HAVE_CPU_I386 1
 
-/* Define if the host CPU is a IA64 */
+/* Define if the target CPU is a IA64 */
 #undef HAVE_CPU_IA64
 
-/* Define if the host CPU is a M68K */
+/* Define if the target CPU is a M68K */
 #undef HAVE_CPU_M68K
 
-/* Define if the host CPU is a MIPS */
+/* Define if the target CPU is a MIPS */
 #undef HAVE_CPU_MIPS
 
-/* Define if the host CPU is a PowerPC */
+/* Define if the target CPU is a PowerPC */
 #undef HAVE_CPU_PPC
 
-/* Define if the host CPU is a 64 bit PowerPC */
+/* Define if the target CPU is a 64 bit PowerPC */
 #undef HAVE_CPU_PPC64
 
-/* Define if the host CPU is a S390 */
+/* Define if the target CPU is a S390 */
 #undef HAVE_CPU_S390
 
-/* Define if the host CPU is a SPARC */
+/* Define if the target CPU is a SPARC */
 #undef HAVE_CPU_SPARC
 
-/* Define if the host CPU is a x86_64 */
+/* Define if the target CPU is a x86_64 */
 #undef HAVE_CPU_X86_64
 
 /* Define if the GNU dcgettext() function is already present or preinstalled.
@@ -369,7 +366,7 @@
 #define PACKAGE_NAME "GStreamer Good Plug-ins"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GStreamer Good Plug-ins 0.11.91"
+#define PACKAGE_STRING "GStreamer Good Plug-ins 0.11.92"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gst-plugins-good"
@@ -378,7 +375,7 @@
 #undef PACKAGE_URL
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "0.11.91"
+#define PACKAGE_VERSION "0.11.92"
 
 /* directory where plugins are located */
 #ifdef _DEBUG
@@ -408,8 +405,11 @@
 /* Define to 1 if you have the ANSI C header files. */
 #undef STDC_HEADERS
 
+/* the target CPU */
+#undef TARGET_CPU
+
 /* Version number of package */
-#define VERSION "0.11.91"
+#define VERSION "0.11.92"
 
 /* old wavpack API */
 #undef WAVPACK_OLD_API
