Imported Upstream version 1.5.90
diff --git a/ChangeLog b/ChangeLog
index 0e51c58..077512c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,1255 @@
-=== release 1.5.2 ===
+=== release 1.5.90 ===
 
-2015-06-24  Sebastian Dröge <slomo@coaxion.net>
+2015-08-19  Sebastian Dröge <slomo@coaxion.net>
 
 	* configure.ac:
-	  releasing 1.5.2
+	  releasing 1.5.90
+
+2015-08-19 11:23:09 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* po/cs.po:
+	* po/da.po:
+	* po/de.po:
+	* po/hu.po:
+	* po/nb.po:
+	* po/pl.po:
+	* po/ru.po:
+	* po/uk.po:
+	* po/zh_CN.po:
+	  po: Update translations
+
+2015-08-19 08:37:46 +0900  Vineeth TM <vineeth.tm@samsung.com>
+
+	* tools/gst-discoverer.c:
+	  tools: discoverer: When info is NULL just print error and return
+	  In case discover_uri returns NULL info, passing the info to discoverer APIs
+	  result in critical assertion errors. Hence instead of passing NULL info along,
+	  print the error and return.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=753701
+
+2015-08-18 18:47:22 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/playback/gstdecodebin2.c:
+	  Revert "decodebin: Handle the preroll multi-queue size"
+	  This reverts commit 5c8ef0ea05123506dfc35c70c8b165bca7435dad.
+
+2015-08-18 18:47:21 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/playback/gstdecodebin2.c:
+	  Revert "decodebin: Store extra_buffer_required per group, not globally"
+	  This reverts commit 1ea81114ea6bd48b581f19002018680933aa7a12.
+
+2015-08-18 18:47:18 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/playback/gstdecodebin2.c:
+	  Revert "decodebin: If extra buffers are going to be required, we're still prerolling"
+	  This reverts commit a3b24f0241bd55a005a072ba8ddcd53e0fdbf827.
+
+2015-08-18 16:28:42 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	* gst-libs/gst/video/gstvideoencoder.c:
+	  video(en|de)coder: Return TRUE when we consumed a tag event without creating a new event
+	  Fixes spurious flow errors that especially break gst-validate.
+
+2015-08-18 16:01:28 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/audio/gstaudiodecoder.c:
+	  audiodecoder: If there are no tags, don't try to do event handling on a NULL event
+	  Fixes some crashes.
+
+2015-08-18 15:58:57 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/audio/gstaudioencoder.c:
+	  audioencoder: If there are no tags, don't try to do event handling on a NULL event
+	  Fixes some crashes.
+
+2015-08-18 13:50:17 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+	* tools/gst-play.c:
+	  tools: gst-play: Use g_build_filename instead of g_strconcat
+	  When running gst-play against a directory name, and suffix the path with a
+	  directory separator (e.g. tab completion), gst-play was printing two directory
+	  separators in a row. g_build_filename fixes this, and additionally allows for
+	  both '/' and '\' as separators on Windows.
+
+2015-08-18 15:16:25 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/playback/gstdecodebin2.c:
+	  decodebin: If extra buffers are going to be required, we're still prerolling
+
+2015-08-18 15:01:33 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/playback/gstdecodebin2.c:
+	  decodebin: Store extra_buffer_required per group, not globally
+	  It's only relevant for each group, and by storing it in the group
+	  we have locking and everything else like for the other buffering-related
+	  variables. Locking looks a bit fishy still, but it was like that for a long
+	  time already so shouldn't be worse than before.
+
+2015-07-30 10:33:25 +0900  Myoungsun Lee <ohmygod0327@gmail.com>
+
+	* gst/playback/gstdecodebin2.c:
+	  decodebin: Handle the preroll multi-queue size
+	  Overview:
+	  There are some of interleaved streams which has long-term location of audio data.
+	  It mean the audio data is located far away more than multiqueue size.
+	  In this case, because of multiqueue overrun, the pipeline is stopped.
+	  To prevent hanging-like state, the decodebin needs to handle the queue size.
+	  Caused:
+	  The multiqueue size is not enough, the pipeline will stay being stalled status
+	  and decodebin cannot complete to build decode chain.
+	  In this issue file, decodebin did not receive no_more_pads signal or audio data yet.
+	  Steps to Reproduce:
+	  play the high-resolution(4K file) files or some streaming media(push mode).
+	  Actual Results:
+	  There is no audio or subtitle.
+	  We can see only video or infinite loading.
+	  Resolution:
+	  Decodebin detect this problem, and add extra buffer size to multiqueue.
+	  The multiqueue is larger than before, the next data can be pushed the downstream element.
+	  Additional Information:
+	  The max-preroll extra buffer size is set 8MB.
+	  We can use total pre-roll buffer 10MB.
+	  Only first overrun callback can handle multiqueue size.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733235
+
+2015-08-18 12:29:29 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/video/gstvideoencoder.c:
+	  videoencoder: fix tag handling
+	  Merge upstream tags with encoder tags and update whenever
+	  any of those changes.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=679768
+
+2015-08-18 11:45:24 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/audio/gstaudioencoder.c:
+	  audioencoder: fix tag handling
+	  Merge upstream tags with encoder tags and update whenever
+	  any of those changes.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=679768
+
+2015-08-18 12:56:33 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/typefind/gsttypefindfunctions.c:
+	  typefindfunctions: Add typefinder for TTML+XML
+	  Used in DASH among other things, as SMPTE Timed Text.
+
+2015-08-18 09:06:39 +0900  Vineeth TM <vineeth.tm@samsung.com>
+
+	* gst-libs/gst/pbutils/gstdiscoverer.c:
+	  pbutils: discoverer: Set GError when NULL info is being returned.
+	  When discovering the URI, if info is NULL, then instead of just returning NULL,
+	  set the GError, so the error can be printed and notified.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=753701
+
+2015-08-17 11:18:25 +0900  Vineeth TM <vineeth.tm@samsung.com>
+
+	* tools/gst-discoverer.c:
+	  discoverer: free context and error during failures
+	  When g_option_context_parse or gst_discoverer_new fails, then there will
+	  be memory leaks for ctx and err variables. Free'ing the same.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=753701
+
+2015-08-16 18:28:09 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/audio/gstaudiodecoder.c:
+	  audiodecoder: try harder to avoid sending unnecessary tag updates
+
+2015-08-16 17:55:22 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	  videodecoder: fix tag handling
+	  Before we just merged everything in pretty much random ways
+	  ad-hoc instead of keeping state properly. In 0.10 that was
+	  how it worked, but in 1.x the tag events sent should always
+	  reflect the latest state and replace any previous tags.
+	  So save the upstream (stream) tags, and save the tags set
+	  by the decoder subclass with merge mode, and then update
+	  the merged tags whenever either of those two changes.
+	  This slightly changes the behaviour of gst_video_decoder_merge_tags()
+	  in case it is called multiple times, since now any call replaces
+	  the previously-set tags. However, it leads to much more predictable
+	  outcomes, and also we are not aware of any subclass which sets this
+	  multiple times and expects all the tags set to be merged.
+	  If more complex tag merging scenarios are required, we'll have
+	  to add a new vfunc for that or the subclass has to intercept
+	  the upstream tags itself and send merged tags itself.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=679768
+
+2015-08-14 17:59:29 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/libs/audiodecoder.c:
+	  tests: audiodecoder: add unit test for tag handling
+	  https://bugzilla.gnome.org/show_bug.cgi?id=679768
+
+2015-08-14 17:44:59 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/audio/gstaudiodecoder.c:
+	  audiodecoder: fix tag handling
+	  Before we just merged everything in pretty much random ways
+	  ad-hoc instead of keeping state properly. In 0.10 that was
+	  how it worked, but in 1.x the tag events sent should always
+	  reflect the latest state and replace any previous tags.
+	  So save the upstream (stream) tags, and save the tags set
+	  by the decoder subclass with merge mode, and then update
+	  the merged tags whenever either of those two changes.
+	  This slightly changes the behaviour of gst_audio_decoder_merge_tags()
+	  in case it is called multiple times, since now any call replaces
+	  the previously-set tags. However, it leads to much more predictable
+	  outcomes, and also we are not aware of any subclass which sets this
+	  multiple times and expects all the tags set to be merged.
+	  If more complex tag merging scenarios are required, we'll have
+	  to add a new vfunc for that or the subclass has to intercept
+	  the upstream tags itself and send merged tags itself.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=679768
+
+2015-08-15 22:23:15 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/vorbis/gstvorbisenc.c:
+	  vorbisenc: use template subset check for accept-caps
+	  It is faster than doing a query that propagates downstream and
+	  should be enough
+
+2015-08-16 12:20:51 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/vorbis/gstvorbisenc.c:
+	  vorbisenc: use more accurate sink pad template caps
+	  Removes the need for custom caps query handling and makes it more
+	  correct from the beginning on the template. It is a bit uglier
+	  to read because there is 1 entry per channel but makes code easier
+	  to maintain.
+
+2015-08-15 22:22:41 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/theora/gsttheoraenc.c:
+	  theoraenc: use template subset check for accept-caps
+	  It is faster than doing a query that propagates downstream and
+	  should be enough
+
+2015-08-16 08:12:01 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/audio/gstaudioencoder.c:
+	* gst-libs/gst/audio/gstaudioencoder.h:
+	  audioencoder: add src and sink query methods
+	  Allows subclasses to do their own handling of GstQuery and still
+	  chain up to the parent class to handle the ones that they don't want
+	  to handle
+
+2015-08-16 12:53:02 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* gst/playback/gstdecodebin2.c:
+	  decodebin: Fix list iteration
+	  We were using the wrong variable ...
+	  CID #1316477
+
+2015-05-04 11:19:28 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst/playback/gstdecodebin2.c:
+	  decodebin2: Handle flushing with multiple decode groups
+	  When an upstream element wants to flush downstream, we need to take
+	  all chains/groups into consideration.
+	  To that effect, when a FLUSH_START event is seen, after having it
+	  sent downstream we mark all those chains/groups as "drained" (as if
+	  they had seen a EOS event on the endpads).
+	  When a FLUSH_STOP event is received, we check if we need to switch groups.
+	  This is done by checking if there are next groups. If so, we will switch
+	  over to the latest next_group. The actual switch will be done when
+	  that group is blocked.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=606382
+
+2015-04-29 15:56:39 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst/playback/gstdecodebin2.c:
+	  decodebin2: Forward event/queries for unlinked groups
+	  When upstream events/queries reach sinkpads of unlinked groups (i.e.
+	  no longer linked to the upstream demuxer), this patch attempts to find
+	  the linked group and forward it upstream of that group.
+	  This is done by adding upstream event/query probes on new group sinkpads
+	  and then:
+	  * Checking if the pad is linked or not (has a peer or not)
+	  * If there is a peer, just let the event/query follow through normally
+	  * If there is no peer, we find a pad to which to proxy it and return
+	  GST_PROBE_HANDLED if it succeeded (allowing the event/query to be properly
+	  returned to the initial called)
+	  Note that this is definitely not thread-safe for the time being
+	  https://bugzilla.gnome.org/show_bug.cgi?id=606382
+
+2015-08-15 08:18:59 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/audio/gstaudiodecoder.c:
+	* gst-libs/gst/audio/gstaudiodecoder.h:
+	* win32/common/libgstaudio.def:
+	  Revert "audiodecoder: expose default query handling function"
+	  Apparently I forgot how gobject works, there is no need to expose
+	  it directly as one can call it from the parent_class pointer
+	  This reverts commit 8a64592481dab985ca520a5b1cb394a609275c60.
+
+2015-08-15 08:14:00 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	* gst-libs/gst/video/gstvideodecoder.h:
+	* win32/common/libgstvideo.def:
+	  Revert "videodecoder: expose default query handling function"
+	  Apparently I forgot how gobject works, there is no need to expose
+	  it directly as one can call it from the parent_class pointer
+	  This reverts commit ea9b6a7e3c4eea512650adf530b7f1acb0eccd84.
+
+2015-08-15 07:41:24 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/vorbis/gstvorbisdec.c:
+	  vorbisdec: use default pad accept-caps handling
+	  Avoids useless check of downstream caps when handling an
+	  accept-caps query
+
+2015-08-15 07:40:55 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/theora/gsttheoradec.c:
+	  theoradec: use default pad accept-caps handling
+	  Avoids useless check of downstream caps when handling an
+	  accept-caps query
+
+2015-08-15 07:31:54 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/audio/gstaudiodecoder.c:
+	* gst-libs/gst/audio/gstaudiodecoder.h:
+	* win32/common/libgstaudio.def:
+	  audiodecoder: add option to use default pad accept-caps handling
+	  Add gst_audio_decoder_set_use_default_pad_acceptcaps() to allow
+	  subclasses to make videodecoder use the default pad acceptcaps
+	  handling instead of resorting to the caps query that is, usually,
+	  less efficient and unecessary
+	  API: gst_audio_decoder_set_use_default_pad_acceptcaps
+
+2015-08-15 07:20:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	* gst-libs/gst/video/gstvideodecoder.h:
+	* win32/common/libgstvideo.def:
+	  videodecoder: add option to use default pad accept-caps handling
+	  Add gst_video_decoder_set_use_default_pad_acceptcaps() to allow
+	  subclasses to make videodecoder use the default pad acceptcaps
+	  handling instead of resorting to the caps query that is, usually,
+	  less efficient and unecessary
+	  API: gst_video_decoder_set_use_default_pad_acceptcaps
+
+2015-08-15 23:33:14 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
+	  rtpbasedepayload: Make stats creation threadsafe, fix a CRITICAL
+	  Use the object lock to protect the internal segment when updating
+	  against access from getting the stats property.
+	  Fix a critical in gst-inspect or when retrieving the stats
+	  before any segment has arrived by checking whether the
+	  segment has been initted..
+
+2015-08-12 03:00:15 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst/typefind/gsttypefindfunctions.c:
+	  typefind: Make the H.264 typefind a tiny bit more lenient.
+	  When we see prefix NALs before a Subset SPS has been spotted,
+	  it might just be because the stream was truncated at the
+	  start, so don't count those as either 'bad' or 'good' packets.
+
+2015-08-14 18:43:03 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* gst-libs/gst/app/gstappsink.c:
+	  appsink: unref the preroll buffer and cleanup the segments on stop()
+	  Just for consistency. No need to keep data around.
+
+2015-08-14 18:35:22 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* gst-libs/gst/app/gstappsink.c:
+	  appsink: do not update preroll_caps unless the sink is prerolling
+	  Just for consistency with the preroll_segment
+
+2015-08-14 18:06:03 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* tests/check/elements/appsink.c:
+	  tests/appsink: add test to ensure that the segment returned by pull-preroll/sample is correct
+	  https://bugzilla.gnome.org/show_bug.cgi?id=751147
+
+2015-06-18 12:30:24 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* gst-libs/gst/app/gstappsink.c:
+	  appsink: put the correct segment in the preroll sample
+	  last_segment is only being updated in dequeue_buffer(),
+	  which is only called from _pull_sample(). _pull_preroll()
+	  simply re-uses an old or dummy segment while the actual
+	  one sits and waits in the queue.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=751147
+
+2015-08-14 08:59:51 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	* gst-libs/gst/video/gstvideodecoder.h:
+	* win32/common/libgstvideo.def:
+	  videodecoder: expose default query handling function
+	  Subclasses can use it to select what queries they want to handle
+	  and forward the rest to the default handling function.
+	  API: gst_video_decoder_sink_query_default
+	  https://bugzilla.gnome.org/show_bug.cgi?id=753623
+
+2015-08-14 08:58:58 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/audio/gstaudiodecoder.c:
+	* gst-libs/gst/audio/gstaudiodecoder.h:
+	* win32/common/libgstaudio.def:
+	  audiodecoder: expose default query handling function
+	  Subclasses can use it to select what queries they want to handle
+	  and forward the rest to the default handling function.
+	  API: gst_audio_decoder_sink_query_default
+	  https://bugzilla.gnome.org/show_bug.cgi?id=753623
+
+2015-08-14 11:11:10 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* tests/check/generic/states.c:
+	  check: Rename states unit test
+	  Makes it easier to differentiate from other modules states unit test
+
+2015-08-14 05:48:31 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/playback/gstplaysinkconvertbin.c:
+	  playsinkconvertbin: remove accept-caps handling
+	  Just let the internal element of the bin do it instead of forcing a
+	  caps query to do it.
+
+2015-08-13 13:52:17 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/videorate/gstvideorate.c:
+	  videorate: fixate the pixel-aspect-ratio
+	  If the pixel-aspect-ratio is not fixed, try to get it as close
+	  to 1/1 as possible
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748635
+
+2015-08-11 15:09:10 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/theora/gsttheoraenc.c:
+	  theoraenc: mention videorate is often needed in docs
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748877
+
+2015-08-11 14:10:57 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/Makefile.am:
+	  rtp: Depend on the audio library
+
+2015-07-01 16:25:13 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
+	  rtpbaseaudiopayload: Copy metadata in the (de)payloader, but only the relevant ones
+	  The payloader didn't copy anything so far, the depayloader copied every
+	  possible meta. Let's make it consistent and just copy all metas without
+	  tags or with only the audio tag.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=751774
+
+2015-08-10 22:03:48 +0200  Joan Pau Beltran <joanpau.beltran@socib.cat>
+
+	* gst/videorate/gstvideorate.c:
+	  videorate: add support for bayer formats
+	  Since the videorate element just duplicates or drops frames
+	  to achieve the desired framerate, it can accept video/x-bayer media
+	  (in any format), which are not present in the current caps.
+	  Just add "video/x-bayer(ANY);" to the caps of the static pad template
+	  (fixing line style to pass the indent commit hook).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=753483
+
+2015-08-05 15:32:54 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
+	  basedepayloader: Don't re-timestamp with running-time
+	  There was a confusion, six depayloaders where passing through the
+	  timestamp while the base class was re-timestamping to running
+	  time. This inconstancy has been unnoticed has in most use cases
+	  the incoming segment is [0, inifnity] in which case timestamps are
+	  the same as running time. With DTS/PTS shifting added (to avoid
+	  negative values) and pcapparse sending a different segment this
+	  started being an issue.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=753037
+
+2015-08-10 09:49:19 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	  videoencoder: remove empty line to make g-i-scanner happy
+	  gstvideoencoder.h:228: Warning: GstVideo: "@transform_meta"
+	  parameter unexpected at this location:
+	  * @transform_meta: Optional. Transform the metadata on ...
+
+2015-08-10 08:17:09 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	  videodecoder: documentation cleanup
+	  Remove some whitespace and break lines longer than 80 columns
+
+2015-08-10 00:21:42 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/check/libs/audiodecoder.c:
+	  tests: audiodecoder: add test to make sure gap is pushed before segment
+	  https://bugzilla.gnome.org/show_bug.cgi?id=753360
+
+2015-08-09 23:23:05 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	* tests/check/libs/videodecoder.c:
+	  videodecoder: push pending events before gap
+	  Push all pending events before pushing the gap. This ensures the
+	  segment is pushed before the gap so it can be properly translated
+	  to the running time
+	  Includes unit test.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=753360
+
+2015-07-30 16:39:03 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* ext/ogg/gstoggdemux.c:
+	  oggdemux: Set chain pointers to NULL
+	  Otherwise, they will refer to freed memory
+	  https://bugzilla.gnome.org/show_bug.cgi?id=753078
+
+2015-07-31 13:31:56 +0900  Vineeth TM <vineeth.tm@samsung.com>
+
+	* gst/playback/gstdecodebin2.c:
+	  decodebin: fix deadend_details string leak
+	  deadend_details need not be returned when the pad is not a deadend.
+	  Hence checking if res value is TRUE and clearing the string instead of
+	  passing it on
+	  https://bugzilla.gnome.org/show_bug.cgi?id=753088
+
+2015-08-04 14:41:10 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst/videotestsrc/gstvideotestsrc.c:
+	  videotestsrc: Don't set DTS on buffer
+	  DTS is for encoded data and have no meaning for raw. It better to not
+	  set it, as it's confusing.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=752791
+
+2015-07-30 18:43:19 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* ext/ogg/gstoggdemux.c:
+	  oggdemux: Return FLUSHING if pad if flushing
+	  If the initial seek fails because the pad is
+	  flushing, then return GST_FLOW_FLUSHING instead
+	  of an error.
+
+2015-07-30 15:16:57 +0100  Brian Peters <brianfpeters@gmail.com>
+
+	* gst-libs/gst/rtp/gstrtpbuffer.c:
+	  rtpbuffer: avoid accessing NULL buffer even more
+	  Previous commit was incompletely applied.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=753001
+
+2015-07-30 14:30:44 +0100  Brian Peters <brianfpeters@gmail.com>
+
+	* gst-libs/gst/rtp/gstrtpbuffer.c:
+	  rtp: buffer: don't access NULL buffer pointer
+	  unmap will set rtpbuffer->buffer to NULL, so we need to
+	  save the pointer to access it while the RTP buffer is
+	  unmapped.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=753001
+
+2015-07-30 12:50:56 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
+	  rtpbasedepayload: fix leaks in error code paths
+	  This was introduced when reshuffling the buffer unmaps
+	  in commit bc14cdf529e21356ea7b2c8f34614958a91f7260
+	  rtp: rtpbasedepayload: add process_rtp_packet() vfunc
+	  Fixes make check-valgrind.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750235
+
+2015-07-28 13:57:20 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/pango/gstbasetextoverlay.c:
+	  textoverlay: Query downstream caps for checking if caps features are supported, not just accept-caps
+	  accept-caps is not recursive and might stop at the next downstream element,
+	  while caps queries are generally recursive. The next element might accept any
+	  capsfeatures we want, but that doesn't mean that further downstream it will
+	  also work.
+	  Additionally for the future:
+	  We should probably check if downstream *prefers* the
+	  overlay meta, and only enforce usage of it if we can't handle
+	  the format ourselves and thus would have to drop the overlays.
+	  Otherwise we should prefer what downstream wants here.
+
+2015-07-23 15:28:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* ext/pango/gstbasetextoverlay.c:
+	* ext/pango/gstbasetextoverlay.h:
+	  basetextoverlay: Use the extents rectangle for positioning
+	  the extents rectangle is what you need to know to properly position
+	  a buffer that has been rendered in a surface of the ink rectangle
+	  size. This patch make the placement on par with the placement we had
+	  before without having to over allocate.
+	  This patch also enable placement for vertical rendering. Note that
+	  the halginement, valighment and line-alignment default are set to
+	  the previous default when this property is set. This is for backward
+	  compatibility, you can change the value after setting vertical render.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=728636
+
+2015-07-23 15:19:47 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* ext/pango/gstbasetextoverlay.c:
+	  basetextoverlay: Fix clipping issues
+	  This patch uses the ink rectangle in order to compute the size
+	  of the surface require to render. It also correctly compute the
+	  transformation matrix as the ink_rect position might not be at
+	  0, 0. Additionally, shadow_offset and outline_offset (which is
+	  in fact the diameter of a dot, not a really an offset) is now
+	  taken into account. Redundant matrix operation has been removed
+	  for the vertical rendering.
+	  Take note that the matrix operation in cairo are excuted in
+	  reverse order.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=728636
+
+2015-07-24 10:15:21 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tools/gst-play.c:
+	  tools: gst-play: seek at least in steps of a second
+	  In case of very short files we might end up seeking in
+	  steps of a fraction of a second, which is silly and gives
+	  the impression that seeking doesn't actually work. Make
+	  minimum seek step a second instead.
+
+2015-07-22 16:19:48 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/pango/gstbasetextoverlay.c:
+	  basetextoverlay: Improve further the negotiation function
+	  * Only send the caps event once if the query had support for the
+	  overlay composition meta.
+	  * Only do the allocation query if it is supported through caps.
+	  * Send overlay_caps before doing allocation query rather then normal
+	  caps
+	  https://bugzilla.gnome.org/show_bug.cgi?id=751157
+
+2015-07-22 20:50:10 +0200  Rico Tzschichholz <ricotz@ubuntu.com>
+
+	* ext/pango/Makefile.am:
+	  basetextoverlay: Add missing linking against -lm
+
+2015-07-21 18:40:59 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/pango/gstbasetextoverlay.c:
+	* ext/pango/gstbasetextoverlay.h:
+	  basetextoverlay: Ensure meta coordinate are in stream scale
+	  The GstVideoOverlayComposition meta coordinates should always be
+	  in stream scale, regardless of the window size downstream. This
+	  way the sink can always scale the composition if the window size
+	  have changed after a buffer (with his meta) was rendered before.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=751157
+
+2015-07-21 14:12:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/pango/gstbasetextoverlay.c:
+	* ext/pango/gstbasetextoverlay.h:
+	  basetextoverlay: Reorder and cleanup class attribute
+	  Also add a minimum amount of comment so we can understand what
+	  is doing what.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=751157
+
+2015-07-15 21:56:17 +0300  Ville Skyttä <ville.skytta@iki.fi>
+
+	* gst/typefind/gsttypefindfunctions.c:
+	  typefind: Treat *.umx (Unreal Music Package) as audio/x-mod
+	  https://bugzilla.gnome.org//show_bug.cgi?id=752436
+
+2015-07-20 16:25:10 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* ext/pango/gstbasetextoverlay.c:
+	  basetextoverlay: Fix upstream composition handling
+	  We need to update the render when upstream composition changes
+	  or if it was removed.
+	  http://bugzilla.gnome.org/show_bug.cgi?id=751157
+
+2015-07-20 16:20:24 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* ext/pango/gstbasetextoverlay.c:
+	  basetextoverlay: Clear reconfigure flags before negotation
+	  This avoids negotiating twice. Current the _setcaps() patch does
+	  not clear the initial reconfigure flags, which lead to systematic
+	  double renegotiation.
+	  http://bugzilla.gnome.org/show_bug.cgi?id=751157
+
+2015-07-20 15:55:07 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* ext/pango/gstbasetextoverlay.c:
+	  basetestoverlay: Always query window dimension
+	  Remove the optimization to skip allocation query so we can
+	  always have the latest window size information. Also, correctly
+	  deal with the case where there is no window size information.
+	  http://bugzilla.gnome.org/show_bug.cgi?id=751157
+
+2015-07-20 15:11:06 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* ext/pango/gstbasetextoverlay.c:
+	  basetextoverlay: Send caps before doing allocation query
+	  This is currently a limitation of BaseTransform base class. Which means
+	  pretty much every filters out there.
+	  http://bugzilla.gnome.org/show_bug.cgi?id=751157
+
+2015-06-18 06:31:00 +0200  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>
+
+	* ext/pango/gstbasetextoverlay.c:
+	  basetextoverlay: Log GstVideoOverlayComposition negotiation
+	  https://bugzilla.gnome.org/show_bug.cgi?id=751157
+
+2015-03-25 14:10:10 +0100  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>
+
+	* ext/pango/gstbasetextoverlay.c:
+	* ext/pango/gstbasetextoverlay.h:
+	  basetextoverlay: Receive window size event and adjust rendering
+	  * cache window size event and update handle ratio
+	  * init width with 1, don't use 0
+	  * don't update overlay when receiving same window size
+	  * receive window size from allocation query
+	  https://bugzilla.gnome.org/show_bug.cgi?id=751157
+
+2015-03-19 17:59:16 +0100  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>
+
+	* ext/pango/gstbasetextoverlay.c:
+	* ext/pango/gstbasetextoverlay.h:
+	  basetestoverlay: Pass down meta buffers from upstream that supports GstVideoOverlayComposition
+	  This makes pipelines with multiple textoverlay elements possible.
+	  The meta data is collected from the upstream textoverlay element,
+	  merged into a new GstVideoOverlayComposition and passed down downstream.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=751157
+
+2015-07-10 12:49:01 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
+	  depayloader: Use input segment start
+	  When there is no clock_base provided, the start position is
+	  set to 0 instead of the original segment start value. This
+	  would break synchronization if start was not 0.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=752228
+
+2015-07-16 21:26:30 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/typefind/gsttypefindfunctions.c:
+	  typefindfunctions: add DASH MPD typefinder
+	  Moved from dashdemux plugin in -bad.
+
+2015-07-16 10:07:45 +0900  Vineeth T M <vineeth.tm@samsung.com>
+
+	* tests/examples/seek/jsseek.c:
+	  jsseek: fix memory leaks
+	  ctx, list and visual_entries are not being freed
+	  resulting in memory leaks
+	  https://bugzilla.gnome.org/show_bug.cgi?id=752454
+
+2015-07-16 17:15:33 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/ogg/gstogmparse.c:
+	* ext/pango/gsttextrender.c:
+	* gst/subparse/gstsubparse.c:
+	* gst/videoconvert/gstvideoconvert.c:
+	  Update mailing list address from sourceforge to freedesktop
+
+2015-07-16 10:54:29 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tools/gst-device-monitor.c:
+	  tools: gst-device-monitor: fix props leak
+	  CID 1311942
+
+2015-07-15 18:22:28 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* tools/gst-device-monitor.c:
+	  device-monitor: print device properties
+
+2015-07-15 12:45:10 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/video/gstvideometa.c:
+	* gst-libs/gst/video/gstvideopool.c:
+	* gst-libs/gst/video/video-chroma.c:
+	* gst-libs/gst/video/video-color.c:
+	* gst-libs/gst/video/video-converter.c:
+	* gst-libs/gst/video/video-info.c:
+	* gst-libs/gst/video/video-resampler.c:
+	* gst-libs/gst/video/video-scaler.c:
+	* gst-libs/gst/video/videooverlay.c:
+	* gst/videoscale/gstvideoscale.c:
+	* gst/videotestsrc/videotestsrc.c:
+	  video: improve logging
+	  Add logging categories for most video objects.
+	  Remove some useless debug lines in video-info and videotestsrc.
+	  Add a performance debug line in the video scaler.
+
+2015-07-15 12:46:07 +0900  Vineeth TM <vineeth.tm@samsung.com>
+
+	* tests/examples/seek/jsseek.c:
+	  jsseek: fix tag list leak
+	  tags are being leaked while updating the streams in jsseek
+	  https://bugzilla.gnome.org/show_bug.cgi?id=752400
+
+2015-07-15 10:50:46 +0900  Vineeth TM <vineeth.tm@samsung.com>
+
+	* tests/examples/playback/playback-test.c:
+	  playback-test: fix tag list leak
+	  tags are being leaked while updating the streams in playback-test
+	  https://bugzilla.gnome.org/show_bug.cgi?id=752397
+
+2015-07-14 17:17:34 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/rtsp/gstrtsptransport.h:
+	  rtsp: Include generated enum types in gstrtsptransport.h
+	  GST_TYPE_RTSP_LOWER_TRANS used to be defined in there, not
+	  including the generated file makes older gst-p-good fail to build,
+	  so it constitues an API break.
+
+2015-07-14 15:58:43 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* gst/tcp/gstsocketsrc.c:
+	* gst/tcp/gstsocketsrc.h:
+	  socketsrc: add caps property
+	  Add caps property that allows the src to easily negotiate a format.
+
+2015-07-14 13:00:03 +0900  Vineeth T M <vineeth.tm@samsung.com>
+
+	* tests/examples/playback/playback-test.c:
+	  playback-test: fix memory leak
+	  context during main and filter list during init
+	  visualization are not being freed resulting in memory leak
+	  and app->vis_entries
+	  https://bugzilla.gnome.org/show_bug.cgi?id=752359
+
+2015-07-14 00:03:10 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/playback/gstdecodebin2.c:
+	  decodebin: only try to expose complete groups
+	  When switching to a new chain it might be that this new chain
+	  is not yet ready to be exposed so check it before exposing.
+	  Can happen with mpegts that might delay adding pads or pushing data
+	  until it has found the PMT/PAT/PCR and that may take a while depending
+	  on the stream.
+	  It happened frequently with HLS:
+	  http://vevoplaylist-live.hls.adaptive.level3.net/vevo/ch1/appleman.m3u8
+
+2015-07-14 00:02:40 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/playback/gstdecodebin2.c:
+	  decodebin: fix typo
+	  Hided -> hid
+
+2015-05-27 18:55:20 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
+	* gst-libs/gst/rtp/gstrtpbasedepayload.h:
+	  rtp: rtpbasedepayload: add process_rtp_packet() vfunc
+	  Add process_rtp_packet() vfunc that works just like the
+	  existing process() vfunc only that it takes the GstRTPBuffer
+	  that the base class has already mapped (with MAP_READ),
+	  which means that the subclass doesn't have to map it again,
+	  which allows more performant processing of input buffers
+	  for most RTP depayloaders.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750235
+
+2015-07-10 11:53:24 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/playback/gstplaysink.c:
+	  playsink: Require the streamvolume interface on the sink when using the sink's volume/mute properties
+	  If the sink has properties named volume and mute, we have no idea about their
+	  meaning. The streamvolume interface standardizes the meaning.
+	  In the case of osxaudiosink for example, the current volume property has a
+	  range of 0.0 to 1.0, but we need 0.0 to 10.0 or similar. Also osxaudiosink
+	  has no mute property. As such, the volume element should be used here instead.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=752156
+
+2015-07-09 10:47:20 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* gst-libs/gst/video/video-frame.h:
+	  doc/build: Fix doc typos
+	  This minor update should workaround a build system bug. While the
+	  makefile has been updated to generate more enum type, there is nothing
+	  that updates the header and would lead to the generated code to be
+	  produced again. This minor doc fix should ensure no one get a build with
+	  missing symbols.
+
+2015-07-09 17:20:55 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* win32/common/libgstvideo.def:
+	  Revert "win32 def: Remove video flags symbol that don't exist"
+	  This reverts commit b20cc6a02a007521eabceeceb60356e5a252f38a.
+	  They are actually there in the autogenerated enum header/source file.
+
+2015-07-09 10:15:11 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* win32/common/libgstvideo.def:
+	  win32 def: Remove video flags symbol that don't exist
+	  There has been a some refactoring and these symbols don't exist anynmore.
+	  So remove it from the win32 def. This should fix distcheck.
+
+2015-07-07 19:56:52 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
+	  rtpbasedepayload: fix typo in comment
+
+2015-07-07 15:05:59 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
+	  rtpbasepayload: fix possible segment event leak
+	  Need to clear it when shutting down, not when starting up.
+	  Fixes leak in rtp-payloading unit test.
+
+2015-07-07 22:23:57 +0900  Hyunjun Ko <zzoonis@gmail.com>
+
+	* gst-libs/gst/audio/gstaudiometa.c:
+	* gst-libs/gst/video/gstvideometa.c:
+	* gst-libs/gst/video/video-overlay-composition.c:
+	  video/audio meta: transform_func: return FALSE if not supported or failed
+	  https://bugzilla.gnome.org/show_bug.cgi?id=751778
+
+2015-07-07 19:55:44 +0900  Vineeth T M <vineeth.tm@samsung.com>
+
+	* sys/xvimage/xvimagesink.c:
+	  xvimagesink: refactor to use gst_pad_push_event
+	  Right now navigation events are being sent via gst_pad_send_event
+	  after getting the peer pad of the sinkpad.
+	  But the same functionality can be done using gst_pad_push_event
+	  without need of getting peer pad in xvimagesink.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=752059
+
+2015-07-07 14:32:25 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/Makefile.am:
+	* win32/common/libgstvideo.def:
+	  video: Add some more GTypes for enums
+
+2015-07-02 07:36:12 +0200  Tobias Mueller <muelli@cryptobitch.de>
+
+	* gst-libs/gst/video/video-scaler.c:
+	  GstVideoScaler: Initialised scaling functions to get rid of compiler messages
+	  E.g.
+	  video-scaler.c: In function 'gst_video_scaler_horizontal':
+	  video-scaler.c:1332:3: error: 'func' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+	  func (scale, src, dest, dest_offset, width, n_elems);
+	  ^
+	  video-scaler.c: In function 'gst_video_scaler_vertical':
+	  video-scaler.c:1373:3: error: 'func' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+	  func (scale, src_lines, dest, dest_offset, width, n_elems);
+	  ^
+	  GCC's analyses seem to be correct, for the simple fact that if you pass
+	  get_functions a known format, but no hscale or vscale, it'll return
+	  True without having done anything.
+	  Some callers check for the scale values to be not NULL, but then
+	  hscale->resampler.max_taps could return 0.
+	  A different approach to the one presented in this patch is to check
+	  for those max_taps, too, before calling get_functions.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=752051
+
+2015-07-07 19:45:43 +0900  Vineeth T M <vineeth.tm@samsung.com>
+
+	* sys/ximage/ximagesink.c:
+	  ximagesink: Post navigation events as message on the bus
+	  post unhandled events to bus, so that
+	  application can utilise the same if needed
+	  https://bugzilla.gnome.org/show_bug.cgi?id=752043
+
+2015-07-07 19:35:40 +0900  Vineeth T M <vineeth.tm@samsung.com>
+
+	* sys/ximage/ximagesink.c:
+	  ximagesink: fix navigation event leak
+	  Create event only when pad is created
+	  and send the event to pad.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=752041
+
+2015-07-07 09:31:01 +0900  Vineeth TM <vineeth.tm@samsung.com>
+
+	* sys/xvimage/xvimagesink.c:
+	  xvimagesink: fix pad memory leak
+	  pad is not being freed when xwindow is not created
+	  https://bugzilla.gnome.org/show_bug.cgi?id=752042
+
+2015-07-07 08:53:09 +0900  Vineeth TM <vineeth.tm@samsung.com>
+
+	* tools/gst-play.c:
+	  gst-play: fix memory leak
+	  In gst-play, for GST_MESSAGE_ELEMENT bus message,
+	  event is being allocated through
+	  gst_navigation_message_parse_event, but not freed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=752040
+
+2015-07-03 21:48:52 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* docs/plugins/gst-plugins-base-plugins-sections.txt:
+	* sys/ximage/ximage.c:
+	* sys/ximage/ximagepool.c:
+	* sys/ximage/ximagepool.h:
+	* sys/ximage/ximagesink.c:
+	* sys/ximage/ximagesink.h:
+	* sys/xvimage/xvcontext.c:
+	* sys/xvimage/xvimage.c:
+	* sys/xvimage/xvimagepool.c:
+	* sys/xvimage/xvimagesink.c:
+	* sys/xvimage/xvimagesink.h:
+	  x/xv_image_sink: rename for consitency
+	  Insert '_' to match the CamelCase. This is needed so that the plugin docs can
+	  guess the names from the type name.
+
+2015-07-03 21:35:32 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
+	  docs: update master doc for plugins
+
+2015-07-06 10:05:53 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/typefind/gsttypefindfunctions.c:
+	  typefind: also check moof to recognize video/quicktime
+	  Helps recognizing fragmented files with the right type
+
+2015-07-06 15:36:07 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* docs/libs/gst-plugins-base-libs-sections.txt:
+	* win32/common/libgstvideo.def:
+	  docs: Add new symbols to the docs and .def files
+
+2015-07-06 12:53:15 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/audio/audio-info.h:
+	* gst-libs/gst/video/video-info.h:
+	  {audio,video}info: Add GST_TYPE_{AUDIO,VIDEO}_INFO macros
+
+2015-07-06 11:36:58 +0200  Marcin Kolny <marcin.kolny@flytronic.pl>
+
+	* gst-libs/gst/video/video-info.c:
+	* gst-libs/gst/video/video-info.h:
+	  video-info: implement GstVideoInfo as boxed type
+	  GstVideoInfo usually is created on the stack, but boxed type can be useful
+	  for bindings.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=752011
+
+2015-07-02 20:50:00 +0200  Stian Selnes <stian@pexip.com>
+
+	* gst-libs/gst/rtp/gstrtcpbuffer.c:
+	* tests/check/libs/rtp.c:
+	  rtcpbuffer: Fix validation of packets with padding
+	  The padding (if any) is included in the length of the last packet, see
+	  RFC 3550.
+	  Section 6.4.1:
+	  padding (P): 1 bit
+	  If the padding bit is set, this individual RTCP packet contains
+	  some additional padding octets at the end which are not part of
+	  the control information but are included in the length field. The
+	  last octet of the padding is a count of how many padding octets
+	  should be ignored, including itself (it will be a multiple of
+	  four).
+	  Section A.2:
+	  *  The padding bit (P) should be zero for the first packet of a
+	  compound RTCP packet because padding should only be applied, if it
+	  is needed, to the last packet.
+	  *  The length fields of the individual RTCP packets must add up to
+	  the overall length of the compound RTCP packet as received.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=751883
+
+2015-07-01 17:09:35 +0200  Stian Selnes <stian@pexip.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	  videodecoder: Fix setting default pixel-aspect-ratio
+	  It's needed to check if pixel-aspect-ratio exists before fixating.
+	  It does not exist if input caps is not set yet and allowed caps
+	  does not contain pixel-aspect-ratio (e.g. when using GST_VIDEO_CAPS_MAKE)
+	  https://bugzilla.gnome.org/show_bug.cgi?id=751932
+
+2015-07-03 21:58:04 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* common:
+	  Automatic update of common submodule
+	  From f74b2df to 9aed1d7
+
+2015-07-03 21:16:27 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* docs/plugins/gst-plugins-base-plugins-sections.txt:
+	* ext/cdparanoia/gstcdparanoiasrc.h:
+	* gst/adder/gstadder.h:
+	* gst/tcp/gstmultisocketsink.h:
+	  docs: order and canonicalize the -sections.txt file
+	  Have all sections in alphabetical order. Also make the macro order consistent.
+	  This is a preparation for generating the file. Remove GET_CLASS macro for
+	  some elements, since it is not used and the header is not installed.
+
+2015-07-03 21:09:29 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/cdparanoia/gstcdparanoiasrc.h:
+	  cdparanoiasrc: remove unused defines
+
+2015-07-03 21:08:03 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/videoscale/gstvideoscale.c:
+	* gst/videoscale/gstvideoscale.h:
+	  videoscale: fix debug categories
+	  Use a local category for the default category and fix the import for the
+	  performance category.
+
+2015-07-02 10:47:45 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/pango/gstbasetextoverlay.c:
+	  basetextoverlay: Fix bug with unused upstream_has_meta
+	  The intention was to skip the allocation query if upstream has decided
+	  to use the overlay meta feature in the caps. We can safely assume that
+	  upstream have done that query already before making this decision. This
+	  is an optimization since doing allocation queries is relatively
+	  expensive.
+	  CID #1308943
+
+2015-07-02 10:27:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/pango/gstbasetextoverlay.c:
+	  Revert "basetextoverlay: remove dead code"
+	  This reverts commit e863e5f8a98ceec0ec0bd24274bbae8795e0ab75.
+
+2015-07-02 14:52:47 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/pango/gstbasetextoverlay.c:
+	  basetextoverlay: remove dead code
+	  upstream_has_meta is set to FALSE and never changed. The two checks for if
+	  upstream_has_meta will never go to the true branch. Removing the boolean
+	  and the true branches of these checks.
+	  CID #1308943
+
+2015-07-02 13:15:58 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/audio/gstaudioencoder.c:
+	  audioencoder: Don't try to get buffers from an empty adapter
+
+2015-07-01 10:58:07 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/audio/gstaudiodecoder.c:
+	* gst-libs/gst/audio/gstaudioencoder.c:
+	* gst-libs/gst/video/gstvideodecoder.c:
+	* gst-libs/gst/video/gstvideoencoder.c:
+	  {audio,video}{en,de}oder: Also copy POOL metas and make sure to copy over metas when creating subbuffers
+	  POOL meta just means that this specific instance of the meta is related to a
+	  pool, a copy should be made when reasonable and the flag should just not be
+	  set in the copy.
+
+2015-06-29 18:00:17 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/audio/gstaudiodecoder.c:
+	* gst-libs/gst/audio/gstaudiodecoder.h:
+	  audiodecoder: Add transform_meta() vfunc with default implementation
+	  The default implementation copies all metadata without tags, and metadata
+	  with only the audio tag. Same behaviour as in GstAudioFilter.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742385
+
+2015-06-29 17:38:38 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/audio/gstaudioencoder.c:
+	* gst-libs/gst/audio/gstaudioencoder.h:
+	  audioencoder: Add transform_meta() vfunc with default implementation
+	  The default implementation copies all metadata without tags, and metadata
+	  with only the audio tag. Same behaviour as in GstAudioFilter.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742385
+
+2015-06-29 15:58:38 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	* gst-libs/gst/video/gstvideodecoder.h:
+	  videodecoder: Add transform_meta() vfunc with default implementation
+	  The default implementation copies all metadata without tags, and metadata
+	  with only the video tag. Same behaviour as in GstVideoFilter.
+	  This currently does not work if the ::parse() vfunc is implemented as all
+	  metas are getting lost inside GstAdapter.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742385
+
+2015-06-29 13:59:25 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoencoder.c:
+	* gst-libs/gst/video/gstvideoencoder.h:
+	  videoencoder: Add transform_meta() vfunc with default implementation
+	  The default implementation copies all metadata without tags, and metadata
+	  with only the video tag. Same behaviour as in GstVideoFilter.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742385
+
+2015-06-30 10:37:27 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
+	  rtpbaseaudiopayload: Don't copy memory if not needed, just append payload to the RTP buffer
+
+2015-06-30 07:26:00 +0900  danny song <danny.song.ga@gmail.com>
+
+	* gst/playback/gstplaybin2.c:
+	  playbin: remove unnecessary break
+	  https://bugzilla.gnome.org/show_bug.cgi?id=751690
+
+2015-06-29 16:16:06 +0100  Luis de Bethencourt <luis@debethencourt.com>
+
+	* gst-libs/gst/video/video-scaler.c:
+	  videoscaler: remove check for below zero for unsigned value
+	  CLAMP checks both if value is '< 0' and '> max'. Value will never be a negative
+	  number since it is a division of an unsigned integer (i). Removing that check
+	  and only checking if it is bigger than max and setting it appropriately.
+	  CID #1308950
+
+2015-06-29 13:06:59 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audioresample/gstaudioresample.c:
+	  audioresample: Also copy metas if their API has no tags attached to it
+	  This is the default basetransform behaviour, being more strict than that
+	  is not really useful.
+
+2015-06-29 13:06:49 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audioconvert/gstaudioconvert.c:
+	  audioconvert: Also copy metas if their API has no tags attached to it
+	  This is the default basetransform behaviour, being more strict than that
+	  is not really useful.
+
+2015-06-29 13:06:33 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/audio/gstaudiofilter.c:
+	  audiofilter: Also copy metas if their API has no tags attached to it
+	  This is the default basetransform behaviour, being more strict than that
+	  is not really useful.
+
+2015-06-29 13:05:54 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideofilter.c:
+	  videofilter: Also copy metas if their API has no tags attached to it
+	  This is the default basetransform behaviour, being more strict than that
+	  is not really useful.
+
+2015-06-25 00:04:11 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	  Back to development
+
+=== release 1.5.2 ===
+
+2015-06-24 23:24:01 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ChangeLog:
+	* NEWS:
+	* RELEASE:
+	* configure.ac:
+	* docs/plugins/gst-plugins-base-plugins.args:
+	* docs/plugins/inspect/plugin-adder.xml:
+	* docs/plugins/inspect/plugin-alsa.xml:
+	* docs/plugins/inspect/plugin-app.xml:
+	* docs/plugins/inspect/plugin-audioconvert.xml:
+	* docs/plugins/inspect/plugin-audiorate.xml:
+	* docs/plugins/inspect/plugin-audioresample.xml:
+	* docs/plugins/inspect/plugin-audiotestsrc.xml:
+	* docs/plugins/inspect/plugin-cdparanoia.xml:
+	* docs/plugins/inspect/plugin-encoding.xml:
+	* docs/plugins/inspect/plugin-gio.xml:
+	* docs/plugins/inspect/plugin-libvisual.xml:
+	* docs/plugins/inspect/plugin-ogg.xml:
+	* docs/plugins/inspect/plugin-pango.xml:
+	* docs/plugins/inspect/plugin-playback.xml:
+	* docs/plugins/inspect/plugin-subparse.xml:
+	* docs/plugins/inspect/plugin-tcp.xml:
+	* docs/plugins/inspect/plugin-theora.xml:
+	* docs/plugins/inspect/plugin-typefindfunctions.xml:
+	* docs/plugins/inspect/plugin-videoconvert.xml:
+	* docs/plugins/inspect/plugin-videorate.xml:
+	* docs/plugins/inspect/plugin-videoscale.xml:
+	* docs/plugins/inspect/plugin-videotestsrc.xml:
+	* docs/plugins/inspect/plugin-volume.xml:
+	* docs/plugins/inspect/plugin-vorbis.xml:
+	* docs/plugins/inspect/plugin-ximagesink.xml:
+	* docs/plugins/inspect/plugin-xvimagesink.xml:
+	* gst-plugins-base.doap:
+	* win32/common/_stdint.h:
+	* win32/common/config.h:
+	* win32/common/video-enumtypes.c:
+	* win32/common/video-enumtypes.h:
+	  Release 1.5.2
 
 2015-06-24 22:49:29 +0200  Sebastian Dröge <sebastian@centricular.com>
 
diff --git a/Makefile.in b/Makefile.in
index 000ba41..17f7f96 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -25,7 +25,17 @@
 #
 # set CRUFT_FILES and/or CRUFT_DIRS in your Makefile.am when you include this
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -89,15 +99,6 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-DIST_COMMON = $(top_srcdir)/common/win32.mak \
-	$(top_srcdir)/common/release.mak $(top_srcdir)/common/po.mak \
-	$(top_srcdir)/common/coverage/lcov.mak \
-	$(top_srcdir)/common/cruft.mak INSTALL NEWS README AUTHORS \
-	ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/configure $(am__configure_deps) \
-	$(srcdir)/config.h.in $(srcdir)/gst-plugins-base.spec.in \
-	ABOUT-NLS COPYING COPYING.LIB compile config.guess \
-	config.rpath config.sub depcomp install-sh missing ltmain.sh
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -135,6 +136,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+	$(am__configure_deps) $(am__DIST_COMMON)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
  configure.lineno config.status.lineno
 mkinstalldirs = $(install_sh) -d
@@ -197,6 +200,14 @@
 ETAGS = etags
 CTAGS = ctags
 CSCOPE = cscope
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
+	$(srcdir)/gst-plugins-base.spec.in \
+	$(top_srcdir)/common/coverage/lcov.mak \
+	$(top_srcdir)/common/cruft.mak $(top_srcdir)/common/po.mak \
+	$(top_srcdir)/common/release.mak \
+	$(top_srcdir)/common/win32.mak ABOUT-NLS AUTHORS COPYING \
+	COPYING.LIB ChangeLog INSTALL NEWS README compile config.guess \
+	config.rpath config.sub depcomp install-sh ltmain.sh missing
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -619,7 +630,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -629,7 +639,7 @@
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/common/win32.mak $(top_srcdir)/common/release.mak $(top_srcdir)/common/po.mak $(top_srcdir)/common/coverage/lcov.mak $(top_srcdir)/common/cruft.mak:
+$(top_srcdir)/common/win32.mak $(top_srcdir)/common/release.mak $(top_srcdir)/common/po.mak $(top_srcdir)/common/coverage/lcov.mak $(top_srcdir)/common/cruft.mak $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	$(SHELL) ./config.status --recheck
@@ -855,15 +865,15 @@
 	$(am__post_remove_distdir)
 
 dist-tarZ: distdir
-	@echo WARNING: "Support for shar distribution archives is" \
-	               "deprecated." >&2
+	@echo WARNING: "Support for distribution archives compressed with" \
+		       "legacy program 'compress' is deprecated." >&2
 	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
 	$(am__post_remove_distdir)
 
 dist-shar: distdir
-	@echo WARNING: "Support for distribution archives compressed with" \
-		       "legacy program 'compress' is deprecated." >&2
+	@echo WARNING: "Support for shar distribution archives is" \
+	               "deprecated." >&2
 	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
 	$(am__post_remove_distdir)
@@ -899,18 +909,18 @@
 	esac
 	chmod -R a-w $(distdir)
 	chmod u+w $(distdir)
-	mkdir $(distdir)/_build $(distdir)/_inst
+	mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
 	chmod a-w $(distdir)
 	test -d $(distdir)/_build || exit 0; \
 	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
 	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
 	  && $(MAKE) $(AM_MAKEFLAGS) distcheck-hook \
 	  && am__cwd=`pwd` \
-	  && $(am__cd) $(distdir)/_build \
-	  && ../configure \
+	  && $(am__cd) $(distdir)/_build/sub \
+	  && ../../configure \
 	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
 	    $(DISTCHECK_CONFIGURE_FLAGS) \
-	    --srcdir=.. --prefix="$$dc_install_base" \
+	    --srcdir=../.. --prefix="$$dc_install_base" \
 	  && $(MAKE) $(AM_MAKEFLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
 	  && $(MAKE) $(AM_MAKEFLAGS) check \
@@ -1088,6 +1098,8 @@
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 win32-debug:
 	@echo; \
diff --git a/NEWS b/NEWS
index 38029cf..b72cc4e 100644
--- a/NEWS
+++ b/NEWS
@@ -1,2 +1,2 @@
-This is GStreamer Base Plugins 1.5.2
+This is GStreamer Base Plugins 1.5.90
 
diff --git a/RELEASE b/RELEASE
index b754bf3..fa4e692 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,17 +1,16 @@
 
-Release notes for GStreamer Base Plugins 1.5.2
+Release notes for GStreamer Base Plugins 1.5.90
 
 
-The GStreamer team is pleased to announce the second release of the unstable
-1.5 release series. The 1.5 release series is adding new features on top of
+The GStreamer team is pleased to announce the first release candidate for the
+stable 1.6 release series. The 1.6 release series is adding new features on top of
 the 1.0, 1.2 and 1.4 series and is part of the API and ABI-stable 1.x release
-series of the GStreamer multimedia framework. The unstable 1.5 release series
-will lead to the stable 1.6 release series in the next weeks, and newly added
-API can still change until that point.
+series of the GStreamer multimedia framework. The final 1.6.0 release is planned
+in the next few days unless any major bugs are found.
 
 
-Binaries for Android, iOS, Mac OS X and Windows will be provided separately
-during the unstable 1.5 release series.
+Binaries for Android, iOS, Mac OS X and Windows will be provided separately by
+the GStreamer project.
 
 
 
@@ -61,23 +60,38 @@
 
 Bugs fixed in this release
      
-      * 708362 : audiobasesink: new slave-method for custom clock slaving algorithms
-      * 748908 : playsink: cannot enable text flag while playing
-      * 749039 : x11: X and XV imagesink don't need to cache the pools
-      * 749243 : textoverlay: gltestsrc ! textoverlay ! fakesink does not work
-      * 749764 : videoscaler: invalid memory access when downscaling in some cases
-      * 749823 : basetextoverlay: add properties for toggling drawing text shadow and outline
-      * 750013 : playbin: seeking halts playback with gst-play-1.0 gapless
-      * 750455 : xvimagesink, ximagesink: set WM_CLASS for the window
-      * 750585 : gst-play: sort directory entries
-      * 750691 : playsink: fix the channel of color balance element
-      * 750785 : playbin: assrender is not used anymore when available
-      * 750802 : typefind: UTF-8 MSS manifest parsing support
-      * 750823 : discoverer test racy
-      * 751000 : oggdemux: crash with validate.http.media_check.vorbis_theora_1_ogg
-      * 751118 : playbin: current-suburi does not return correct status when an invalid SUBURI is passed
-      * 751144 : audioringbuffer: Fix alaw/mulaw channel positions
-      * 751213 : tools: gst-play: fix seeking issue
+      * 728636 : textoverlay: cuts off right edge italicised text
+      * 737427 : appsink: Can't influence allocation query to satisfy user needs
+      * 742385 : video/audio encoders/decoders: need API to determine when to copy over GstMetas and when to drop them
+      * 746010 : oggdemux: doesn't go into pull mode even when queue2 ring-buffer is enabled
+      * 748635 : videorate: caps negotiation regression
+      * 750235 : [API] rtpbasedepayload: add process_rtp_packet() vfunc
+      * 751147 : appsink: pull_preroll returns wrong segment in the sample
+      * 751690 : playbin : remove unnecessary break
+      * 751883 : rtcpbuffer: Fix validation of packets with padding
+      * 751932 : GstVideoDecoder: Fix setting default pixel-aspect-ratio
+      * 752011 : video: Add boxed type for GstVideoInfo structure
+      * 752040 : gst-play: fix memory leak
+      * 752041 : ximagesink: fix navigation event leak
+      * 752042 : xvimagesink: fix pad memory leak
+      * 752043 : ximagesink: Post navigation events as message on the bus
+      * 752051 : GstVideoScaler:  Initialised scaling functions to get rid of compiler messages
+      * 752059 : xvimagesink: refactor to use gst_pad_push_event
+      * 752111 : rtpbasedepayload: Fix minor leak of segment event
+      * 752156 : playsink: Require streamvolume interface for sink volumes for standardized behaviour
+      * 752228 : payloader/depayload: Wrong segment handling
+      * 752359 : playback-test: fix memory leak
+      * 752397 : playback-test: fix tag list leak
+      * 752400 : jsseek: fix tag list leak
+      * 752436 : typefind: Treat *.umx (Unreal Music Package) as audio/x-mod
+      * 752454 : jsseek: fix memory leaks
+      * 753001 : rtp buffer: NULL GstBuffer pointer being passed within gst_rtp_buffer_set_extension_data
+      * 753078 : oggdemux: Segfault on state-change intensive test
+      * 753088 : decodebin: fix deadend_details string leak
+      * 753360 : videodecoder: pushes gap before segment
+      * 753483 : videorate: add support for bayer formats
+      * 753701 : discoverer: Few trivial fixes in handling error cases
+      * 611157 : video: API to signal stereoscopic and multiview video
 
 ==== Download ====
 
@@ -114,28 +128,29 @@
         
 Contributors to this release
     
-      * Arun Raghavan
-      * Brijesh Singh
-      * Carlos Rafael Giani
+      * Brian Peters
       * Edward Hervey
-      * Guillaume Desmottes
+      * George Kiagiadakis
+      * Hyunjun Ko
       * Jan Schmidt
-      * Lazar Claudiu
+      * Joan Pau Beltran
+      * Lubosz Sarnecki
       * Luis de Bethencourt
-      * Lyon Wang
-      * Matej Knopp
+      * Marcin Kolny
+      * Myoungsun Lee
       * Nicolas Dufresne
-      * Philippe Normand
+      * Olivier Crête
+      * Rico Tzschichholz
       * Sebastian Dröge
-      * Song Bing
-      * Sreerenj Balachandran
       * Stefan Sauer
-      * Thibault Saunier
+      * Stian Selnes
+      * Thiago Santos
       * Tim-Philipp Müller
+      * Tobias Mueller
+      * Ville Skyttä
       * Vineeth T M
       * Vineeth TM
       * Vivia Nikolaidou
-      * Víctor Manuel Jáquez Leal
       * Wim Taymans
-      * Xavier Claessens
+      * danny song
  
\ No newline at end of file
diff --git a/aclocal.m4 b/aclocal.m4
index 5bb944e..b833ab2 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15 -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -20,7 +20,7 @@
 If you have problems, you may need to regenerate the build system entirely.
 To do so, use the procedure documented by the package, typically 'autoreconf'.])])
 
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -32,10 +32,10 @@
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.14'
+[am__api_version='1.15'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.14.1], [],
+m4_if([$1], [1.15], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,14 +51,14 @@
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.14.1])dnl
+[AM_AUTOMAKE_VERSION([1.15])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -110,7 +110,7 @@
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -141,7 +141,7 @@
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -332,7 +332,7 @@
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -408,7 +408,7 @@
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -498,8 +498,8 @@
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
@@ -573,6 +573,9 @@
     AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
   fi
 fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
 ])
 
 dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
@@ -602,7 +605,7 @@
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -613,7 +616,7 @@
 # Define $install_sh.
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -623,7 +626,7 @@
 fi
 AC_SUBST([install_sh])])
 
-# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -645,7 +648,7 @@
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -680,7 +683,7 @@
 
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -730,7 +733,7 @@
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -767,7 +770,7 @@
 fi
 ])
 
-# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -801,7 +804,7 @@
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -830,7 +833,7 @@
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -877,7 +880,7 @@
 # For backward compatibility.
 AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1112,7 +1115,7 @@
 sys.exit(sys.hexversion < minverhex)"
   AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1131,7 +1134,7 @@
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1212,7 +1215,7 @@
 rm -f conftest.file
 ])
 
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1272,7 +1275,7 @@
 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
 ])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1300,7 +1303,7 @@
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1319,7 +1322,7 @@
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/common/Makefile.in b/common/Makefile.in
index 870528d..e808a10 100644
--- a/common/Makefile.in
+++ b/common/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,8 +89,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = common
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ChangeLog \
-	README
 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 \
@@ -117,6 +125,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -176,6 +185,7 @@
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in ChangeLog README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -532,7 +542,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu common/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu common/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -827,6 +836,8 @@
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/common/gstdoc-scangobj b/common/gstdoc-scangobj
index 4ad9786..906857c 100755
--- a/common/gstdoc-scangobj
+++ b/common/gstdoc-scangobj
@@ -110,6 +110,8 @@
 my $new_prerequisites_filename = "$OUTPUT_DIR/$MODULE.prerequisites.new";
 my $old_args_filename = "$OUTPUT_DIR/$MODULE.args";
 my $new_args_filename = "$OUTPUT_DIR/$MODULE.args.new";
+my $old_sections_filename = "$OUTPUT_DIR/$MODULE-sections";
+my $new_sections_filename = "$OUTPUT_DIR/$MODULE-sections.new";
 
 my $debug_log="g_message";
 if (!defined($VERBOSE) or $VERBOSE eq "0") {
@@ -437,32 +439,30 @@
 const gchar *interfaces_filename = "$new_interfaces_filename";
 const gchar *prerequisites_filename = "$new_prerequisites_filename";
 const gchar *args_filename = "$new_args_filename";
+const gchar *sections_filename = "$new_sections_filename";
 
 
 static void output_signals (void);
-static void output_object_signals (FILE *fp,
-				   GType object_type);
-static void output_object_signal (FILE *fp,
-				  const gchar *object_class_name,
+static void output_object_signals (FILE *fp, GType object_type);
+static void output_object_signal (FILE *fp, const gchar *object_class_name,
 				  guint signal_id);
-static const gchar * get_type_name (GType type,
-			            gboolean * is_pointer);
+static const gchar * get_type_name (GType type, gboolean * is_pointer);
 static void output_object_hierarchy (void);
-static void output_hierarchy (FILE *fp,
-			      GType type,
-			      guint level);
+static void output_hierarchy (FILE *fp, GType type, guint level);
 
 static void output_object_interfaces (void);
-static void output_interfaces (FILE *fp,
-			       GType type);
+static void output_interfaces (FILE *fp, GType type);
 
 static void output_interface_prerequisites (void);
-static void output_prerequisites (FILE *fp,
-			          GType type);
+static void output_prerequisites (FILE *fp, GType type);
 
 static void output_args (void);
 static void output_object_args (FILE *fp, GType object_type);
 
+static void output_sections (void);
+static void output_object_section (FILE *fp, GType object_type);
+
+
 int
 main (G_GNUC_UNUSED int argc, G_GNUC_UNUSED char *argv[])
 {
@@ -475,6 +475,8 @@
   output_object_interfaces ();
   output_interface_prerequisites ();
   output_args ();
+  
+  output_sections ();
 
   return 0;
 }
@@ -1570,6 +1572,139 @@
     break;
   }
 }
+
+static void
+output_sections (void)
+{
+  FILE *fp;
+  gint i;
+
+  fp = fopen (sections_filename, "w");
+  if (fp == NULL)
+    {
+      g_warning ("Couldn't open output file: %s : %s", sections_filename, g_strerror(errno));
+      return;
+    }
+
+  for (i = 0; object_types[i]; i++) { }
+  qsort (object_types, i, sizeof (GType), compare_types);
+    
+  for (i = 0; object_types[i]; i++) {
+    output_object_section (fp, object_types[i]);
+  }
+
+  fclose (fp);
+}
+
+static gboolean
+find_by_type (GstPluginFeature *f, gpointer data) {
+  return (GST_IS_ELEMENT_FACTORY(f) && 
+      ((GType)data == gst_element_factory_get_element_type (GST_ELEMENT_FACTORY(f))));
+}
+
+static void
+output_object_section (FILE *fp, GType object_type)
+{
+  /* e.g. GstFakeSink */
+  const gchar *tn = g_type_name (object_type);
+  const gchar *cct = &tn[3]; /* cut 'Gst' */
+  gchar *title, *lct, *uct;
+  gint i, j, l = strlen(cct);
+  gpointer class;
+  GParamSpec **properties;
+  guint n_properties;
+  const gchar *ptn;
+  gchar *ptns;
+  GString *strbuf = g_string_new (NULL);
+  GList *fl;
+  GstPluginFeature *f = NULL;
+  gboolean need_unserscore = TRUE, have_abbrev = FALSE;
+  
+  fl = gst_registry_feature_filter (gst_registry_get(), find_by_type, TRUE, 
+    (gpointer)object_type);
+  if (fl) {
+    f = fl->data;
+    g_list_free(fl);
+  }
+  if (f) {
+    title = g_strdup (gst_plugin_feature_get_name(f));
+    g_object_unref (f);
+  } else {
+    title = g_ascii_strdown(cct, -1);
+  }
+  
+  /* turn CamelCase into '_' separated all lower, resulting string is atmost
+   * twice as long, special casing for abbevs like GstTCPClientSink */
+  lct = g_malloc(2*l);
+  for (i = 0, j = 0; i < l; i++) {
+    if (g_ascii_isupper (cct[i])) {
+      if (need_unserscore) {
+        if (i > 0) {
+          lct[j++] = '_';
+        }
+      } else {
+        have_abbrev = TRUE;
+      }
+      lct[j++] = g_ascii_tolower(cct[i]);
+      need_unserscore = FALSE;
+    } else {
+      if (have_abbrev) {
+        lct[j] = lct[j-1];
+        lct[j-1] = '_';
+        j++;
+        have_abbrev = FALSE;
+      }
+      lct[j++] = cct[i];
+      need_unserscore = TRUE;
+    }
+  }
+  lct[j] = '\\0';
+  uct = g_ascii_strup(lct, -1);
+  
+  /* scan properties and find local enums */
+  class = g_type_class_peek (object_type);
+  properties = g_object_class_list_properties (class, &n_properties);
+  qsort (properties, n_properties, sizeof (GParamSpec *), compare_param_specs);
+  for (i = 0; i < n_properties; i++) {
+    GParamSpec *spec = properties[i];
+    if (!(G_IS_PARAM_SPEC_ENUM (spec) || G_IS_PARAM_SPEC_FLAGS (spec))) {
+      continue;
+    }
+    ptn = g_type_name(spec->value_type);
+    // does it start with tn?
+    if (strncmp(tn, ptn, strlen(tn))) {
+      continue;
+    }
+    g_string_append_c(strbuf, '\\n');
+    g_string_append(strbuf, ptn);
+  }
+  ptns = g_string_free (strbuf, FALSE);
+
+  /* later we can remove the SUBSECTION Standart/Private, since we only need to
+   * highlight what is public API */
+  fprintf (fp, "<SECTION>\\n"
+               "<FILE>element-%s</FILE>\\n"
+               "<TITLE>%s</TITLE>\\n"
+               "Gst%s%s\\n"
+               "<SUBSECTION Standard>\\n"
+               "Gst%sClass\\n"
+               "GST_%s\\n"
+               "GST_%s_CAST\\n"
+               "GST_IS_%s\\n"
+               "GST_%s_CLASS\\n"
+               "GST_IS_%s_CLASS\\n"
+               "GST_TYPE_%s\\n"
+               "<SUBSECTION Private>\\n"
+               "gst_%s_get_type\\n"
+               "</SECTION>\\n\\n",
+               title, title, cct, ptns, 
+               cct, uct, uct, uct, uct, uct, uct, lct);
+  g_free (title);
+  g_free (lct);
+  g_free (uct);
+  g_free (ptns);
+}
+
 EOT
 
 close OUTPUT;
@@ -1614,4 +1749,4 @@
 #&UpdateFileIfChanged ($old_prerequisites_filename, $new_prerequisites_filename, 0);
 #&UpdateFileIfChanged ($old_signals_filename, $new_signals_filename, 0);
 #&UpdateFileIfChanged ($old_args_filename, $new_args_filename, 0);
-
+#&UpdateFileIfChanged ($old_sections_filename, $new_sections_filename, 0);
diff --git a/common/m4/Makefile.in b/common/m4/Makefile.in
index 12af4fe..795fb54 100644
--- a/common/m4/Makefile.in
+++ b/common/m4/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,7 +89,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = common/m4
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README
 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 \
@@ -116,6 +125,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -140,6 +150,7 @@
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -491,7 +502,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu common/m4/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu common/m4/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -666,6 +676,8 @@
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/compile b/compile
index 531136b..a85b723 100755
--- a/compile
+++ b/compile
@@ -3,7 +3,7 @@
 
 scriptversion=2012-10-14.11; # UTC
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 # Written by Tom Tromey <tromey@cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
diff --git a/configure b/configure
index 039b190..4621d74 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 Base Plug-ins 1.5.2.
+# Generated by GNU Autoconf 2.69 for GStreamer Base Plug-ins 1.5.90.
 #
 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>.
 #
@@ -591,8 +591,8 @@
 # Identity of this package.
 PACKAGE_NAME='GStreamer Base Plug-ins'
 PACKAGE_TARNAME='gst-plugins-base'
-PACKAGE_VERSION='1.5.2'
-PACKAGE_STRING='GStreamer Base Plug-ins 1.5.2'
+PACKAGE_VERSION='1.5.90'
+PACKAGE_STRING='GStreamer Base Plug-ins 1.5.90'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
 PACKAGE_URL=''
 
@@ -1778,7 +1778,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 Base Plug-ins 1.5.2 to adapt to many kinds of systems.
+\`configure' configures GStreamer Base Plug-ins 1.5.90 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1850,7 +1850,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GStreamer Base Plug-ins 1.5.2:";;
+     short | recursive ) echo "Configuration of GStreamer Base Plug-ins 1.5.90:";;
    esac
   cat <<\_ACEOF
 
@@ -2145,7 +2145,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GStreamer Base Plug-ins configure 1.5.2
+GStreamer Base Plug-ins configure 1.5.90
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2918,7 +2918,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 Base Plug-ins $as_me 1.5.2, which was
+It was created by GStreamer Base Plug-ins $as_me 1.5.90, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3411,7 +3411,7 @@
 
 
 
-am__api_version='1.14'
+am__api_version='1.15'
 
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
@@ -3603,7 +3603,7 @@
 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -3897,7 +3897,7 @@
 
 # Define the identity of the package.
  PACKAGE='gst-plugins-base'
- VERSION='1.5.2'
+ VERSION='1.5.90'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3931,8 +3931,8 @@
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 mkdir_p='$(MKDIR_P)'
 
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 # Always define AMTAR for backward compatibility.  Yes, it's still used
 # in the wild :-(  We should find a proper way to deprecate it ...
 AMTAR='$${TAR-tar}'
@@ -4108,9 +4108,9 @@
 
 
 
-  PACKAGE_VERSION_MAJOR=$(echo 1.5.2 | cut -d'.' -f1)
-  PACKAGE_VERSION_MINOR=$(echo 1.5.2 | cut -d'.' -f2)
-  PACKAGE_VERSION_MICRO=$(echo 1.5.2 | cut -d'.' -f3)
+  PACKAGE_VERSION_MAJOR=$(echo 1.5.90 | cut -d'.' -f1)
+  PACKAGE_VERSION_MINOR=$(echo 1.5.90 | cut -d'.' -f2)
+  PACKAGE_VERSION_MICRO=$(echo 1.5.90 | cut -d'.' -f3)
 
 
 
@@ -4121,7 +4121,7 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
 $as_echo_n "checking nano version... " >&6; }
 
-  NANO=$(echo 1.5.2 | cut -d'.' -f4)
+  NANO=$(echo 1.5.90 | cut -d'.' -f4)
 
   if test x"$NANO" = x || test "x$NANO" = "x0" ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -8770,10 +8770,10 @@
 done
 
 
-  GST_CURRENT=502
+  GST_CURRENT=590
   GST_REVISION=0
-  GST_AGE=502
-  GST_LIBVERSION=502:0:502
+  GST_AGE=590
+  GST_LIBVERSION=590:0:590
 
 
 
@@ -13098,7 +13098,7 @@
 
 
 
-GST_REQ=1.5.2
+GST_REQ=1.5.90
 
 
 
@@ -32041,7 +32041,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by GStreamer Base Plug-ins $as_me 1.5.2, which was
+This file was extended by GStreamer Base Plug-ins $as_me 1.5.90, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -32107,7 +32107,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 Base Plug-ins config.status 1.5.2
+GStreamer Base Plug-ins config.status 1.5.90
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index 9d95d60..7e32011 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/prerelease
-AC_INIT([GStreamer Base Plug-ins],[1.5.2],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-base])
+AC_INIT([GStreamer Base Plug-ins],[1.5.90],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-base])
 
 AG_GST_INIT
 
@@ -56,10 +56,10 @@
 dnl      1.10.9 (who knows) => 1009
 dnl
 dnl sets GST_LT_LDFLAGS
-AS_LIBTOOL(GST, 502, 0, 502)
+AS_LIBTOOL(GST, 590, 0, 590)
 
 dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.5.2
+GST_REQ=1.5.90
 
 dnl *** autotools stuff ****
 
diff --git a/depcomp b/depcomp
index 4ebd5b3..fc98710 100755
--- a/depcomp
+++ b/depcomp
@@ -3,7 +3,7 @@
 
 scriptversion=2013-05-30.07; # UTC
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/docs/Makefile.in b/docs/Makefile.in
index 2a6c07c..f1e8064 100644
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,8 +89,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = docs
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(srcdir)/version.entities.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 \
@@ -117,6 +125,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES = version.entities
@@ -175,6 +184,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/version.entities.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -517,7 +527,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu docs/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -814,6 +823,8 @@
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 upload:
 	@if test "x$(SUBDIRS)" != x; then for a in $(SUBDIRS); do cd $$a; make upload; cd ..; done; fi
diff --git a/docs/design/Makefile.in b/docs/design/Makefile.in
index 7bba46f..383f5f7 100644
--- a/docs/design/Makefile.in
+++ b/docs/design/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,7 +89,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = docs/design
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 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 \
@@ -116,6 +125,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -175,6 +185,7 @@
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -525,7 +536,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/design/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu docs/design/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -820,6 +830,8 @@
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/docs/libs/Makefile.in b/docs/libs/Makefile.in
index 91aee18..2252615 100644
--- a/docs/libs/Makefile.in
+++ b/docs/libs/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -33,7 +33,17 @@
 ###########################################################################
 # thomas: except of course that we did
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -97,9 +107,6 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-DIST_COMMON = $(top_srcdir)/common/upload-doc.mak \
-	$(top_srcdir)/common/gtk-doc.mak $(srcdir)/Makefile.in \
-	$(srcdir)/Makefile.am
 subdir = docs/libs
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -137,6 +144,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -161,6 +169,9 @@
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/common/gtk-doc.mak \
+	$(top_srcdir)/common/upload-doc.mak
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -595,7 +606,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/libs/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu docs/libs/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -604,7 +614,7 @@
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/common/upload-doc.mak $(top_srcdir)/common/gtk-doc.mak:
+$(top_srcdir)/common/upload-doc.mak $(top_srcdir)/common/gtk-doc.mak $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -776,6 +786,8 @@
 	mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
 	uninstall-am uninstall-local
 
+.PRECIOUS: Makefile
+
 html: html-build.stamp
 
 upload: $(FORMATS)
diff --git a/docs/libs/gst-plugins-base-libs-sections.txt b/docs/libs/gst-plugins-base-libs-sections.txt
index 98ece69..4a3470d 100644
--- a/docs/libs/gst-plugins-base-libs-sections.txt
+++ b/docs/libs/gst-plugins-base-libs-sections.txt
@@ -2431,6 +2431,9 @@
 GST_VIDEO_INFO_MULTIVIEW_FLAGS
 GST_VIDEO_INFO_MULTIVIEW_MODE
 gst_video_info_init
+gst_video_info_new
+gst_video_info_copy
+gst_video_info_free
 gst_video_info_set_format
 gst_video_info_from_caps
 gst_video_info_to_caps
@@ -2449,6 +2452,7 @@
 gst_video_multiview_mode_get_type
 gst_video_multiview_flagset_get_type
 gst_video_multiview_frame_packing_get_type
+gst_video_info_get_type
 
 #video-frame.h
 <SUBSECTION>
diff --git a/docs/libs/html/api-index-full.html b/docs/libs/html/api-index-full.html
index bce09d5..ce5935d 100644
--- a/docs/libs/html/api-index-full.html
+++ b/docs/libs/html/api-index-full.html
@@ -5987,6 +5987,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-copy" title="gst_video_info_copy ()">gst_video_info_copy</a>, function in <a class="link" href="gst-plugins-base-libs-gstvideo.html" title="gstvideo">gstvideo</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-FLAGS:CAPS" title="GST_VIDEO_INFO_FLAGS()">GST_VIDEO_INFO_FLAGS</a>, macro in <a class="link" href="gst-plugins-base-libs-gstvideo.html" title="gstvideo">gstvideo</a>
 </dt>
 <dd></dd>
@@ -6015,6 +6019,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-free" title="gst_video_info_free ()">gst_video_info_free</a>, function in <a class="link" href="gst-plugins-base-libs-gstvideo.html" title="gstvideo">gstvideo</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-from-caps" title="gst_video_info_from_caps ()">gst_video_info_from_caps</a>, function in <a class="link" href="gst-plugins-base-libs-gstvideo.html" title="gstvideo">gstvideo</a>
 </dt>
 <dd></dd>
@@ -6067,6 +6075,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-new" title="gst_video_info_new ()">gst_video_info_new</a>, function in <a class="link" href="gst-plugins-base-libs-gstvideo.html" title="gstvideo">gstvideo</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-N-COMPONENTS:CAPS" title="GST_VIDEO_INFO_N_COMPONENTS()">GST_VIDEO_INFO_N_COMPONENTS</a>, macro in <a class="link" href="gst-plugins-base-libs-gstvideo.html" title="gstvideo">gstvideo</a>
 </dt>
 <dd></dd>
diff --git a/docs/libs/html/gst-plugins-base-libs-1.0.devhelp2 b/docs/libs/html/gst-plugins-base-libs-1.0.devhelp2
index 72112e7..ceef5e5 100644
--- a/docs/libs/html/gst-plugins-base-libs-1.0.devhelp2
+++ b/docs/libs/html/gst-plugins-base-libs-1.0.devhelp2
@@ -1344,6 +1344,9 @@
     <keyword type="macro" name="GST_VIDEO_INFO_MULTIVIEW_FLAGS()" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-MULTIVIEW-FLAGS:CAPS"/>
     <keyword type="macro" name="GST_VIDEO_INFO_MULTIVIEW_MODE()" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-MULTIVIEW-MODE:CAPS"/>
     <keyword type="function" name="gst_video_info_init ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-info-init"/>
+    <keyword type="function" name="gst_video_info_new ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-info-new" since="1.6"/>
+    <keyword type="function" name="gst_video_info_copy ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-info-copy" since="1.6"/>
+    <keyword type="function" name="gst_video_info_free ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-info-free" since="1.6"/>
     <keyword type="function" name="gst_video_info_set_format ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-info-set-format"/>
     <keyword type="function" name="gst_video_info_from_caps ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-info-from-caps"/>
     <keyword type="function" name="gst_video_info_to_caps ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-info-to-caps"/>
diff --git a/docs/libs/html/gst-plugins-base-libs-GstVideoDecoder.html b/docs/libs/html/gst-plugins-base-libs-GstVideoDecoder.html
index 86b9ea1..64f2ddb 100644
--- a/docs/libs/html/gst-plugins-base-libs-GstVideoDecoder.html
+++ b/docs/libs/html/gst-plugins-base-libs-GstVideoDecoder.html
@@ -363,7 +363,8 @@
 <a name="gst-plugins-base-libs-GstVideoDecoder.description"></a><h2>Description</h2>
 <p>This base class is for video decoders turning encoded data into raw video
 frames.</p>
-<p>The GstVideoDecoder base class and derived subclasses should cooperate as follows:</p>
+<p>The GstVideoDecoder base class and derived subclasses should cooperate as
+follows:</p>
 <div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem"><div class="itemizedlist">
 <p class="title"><b>Configuration</b></p>
@@ -380,7 +381,8 @@
     parameters require reconfiguration.
   </p></li>
 <li class="listitem"><p>
-    Incoming data buffers are processed as needed, described in Data Processing below.
+    Incoming data buffers are processed as needed, described in Data
+    Processing below.
   </p></li>
 <li class="listitem"><p>
     GstVideoDecoder calls <em class="parameter"><code>stop</code></em> at end of all processing.
@@ -396,15 +398,17 @@
       corresponding to and referred to as 'frames'.
     </p></li>
 <li class="listitem"><p>
-      Each input frame is provided in turn to the subclass' <em class="parameter"><code>handle_frame</code></em> callback.
+      Each input frame is provided in turn to the subclass' <em class="parameter"><code>handle_frame</code></em>
+      callback.
       The ownership of the frame is given to the <em class="parameter"><code>handle_frame</code></em> callback.
     </p></li>
 <li class="listitem"><p>
       If codec processing results in decoded data, the subclass should call
       <em class="parameter"><code>gst_video_decoder_finish_frame</code></em> to have decoded data pushed.
-      downstream. Otherwise, the subclass must call <em class="parameter"><code>gst_video_decoder_drop_frame</code></em>, to
-      allow the base class to do timestamp and offset tracking, and possibly to
-      requeue the frame for a later attempt in the case of reverse playback.
+      downstream. Otherwise, the subclass must call
+      <em class="parameter"><code>gst_video_decoder_drop_frame</code></em>, to allow the base class to do timestamp
+      and offset tracking, and possibly to requeue the frame for a later
+      attempt in the case of reverse playback.
     </p></li>
 </ul>
 </div></li>
@@ -421,19 +425,20 @@
 <li class="listitem"><div class="itemizedlist">
 <p class="title"><b>Seeking/Flushing</b></p>
 <ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p>
-  When the pipeline is seeked or otherwise flushed, the subclass is informed via a call
-  to its <em class="parameter"><code>reset</code></em> callback, with the hard parameter set to true. This indicates the
-  subclass should drop any internal data queues and timestamps and prepare for a fresh
-  set of buffers to arrive for parsing and decoding.
+  When the pipeline is seeked or otherwise flushed, the subclass is
+  informed via a call to its <em class="parameter"><code>reset</code></em> callback, with the hard parameter
+  set to true. This indicates the subclass should drop any internal data
+  queues and timestamps and prepare for a fresh set of buffers to arrive
+  for parsing and decoding.
     </p></li></ul>
 </div></li>
 <li class="listitem"><div class="itemizedlist">
 <p class="title"><b>End Of Stream</b></p>
 <ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p>
-  At end-of-stream, the subclass <em class="parameter"><code>parse</code></em> function may be called some final times with the 
-  at_eos parameter set to true, indicating that the element should not expect any more data
-  to be arriving, and it should parse and remaining frames and call
-  <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-have-frame" title="gst_video_decoder_have_frame ()"><code class="function">gst_video_decoder_have_frame()</code></a> if possible.
+  At end-of-stream, the subclass <em class="parameter"><code>parse</code></em> function may be called some final
+  times with the at_eos parameter set to true, indicating that the element
+  should not expect any more data to be arriving, and it should parse and
+  remaining frames and call <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-have-frame" title="gst_video_decoder_have_frame ()"><code class="function">gst_video_decoder_have_frame()</code></a> if possible.
     </p></li></ul>
 </div></li>
 </ul>
@@ -458,24 +463,28 @@
 approach caters for seeking and duration reporting using estimated input
 bitrates. To enable it, a subclass should call
 <em class="parameter"><code>gst_video_decoder_set_estimate_rate</code></em>
- to enable handling of incoming byte-streams.</p>
+ to enable handling of incoming
+byte-streams.</p>
 <p>The base class provides some support for reverse playback, in particular
 in case incoming data is not packetized or upstream does not provide
-fragments on keyframe boundaries.  However, the subclass should then be prepared
-for the parsing and frame processing stage to occur separately (in normal
-forward processing, the latter immediately follows the former),
-The subclass also needs to ensure the parsing stage properly marks keyframes,
-unless it knows the upstream elements will do so properly for incoming data.</p>
+fragments on keyframe boundaries.  However, the subclass should then be
+prepared for the parsing and frame processing stage to occur separately
+(in normal forward processing, the latter immediately follows the former),
+The subclass also needs to ensure the parsing stage properly marks
+keyframes, unless it knows the upstream elements will do so properly for
+incoming data.</p>
 <p>The bare minimum that a functional subclass needs to implement is:</p>
 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
 <li class="listitem"><p>Provide pad templates</p></li>
 <li class="listitem"><p>
-     Inform the base class of output caps via <em class="parameter"><code>gst_video_decoder_set_output_state</code></em>
+     Inform the base class of output caps via
+     <em class="parameter"><code>gst_video_decoder_set_output_state</code></em>
   </p></li>
 <li class="listitem"><p>
      Parse input data, if it is not considered packetized from upstream
-     Data will be provided to <em class="parameter"><code>parse</code></em> which should invoke <em class="parameter"><code>gst_video_decoder_add_to_frame</code></em> and
-     <em class="parameter"><code>gst_video_decoder_have_frame</code></em> to separate the data belonging to each video frame.
+     Data will be provided to <em class="parameter"><code>parse</code></em> which should invoke
+     <em class="parameter"><code>gst_video_decoder_add_to_frame</code></em> and <em class="parameter"><code>gst_video_decoder_have_frame</code></em> to
+     separate the data belonging to each video frame.
   </p></li>
 <li class="listitem"><p>
      Accept data in <em class="parameter"><code>handle_frame</code></em> and provide decoded results to
@@ -1624,8 +1633,9 @@
 gst_video_decoder_merge_tags (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *decoder</code></em>,
                               <em class="parameter"><code>const <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html"><span class="type">GstTagList</span></a> *tags</code></em>,
                               <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> mode</code></em>);</pre>
-<p>Adds tags to so-called pending tags, which will be processed
-before pushing out data downstream.</p>
+<p>Sets the audio decoder tags and how they should be merged with any
+upstream stream tags. This will override any tags previously-set
+with <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#gst-audio-decoder-merge-tags" title="gst_audio_decoder_merge_tags ()"><code class="function">gst_audio_decoder_merge_tags()</code></a>.</p>
 <p>Note that this is provided for convenience, and the subclass is
 not required to use this and can still do tag handling on its own.</p>
 <p>MT safe.</p>
@@ -1645,12 +1655,13 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>tags</p></td>
-<td class="parameter_description"><p>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html"><span class="type">GstTagList</span></a> to merge</p></td>
-<td class="parameter_annotations"> </td>
+<td class="parameter_description"><p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html"><span class="type">GstTagList</span></a> to merge, or NULL to unset
+previously-set tags. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
 <td class="parameter_name"><p>mode</p></td>
-<td class="parameter_description"><p>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> to use</p></td>
+<td class="parameter_description"><p>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> to use, usually <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html#GST-TAG-MERGE-REPLACE:CAPS"><span class="type">GST_TAG_MERGE_REPLACE</span></a></p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
@@ -1793,6 +1804,10 @@
                                    GstCaps *filter);
 
   GstFlowReturn (*drain)          (GstVideoDecoder *decoder);
+
+  gboolean      (*transform_meta) (GstVideoDecoder *decoder,
+                                   GstVideoCodecFrame *frame,
+                                   GstMeta * meta);
 };
 </pre>
 <p>Subclasses can override any of the available virtual methods or not, as
@@ -1959,6 +1974,15 @@
 or seamless segment processing will break. Since: 1.6</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoDecoderClass.transform-meta"></a>transform_meta</code></em> ()</p></td>
+<td class="struct_member_description"><p>Optional. Transform the metadata on the input buffer to the
+output buffer. By default this method is copies all meta without
+tags and meta with only the "video" tag. subclasses can
+implement this method and return <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the metadata is to be
+copied. Since 1.6</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
 </tbody>
 </table></div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-GstVideoEncoder.html b/docs/libs/html/gst-plugins-base-libs-GstVideoEncoder.html
index defd67c..bfe7fd5 100644
--- a/docs/libs/html/gst-plugins-base-libs-GstVideoEncoder.html
+++ b/docs/libs/html/gst-plugins-base-libs-GstVideoEncoder.html
@@ -987,8 +987,9 @@
 gst_video_encoder_merge_tags (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
                               <em class="parameter"><code>const <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html"><span class="type">GstTagList</span></a> *tags</code></em>,
                               <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> mode</code></em>);</pre>
-<p>Adds tags to so-called pending tags, which will be processed
-before pushing out data downstream.</p>
+<p>Sets the video encoder tags and how they should be merged with any
+upstream stream tags. This will override any tags previously-set
+with <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-merge-tags" title="gst_video_encoder_merge_tags ()"><code class="function">gst_video_encoder_merge_tags()</code></a>.</p>
 <p>Note that this is provided for convenience, and the subclass is
 not required to use this and can still do tag handling on its own.</p>
 <p>MT safe.</p>
@@ -1008,12 +1009,13 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>tags</p></td>
-<td class="parameter_description"><p>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html"><span class="type">GstTagList</span></a> to merge</p></td>
-<td class="parameter_annotations"> </td>
+<td class="parameter_description"><p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html"><span class="type">GstTagList</span></a> to merge, or NULL to unset
+previously-set tags. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
 <td class="parameter_name"><p>mode</p></td>
-<td class="parameter_description"><p>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> to use</p></td>
+<td class="parameter_description"><p>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> to use, usually <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html#GST-TAG-MERGE-REPLACE:CAPS"><span class="type">GST_TAG_MERGE_REPLACE</span></a></p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
@@ -1107,6 +1109,10 @@
 
   gboolean      (*src_query)      (GstVideoEncoder *encoder,
 				   GstQuery *query);
+
+  gboolean      (*transform_meta) (GstVideoEncoder *encoder,
+                                   GstVideoCodecFrame *frame,
+                                   GstMeta * meta);
 };
 </pre>
 <p>Subclasses can override any of the available virtual methods or not, as
@@ -1267,6 +1273,15 @@
 default handler. Since 1.4</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.transform-meta"></a>transform_meta</code></em> ()</p></td>
+<td class="struct_member_description"><p>Optional. Transform the metadata on the input buffer to the
+output buffer. By default this method is copies all meta without
+tags and meta with only the "video" tag. subclasses can
+implement this method and return <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the metadata is to be
+copied. Since 1.6</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
 </tbody>
 </table></div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstaudiodecoder.html b/docs/libs/html/gst-plugins-base-libs-gstaudiodecoder.html
index 73e87b1..ef136d7 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstaudiodecoder.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstaudiodecoder.html
@@ -1401,15 +1401,13 @@
 gst_audio_decoder_merge_tags (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>,
                               <em class="parameter"><code>const <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html"><span class="type">GstTagList</span></a> *tags</code></em>,
                               <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> mode</code></em>);</pre>
-<p>Adds tags to so-called pending tags, which will be processed
-before pushing out data downstream.</p>
+<p>Sets the audio decoder tags and how they should be merged with any
+upstream stream tags. This will override any tags previously-set
+with <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#gst-audio-decoder-merge-tags" title="gst_audio_decoder_merge_tags ()"><code class="function">gst_audio_decoder_merge_tags()</code></a>.</p>
 <p>Note that this is provided for convenience, and the subclass is
-not required to use this and can still do tag handling on its own,
-although it should be aware that baseclass already takes care
-of the usual CODEC/AUDIO_CODEC tags.</p>
-<p>MT safe.</p>
+not required to use this and can still do tag handling on its own.</p>
 <div class="refsect3">
-<a name="id-1.2.6.7.10.31.7"></a><h4>Parameters</h4>
+<a name="id-1.2.6.7.10.31.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1424,12 +1422,12 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>tags</p></td>
-<td class="parameter_description"><p>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html"><span class="type">GstTagList</span></a> to merge</p></td>
-<td class="parameter_annotations"> </td>
+<td class="parameter_description"><p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html"><span class="type">GstTagList</span></a> to merge, or NULL. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
 <td class="parameter_name"><p>mode</p></td>
-<td class="parameter_description"><p>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> to use</p></td>
+<td class="parameter_description"><p>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> to use, usually <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html#GST-TAG-MERGE-REPLACE:CAPS"><span class="type">GST_TAG_MERGE_REPLACE</span></a></p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
@@ -1539,6 +1537,9 @@
 
   GstCaps *     (*getcaps)            (GstAudioDecoder * dec,
                                        GstCaps * filter);
+
+  gboolean      (*transform_meta)     (GstAudioDecoder *enc, GstBuffer *outbuf,
+                                       GstMeta *meta, GstBuffer *inbuf);
 };
 </pre>
 <p>Subclasses can override any of the available virtual methods or not, as
@@ -1696,6 +1697,15 @@
 applied to sink template caps.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioDecoderClass.transform-meta"></a>transform_meta</code></em> ()</p></td>
+<td class="struct_member_description"><p>Optional. Transform the metadata on the input buffer to the
+output buffer. By default this method copies all meta without
+tags and meta with only the "audio" tag. subclasses can
+implement this method and return <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the metadata is to be
+copied. Since 1.6</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
 </tbody>
 </table></div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstaudioencoder.html b/docs/libs/html/gst-plugins-base-libs-gstaudioencoder.html
index f6f926f..2623192 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstaudioencoder.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstaudioencoder.html
@@ -1438,12 +1438,11 @@
 gst_audio_encoder_merge_tags (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
                               <em class="parameter"><code>const <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html"><span class="type">GstTagList</span></a> *tags</code></em>,
                               <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> mode</code></em>);</pre>
-<p>Adds tags to so-called pending tags, which will be processed
-before pushing out data downstream.</p>
+<p>Sets the audio encoder tags and how they should be merged with any
+upstream stream tags. This will override any tags previously-set
+with <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-merge-tags" title="gst_audio_encoder_merge_tags ()"><code class="function">gst_audio_encoder_merge_tags()</code></a>.</p>
 <p>Note that this is provided for convenience, and the subclass is
-not required to use this and can still do tag handling on its own,
-although it should be aware that baseclass already takes care
-of the usual CODEC/AUDIO_CODEC tags.</p>
+not required to use this and can still do tag handling on its own.</p>
 <p>MT safe.</p>
 <div class="refsect3">
 <a name="id-1.2.6.8.11.34.7"></a><h4>Parameters</h4>
@@ -1461,12 +1460,13 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>tags</p></td>
-<td class="parameter_description"><p>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html"><span class="type">GstTagList</span></a> to merge</p></td>
-<td class="parameter_annotations"> </td>
+<td class="parameter_description"><p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html"><span class="type">GstTagList</span></a> to merge, or NULL to unset
+previously-set tags. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
 <td class="parameter_name"><p>mode</p></td>
-<td class="parameter_description"><p>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> to use</p></td>
+<td class="parameter_description"><p>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> to use, usually <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html#GST-TAG-MERGE-REPLACE:CAPS"><span class="type">GST_TAG_MERGE_REPLACE</span></a></p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 </tbody>
@@ -1522,6 +1522,15 @@
 
   gboolean      (*propose_allocation) (GstAudioEncoder * enc,
                                        GstQuery * query);
+
+  gboolean      (*transform_meta)     (GstAudioEncoder *enc, GstBuffer *outbuf,
+                                       GstMeta *meta, GstBuffer *inbuf);
+
+  gboolean      (*sink_query)         (GstAudioEncoder *encoder,
+				       GstQuery *query);
+
+  gboolean      (*src_query)          (GstAudioEncoder *encoder,
+				       GstQuery *query);
 };
 </pre>
 <p>Subclasses can override any of the available virtual methods or not, as
@@ -1650,6 +1659,33 @@
 invoke the default handler.</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioEncoderClass.transform-meta"></a>transform_meta</code></em> ()</p></td>
+<td class="struct_member_description"><p>Optional. Transform the metadata on the input buffer to the
+output buffer. By default this method copies all meta without
+tags and meta with only the "audio" tag. subclasses can
+implement this method and return <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the metadata is to be
+copied. Since 1.6</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioEncoderClass.sink-query"></a>sink_query</code></em> ()</p></td>
+<td class="struct_member_description"><p>Optional.
+Query handler on the sink pad. This function should
+return TRUE if the query could be performed. Subclasses
+should chain up to the parent implementation to invoke the
+default handler. Since 1.6</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioEncoderClass.src-query"></a>src_query</code></em> ()</p></td>
+<td class="struct_member_description"><p>Optional.
+Query handler on the source pad. This function should
+return TRUE if the query could be performed. Subclasses
+should chain up to the parent implementation to invoke the
+default handler. Since 1.6</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
 </tbody>
 </table></div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstpluginsbaseversion.html b/docs/libs/html/gst-plugins-base-libs-gstpluginsbaseversion.html
index c1c41b8..e293f9b 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstpluginsbaseversion.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstpluginsbaseversion.html
@@ -111,7 +111,7 @@
 <hr>
 <div class="refsect2">
 <a name="GST-PLUGINS-BASE-VERSION-MICRO:CAPS"></a><h3>GST_PLUGINS_BASE_VERSION_MICRO</h3>
-<pre class="programlisting">#define GST_PLUGINS_BASE_VERSION_MICRO (2)
+<pre class="programlisting">#define GST_PLUGINS_BASE_VERSION_MICRO (90)
 </pre>
 <p>The micro version of GStreamer's gst-plugins-base libraries at compile time.</p>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstrtpbasedepayload.html b/docs/libs/html/gst-plugins-base-libs-gstrtpbasedepayload.html
index 9b38a7e..12bb3cd 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstrtpbasedepayload.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstrtpbasedepayload.html
@@ -232,7 +232,8 @@
   /* virtuals, inform the subclass of the caps. */
   gboolean (*set_caps) (GstRTPBaseDepayload *filter, GstCaps *caps);
 
-  /* pure virtual function, child must use this to process incoming
+  /* pure virtual function, child must implement either this method
+   * or the process_rtp_packet virtual method to process incoming
    * rtp packets. If the child returns a buffer without a valid timestamp,
    * the timestamp of @in will be applied to the result buffer and the
    * buffer will be pushed. If this function returns %NULL, nothing is
@@ -247,6 +248,19 @@
   /* the default implementation does the default actions for events but
    * implementation can override. */
   gboolean (*handle_event) (GstRTPBaseDepayload * filter, GstEvent * event);
+
+  /* Optional. Same as the process virtual function, but slightly more
+   * efficient, since it is passed the rtp buffer structure that has already
+   * been mapped (with GST_MAP_READ) by the base class and thus does not have
+   * to be mapped again by the subclass. Can be used by the subclass to process
+   * incoming rtp packets. If the subclass returns a buffer without a valid
+   * timestamp, the timestamp of the input buffer will be applied to the result
+   * buffer and the output buffer will be pushed out. If this function returns
+   * %NULL, nothing is pushed out.
+   *
+   * Since: 1.6
+   */
+  GstBuffer * (*process_rtp_packet) (GstRTPBaseDepayload *base, GstRTPBuffer * rtp_buffer);
 };
 </pre>
 <p>Base class for audio RTP payloader.</p>
@@ -284,6 +298,11 @@
 <td class="struct_member_description"><p>custom event handling</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTPBaseDepayloadClass.process-rtp-packet"></a>process_rtp_packet</code></em> ()</p></td>
+<td> </td>
+<td> </td>
+</tr>
 </tbody>
 </table></div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstvideo.html b/docs/libs/html/gst-plugins-base-libs-gstvideo.html
index fe6e91c..b8ff5bb 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstvideo.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstvideo.html
@@ -681,6 +681,30 @@
 </tr>
 <tr>
 <td class="function_type">
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="returnvalue">GstVideoInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-new" title="gst_video_info_new ()">gst_video_info_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="returnvalue">GstVideoInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-copy" title="gst_video_info_copy ()">gst_video_info_copy</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-free" title="gst_video_info_free ()">gst_video_info_free</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
 <span class="returnvalue">void</span>
 </td>
 <td class="function_name">
@@ -3054,6 +3078,70 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="gst-video-info-new"></a><h3>gst_video_info_new ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="returnvalue">GstVideoInfo</span></a> *
+gst_video_info_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Allocate a new <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> that is also initialized with
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-init" title="gst_video_info_init ()"><code class="function">gst_video_info_init()</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.15.3.7.99.5"></a><h4>Returns</h4>
+<p> a new <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a>. free with <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-free" title="gst_video_info_free ()"><code class="function">gst_video_info_free()</code></a>.</p>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-video-info-copy"></a><h3>gst_video_info_copy ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="returnvalue">GstVideoInfo</span></a> *
+gst_video_info_copy (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>);</pre>
+<p>Copy a GstVideoInfo structure.</p>
+<div class="refsect3">
+<a name="id-1.2.15.3.7.100.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.15.3.7.100.6"></a><h4>Returns</h4>
+<p> a new <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a>. free with gst_video_info_free.</p>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-video-info-free"></a><h3>gst_video_info_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_video_info_free (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>);</pre>
+<p>Free a GstVideoInfo structure previously allocated with <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-new" title="gst_video_info_new ()"><code class="function">gst_video_info_new()</code></a>
+or <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-copy" title="gst_video_info_copy ()"><code class="function">gst_video_info_copy()</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.15.3.7.101.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
 <a name="gst-video-info-set-format"></a><h3>gst_video_info_set_format ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_info_set_format (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>,
@@ -3069,7 +3157,7 @@
 does not set the offsets correctly for interlaced vertically
 subsampled formats.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.99.6"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.102.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3111,7 +3199,7 @@
  and update <em class="parameter"><code>info</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.100.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.103.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3133,7 +3221,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.100.6"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.103.6"></a><h4>Returns</h4>
 <p> TRUE if <em class="parameter"><code>caps</code></em>
 could be parsed</p>
 </div>
@@ -3146,7 +3234,7 @@
 <p>Convert the values of <em class="parameter"><code>info</code></em>
  into a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstCaps.html"><span class="type">GstCaps</span></a>.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.101.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.104.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3161,7 +3249,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.101.6"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.104.6"></a><h4>Returns</h4>
 <p> a new <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstCaps.html"><span class="type">GstCaps</span></a> containing the info of <em class="parameter"><code>info</code></em>
 .</p>
 </div>
@@ -3180,7 +3268,7 @@
 raw video, GST_FORMAT_DEFAULT corresponds to video frames.  This
 function can be used to handle pad queries of the type GST_QUERY_CONVERT.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.102.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.105.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3219,7 +3307,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.102.6"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.105.6"></a><h4>Returns</h4>
 <p> TRUE if the conversion was successful.</p>
 </div>
 </div>
@@ -3231,7 +3319,7 @@
                          <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *other</code></em>);</pre>
 <p>Compares two <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> and returns whether they are equal or not</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.103.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.106.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3253,7 +3341,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.103.6"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.106.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>info</code></em>
 and <em class="parameter"><code>other</code></em>
 are equal, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
@@ -3273,7 +3361,7 @@
 is required and <em class="parameter"><code>align</code></em>
  will be updated with the new padding values.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.104.6"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.107.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3319,7 +3407,7 @@
 <em class="parameter"><code>frame-&gt;data</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.105.7"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.108.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3356,7 +3444,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.105.8"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.108.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</p>
 </div>
 </div>
@@ -3377,7 +3465,7 @@
 <em class="parameter"><code>frame-&gt;data</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.106.6"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.109.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3409,7 +3497,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.106.7"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.109.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</p>
 </div>
 </div>
@@ -3420,7 +3508,7 @@
 gst_video_frame_unmap (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> *frame</code></em>);</pre>
 <p>Unmap the memory previously mapped with gst_video_frame_map.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.107.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.110.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3445,7 +3533,7 @@
  to <em class="parameter"><code>dest</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.108.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.111.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3467,7 +3555,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.108.6"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.111.6"></a><h4>Returns</h4>
 <p> TRUE if the contents could be copied.</p>
 </div>
 </div>
@@ -3483,7 +3571,7 @@
  to <em class="parameter"><code>dest</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.109.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.112.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3510,7 +3598,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.109.6"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.112.6"></a><h4>Returns</h4>
 <p> TRUE if the contents could be copied.</p>
 </div>
 </div>
@@ -3676,7 +3764,7 @@
 <p>Use this method when <em class="parameter"><code>mode</code></em>
  is of type <code class="literal">GST_VIDEO_TILE_MODE_INDEXED</code>.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.134.6"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.137.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3713,7 +3801,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.134.7"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.137.7"></a><h4>Returns</h4>
 <p> the index of the tile at <em class="parameter"><code>x</code></em>
 and <em class="parameter"><code>y</code></em>
 in the tiled image of
@@ -3729,7 +3817,7 @@
 <pre class="programlisting">#define             GST_VIDEO_TILE_MAKE_MODE(num, type)</pre>
 <p>use this macro to create new tile modes.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.135.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.138.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3759,7 +3847,7 @@
 <p>Get the tile mode type of <em class="parameter"><code>mode</code></em>
 </p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.136.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.139.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3782,7 +3870,7 @@
 <p>Check if <em class="parameter"><code>mode</code></em>
  is an indexed tile type</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.137.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.140.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3803,7 +3891,7 @@
 <pre class="programlisting">#define             GST_VIDEO_TILE_MAKE_STRIDE(x_tiles, y_tiles)</pre>
 <p>Encode the number of tile in X and Y into the stride.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.138.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.141.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3832,7 +3920,7 @@
 </pre>
 <p>Extract the number of tiles in X from the stride value.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.139.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.142.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3854,7 +3942,7 @@
 </pre>
 <p>Extract the number of tiles in Y from the stride value.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.140.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.143.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3882,7 +3970,7 @@
  image into the <em class="parameter"><code>dest</code></em>
  image</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.141.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.144.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3938,7 +4026,7 @@
 deprecated in the near future. Use <a class="link" href="gst-plugins-base-libs-GstVideoScaler.html#GstVideoScaler" title="GstVideoScaler"><span class="type">GstVideoScaler</span></a> to scale video buffers
 instead.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.142.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.145.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -4000,7 +4088,7 @@
 .</p>
 <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.143.6"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.146.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -4027,7 +4115,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.143.7"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.146.7"></a><h4>Returns</h4>
 <p> a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoConverter" title="GstVideoConverter"><span class="type">GstVideoConverter</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if conversion is not possible.</p>
 </div>
 <p class="since">Since: 1.6</p>
@@ -4040,7 +4128,7 @@
 <p>Free <em class="parameter"><code>convert</code></em>
 </p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.144.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.147.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -4064,7 +4152,7 @@
 <p>Get the current configuration of <em class="parameter"><code>convert</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.145.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.148.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -4079,7 +4167,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.145.6"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.148.6"></a><h4>Returns</h4>
 <p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstStructure.html"><span class="type">GstStructure</span></a> that remains valid for as long as <em class="parameter"><code>convert</code></em>
 is valid
 or until <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-converter-set-config" title="gst_video_converter_set_config ()"><code class="function">gst_video_converter_set_config()</code></a> is called.</p>
@@ -4101,7 +4189,7 @@
 <p>Look at the <span class="type">GST_VIDEO_CONVERTER_OPT_</span>* fields to check valid configuration
 option and values.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.146.7"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.149.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -4123,7 +4211,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.146.8"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.149.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> when <em class="parameter"><code>config</code></em>
 could be set.</p>
 </div>
@@ -4141,7 +4229,7 @@
  using <em class="parameter"><code>convert</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.147.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.150.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -4175,7 +4263,7 @@
 <pre class="programlisting">const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="returnvalue">GValue</span></a> *
 gst_video_multiview_get_mono_modes (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.148.4"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.151.4"></a><h4>Returns</h4>
 <p> A const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> containing a list of mono video modes</p>
 <p>Utility function that returns a <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> with a GstList of mono video
 modes (mono/left/right) for use in caps negotiations.</p>
@@ -4189,7 +4277,7 @@
 gst_video_multiview_get_unpacked_modes
                                (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.149.4"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.152.4"></a><h4>Returns</h4>
 <p> A const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> containing a list of 'unpacked' stereo video modes</p>
 <p>Utility function that returns a <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> with a GstList of unpacked
 stereo video modes (separated/frame-by-frame/frame-by-frame-multiview)
@@ -4204,7 +4292,7 @@
 gst_video_multiview_get_doubled_height_modes
                                (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.150.4"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.153.4"></a><h4>Returns</h4>
 <p> A const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> containing a list of stereo video modes</p>
 <p>Utility function that returns a <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> with a GstList of packed stereo
 video modes with double the height of a single view for use in
@@ -4219,7 +4307,7 @@
 gst_video_multiview_get_doubled_size_modes
                                (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.151.4"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.154.4"></a><h4>Returns</h4>
 <p> A const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> containing a list of stereo video modes</p>
 <p>Utility function that returns a <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> with a GstList of packed
 stereo video modes that have double the width/height of a single
@@ -4235,7 +4323,7 @@
 gst_video_multiview_get_doubled_width_modes
                                (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.152.4"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.155.4"></a><h4>Returns</h4>
 <p> A const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> containing a list of stereo video modes</p>
 <p>Utility function that returns a <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> with a GstList of packed stereo
 video modes with double the width of a single view for use in
@@ -4251,7 +4339,7 @@
 gst_video_multiview_mode_from_caps_string
                                (<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *caps_mview_mode</code></em>);</pre>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.153.4"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.156.4"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -4266,7 +4354,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.153.5"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.156.5"></a><h4>Returns</h4>
 <p> The <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode" title="enum GstVideoMultiviewMode"><span class="type">GstVideoMultiviewMode</span></a> value</p>
 <p>Given a string from a caps multiview-mode field,
 output the corresponding <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode" title="enum GstVideoMultiviewMode"><span class="type">GstVideoMultiviewMode</span></a>
@@ -4281,7 +4369,7 @@
 gst_video_multiview_mode_to_caps_string
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode" title="enum GstVideoMultiviewMode"><span class="type">GstVideoMultiviewMode</span></a> mview_mode</code></em>);</pre>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.154.4"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.157.4"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -4296,7 +4384,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.154.5"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.157.5"></a><h4>Returns</h4>
 <p> The caps string representation of the mode, or NULL if invalid.</p>
 <p>Given a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode" title="enum GstVideoMultiviewMode"><span class="type">GstVideoMultiviewMode</span></a> returns the multiview-mode caps string
 for insertion into a caps structure</p>
@@ -4313,7 +4401,7 @@
                                        <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> par_n</code></em>,
                                        <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> par_d</code></em>);</pre>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.155.4"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.158.4"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -4350,7 +4438,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.155.5"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.158.5"></a><h4>Returns</h4>
 <p> A boolean indicating whether the
 <span class="type">GST_VIDEO_MULTIVIEW_FLAG_HALF_ASPECT</span> flag should be set.</p>
 <p>Utility function that heuristically guess whether a
@@ -4372,7 +4460,7 @@
 and multiview mode and flags of a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> into
 the requested mode.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.156.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.159.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -6237,7 +6325,7 @@
 <td class="enum_member_name"><p><a name="GST-VIDEO-FRAME-FLAG-INTERLACED:CAPS"></a>GST_VIDEO_FRAME_FLAG_INTERLACED</p></td>
 <td class="enum_member_description">
 <p>The video frame is interlaced. In mixed
-          interlace-mode, this flags specifies if the frame is interlace or
+          interlace-mode, this flag specifies if the frame is interlaced or
           progressive.</p>
 </td>
 <td class="enum_member_annotations"> </td>
diff --git a/docs/libs/html/index.html b/docs/libs/html/index.html
index a2baf40..ac11c88 100644
--- a/docs/libs/html/index.html
+++ b/docs/libs/html/index.html
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer Base Plugins 1.0 Library Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GStreamer Base Library 1.0 (1.5.2)
+      for GStreamer Base Library 1.0 (1.5.90)
       <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/</a>.
     </p></div>
 </div>
diff --git a/docs/libs/html/index.sgml b/docs/libs/html/index.sgml
index 9e33318..7435610 100644
--- a/docs/libs/html/index.sgml
+++ b/docs/libs/html/index.sgml
@@ -2227,6 +2227,9 @@
 <ANCHOR id="GST-VIDEO-INFO-MULTIVIEW-FLAGS:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-MULTIVIEW-FLAGS:CAPS">
 <ANCHOR id="GST-VIDEO-INFO-MULTIVIEW-MODE:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-MULTIVIEW-MODE:CAPS">
 <ANCHOR id="gst-video-info-init" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#gst-video-info-init">
+<ANCHOR id="gst-video-info-new" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#gst-video-info-new">
+<ANCHOR id="gst-video-info-copy" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#gst-video-info-copy">
+<ANCHOR id="gst-video-info-free" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#gst-video-info-free">
 <ANCHOR id="gst-video-info-set-format" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#gst-video-info-set-format">
 <ANCHOR id="gst-video-info-from-caps" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#gst-video-info-from-caps">
 <ANCHOR id="gst-video-info-to-caps" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#gst-video-info-to-caps">
diff --git a/docs/plugins/Makefile.in b/docs/plugins/Makefile.in
index 82b54c4..07050c1 100644
--- a/docs/plugins/Makefile.in
+++ b/docs/plugins/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -31,7 +31,17 @@
 # This is an include file specifically tuned for building documentation
 # for GStreamer plug-ins
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -95,9 +105,6 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-DIST_COMMON = $(top_srcdir)/common/upload-doc.mak \
-	$(top_srcdir)/common/gtk-doc-plugins.mak $(srcdir)/Makefile.in \
-	$(srcdir)/Makefile.am
 subdir = docs/plugins
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -135,6 +142,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -159,6 +167,9 @@
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/common/gtk-doc-plugins.mak \
+	$(top_srcdir)/common/upload-doc.mak
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -674,7 +685,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/plugins/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu docs/plugins/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -683,7 +693,7 @@
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/common/upload-doc.mak $(top_srcdir)/common/gtk-doc-plugins.mak:
+$(top_srcdir)/common/upload-doc.mak $(top_srcdir)/common/gtk-doc-plugins.mak $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -854,6 +864,8 @@
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags-am uninstall uninstall-am uninstall-local
 
+.PRECIOUS: Makefile
+
 html: html-build.stamp
 
 upload: $(FORMATS)
diff --git a/docs/plugins/gst-plugins-base-plugins-docs.sgml b/docs/plugins/gst-plugins-base-plugins-docs.sgml
index ed48709..812f73c 100644
--- a/docs/plugins/gst-plugins-base-plugins-docs.sgml
+++ b/docs/plugins/gst-plugins-base-plugins-docs.sgml
@@ -18,10 +18,10 @@
   <chapter>
     <title>gst-plugins-base Elements</title>
     <xi:include href="xml/element-adder.xml" />
-    <xi:include href="xml/element-appsrc.xml" />
-    <xi:include href="xml/element-appsink.xml" />
     <xi:include href="xml/element-alsasink.xml" />
     <xi:include href="xml/element-alsasrc.xml" />
+    <xi:include href="xml/element-appsink.xml" />
+    <xi:include href="xml/element-appsrc.xml" />
     <xi:include href="xml/element-audioconvert.xml" />
     <xi:include href="xml/element-audiorate.xml" />
     <xi:include href="xml/element-audioresample.xml" />
@@ -30,24 +30,30 @@
     <xi:include href="xml/element-clockoverlay.xml" />
     <xi:include href="xml/element-decodebin.xml" />
     <xi:include href="xml/element-encodebin.xml" />
-    <xi:include href="xml/element-videoconvert.xml" />
     <xi:include href="xml/element-giosink.xml" />
     <xi:include href="xml/element-giosrc.xml" />
     <xi:include href="xml/element-giostreamsink.xml" />
     <xi:include href="xml/element-giostreamsrc.xml" />
     <xi:include href="xml/element-multifdsink.xml" />
     <xi:include href="xml/element-multisocketsink.xml" />
+    <xi:include href="xml/element-oggaviparse.xml" />
     <xi:include href="xml/element-oggdemux.xml" />
     <xi:include href="xml/element-oggmux.xml" />
+    <xi:include href="xml/element-oggparse.xml" />
+    <xi:include href="xml/element-ogmaudioparse.xml" />
+    <xi:include href="xml/element-ogmtextparse.xml" />
+    <xi:include href="xml/element-ogmvideoparse.xml" />
     <xi:include href="xml/element-playbin.xml" />
     <xi:include href="xml/element-playsink.xml" />
-    <xi:include href="xml/element-streamsynchronizer.xml" />
-    <xi:include href="xml/element-subtitleoverlay.xml" />
     <xi:include href="xml/element-socketsrc.xml" />
-    <xi:include href="xml/element-tcpclientsrc.xml" />
+    <xi:include href="xml/element-ssaparse.xml" />
+    <xi:include href="xml/element-streamsynchronizer.xml" />
+    <xi:include href="xml/element-subparse.xml" />
+    <xi:include href="xml/element-subtitleoverlay.xml" />
     <xi:include href="xml/element-tcpclientsink.xml" />
-    <xi:include href="xml/element-tcpserversrc.xml" />
+    <xi:include href="xml/element-tcpclientsrc.xml" />
     <xi:include href="xml/element-tcpserversink.xml" />
+    <xi:include href="xml/element-tcpserversrc.xml" />
     <xi:include href="xml/element-textoverlay.xml" />
     <xi:include href="xml/element-textrender.xml" />
     <xi:include href="xml/element-theoradec.xml" />
@@ -55,6 +61,7 @@
     <xi:include href="xml/element-theoraparse.xml" />
     <xi:include href="xml/element-timeoverlay.xml" />
     <xi:include href="xml/element-uridecodebin.xml" />
+    <xi:include href="xml/element-videoconvert.xml" />
     <xi:include href="xml/element-videorate.xml" />
     <xi:include href="xml/element-videoscale.xml" />
     <xi:include href="xml/element-videotestsrc.xml" />
@@ -78,8 +85,8 @@
     <xi:include href="xml/plugin-audiotestsrc.xml" />
     <xi:include href="xml/plugin-cdparanoia.xml" />
     <xi:include href="xml/plugin-encoding.xml" />
-    <xi:include href="xml/plugin-videoconvert.xml" />
     <xi:include href="xml/plugin-gio.xml" />
+    <xi:include href="xml/plugin-ivorbisdec.xml" />
     <xi:include href="xml/plugin-libvisual.xml" />
     <xi:include href="xml/plugin-ogg.xml" />
     <xi:include href="xml/plugin-pango.xml" />
@@ -88,6 +95,7 @@
     <xi:include href="xml/plugin-tcp.xml" />
     <xi:include href="xml/plugin-theora.xml" />
     <xi:include href="xml/plugin-typefindfunctions.xml" />
+    <xi:include href="xml/plugin-videoconvert.xml" />
     <xi:include href="xml/plugin-videorate.xml" />
     <xi:include href="xml/plugin-videoscale.xml" />
     <xi:include href="xml/plugin-videotestsrc.xml" />
diff --git a/docs/plugins/gst-plugins-base-plugins-sections.txt b/docs/plugins/gst-plugins-base-plugins-sections.txt
index 7778167..d351ec1 100644
--- a/docs/plugins/gst-plugins-base-plugins-sections.txt
+++ b/docs/plugins/gst-plugins-base-plugins-sections.txt
@@ -3,12 +3,13 @@
 <TITLE>adder</TITLE>
 GstAdder
 <SUBSECTION Standard>
+GstAdderClass
 GST_ADDER
 GST_IS_ADDER
-GST_TYPE_ADDER
 GST_ADDER_CLASS
 GST_IS_ADDER_CLASS
-GST_ADDER_GET_CLASS
+GST_TYPE_ADDER
+<SUBSECTION Private>
 gst_adder_get_type
 GstAdderClass
 GstAdderFormat
@@ -17,36 +18,41 @@
 </SECTION>
 
 <SECTION>
-<FILE>element-appsrc</FILE>
-<TITLE>appsrc</TITLE>
-GstAppSrc
+<FILE>element-alsasink</FILE>
+<TITLE>alsasink</TITLE>
+GstAlsaSink
 <SUBSECTION Standard>
-gst_app_src_set_caps
-gst_app_src_get_caps
-gst_app_src_set_size
-gst_app_src_get_size
-gst_app_src_set_stream_type
-gst_app_src_get_stream_type
-gst_app_src_set_max_bytes
-gst_app_src_get_max_bytes
-gst_app_src_set_latency
-gst_app_src_get_latency
-gst_app_src_set_emit_signals
-gst_app_src_get_emit_signals
-gst_app_src_push_buffer
-gst_app_src_end_of_stream
-GstAppSrcCallbacks
-gst_app_src_set_callbacks
+GstAlsaSinkClass
+GST_ALSA_SINK
+GST_ALSA_SINK_CAST
+GST_IS_ALSA_SINK
+GST_ALSA_SINK_CLASS
+GST_IS_ALSA_SINK_CLASS
+GST_TYPE_ALSA_SINK
+GST_ALSA_SINK_GET_LOCK
+GST_ALSA_SINK_LOCK
+GST_ALSA_SINK_UNLOCK
+<SUBSECTION Private>
+gst_alsa_sink_get_type
+</SECTION>
 
-GstAppSrcClass
-GstAppSrcPrivate
-GstAppStreamType
-GST_APP_SRC
-GST_IS_APP_SRC
-GST_TYPE_APP_SRC
-gst_app_src_get_type
-GST_APP_SRC_CLASS
-GST_IS_APP_SRC_CLASS
+<SECTION>
+<FILE>element-alsasrc</FILE>
+<TITLE>alsasrc</TITLE>
+GstAlsaSrc
+<SUBSECTION Standard>
+GstAlsaSrcClass
+GST_ALSA_SRC
+GST_ALSA_SRC_CAST
+GST_IS_ALSA_SRC
+GST_ALSA_SRC_CLASS
+GST_IS_ALSA_SRC_CLASS
+GST_TYPE_ALSA_SRC
+GST_ALSA_SRC_GET_LOCK
+GST_ALSA_SRC_LOCK
+GST_ALSA_SRC_UNLOCK
+<SUBSECTION Private>
+gst_alsa_src_get_type
 </SECTION>
 
 <SECTION>
@@ -71,60 +77,44 @@
 GstAppSinkCallbacks
 GST_APP_SINK
 GST_IS_APP_SINK
-GST_TYPE_APP_SINK
-gst_app_sink_get_type
 GST_APP_SINK_CLASS
 GST_IS_APP_SINK_CLASS
+GST_TYPE_APP_SINK
+<SUBSECTION Private>
+gst_app_sink_get_type
 </SECTION>
 
 <SECTION>
-<FILE>element-alsamixer</FILE>
-<TITLE>alsamixer</TITLE>
-GstAlsaMixerElement
+<FILE>element-appsrc</FILE>
+<TITLE>appsrc</TITLE>
+GstAppSrc
 <SUBSECTION Standard>
-GstAlsaMixerElementClass
-GST_ALSA_MIXER_ELEMENT
-GST_IS_ALSA_MIXER_ELEMENT
-GST_TYPE_ALSA_MIXER_ELEMENT
-gst_alsa_mixer_element_get_type
-GST_ALSA_MIXER_ELEMENT_CLASS
-GST_IS_ALSA_MIXER_ELEMENT_CLASS
-</SECTION>
-
-<SECTION>
-<FILE>element-alsasink</FILE>
-<TITLE>alsasink</TITLE>
-GstAlsaSink
-<SUBSECTION Standard>
-GstAlsaSinkClass
-GST_ALSA_SINK
-GST_ALSA_SINK_CAST
-GST_IS_ALSA_SINK
-GST_TYPE_ALSA_SINK
-GST_ALSA_SINK_CLASS
-GST_IS_ALSA_SINK_CLASS
-GST_ALSA_SINK_GET_LOCK
-GST_ALSA_SINK_LOCK
-GST_ALSA_SINK_UNLOCK
-gst_alsasink_get_type
-</SECTION>
-
-<SECTION>
-<FILE>element-alsasrc</FILE>
-<TITLE>alsasrc</TITLE>
-GstAlsaSrc
-<SUBSECTION Standard>
-GstAlsaSrcClass
-GST_ALSA_SRC
-GST_IS_ALSA_SRC
-GST_TYPE_ALSA_SRC
-GST_ALSA_SRC_CLASS
-GST_IS_ALSA_SRC_CLASS
-GST_ALSA_SRC_CAST
-GST_ALSA_SRC_GET_LOCK
-GST_ALSA_SRC_LOCK
-GST_ALSA_SRC_UNLOCK
-gst_alsasrc_get_type
+gst_app_src_set_caps
+gst_app_src_get_caps
+gst_app_src_set_size
+gst_app_src_get_size
+gst_app_src_set_stream_type
+gst_app_src_get_stream_type
+gst_app_src_set_max_bytes
+gst_app_src_get_max_bytes
+gst_app_src_set_latency
+gst_app_src_get_latency
+gst_app_src_set_emit_signals
+gst_app_src_get_emit_signals
+gst_app_src_push_buffer
+gst_app_src_end_of_stream
+GstAppSrcCallbacks
+gst_app_src_set_callbacks
+GstAppSrcClass
+GstAppSrcPrivate
+GstAppStreamType
+GST_APP_SRC
+GST_IS_APP_SRC
+GST_APP_SRC_CLASS
+GST_IS_APP_SRC_CLASS
+GST_TYPE_APP_SRC
+<SUBSECTION Private>
+gst_app_src_get_type
 </SECTION>
 
 <SECTION>
@@ -134,12 +124,12 @@
 GstAudioConvertDithering
 GstAudioConvertNoiseShaping
 <SUBSECTION Standard>
+GstAudioConvertClass
 GST_AUDIO_CONVERT
-GST_AUDIO_CONVERT_CLASS
 GST_IS_AUDIO_CONVERT
+GST_AUDIO_CONVERT_CLASS
 GST_IS_AUDIO_CONVERT_CLASS
 GST_TYPE_AUDIO_CONVERT
-GstAudioConvertClass
 AudioConvertCtx
 AudioConvertFmt
 AudioConvertMix
@@ -151,6 +141,8 @@
 audio_convert_convert
 audio_convert_get_sizes
 audio_convert_prepare_context
+<SUBSECTION Private>
+gst_audio_convert_get_type
 </SECTION>
 
 <SECTION>
@@ -158,13 +150,14 @@
 <TITLE>audiorate</TITLE>
 GstAudioRate
 <SUBSECTION Standard>
+GstAudioRateClass
 GST_AUDIO_RATE
 GST_IS_AUDIO_RATE
-GST_TYPE_AUDIO_RATE
-gst_audio_rate_get_type
 GST_AUDIO_RATE_CLASS
 GST_IS_AUDIO_RATE_CLASS
-GstAudioRateClass
+GST_TYPE_AUDIO_RATE
+<SUBSECTION Private>
+gst_audio_rate_get_type
 </SECTION>
 
 <SECTION>
@@ -172,13 +165,14 @@
 <TITLE>audioresample</TITLE>
 GstAudioResample
 <SUBSECTION Standard>
+GstAudioResampleClass
 GST_AUDIO_RESAMPLE
 GST_IS_AUDIO_RESAMPLE
-GST_TYPE_AUDIO_RESAMPLE
-gst_audio_resample_get_type
 GST_AUDIO_RESAMPLE_CLASS
 GST_IS_AUDIO_RESAMPLE_CLASS
-GstAudioResampleClass
+GST_TYPE_AUDIO_RESAMPLE
+<SUBSECTION Private>
+gst_audio_resample_get_type
 </SECTION>
 
 <SECTION>
@@ -187,19 +181,14 @@
 GstAudioTestSrc
 GstAudioTestSrcWave
 <SUBSECTION Standard>
+GstAudioTestSrcClass
 GST_AUDIO_TEST_SRC
-GST_AUDIO_TEST_SRC_CLASS
 GST_IS_AUDIO_TEST_SRC
+GST_AUDIO_TEST_SRC_CLASS
 GST_IS_AUDIO_TEST_SRC_CLASS
 GST_TYPE_AUDIO_TEST_SRC
-GstAudioTestSrcClass
-GstAudioTestSrcFormat
+<SUBSECTION Private>
 gst_audio_test_src_get_type
-GstPinkNoise
-PINK_MAX_RANDOM_ROWS
-PINK_RANDOM_BITS
-PINK_RANDOM_SHIFT
-ProcessFunc
 </SECTION>
 
 <SECTION>
@@ -209,14 +198,12 @@
 <SUBSECTION Standard>
 GstCdParanoiaSrcClass
 GST_CD_PARANOIA_SRC
-GST_CD_PARANOIA_SRC_CLASS
-GST_CD_PARANOIA_SRC_GET_CLASS
 GST_IS_CD_PARANOIA_SRC
+GST_CD_PARANOIA_SRC_CLASS
 GST_IS_CD_PARANOIA_SRC_CLASS
 GST_TYPE_CD_PARANOIA_SRC
+<SUBSECTION Private>
 gst_cd_paranoia_src_get_type
-size16
-size32
 </SECTION>
 
 <SECTION>
@@ -224,12 +211,13 @@
 <TITLE>clockoverlay</TITLE>
 GstClockOverlay
 <SUBSECTION Standard>
+GstClockOverlayClass
 GST_CLOCK_OVERLAY
-GST_CLOCK_OVERLAY_CLASS
 GST_IS_CLOCK_OVERLAY
+GST_CLOCK_OVERLAY_CLASS
 GST_IS_CLOCK_OVERLAY_CLASS
 GST_TYPE_CLOCK_OVERLAY
-GstClockOverlayClass
+<SUBSECTION Private>
 gst_clock_overlay_get_type
 </SECTION>
 
@@ -238,42 +226,33 @@
 <TITLE>decodebin</TITLE>
 GstDecodeBin
 <SUBSECTION Standard>
-</SECTION>
-
-<SECTION>
-<FILE>element-decodebin</FILE>
-<TITLE>decodebin</TITLE>
-GstDecodeBin
-<SUBSECTION Standard>
+GstDecodeBinClass
+GST_DECODE_BIN
+GST_DECODE_BIN_CAST
+GST_IS_DECODE_BIN
+GST_DECODE_BIN_CLASS
+GST_IS_DECODE_BIN_CLASS
+GST_TYPE_DECODE_BIN
+<SUBSECTION Private>
+gst_decode_bin_get_type
 </SECTION>
 
 <SECTION>
 <FILE>element-encodebin</FILE>
 <TITLE>encodebin</TITLE>
 GstEncodeBin
+GstEncodeBinFlags
 <SUBSECTION Standard>
+GstEncodeBinClass
 GST_ENCODE_BIN
-GST_ENCODE_BIN_CLASS
 GST_IS_ENCODE_BIN
+GST_ENCODE_BIN_CLASS
 GST_IS_ENCODE_BIN_CLASS
 GST_TYPE_ENCODE_BIN
-GstEncodeBinClass
+<SUBSECTION Private>
 gst_encode_bin_get_type
 </SECTION>
 
-
-
-<SECTION>
-<FILE>element-videoconvert</FILE>
-<TITLE>videoconvert</TITLE>
-GstVideoConvert
-<SUBSECTION Standard>
-GST_VIDEO_CONVERT
-GST_VIDEO_CONVERT_CLASS
-GST_IS_VIDEO_CONVERT_CLASS
-GstVideoConvertClass
-</SECTION>
-
 <SECTION>
 <FILE>element-giosink</FILE>
 <TITLE>giosink</TITLE>
@@ -281,10 +260,11 @@
 <SUBSECTION Standard>
 GstGioSinkClass
 GST_GIO_SINK
-GST_GIO_SINK_CLASS
 GST_IS_GIO_SINK
+GST_GIO_SINK_CLASS
 GST_IS_GIO_SINK_CLASS
 GST_TYPE_GIO_SINK
+<SUBSECTION Private>
 gst_gio_sink_get_type
 </SECTION>
 
@@ -295,10 +275,11 @@
 <SUBSECTION Standard>
 GstGioSrcClass
 GST_GIO_SRC
-GST_GIO_SRC_CLASS
 GST_IS_GIO_SRC
+GST_GIO_SRC_CLASS
 GST_IS_GIO_SRC_CLASS
 GST_TYPE_GIO_SRC
+<SUBSECTION Private>
 gst_gio_src_get_type
 </SECTION>
 
@@ -309,10 +290,11 @@
 <SUBSECTION Standard>
 GstGioStreamSinkClass
 GST_GIO_STREAM_SINK
-GST_GIO_STREAM_SINK_CLASS
 GST_IS_GIO_STREAM_SINK
+GST_GIO_STREAM_SINK_CLASS
 GST_IS_GIO_STREAM_SINK_CLASS
 GST_TYPE_GIO_STREAM_SINK
+<SUBSECTION Private>
 gst_gio_stream_sink_get_type
 </SECTION>
 
@@ -323,10 +305,11 @@
 <SUBSECTION Standard>
 GstGioStreamSrcClass
 GST_GIO_STREAM_SRC
-GST_GIO_STREAM_SRC_CLASS
 GST_IS_GIO_STREAM_SRC
+GST_GIO_STREAM_SRC_CLASS
 GST_IS_GIO_STREAM_SRC_CLASS
 GST_TYPE_GIO_STREAM_SRC
+<SUBSECTION Private>
 gst_gio_stream_src_get_type
 </SECTION>
 
@@ -340,28 +323,15 @@
 GstTCPProtocol
 GstTCPUnitType
 <SUBSECTION Standard>
-CLIENTS_LOCK
-CLIENTS_LOCK_FREE
-CLIENTS_LOCK_INIT
-CLIENTS_UNLOCK
-GST_TYPE_MULTI_FD_SINK
-GST_IS_MULTI_FD_SINK
-GST_IS_MULTI_FD_SINK_CLASS
-GST_MULTI_FD_SINK
-GST_MULTI_FD_SINK_CLASS
-GST_MULTI_FD_SINK_GET_CLASS
-GstTCPClient
-GstMultiFdSinkFlags
 GstMultiFdSinkClass
-gst_multi_fd_sink_add
-gst_multi_fd_sink_add_full
-gst_multi_fd_sink_clear
-gst_multi_fd_sink_get_stats
+GST_MULTI_FD_SINK
+GST_IS_MULTI_FD_SINK
+GST_MULTI_FD_SINK_CLASS
+GST_IS_MULTI_FD_SINK_CLASS
+GST_TYPE_MULTI_FD_SINK
+GstTCPClient
+<SUBSECTION Private>
 gst_multi_fd_sink_get_type
-gst_multi_fd_sink_remove
-gst_multi_fd_sink_remove_flush
-GST_TYPE_TCP_PROTOCOL
-gst_tcp_protocol_get_type
 </SECTION>
 
 <SECTION>
@@ -374,42 +344,44 @@
 GstTCPProtocol
 GstTCPUnitType
 <SUBSECTION Standard>
-CLIENTS_LOCK
-CLIENTS_LOCK_FREE
-CLIENTS_LOCK_INIT
-CLIENTS_UNLOCK
-GST_TYPE_MULTI_SOCKET_SINK
-GST_IS_MULTI_SOCKET_SINK
-GST_IS_MULTI_SOCKET_SINK_CLASS
-GST_MULTI_SOCKET_SINK
-GST_MULTI_SOCKET_SINK_CLASS
-GST_MULTI_SOCKET_SINK_GET_CLASS
-GstTCPClient
-GstMultiSocketSinkFlags
 GstMultiSocketSinkClass
-gst_multi_socket_sink_add
-gst_multi_socket_sink_add_full
-gst_multi_socket_sink_clear
-gst_multi_socket_sink_get_stats
+GST_MULTI_SOCKET_SINK
+GST_IS_MULTI_SOCKET_SINK
+GST_MULTI_SOCKET_SINK_CLASS
+GST_IS_MULTI_SOCKET_SINK_CLASS
+GST_TYPE_MULTI_SOCKET_SINK
+GstTCPClient
+<SUBSECTION Private>
 gst_multi_socket_sink_get_type
-gst_multi_socket_sink_remove
-gst_multi_socket_sink_remove_flush
-GST_TYPE_TCP_PROTOCOL
-gst_tcp_protocol_get_type
 </SECTION>
 
+<SECTION>
+<FILE>element-oggaviparse</FILE>
+<TITLE>oggaviparse</TITLE>
+GstOggAviParse
+<SUBSECTION Standard>
+GstOggAviParseClass
+GST_OGG_AVI_PARSE
+GST_OGG_AVI_PARSE_CAST
+GST_IS_OGG_AVI_PARSE
+GST_OGG_AVI_PARSE_CLASS
+GST_IS_OGG_AVI_PARSE_CLASS
+GST_TYPE_OGG_AVI_PARSE
+<SUBSECTION Private>
+gst_ogg_avi_parse_get_type
+</SECTION>
 
 <SECTION>
 <FILE>element-oggdemux</FILE>
 <TITLE>oggdemux</TITLE>
 GstOggDemux
 <SUBSECTION Standard>
+GstOggDemuxClass
 GST_OGG_DEMUX
-GST_OGG_DEMUX_CLASS
 GST_IS_OGG_DEMUX
+GST_OGG_DEMUX_CLASS
 GST_IS_OGG_DEMUX_CLASS
 GST_TYPE_OGG_DEMUX
-GstOggDemuxClass
 GST_IS_OGG_PAD
 GST_IS_OGG_PAD_CLASS
 GST_OGG_PAD
@@ -420,6 +392,8 @@
 GstOggPadClass
 GstOggPadMode
 GstOggPadState
+<SUBSECTION Private>
+gst_ogg_demux_get_type
 </SECTION>
 
 <SECTION>
@@ -427,13 +401,78 @@
 <TITLE>oggmux</TITLE>
 GstOggMux
 <SUBSECTION Standard>
-gst_ogg_mux_get_type
+GstOggMuxClass
 GST_OGG_MUX
-GST_OGG_MUX_CLASS
 GST_IS_OGG_MUX
+GST_OGG_MUX_CLASS
 GST_IS_OGG_MUX_CLASS
 GST_TYPE_OGG_MUX
-GstOggMuxClass
+<SUBSECTION Private>
+gst_ogg_mux_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-oggparse</FILE>
+<TITLE>oggparse</TITLE>
+GstOggParse
+<SUBSECTION Standard>
+GstOggParseClass
+GST_OGG_PARSE
+GST_OGG_PARSE_CAST
+GST_IS_OGG_PARSE
+GST_OGG_PARSE_CLASS
+GST_IS_OGG_PARSE_CLASS
+GST_TYPE_OGG_PARSE
+<SUBSECTION Private>
+gst_ogg_parse_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-ogmaudioparse</FILE>
+<TITLE>ogmaudioparse</TITLE>
+GstOgmAudioParse
+<SUBSECTION Standard>
+GstOgmAudioParseClass
+GST_OGM_AUDIO_PARSE
+GST_OGM_AUDIO_PARSE_CAST
+GST_IS_OGM_AUDIO_PARSE
+GST_OGM_AUDIO_PARSE_CLASS
+GST_IS_OGM_AUDIO_PARSE_CLASS
+GST_TYPE_OGM_AUDIO_PARSE
+<SUBSECTION Private>
+gst_ogm_audio_parse_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-ogmtextparse</FILE>
+<TITLE>ogmtextparse</TITLE>
+GstOgmTextParse
+<SUBSECTION Standard>
+GstOgmTextParseClass
+GST_OGM_TEXT_PARSE
+GST_OGM_TEXT_PARSE_CAST
+GST_IS_OGM_TEXT_PARSE
+GST_OGM_TEXT_PARSE_CLASS
+GST_IS_OGM_TEXT_PARSE_CLASS
+GST_TYPE_OGM_TEXT_PARSE
+<SUBSECTION Private>
+gst_ogm_text_parse_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-ogmvideoparse</FILE>
+<TITLE>ogmvideoparse</TITLE>
+GstOgmVideoParse
+<SUBSECTION Standard>
+GstOgmVideoParseClass
+GST_OGM_VIDEO_PARSE
+GST_OGM_VIDEO_PARSE_CAST
+GST_IS_OGM_VIDEO_PARSE
+GST_OGM_VIDEO_PARSE_CLASS
+GST_IS_OGM_VIDEO_PARSE_CLASS
+GST_TYPE_OGM_VIDEO_PARSE
+<SUBSECTION Private>
+gst_ogm_video_parse_get_type
 </SECTION>
 
 <SECTION>
@@ -442,22 +481,31 @@
 GstPlayBin
 GstPlayFlags
 <SUBSECTION Standard>
+GstPlayBinClass
+GST_PLAY_BIN
+GST_PLAY_BIN_CAST
+GST_IS_PLAY_BIN
+GST_PLAY_BIN_CLASS
+GST_IS_PLAY_BIN_CLASS
+GST_TYPE_PLAY_BIN
 gst_play_flags_get_type
 GST_TYPE_PLAY_FLAGS
+<SUBSECTION Private>
+gst_play_bin_get_type
 </SECTION>
 
 <SECTION>
 <FILE>element-playsink</FILE>
 <TITLE>playsink</TITLE>
 GstPlaySink
+GstPlaySinkSendEventMode
 <SUBSECTION Standard>
-GST_TYPE_PLAY_SINK
+GstPlaySinkClass
 GST_PLAY_SINK
-GST_PLAY_SINK_CLASS
 GST_IS_PLAY_SINK
+GST_PLAY_SINK_CLASS
 GST_IS_PLAY_SINK_CLASS
 GstPlaySinkType
-gst_play_sink_get_type
 gst_play_sink_request_pad
 gst_play_sink_release_pad
 gst_play_sink_refresh_pad
@@ -483,6 +531,9 @@
 gst_play_sink_convert_sample
 gst_play_sink_reconfigure
 gst_play_sink_plugin_init
+GST_TYPE_PLAY_SINK
+<SUBSECTION Private>
+gst_play_sink_get_type
 </SECTION>
 
 <SECTION>
@@ -492,11 +543,28 @@
 <SUBSECTION Standard>
 GstSocketSrcClass
 GST_SOCKET_SRC
-GST_SOCKET_SINK_CLASS
-GST_TYPE_SOCKET_SRC
-gst_socket_src_get_type
-GST_IS_SOCKET_SRC_CLASS
 GST_IS_SOCKET_SRC
+GST_SOCKET_SRC_CLASS
+GST_IS_SOCKET_SRC_CLASS
+GST_TYPE_SOCKET_SRC
+<SUBSECTION Private>
+gst_socket_src_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-ssaparse</FILE>
+<TITLE>ssaparse</TITLE>
+GstSsaParse
+<SUBSECTION Standard>
+GstSsaParseClass
+GST_SSA_PARSE
+GST_SSA_PARSE_CAST
+GST_IS_SSA_PARSE
+GST_SSA_PARSE_CLASS
+GST_IS_SSA_PARSE_CLASS
+GST_TYPE_SSA_PARSE
+<SUBSECTION Private>
+gst_ssa_parse_get_type
 </SECTION>
 
 <SECTION>
@@ -504,14 +572,30 @@
 <TITLE>streamsynchronizer</TITLE>
 GstStreamSynchronizer
 <SUBSECTION Standard>
-GST_TYPE_STREAM_SYNCHRONIZER
-GST_STREAM_SYNCHRONIZER
-GST_STREAM_SYNCHRONIZER_CLASS
-GST_IS_STREAM_SYNCHRONIZER
-GST_IS_STREAM_SYNCHRONIZER_CLASS
 GstStreamSynchronizerClass
+GST_STREAM_SYNCHRONIZER
+GST_IS_STREAM_SYNCHRONIZER
+GST_STREAM_SYNCHRONIZER_CLASS
+GST_IS_STREAM_SYNCHRONIZER_CLASS
+GST_TYPE_STREAM_SYNCHRONIZER
+<SUBSECTION Private>
 gst_stream_synchronizer_get_type
-gst_stream_synchronizer_plugin_init
+</SECTION>
+
+<SECTION>
+<FILE>element-subparse</FILE>
+<TITLE>subparse</TITLE>
+GstSubParse
+<SUBSECTION Standard>
+GstSubParseClass
+GST_SUB_PARSE
+GST_SUB_PARSE_CAST
+GST_IS_SUB_PARSE
+GST_SUB_PARSE_CLASS
+GST_IS_SUB_PARSE_CLASS
+GST_TYPE_SUB_PARSE
+<SUBSECTION Private>
+gst_sub_parse_get_type
 </SECTION>
 
 <SECTION>
@@ -520,62 +604,48 @@
 GstSubtitleOverlay
 <SUBSECTION Standard>
 GstSubtitleOverlayClass
-
-GST_IS_SUBTITLE_OVERLAY
-GST_IS_SUBTITLE_OVERLAY_CLASS
 GST_SUBTITLE_OVERLAY
 GST_SUBTITLE_OVERLAY_CAST
+GST_IS_SUBTITLE_OVERLAY
 GST_SUBTITLE_OVERLAY_CLASS
+GST_IS_SUBTITLE_OVERLAY_CLASS
 GST_SUBTITLE_OVERLAY_LOCK
 GST_SUBTITLE_OVERLAY_UNLOCK
 GST_TYPE_SUBTITLE_OVERLAY
+<SUBSECTION Private>
 gst_subtitle_overlay_plugin_init
 gst_subtitle_overlay_get_type
 </SECTION>
 
 <SECTION>
-<FILE>element-tcpclientsrc</FILE>
-<TITLE>tcpclientsrc</TITLE>
-GstTCPClientSrc
-<SUBSECTION Standard>
-GstTCPClientSrcClass
-GST_TCP_CLIENT_SRC
-GST_TCP_CLIENT_SINK_CLASS
-GstTCPClientSrcFlags
-GST_TYPE_TCP_CLIENT_SRC
-gst_tcp_client_src_get_type
-GST_IS_TCP_CLIENT_SRC_CLASS
-GST_IS_TCP_CLIENT_SRC
-</SECTION>
-
-<SECTION>
 <FILE>element-tcpclientsink</FILE>
 <TITLE>tcpclientsink</TITLE>
 GstTCPClientSink
 <SUBSECTION Standard>
 GstTCPClientSinkClass
-GST_TCP_CLIENT_SINK
-GST_TCP_CLIENT_SRC_CLASS
 GstTCPClientSinkFlags
-GST_TYPE_TCP_CLIENT_SINK
-gst_tcp_client_sink_get_type
-GST_IS_TCP_CLIENT_SINK_CLASS
+GST_TCP_CLIENT_SINK
 GST_IS_TCP_CLIENT_SINK
+GST_TCP_CLIENT_SINK_CLASS
+GST_IS_TCP_CLIENT_SINK_CLASS
+GST_TYPE_TCP_CLIENT_SINK
+<SUBSECTION Private>
+gst_tcp_client_sink_get_type
 </SECTION>
 
 <SECTION>
-<FILE>element-tcpserversrc</FILE>
-<TITLE>tcpserversrc</TITLE>
-GstTCPServerSrc
+<FILE>element-tcpclientsrc</FILE>
+<TITLE>tcpclientsrc</TITLE>
+GstTCPClientSrc
 <SUBSECTION Standard>
-GstTCPServerSrcClass
-GST_TCP_SERVER_SRC
-GST_TCP_SERVER_SRC_CLASS
-GstTCPServerSrcFlags
-GST_TYPE_TCP_SERVER_SRC
-gst_tcp_server_src_get_type
-GST_IS_TCP_SERVER_SRC_CLASS
-GST_IS_TCP_SERVER_SRC
+GstTCPClientSrcClass
+GstTCPClientSrcFlags
+GST_TCP_CLIENT_SRC
+GST_IS_TCP_CLIENT_SRC
+GST_TCP_CLIENT_SRC_CLASS
+GST_IS_TCP_CLIENT_SRC_CLASS
+GST_TYPE_TCP_CLIENT_SRC
+gst_tcp_client_src_get_type
 </SECTION>
 
 <SECTION>
@@ -584,20 +654,30 @@
 GstTCPServerSink
 <SUBSECTION Standard>
 GstTCPServerSinkClass
-GST_TCP_SERVER_SINK
-GST_TCP_SERVER_SINK_CLASS
 GstTCPServerSinkFlags
-GST_TYPE_TCP_SERVER_SINK
-gst_tcp_server_sink_get_type
-GST_IS_TCP_SERVER_SINK_CLASS
+GST_TCP_SERVER_SINK
 GST_IS_TCP_SERVER_SINK
-TCP_DEFAULT_HOST
-TCP_DEFAULT_PORT
-TCP_HIGHEST_PORT
-gst_tcp_host_to_ip
-gst_tcp_read_buffer
-gst_tcp_socket_close
-gst_tcp_socket_write
+GST_TCP_SERVER_SINK_CLASS
+GST_IS_TCP_SERVER_SINK_CLASS
+GST_TYPE_TCP_SERVER_SINK
+<SUBSECTION Private>
+gst_tcp_server_sink_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-tcpserversrc</FILE>
+<TITLE>tcpserversrc</TITLE>
+GstTCPServerSrc
+<SUBSECTION Standard>
+GstTCPServerSrcClass
+GstTCPServerSrcFlags
+GST_TCP_SERVER_SRC
+GST_IS_TCP_SERVER_SRC
+GST_TCP_SERVER_SRC_CLASS
+GST_IS_TCP_SERVER_SRC_CLASS
+GST_TYPE_TCP_SERVER_SRC
+<SUBSECTION Private>
+gst_tcp_server_src_get_type
 </SECTION>
 
 <SECTION>
@@ -608,15 +688,16 @@
 GstTextOverlayHAlign
 GstTextOverlayWrapMode
 <SUBSECTION Standard>
-GST_TEXT_OVERLAY
-GST_TEXT_OVERLAY_CLASS
-GST_TEXT_OVERLAY_GET_CLASS
-GST_IS_TEXT_OVERLAY
-GST_IS_TEXT_OVERLAY_CLASS
-GST_TYPE_TEXT_OVERLAY
 GstTextOverlayClass
-gst_text_overlay_get_type
 GstTextOverlayLineAlign
+GST_TEXT_OVERLAY
+GST_IS_TEXT_OVERLAY
+GST_TEXT_OVERLAY_CLASS
+GST_IS_TEXT_OVERLAY_CLASS
+GST_TEXT_OVERLAY_GET_CLASS
+GST_TYPE_TEXT_OVERLAY
+<SUBSECTION Private>
+gst_text_overlay_get_type
 </SECTION>
 
 <SECTION>
@@ -624,13 +705,14 @@
 <TITLE>textrender</TITLE>
 GstTextRender
 <SUBSECTION Standard>
-GST_TEXT_RENDER
-GST_TEXT_RENDER_CLASS
-GST_TEXT_RENDER_GET_CLASS
-GST_IS_TEXT_RENDER
-GST_IS_TEXT_RENDER_CLASS
-GST_TYPE_TEXT_RENDER
 GstTextRenderClass
+GST_TEXT_RENDER
+GST_IS_TEXT_RENDER
+GST_TEXT_RENDER_CLASS
+GST_IS_TEXT_RENDER_CLASS
+GST_TEXT_RENDER_GET_CLASS
+GST_TYPE_TEXT_RENDER
+<SUBSECTION Private>
 gst_text_render_get_type
 </SECTION>
 
@@ -639,26 +721,30 @@
 <TITLE>theoradec</TITLE>
 GstTheoraDec
 <SUBSECTION Standard>
+GstTheoraDecClass
 GST_THEORA_DEC
 GST_IS_THEORA_DEC
-GST_TYPE_THEORA_DEC
 GST_THEORA_DEC_CLASS
 GST_IS_THEORA_DEC_CLASS
-GstTheoraDecClass
+GST_TYPE_THEORA_DEC
+<SUBSECTION Private>
+gst_theora_dec_get_type
 </SECTION>
 
 <SECTION>
 <FILE>element-theoraenc</FILE>
 <TITLE>theoraenc</TITLE>
 GstTheoraEnc
-GstTheoraEncBorderMode
+GstTheoraEncMultipassMode
 <SUBSECTION Standard>
+GstTheoraEncClass
 GST_THEORA_ENC
-GST_THEORA_ENC_CLASS
 GST_IS_THEORA_ENC
+GST_THEORA_ENC_CLASS
 GST_IS_THEORA_ENC_CLASS
 GST_TYPE_THEORA_ENC
-GstTheoraEncClass
+<SUBSECTION Private>
+gst_theora_enc_get_type
 </SECTION>
 
 <SECTION>
@@ -669,23 +755,26 @@
 GstTheoraParseClass
 GST_THEORA_PARSE
 GST_IS_THEORA_PARSE
-GST_TYPE_THEORA_PARSE
-gst_theora_parse_get_type
 GST_THEORA_PARSE_CLASS
 GST_IS_THEORA_PARSE_CLASS
+GST_TYPE_THEORA_PARSE
+<SUBSECTION Private>
+gst_theora_parse_get_type
 </SECTION>
 
 <SECTION>
 <FILE>element-timeoverlay</FILE>
 <TITLE>timeoverlay</TITLE>
 GstTimeOverlay
+GstTimeOverlayTimeLine
 <SUBSECTION Standard>
+GstTimeOverlayClass
 GST_TIME_OVERLAY
-GST_TIME_OVERLAY_CLASS
 GST_IS_TIME_OVERLAY
+GST_TIME_OVERLAY_CLASS
 GST_IS_TIME_OVERLAY_CLASS
 GST_TYPE_TIME_OVERLAY
-GstTimeOverlayClass
+<SUBSECTION Private>
 gst_time_overlay_get_type
 </SECTION>
 
@@ -695,11 +784,35 @@
 GstURIDecodeBin
 GstAutoplugSelectResult
 <SUBSECTION Standard>
+GstURIDecodeBinClass
+GST_URI_DECODE_BIN
+GST_URI_DECODE_BIN_CAST
+GST_IS_URI_DECODE_BIN
+GST_URI_DECODE_BIN_CLASS
+GST_IS_URI_DECODE_BIN_CLASS
+GST_TYPE_URI_DECODE_BIN
 GST_TYPE_AUTOPLUG_SELECT_RESULT
+<SUBSECTION Private>
+gst_uri_decode_bin_get_type
 gst_autoplug_select_result_get_type
 </SECTION>
 
 <SECTION>
+<FILE>element-videoconvert</FILE>
+<TITLE>videoconvert</TITLE>
+GstVideoConvert
+<SUBSECTION Standard>
+GstVideoConvertClass
+GST_VIDEO_CONVERT
+GST_IS_VIDEO_CONVERT
+GST_VIDEO_CONVERT_CLASS
+GST_IS_VIDEO_CONVERT_CLASS
+GST_TYPE_VIDEO_CONVERT
+<SUBSECTION Private>
+gst_video_convert_get_type
+</SECTION>
+
+<SECTION>
 <FILE>element-videorate</FILE>
 <TITLE>videorate</TITLE>
 GstVideoRate
@@ -707,9 +820,11 @@
 GstVideoRateClass
 GST_VIDEO_RATE
 GST_IS_VIDEO_RATE
-GST_TYPE_VIDEO_RATE
 GST_VIDEO_RATE_CLASS
 GST_IS_VIDEO_RATE_CLASS
+GST_TYPE_VIDEO_RATE
+<SUBSECTION Private>
+gst_video_rate_get_type
 </SECTION>
 
 <SECTION>
@@ -719,13 +834,13 @@
 GstVideoScaleMethod
 <SUBSECTION Standard>
 GstVideoScaleClass
-GST_CAT_DEFAULT
 GST_VIDEO_SCALE
 GST_IS_VIDEO_SCALE
-GST_TYPE_VIDEO_SCALE
-gst_video_scale_get_type
 GST_VIDEO_SCALE_CLASS
 GST_IS_VIDEO_SCALE_CLASS
+GST_TYPE_VIDEO_SCALE
+<SUBSECTION Private>
+gst_video_scale_get_type
 </SECTION>
 
 <SECTION>
@@ -735,12 +850,13 @@
 GstVideoTestSrcPattern
 GstVideoTestSrcColorSpec
 <SUBSECTION Standard>
+GstVideoTestSrcClass
 GST_VIDEO_TEST_SRC
-GST_VIDEO_TEST_SRC_CLASS
 GST_IS_VIDEO_TEST_SRC
+GST_VIDEO_TEST_SRC_CLASS
 GST_IS_VIDEO_TEST_SRC_CLASS
 GST_TYPE_VIDEO_TEST_SRC
-GstVideoTestSrcClass
+<SUBSECTION Private>
 gst_video_test_src_get_type
 </SECTION>
 
@@ -749,12 +865,13 @@
 <TITLE>volume</TITLE>
 GstVolume
 <SUBSECTION Standard>
+GstVolumeClass
 GST_VOLUME
-GST_VOLUME_CLASS
 GST_IS_VOLUME
+GST_VOLUME_CLASS
 GST_IS_VOLUME_CLASS
 GST_TYPE_VOLUME
-GstVolumeClass
+<SUBSECTION Private>
 gst_volume_get_type
 </SECTION>
 
@@ -766,10 +883,11 @@
 GstVorbisDecClass
 GST_VORBIS_DEC
 GST_IS_VORBIS_DEC
-GST_TYPE_VORBIS_DEC
-gst_vorbis_dec_get_type
 GST_VORBIS_DEC_CLASS
 GST_IS_VORBIS_DEC_CLASS
+GST_TYPE_VORBIS_DEC
+<SUBSECTION Private>
+gst_vorbis_dec_get_type
 </SECTION>
 
 <SECTION>
@@ -778,11 +896,12 @@
 GstVorbisEnc
 <SUBSECTION Standard>
 GstVorbisEncClass
-GST_IS_VORBISENC
-GST_VORBISENC_CLASS
-GST_VORBISENC
-GST_TYPE_VORBISENC
-GST_IS_VORBISENC_CLASS
+GST_VORBIS_ENC
+GST_IS_VORBIS_ENC
+GST_VORBIS_ENC_CLASS
+GST_IS_VORBIS_ENC_CLASS
+GST_TYPE_VORBIS_ENC
+<SUBSECTION Private>
 gst_vorbis_enc_get_type
 </SECTION>
 
@@ -794,10 +913,11 @@
 GstVorbisParseClass
 GST_VORBIS_PARSE
 GST_IS_VORBIS_PARSE
-GST_TYPE_VORBIS_PARSE
-gst_vorbis_parse_get_type
 GST_VORBIS_PARSE_CLASS
 GST_IS_VORBIS_PARSE_CLASS
+GST_TYPE_VORBIS_PARSE
+<SUBSECTION Private>
+gst_vorbis_parse_get_type
 </SECTION>
 
 <SECTION>
@@ -808,10 +928,11 @@
 GstVorbisTagClass
 GST_VORBIS_TAG
 GST_IS_VORBIS_TAG
-GST_TYPE_VORBIS_TAG
-gst_vorbis_tag_get_type
 GST_VORBIS_TAG_CLASS
 GST_IS_VORBIS_TAG_CLASS
+GST_TYPE_VORBIS_TAG
+<SUBSECTION Private>
+gst_vorbis_tag_get_type
 </SECTION>
 
 <SECTION>
@@ -819,17 +940,18 @@
 <TITLE>ximagesink</TITLE>
 GstXImageSink
 <SUBSECTION Standard>
-GST_XIMAGESINK
-GST_XIMAGESINK_CLASS
-GST_IS_XIMAGESINK
-GST_IS_XIMAGESINK_CLASS
-GST_TYPE_XIMAGESINK
-gst_ximagesink_get_type
+GstXImageSinkClass
+GST_X_IMAGE_SINK
+GST_IS_X_IMAGE_SINK
+GST_X_IMAGE_SINK_CLASS
+GST_IS_X_IMAGE_SINK_CLASS
+GST_TYPE_X_IMAGE_SINK
 GstXImageBuffer
 GstXImageBufferClass
-GstXImageSinkClass
 GstXContext
 GstXWindow
+<SUBSECTION Private>
+gst_x_image_sink_get_type
 </SECTION>
 
 <SECTION>
@@ -837,14 +959,15 @@
 <TITLE>xvimagesink</TITLE>
 GstXvImageSink
 <SUBSECTION Standard>
-GST_XVIMAGESINK
-GST_XVIMAGESINK_CLASS
-GST_IS_XVIMAGESINK
-GST_IS_XVIMAGESINK_CLASS
-GST_TYPE_XVIMAGESINK
-gst_xvimagesink_get_type
+GstXvImageSinkClass
+GST_XV_IMAGE_SINK
+GST_IS_XV_IMAGE_SINK
+GST_XV_IMAGE_SINK_CLASS
+GST_IS_XV_IMAGE_SINK_CLASS
+GST_TYPE_XV_IMAGE_SINK
 GstXvImageBuffer
 GstXvImageBufferClass
 GstXvImageFormat
-GstXvImageSinkClass
+<SUBSECTION Private>
+gst_xv_image_sink_get_type
 </SECTION>
diff --git a/docs/plugins/gst-plugins-base-plugins.args b/docs/plugins/gst-plugins-base-plugins.args
index 0f5f4a7..3479582 100644
--- a/docs/plugins/gst-plugins-base-plugins.args
+++ b/docs/plugins/gst-plugins-base-plugins.args
@@ -2529,6 +2529,16 @@
 </ARG>
 
 <ARG>
+<NAME>GstSocketSrc::caps</NAME>
+<TYPE>GstCaps*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Caps</NICK>
+<BLURB>The caps of the source pad.</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>GstTimeOverlay::time-mode</NAME>
 <TYPE>GstTimeOverlayTimeLine</TYPE>
 <RANGE></RANGE>
diff --git a/docs/plugins/html/ch01.html b/docs/plugins/html/ch01.html
index cc2c4cb..6651ec8 100644
--- a/docs/plugins/html/ch01.html
+++ b/docs/plugins/html/ch01.html
@@ -27,16 +27,16 @@
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-adder.html">adder</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-appsrc.html">appsrc</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-alsasink.html">alsasink</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-alsasrc.html">alsasrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-appsink.html">appsink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-alsasink.html">alsasink</a></span><span class="refpurpose"></span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-alsasrc.html">alsasrc</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-appsrc.html">appsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-audioconvert.html">audioconvert</a></span><span class="refpurpose"></span>
@@ -63,9 +63,6 @@
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-encodebin.html">encodebin</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-videoconvert.html">videoconvert</a></span><span class="refpurpose"></span>
-</dt>
-<dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-giosink.html">giosink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
@@ -84,39 +81,60 @@
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-multisocketsink.html">multisocketsink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-oggaviparse.html">oggaviparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-oggdemux.html">oggdemux</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-oggmux.html">oggmux</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-oggparse.html">oggparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-ogmaudioparse.html">ogmaudioparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-ogmtextparse.html">ogmtextparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-ogmvideoparse.html">ogmvideoparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-playbin.html">playbin</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-playsink.html">playsink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-socketsrc.html">socketsrc</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-ssaparse.html">ssaparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-streamsynchronizer.html">streamsynchronizer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-subparse.html">subparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-subtitleoverlay.html">subtitleoverlay</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-socketsrc.html">socketsrc</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpclientsink.html">tcpclientsink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpclientsrc.html">tcpclientsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpclientsink.html">tcpclientsink</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpserversink.html">tcpserversink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpserversrc.html">tcpserversrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpserversink.html">tcpserversink</a></span><span class="refpurpose"></span>
-</dt>
-<dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-textoverlay.html">textoverlay</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
@@ -138,6 +156,9 @@
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-uridecodebin.html">uridecodebin</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-videoconvert.html">videoconvert</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-videorate.html">videorate</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
diff --git a/docs/plugins/html/ch02.html b/docs/plugins/html/ch02.html
index 9bd4dd5..d9802a4 100644
--- a/docs/plugins/html/ch02.html
+++ b/docs/plugins/html/ch02.html
@@ -51,10 +51,10 @@
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-plugin-encoding.html">encoding</a></span><span class="refpurpose"> — various encoding-related elements</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-plugin-videoconvert.html">videoconvert</a></span><span class="refpurpose"> — Colorspace conversion</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-plugin-gio.html">gio</a></span><span class="refpurpose"> — GIO elements</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-plugin-gio.html">gio</a></span><span class="refpurpose"> — GIO elements</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-plugin-ivorbisdec.html">ivorbisdec</a></span><span class="refpurpose"> — Vorbis Tremor decoder</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-plugin-libvisual.html">libvisual</a></span><span class="refpurpose"> — libvisual visualization plugins</span>
@@ -81,6 +81,9 @@
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-plugin-typefindfunctions.html">typefindfunctions</a></span><span class="refpurpose"> — default typefind functions</span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-plugin-videoconvert.html">videoconvert</a></span><span class="refpurpose"> — Colorspace conversion</span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-plugin-videorate.html">videorate</a></span><span class="refpurpose"> — Adjusts video frames</span>
 </dt>
 <dt>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-1.0.devhelp2 b/docs/plugins/html/gst-plugins-base-plugins-1.0.devhelp2
index 51b61d2..6749db0 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-1.0.devhelp2
+++ b/docs/plugins/html/gst-plugins-base-plugins-1.0.devhelp2
@@ -3,10 +3,10 @@
   <chapters>
     <sub name="gst-plugins-base Elements" link="ch01.html">
       <sub name="adder" link="gst-plugins-base-plugins-adder.html"/>
-      <sub name="appsrc" link="gst-plugins-base-plugins-appsrc.html"/>
-      <sub name="appsink" link="gst-plugins-base-plugins-appsink.html"/>
       <sub name="alsasink" link="gst-plugins-base-plugins-alsasink.html"/>
       <sub name="alsasrc" link="gst-plugins-base-plugins-alsasrc.html"/>
+      <sub name="appsink" link="gst-plugins-base-plugins-appsink.html"/>
+      <sub name="appsrc" link="gst-plugins-base-plugins-appsrc.html"/>
       <sub name="audioconvert" link="gst-plugins-base-plugins-audioconvert.html"/>
       <sub name="audiorate" link="gst-plugins-base-plugins-audiorate.html"/>
       <sub name="audioresample" link="gst-plugins-base-plugins-audioresample.html"/>
@@ -15,24 +15,30 @@
       <sub name="clockoverlay" link="gst-plugins-base-plugins-clockoverlay.html"/>
       <sub name="decodebin" link="gst-plugins-base-plugins-decodebin.html"/>
       <sub name="encodebin" link="gst-plugins-base-plugins-encodebin.html"/>
-      <sub name="videoconvert" link="gst-plugins-base-plugins-videoconvert.html"/>
       <sub name="giosink" link="gst-plugins-base-plugins-giosink.html"/>
       <sub name="giosrc" link="gst-plugins-base-plugins-giosrc.html"/>
       <sub name="giostreamsink" link="gst-plugins-base-plugins-giostreamsink.html"/>
       <sub name="giostreamsrc" link="gst-plugins-base-plugins-giostreamsrc.html"/>
       <sub name="multifdsink" link="gst-plugins-base-plugins-multifdsink.html"/>
       <sub name="multisocketsink" link="gst-plugins-base-plugins-multisocketsink.html"/>
+      <sub name="oggaviparse" link="gst-plugins-base-plugins-oggaviparse.html"/>
       <sub name="oggdemux" link="gst-plugins-base-plugins-oggdemux.html"/>
       <sub name="oggmux" link="gst-plugins-base-plugins-oggmux.html"/>
+      <sub name="oggparse" link="gst-plugins-base-plugins-oggparse.html"/>
+      <sub name="ogmaudioparse" link="gst-plugins-base-plugins-ogmaudioparse.html"/>
+      <sub name="ogmtextparse" link="gst-plugins-base-plugins-ogmtextparse.html"/>
+      <sub name="ogmvideoparse" link="gst-plugins-base-plugins-ogmvideoparse.html"/>
       <sub name="playbin" link="gst-plugins-base-plugins-playbin.html"/>
       <sub name="playsink" link="gst-plugins-base-plugins-playsink.html"/>
-      <sub name="streamsynchronizer" link="gst-plugins-base-plugins-streamsynchronizer.html"/>
-      <sub name="subtitleoverlay" link="gst-plugins-base-plugins-subtitleoverlay.html"/>
       <sub name="socketsrc" link="gst-plugins-base-plugins-socketsrc.html"/>
-      <sub name="tcpclientsrc" link="gst-plugins-base-plugins-tcpclientsrc.html"/>
+      <sub name="ssaparse" link="gst-plugins-base-plugins-ssaparse.html"/>
+      <sub name="streamsynchronizer" link="gst-plugins-base-plugins-streamsynchronizer.html"/>
+      <sub name="subparse" link="gst-plugins-base-plugins-subparse.html"/>
+      <sub name="subtitleoverlay" link="gst-plugins-base-plugins-subtitleoverlay.html"/>
       <sub name="tcpclientsink" link="gst-plugins-base-plugins-tcpclientsink.html"/>
-      <sub name="tcpserversrc" link="gst-plugins-base-plugins-tcpserversrc.html"/>
+      <sub name="tcpclientsrc" link="gst-plugins-base-plugins-tcpclientsrc.html"/>
       <sub name="tcpserversink" link="gst-plugins-base-plugins-tcpserversink.html"/>
+      <sub name="tcpserversrc" link="gst-plugins-base-plugins-tcpserversrc.html"/>
       <sub name="textoverlay" link="gst-plugins-base-plugins-textoverlay.html"/>
       <sub name="textrender" link="gst-plugins-base-plugins-textrender.html"/>
       <sub name="theoradec" link="gst-plugins-base-plugins-theoradec.html"/>
@@ -40,6 +46,7 @@
       <sub name="theoraparse" link="gst-plugins-base-plugins-theoraparse.html"/>
       <sub name="timeoverlay" link="gst-plugins-base-plugins-timeoverlay.html"/>
       <sub name="uridecodebin" link="gst-plugins-base-plugins-uridecodebin.html"/>
+      <sub name="videoconvert" link="gst-plugins-base-plugins-videoconvert.html"/>
       <sub name="videorate" link="gst-plugins-base-plugins-videorate.html"/>
       <sub name="videoscale" link="gst-plugins-base-plugins-videoscale.html"/>
       <sub name="videotestsrc" link="gst-plugins-base-plugins-videotestsrc.html"/>
@@ -61,8 +68,8 @@
       <sub name="audiotestsrc" link="gst-plugins-base-plugins-plugin-audiotestsrc.html"/>
       <sub name="cdparanoia" link="gst-plugins-base-plugins-plugin-cdparanoia.html"/>
       <sub name="encoding" link="gst-plugins-base-plugins-plugin-encoding.html"/>
-      <sub name="videoconvert" link="gst-plugins-base-plugins-plugin-videoconvert.html"/>
       <sub name="gio" link="gst-plugins-base-plugins-plugin-gio.html"/>
+      <sub name="ivorbisdec" link="gst-plugins-base-plugins-plugin-ivorbisdec.html"/>
       <sub name="libvisual" link="gst-plugins-base-plugins-plugin-libvisual.html"/>
       <sub name="ogg" link="gst-plugins-base-plugins-plugin-ogg.html"/>
       <sub name="pango" link="gst-plugins-base-plugins-plugin-pango.html"/>
@@ -71,6 +78,7 @@
       <sub name="tcp" link="gst-plugins-base-plugins-plugin-tcp.html"/>
       <sub name="theora" link="gst-plugins-base-plugins-plugin-theora.html"/>
       <sub name="typefindfunctions" link="gst-plugins-base-plugins-plugin-typefindfunctions.html"/>
+      <sub name="videoconvert" link="gst-plugins-base-plugins-plugin-videoconvert.html"/>
       <sub name="videorate" link="gst-plugins-base-plugins-plugin-videorate.html"/>
       <sub name="videoscale" link="gst-plugins-base-plugins-plugin-videoscale.html"/>
       <sub name="videotestsrc" link="gst-plugins-base-plugins-plugin-videotestsrc.html"/>
@@ -83,6 +91,25 @@
   <functions>
     <keyword type="struct" name="struct GstAdder" link="gst-plugins-base-plugins-adder.html#GstAdder-struct"/>
     <keyword type="property" name="The “caps” property" link="gst-plugins-base-plugins-adder.html#GstAdder--caps"/>
+    <keyword type="struct" name="struct GstAlsaSink" link="gst-plugins-base-plugins-alsasink.html#GstAlsaSink-struct"/>
+    <keyword type="property" name="The “card-name” property" link="gst-plugins-base-plugins-alsasink.html#GstAlsaSink--card-name"/>
+    <keyword type="property" name="The “device” property" link="gst-plugins-base-plugins-alsasink.html#GstAlsaSink--device"/>
+    <keyword type="property" name="The “device-name” property" link="gst-plugins-base-plugins-alsasink.html#GstAlsaSink--device-name"/>
+    <keyword type="struct" name="struct GstAlsaSrc" link="gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc-struct"/>
+    <keyword type="property" name="The “card-name” property" link="gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc--card-name"/>
+    <keyword type="property" name="The “device” property" link="gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc--device"/>
+    <keyword type="property" name="The “device-name” property" link="gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc--device-name"/>
+    <keyword type="struct" name="struct GstAppSink" link="gst-plugins-base-plugins-appsink.html#GstAppSink-struct"/>
+    <keyword type="property" name="The “caps” property" link="gst-plugins-base-plugins-appsink.html#GstAppSink--caps"/>
+    <keyword type="property" name="The “drop” property" link="gst-plugins-base-plugins-appsink.html#GstAppSink--drop"/>
+    <keyword type="property" name="The “emit-signals” property" link="gst-plugins-base-plugins-appsink.html#GstAppSink--emit-signals"/>
+    <keyword type="property" name="The “eos” property" link="gst-plugins-base-plugins-appsink.html#GstAppSink--eos"/>
+    <keyword type="property" name="The “max-buffers” property" link="gst-plugins-base-plugins-appsink.html#GstAppSink--max-buffers"/>
+    <keyword type="signal" name="The “eos” signal" link="gst-plugins-base-plugins-appsink.html#GstAppSink-eos"/>
+    <keyword type="signal" name="The “new-preroll” signal" link="gst-plugins-base-plugins-appsink.html#GstAppSink-new-preroll"/>
+    <keyword type="signal" name="The “new-sample” signal" link="gst-plugins-base-plugins-appsink.html#GstAppSink-new-sample"/>
+    <keyword type="signal" name="The “pull-preroll” signal" link="gst-plugins-base-plugins-appsink.html#GstAppSink-pull-preroll"/>
+    <keyword type="signal" name="The “pull-sample” signal" link="gst-plugins-base-plugins-appsink.html#GstAppSink-pull-sample"/>
     <keyword type="struct" name="struct GstAppSrc" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"/>
     <keyword type="property" name="The “block” property" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc--block"/>
     <keyword type="property" name="The “caps” property" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc--caps"/>
@@ -102,25 +129,6 @@
     <keyword type="signal" name="The “push-buffer” signal" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc-push-buffer"/>
     <keyword type="signal" name="The “seek-data” signal" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc-seek-data"/>
     <keyword type="signal" name="The “push-sample” signal" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc-push-sample"/>
-    <keyword type="struct" name="struct GstAppSink" link="gst-plugins-base-plugins-appsink.html#GstAppSink-struct"/>
-    <keyword type="property" name="The “caps” property" link="gst-plugins-base-plugins-appsink.html#GstAppSink--caps"/>
-    <keyword type="property" name="The “drop” property" link="gst-plugins-base-plugins-appsink.html#GstAppSink--drop"/>
-    <keyword type="property" name="The “emit-signals” property" link="gst-plugins-base-plugins-appsink.html#GstAppSink--emit-signals"/>
-    <keyword type="property" name="The “eos” property" link="gst-plugins-base-plugins-appsink.html#GstAppSink--eos"/>
-    <keyword type="property" name="The “max-buffers” property" link="gst-plugins-base-plugins-appsink.html#GstAppSink--max-buffers"/>
-    <keyword type="signal" name="The “eos” signal" link="gst-plugins-base-plugins-appsink.html#GstAppSink-eos"/>
-    <keyword type="signal" name="The “new-preroll” signal" link="gst-plugins-base-plugins-appsink.html#GstAppSink-new-preroll"/>
-    <keyword type="signal" name="The “new-sample” signal" link="gst-plugins-base-plugins-appsink.html#GstAppSink-new-sample"/>
-    <keyword type="signal" name="The “pull-preroll” signal" link="gst-plugins-base-plugins-appsink.html#GstAppSink-pull-preroll"/>
-    <keyword type="signal" name="The “pull-sample” signal" link="gst-plugins-base-plugins-appsink.html#GstAppSink-pull-sample"/>
-    <keyword type="struct" name="struct GstAlsaSink" link="gst-plugins-base-plugins-alsasink.html#GstAlsaSink-struct"/>
-    <keyword type="property" name="The “card-name” property" link="gst-plugins-base-plugins-alsasink.html#GstAlsaSink--card-name"/>
-    <keyword type="property" name="The “device” property" link="gst-plugins-base-plugins-alsasink.html#GstAlsaSink--device"/>
-    <keyword type="property" name="The “device-name” property" link="gst-plugins-base-plugins-alsasink.html#GstAlsaSink--device-name"/>
-    <keyword type="struct" name="struct GstAlsaSrc" link="gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc-struct"/>
-    <keyword type="property" name="The “card-name” property" link="gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc--card-name"/>
-    <keyword type="property" name="The “device” property" link="gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc--device"/>
-    <keyword type="property" name="The “device-name” property" link="gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc--device-name"/>
     <keyword type="struct" name="struct GstAudioConvert" link="gst-plugins-base-plugins-audioconvert.html#GstAudioConvert-struct"/>
     <keyword type="enum" name="enum GstAudioConvertDithering" link="gst-plugins-base-plugins-audioconvert.html#GstAudioConvertDithering"/>
     <keyword type="enum" name="enum GstAudioConvertNoiseShaping" link="gst-plugins-base-plugins-audioconvert.html#GstAudioConvertNoiseShaping"/>
@@ -188,16 +196,6 @@
     <keyword type="property" name="The “queue-time-max” property" link="gst-plugins-base-plugins-encodebin.html#GstEncodeBin--queue-time-max"/>
     <keyword type="signal" name="The “request-pad” signal" link="gst-plugins-base-plugins-encodebin.html#GstEncodeBin-request-pad"/>
     <keyword type="signal" name="The “request-profile-pad” signal" link="gst-plugins-base-plugins-encodebin.html#GstEncodeBin-request-profile-pad"/>
-    <keyword type="struct" name="struct GstVideoConvert" link="gst-plugins-base-plugins-videoconvert.html#GstVideoConvert-struct"/>
-    <keyword type="property" name="The “dither” property" link="gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--dither"/>
-    <keyword type="property" name="The “alpha-mode” property" link="gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--alpha-mode"/>
-    <keyword type="property" name="The “alpha-value” property" link="gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--alpha-value"/>
-    <keyword type="property" name="The “chroma-mode” property" link="gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--chroma-mode"/>
-    <keyword type="property" name="The “chroma-resampler” property" link="gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--chroma-resampler"/>
-    <keyword type="property" name="The “dither-quantization” property" link="gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--dither-quantization"/>
-    <keyword type="property" name="The “gamma-mode” property" link="gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--gamma-mode"/>
-    <keyword type="property" name="The “matrix-mode” property" link="gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--matrix-mode"/>
-    <keyword type="property" name="The “primaries-mode” property" link="gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--primaries-mode"/>
     <keyword type="struct" name="struct GstGioSink" link="gst-plugins-base-plugins-giosink.html#GstGioSink-struct"/>
     <keyword type="property" name="The “file” property" link="gst-plugins-base-plugins-giosink.html#GstGioSink--file"/>
     <keyword type="property" name="The “location” property" link="gst-plugins-base-plugins-giosink.html#GstGioSink--location"/>
@@ -308,28 +306,33 @@
     <keyword type="property" name="The “video-filter” property" link="gst-plugins-base-plugins-playsink.html#GstPlaySink--video-filter"/>
     <keyword type="signal" name="The “convert-sample” signal" link="gst-plugins-base-plugins-playsink.html#GstPlaySink-convert-sample"/>
     <keyword type="signal" name="The “reconfigure” signal" link="gst-plugins-base-plugins-playsink.html#GstPlaySink-reconfigure"/>
+    <keyword type="struct" name="struct GstSocketSrc" link="gst-plugins-base-plugins-socketsrc.html#GstSocketSrc-struct"/>
+    <keyword type="property" name="The “socket” property" link="gst-plugins-base-plugins-socketsrc.html#GstSocketSrc--socket"/>
+    <keyword type="property" name="The “caps” property" link="gst-plugins-base-plugins-socketsrc.html#GstSocketSrc--caps"/>
+    <keyword type="signal" name="The “connection-closed-by-peer” signal" link="gst-plugins-base-plugins-socketsrc.html#GstSocketSrc-connection-closed-by-peer"/>
+    <keyword type="struct" name="struct GstSsaParse" link="gst-plugins-base-plugins-ssaparse.html#GstSsaParse-struct"/>
     <keyword type="struct" name="struct GstStreamSynchronizer" link="gst-plugins-base-plugins-streamsynchronizer.html#GstStreamSynchronizer-struct"/>
+    <keyword type="struct" name="struct GstSubParse" link="gst-plugins-base-plugins-subparse.html#GstSubParse-struct"/>
+    <keyword type="property" name="The “subtitle-encoding” property" link="gst-plugins-base-plugins-subparse.html#GstSubParse--subtitle-encoding"/>
+    <keyword type="property" name="The “video-fps” property" link="gst-plugins-base-plugins-subparse.html#GstSubParse--video-fps"/>
     <keyword type="struct" name="struct GstSubtitleOverlay" link="gst-plugins-base-plugins-subtitleoverlay.html#GstSubtitleOverlay-struct"/>
     <keyword type="property" name="The “font-desc” property" link="gst-plugins-base-plugins-subtitleoverlay.html#GstSubtitleOverlay--font-desc"/>
     <keyword type="property" name="The “silent” property" link="gst-plugins-base-plugins-subtitleoverlay.html#GstSubtitleOverlay--silent"/>
     <keyword type="property" name="The “subtitle-encoding” property" link="gst-plugins-base-plugins-subtitleoverlay.html#GstSubtitleOverlay--subtitle-encoding"/>
-    <keyword type="struct" name="struct GstSocketSrc" link="gst-plugins-base-plugins-socketsrc.html#GstSocketSrc-struct"/>
-    <keyword type="property" name="The “socket” property" link="gst-plugins-base-plugins-socketsrc.html#GstSocketSrc--socket"/>
-    <keyword type="signal" name="The “connection-closed-by-peer” signal" link="gst-plugins-base-plugins-socketsrc.html#GstSocketSrc-connection-closed-by-peer"/>
-    <keyword type="struct" name="struct GstTCPClientSrc" link="gst-plugins-base-plugins-tcpclientsrc.html#GstTCPClientSrc-struct"/>
-    <keyword type="property" name="The “host” property" link="gst-plugins-base-plugins-tcpclientsrc.html#GstTCPClientSrc--host"/>
-    <keyword type="property" name="The “port” property" link="gst-plugins-base-plugins-tcpclientsrc.html#GstTCPClientSrc--port"/>
     <keyword type="struct" name="struct GstTCPClientSink" link="gst-plugins-base-plugins-tcpclientsink.html#GstTCPClientSink-struct"/>
     <keyword type="property" name="The “host” property" link="gst-plugins-base-plugins-tcpclientsink.html#GstTCPClientSink--host"/>
     <keyword type="property" name="The “port” property" link="gst-plugins-base-plugins-tcpclientsink.html#GstTCPClientSink--port"/>
-    <keyword type="struct" name="struct GstTCPServerSrc" link="gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc-struct"/>
-    <keyword type="property" name="The “current-port” property" link="gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc--current-port"/>
-    <keyword type="property" name="The “host” property" link="gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc--host"/>
-    <keyword type="property" name="The “port” property" link="gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc--port"/>
+    <keyword type="struct" name="struct GstTCPClientSrc" link="gst-plugins-base-plugins-tcpclientsrc.html#GstTCPClientSrc-struct"/>
+    <keyword type="property" name="The “host” property" link="gst-plugins-base-plugins-tcpclientsrc.html#GstTCPClientSrc--host"/>
+    <keyword type="property" name="The “port” property" link="gst-plugins-base-plugins-tcpclientsrc.html#GstTCPClientSrc--port"/>
     <keyword type="struct" name="struct GstTCPServerSink" link="gst-plugins-base-plugins-tcpserversink.html#GstTCPServerSink-struct"/>
     <keyword type="property" name="The “current-port” property" link="gst-plugins-base-plugins-tcpserversink.html#GstTCPServerSink--current-port"/>
     <keyword type="property" name="The “host” property" link="gst-plugins-base-plugins-tcpserversink.html#GstTCPServerSink--host"/>
     <keyword type="property" name="The “port” property" link="gst-plugins-base-plugins-tcpserversink.html#GstTCPServerSink--port"/>
+    <keyword type="struct" name="struct GstTCPServerSrc" link="gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc-struct"/>
+    <keyword type="property" name="The “current-port” property" link="gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc--current-port"/>
+    <keyword type="property" name="The “host” property" link="gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc--host"/>
+    <keyword type="property" name="The “port” property" link="gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc--port"/>
     <keyword type="struct" name="struct GstTextOverlay" link="gst-plugins-base-plugins-textoverlay.html#GstTextOverlay-struct"/>
     <keyword type="struct" name="struct GstTextRender" link="gst-plugins-base-plugins-textrender.html#GstTextRender-struct"/>
     <keyword type="property" name="The “font-desc” property" link="gst-plugins-base-plugins-textrender.html#GstTextRender--font-desc"/>
@@ -340,6 +343,7 @@
     <keyword type="property" name="The “ypad” property" link="gst-plugins-base-plugins-textrender.html#GstTextRender--ypad"/>
     <keyword type="struct" name="struct GstTheoraDec" link="gst-plugins-base-plugins-theoradec.html#GstTheoraDec-struct"/>
     <keyword type="struct" name="struct GstTheoraEnc" link="gst-plugins-base-plugins-theoraenc.html#GstTheoraEnc-struct"/>
+    <keyword type="enum" name="enum GstTheoraEncMultipassMode" link="gst-plugins-base-plugins-theoraenc.html#GstTheoraEncMultipassMode"/>
     <keyword type="property" name="The “bitrate” property" link="gst-plugins-base-plugins-theoraenc.html#GstTheoraEnc--bitrate"/>
     <keyword type="property" name="The “cap-overflow” property" link="gst-plugins-base-plugins-theoraenc.html#GstTheoraEnc--cap-overflow"/>
     <keyword type="property" name="The “cap-underflow” property" link="gst-plugins-base-plugins-theoraenc.html#GstTheoraEnc--cap-underflow"/>
@@ -355,6 +359,7 @@
     <keyword type="property" name="The “vp3-compatible” property" link="gst-plugins-base-plugins-theoraenc.html#GstTheoraEnc--vp3-compatible"/>
     <keyword type="struct" name="struct GstTheoraParse" link="gst-plugins-base-plugins-theoraparse.html#GstTheoraParse-struct"/>
     <keyword type="struct" name="struct GstTimeOverlay" link="gst-plugins-base-plugins-timeoverlay.html#GstTimeOverlay-struct"/>
+    <keyword type="enum" name="enum GstTimeOverlayTimeLine" link="gst-plugins-base-plugins-timeoverlay.html#GstTimeOverlayTimeLine"/>
     <keyword type="property" name="The “time-mode” property" link="gst-plugins-base-plugins-timeoverlay.html#GstTimeOverlay--time-mode"/>
     <keyword type="struct" name="struct GstURIDecodeBin" link="gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin-struct"/>
     <keyword type="enum" name="enum GstAutoplugSelectResult" link="gst-plugins-base-plugins-uridecodebin.html#GstAutoplugSelectResult"/>
@@ -377,6 +382,16 @@
     <keyword type="signal" name="The “drained” signal" link="gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin-drained"/>
     <keyword type="signal" name="The “source-setup” signal" link="gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin-source-setup"/>
     <keyword type="signal" name="The “unknown-type” signal" link="gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin-unknown-type"/>
+    <keyword type="struct" name="struct GstVideoConvert" link="gst-plugins-base-plugins-videoconvert.html#GstVideoConvert-struct"/>
+    <keyword type="property" name="The “dither” property" link="gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--dither"/>
+    <keyword type="property" name="The “alpha-mode” property" link="gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--alpha-mode"/>
+    <keyword type="property" name="The “alpha-value” property" link="gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--alpha-value"/>
+    <keyword type="property" name="The “chroma-mode” property" link="gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--chroma-mode"/>
+    <keyword type="property" name="The “chroma-resampler” property" link="gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--chroma-resampler"/>
+    <keyword type="property" name="The “dither-quantization” property" link="gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--dither-quantization"/>
+    <keyword type="property" name="The “gamma-mode” property" link="gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--gamma-mode"/>
+    <keyword type="property" name="The “matrix-mode” property" link="gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--matrix-mode"/>
+    <keyword type="property" name="The “primaries-mode” property" link="gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--primaries-mode"/>
     <keyword type="struct" name="struct GstVideoRate" link="gst-plugins-base-plugins-videorate.html#GstVideoRate-struct"/>
     <keyword type="property" name="The “average-period” property" link="gst-plugins-base-plugins-videorate.html#GstVideoRate--average-period"/>
     <keyword type="property" name="The “drop” property" link="gst-plugins-base-plugins-videorate.html#GstVideoRate--drop"/>
@@ -526,6 +541,12 @@
     <keyword type="constant" name="GST_PLAY_FLAG_DEINTERLACE" link="gst-plugins-base-plugins-playbin.html#GST-PLAY-FLAG-DEINTERLACE:CAPS"/>
     <keyword type="constant" name="GST_PLAY_FLAG_SOFT_COLORBALANCE" link="gst-plugins-base-plugins-playbin.html#GST-PLAY-FLAG-SOFT-COLORBALANCE:CAPS"/>
     <keyword type="constant" name="GST_PLAY_FLAG_FORCE_FILTERS" link="gst-plugins-base-plugins-playbin.html#GST-PLAY-FLAG-FORCE-FILTERS:CAPS"/>
+    <keyword type="constant" name="MULTIPASS_MODE_SINGLE_PASS" link="gst-plugins-base-plugins-theoraenc.html#MULTIPASS-MODE-SINGLE-PASS:CAPS"/>
+    <keyword type="constant" name="MULTIPASS_MODE_FIRST_PASS" link="gst-plugins-base-plugins-theoraenc.html#MULTIPASS-MODE-FIRST-PASS:CAPS"/>
+    <keyword type="constant" name="MULTIPASS_MODE_SECOND_PASS" link="gst-plugins-base-plugins-theoraenc.html#MULTIPASS-MODE-SECOND-PASS:CAPS"/>
+    <keyword type="constant" name="GST_TIME_OVERLAY_TIME_LINE_BUFFER_TIME" link="gst-plugins-base-plugins-timeoverlay.html#GST-TIME-OVERLAY-TIME-LINE-BUFFER-TIME:CAPS"/>
+    <keyword type="constant" name="GST_TIME_OVERLAY_TIME_LINE_STREAM_TIME" link="gst-plugins-base-plugins-timeoverlay.html#GST-TIME-OVERLAY-TIME-LINE-STREAM-TIME:CAPS"/>
+    <keyword type="constant" name="GST_TIME_OVERLAY_TIME_LINE_RUNNING_TIME" link="gst-plugins-base-plugins-timeoverlay.html#GST-TIME-OVERLAY-TIME-LINE-RUNNING-TIME:CAPS"/>
     <keyword type="constant" name="GST_AUTOPLUG_SELECT_TRY" link="gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-TRY:CAPS"/>
     <keyword type="constant" name="GST_AUTOPLUG_SELECT_EXPOSE" link="gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-EXPOSE:CAPS"/>
     <keyword type="constant" name="GST_AUTOPLUG_SELECT_SKIP" link="gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-SKIP:CAPS"/>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-adder.html b/docs/plugins/html/gst-plugins-base-plugins-adder.html
index 661e1ae..f8c8c86 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-adder.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-adder.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
 <link rel="prev" href="ch01.html" title="gst-plugins-base Elements">
-<link rel="next" href="gst-plugins-base-plugins-appsrc.html" title="appsrc">
+<link rel="next" href="gst-plugins-base-plugins-alsasink.html" title="alsasink">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -23,7 +23,7 @@
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
 <td><a accesskey="p" href="ch01.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-appsrc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-alsasink.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-adder"></a><div class="titlepage"></div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-alsasink.html b/docs/plugins/html/gst-plugins-base-plugins-alsasink.html
index 7435e26..76b9ac8 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-alsasink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-alsasink.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
-<link rel="prev" href="gst-plugins-base-plugins-appsink.html" title="appsink">
+<link rel="prev" href="gst-plugins-base-plugins-adder.html" title="adder">
 <link rel="next" href="gst-plugins-base-plugins-alsasrc.html" title="alsasrc">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
@@ -21,7 +21,7 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-appsink.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-adder.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
 <td><a accesskey="n" href="gst-plugins-base-plugins-alsasrc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
@@ -93,7 +93,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.5.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.3.7.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -119,7 +119,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.5.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.3.7.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-alsasrc.html b/docs/plugins/html/gst-plugins-base-plugins-alsasrc.html
index 54438ac..0fea3c9 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-alsasrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-alsasrc.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
 <link rel="prev" href="gst-plugins-base-plugins-alsasink.html" title="alsasink">
-<link rel="next" href="gst-plugins-base-plugins-audioconvert.html" title="audioconvert">
+<link rel="next" href="gst-plugins-base-plugins-appsink.html" title="appsink">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -22,7 +22,7 @@
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
 <td><a accesskey="p" href="gst-plugins-base-plugins-alsasink.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-audioconvert.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-appsink.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-alsasrc"></a><div class="titlepage"></div>
@@ -94,7 +94,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.6.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.4.7.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -120,7 +120,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.6.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.4.7.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-appsink.html b/docs/plugins/html/gst-plugins-base-plugins-appsink.html
index 280d259..33b8fb6 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-appsink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-appsink.html
@@ -6,8 +6,8 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
-<link rel="prev" href="gst-plugins-base-plugins-appsrc.html" title="appsrc">
-<link rel="next" href="gst-plugins-base-plugins-alsasink.html" title="alsasink">
+<link rel="prev" href="gst-plugins-base-plugins-alsasrc.html" title="alsasrc">
+<link rel="next" href="gst-plugins-base-plugins-appsrc.html" title="appsrc">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -23,8 +23,8 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-appsrc.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-alsasink.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-alsasrc.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-appsrc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-appsink"></a><div class="titlepage"></div>
@@ -152,7 +152,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.4.9.6.1"></a><h3>Element Information</h3>
+<a name="id-1.2.5.9.6.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -178,7 +178,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.4.9.6.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.5.9.6.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-appsrc.html b/docs/plugins/html/gst-plugins-base-plugins-appsrc.html
index 97e38c1..ef3f5ac 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-appsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-appsrc.html
@@ -6,8 +6,8 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
-<link rel="prev" href="gst-plugins-base-plugins-adder.html" title="adder">
-<link rel="next" href="gst-plugins-base-plugins-appsink.html" title="appsink">
+<link rel="prev" href="gst-plugins-base-plugins-appsink.html" title="appsink">
+<link rel="next" href="gst-plugins-base-plugins-audioconvert.html" title="audioconvert">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -23,8 +23,8 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-adder.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-appsink.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-appsink.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-audioconvert.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-appsrc"></a><div class="titlepage"></div>
@@ -190,7 +190,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.3.9.6.1"></a><h3>Element Information</h3>
+<a name="id-1.2.6.9.6.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -216,7 +216,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.3.9.6.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.6.9.6.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-audioconvert.html b/docs/plugins/html/gst-plugins-base-plugins-audioconvert.html
index 14804d0..76859aa 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-audioconvert.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-audioconvert.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
-<link rel="prev" href="gst-plugins-base-plugins-alsasrc.html" title="alsasrc">
+<link rel="prev" href="gst-plugins-base-plugins-appsrc.html" title="appsrc">
 <link rel="next" href="gst-plugins-base-plugins-audiorate.html" title="audiorate">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
@@ -21,7 +21,7 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-alsasrc.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-appsrc.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
 <td><a accesskey="n" href="gst-plugins-base-plugins-audiorate.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-decodebin.html b/docs/plugins/html/gst-plugins-base-plugins-decodebin.html
index 0187812..87e5274 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-decodebin.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-decodebin.html
@@ -514,7 +514,7 @@
 user_function (<a class="link" href="gst-plugins-base-plugins-decodebin.html#GstDecodeBin"><span class="type">GstDecodeBin</span></a> *bin,
                <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>       *child,
                <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>   *pad,
-               <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstQuery.html"><span class="type">GstQuery</span></a>     *element,
+               <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstQuery.html"><span class="type">GstQuery</span></a>     *query,
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data)</pre>
 <p>This signal is emitted whenever an autoplugged element that is
 not linked downstream yet and not exposed does a query. It can
@@ -545,11 +545,6 @@
 <td class="parameter_annotations"> </td>
 </tr>
 <tr>
-<td class="parameter_name"><p>element</p></td>
-<td class="parameter_description"><p>The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
 <td class="parameter_name"><p>query</p></td>
 <td class="parameter_description"><p>The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstQuery.html"><span class="type">GstQuery</span></a>.</p></td>
 <td class="parameter_annotations"> </td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-encodebin.html b/docs/plugins/html/gst-plugins-base-plugins-encodebin.html
index 3373e7c..57c9544 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-encodebin.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-encodebin.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
 <link rel="prev" href="gst-plugins-base-plugins-decodebin.html" title="decodebin">
-<link rel="next" href="gst-plugins-base-plugins-videoconvert.html" title="videoconvert">
+<link rel="next" href="gst-plugins-base-plugins-giosink.html" title="giosink">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -24,7 +24,7 @@
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
 <td><a accesskey="p" href="gst-plugins-base-plugins-decodebin.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-videoconvert.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-giosink.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-encodebin"></a><div class="titlepage"></div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-giosink.html b/docs/plugins/html/gst-plugins-base-plugins-giosink.html
index f1988ac..d49d247 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-giosink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-giosink.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
-<link rel="prev" href="gst-plugins-base-plugins-videoconvert.html" title="videoconvert">
+<link rel="prev" href="gst-plugins-base-plugins-encodebin.html" title="encodebin">
 <link rel="next" href="gst-plugins-base-plugins-giosrc.html" title="giosrc">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
@@ -22,7 +22,7 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-videoconvert.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-encodebin.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
 <td><a accesskey="n" href="gst-plugins-base-plugins-giosrc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
@@ -110,7 +110,7 @@
 mounted. This message can be used by application to mount the location
 and retry after the location was mounted successfully.</p>
 <div class="refsect2">
-<a name="id-1.2.16.8.5"></a><h3>Example pipelines</h3>
+<a name="id-1.2.15.8.5"></a><h3>Example pipelines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -151,7 +151,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.16.8.6.1"></a><h3>Element Information</h3>
+<a name="id-1.2.15.8.6.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -177,7 +177,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.16.8.6.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.15.8.6.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-giosrc.html b/docs/plugins/html/gst-plugins-base-plugins-giosrc.html
index 713ec19..9dc3d0b 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-giosrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-giosrc.html
@@ -106,7 +106,7 @@
 message was received and gst_bus_set_flushing(bus, FALSE) after the
 mounting was successful.</p>
 <div class="refsect2">
-<a name="id-1.2.17.8.4"></a><h3>Example launch lines</h3>
+<a name="id-1.2.16.8.4"></a><h3>Example launch lines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -148,7 +148,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.17.8.5.1"></a><h3>Element Information</h3>
+<a name="id-1.2.16.8.5.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -174,7 +174,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.17.8.5.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.16.8.5.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-giostreamsink.html b/docs/plugins/html/gst-plugins-base-plugins-giostreamsink.html
index 2ec2477..40544e0 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-giostreamsink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-giostreamsink.html
@@ -79,7 +79,7 @@
 <p>It can, for example, be used to write a stream to memory with a
 <span class="type">GMemoryOuputStream</span> or to write to a file with a <span class="type">GFileOuputStream</span>.</p>
 <div class="refsect2">
-<a name="id-1.2.18.7.4"></a><h3>Example code</h3>
+<a name="id-1.2.17.7.4"></a><h3>Example code</h3>
 <p>
 The following example writes the received data to a <a href="https://developer.gnome.org/gio/unstable/GMemoryOutputStream.html"><span class="type">GMemoryOutputStream</span></a>.
 </p>
@@ -144,7 +144,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.18.7.5.1"></a><h3>Element Information</h3>
+<a name="id-1.2.17.7.5.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -170,7 +170,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.18.7.5.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.17.7.5.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-giostreamsrc.html b/docs/plugins/html/gst-plugins-base-plugins-giostreamsrc.html
index 3465049..9f716cc 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-giostreamsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-giostreamsrc.html
@@ -80,7 +80,7 @@
 <a href="https://developer.gnome.org/gio/unstable/GMemoryInputStream.html"><span class="type">GMemoryInputStream</span></a> or to read from a file with a
 <a href="https://developer.gnome.org/gio/unstable/GFileInputStream.html"><span class="type">GFileInputStream</span></a>.</p>
 <div class="refsect2">
-<a name="id-1.2.19.7.4"></a><h3>Example code</h3>
+<a name="id-1.2.18.7.4"></a><h3>Example code</h3>
 <p>
 The following example reads data from a <a href="https://developer.gnome.org/gio/unstable/GMemoryInputStream.html"><span class="type">GMemoryInputStream</span></a>.
 </p>
@@ -143,7 +143,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.19.7.5.1"></a><h3>Element Information</h3>
+<a name="id-1.2.18.7.5.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -169,7 +169,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.19.7.5.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.18.7.5.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-multifdsink.html b/docs/plugins/html/gst-plugins-base-plugins-multifdsink.html
index aae81d8..03713de 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-multifdsink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-multifdsink.html
@@ -209,7 +209,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.20.8.13.1"></a><h3>Element Information</h3>
+<a name="id-1.2.19.8.13.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -235,7 +235,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.20.8.13.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.19.8.13.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -280,7 +280,7 @@
 <p>Possible values for the recovery procedure to use when a client consumes
 data too slow and has a backlag of more that soft-limit buffers.</p>
 <div class="refsect3">
-<a name="id-1.2.20.10.3.4"></a><h4>Members</h4>
+<a name="id-1.2.19.10.3.4"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="enum_members_name">
@@ -326,7 +326,7 @@
 <p>This enum defines the selection of the first buffer that is sent
 to a new client.</p>
 <div class="refsect3">
-<a name="id-1.2.20.10.4.4"></a><h4>Members</h4>
+<a name="id-1.2.19.10.4.4"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="enum_members_name">
@@ -389,7 +389,7 @@
 <p>This specifies the reason why a client was removed from
 multisocketsink and is received in the "client-removed" signal.</p>
 <div class="refsect3">
-<a name="id-1.2.20.10.5.4"></a><h4>Members</h4>
+<a name="id-1.2.19.10.5.4"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="enum_members_name">
@@ -471,7 +471,7 @@
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>        user_data)</pre>
 <p>Hand the given open file descriptor to multifdsink to write to.</p>
 <div class="refsect3">
-<a name="id-1.2.20.12.2.5"></a><h4>Parameters</h4>
+<a name="id-1.2.19.12.2.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -514,7 +514,7 @@
 <p>Hand the given open file descriptor to multifdsink to write to and
 specify the burst parameters for the new connection.</p>
 <div class="refsect3">
-<a name="id-1.2.20.12.3.5"></a><h4>Parameters</h4>
+<a name="id-1.2.19.12.3.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -584,7 +584,7 @@
 be emitted from the streaming thread so application should be prepared
 for that.</p>
 <div class="refsect3">
-<a name="id-1.2.20.12.4.5"></a><h4>Parameters</h4>
+<a name="id-1.2.19.12.4.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -630,7 +630,7 @@
 . It is however safe to <code class="function">close()</code> and reuse <em class="parameter"><code>fd</code></em>
  in the callback.</p>
 <div class="refsect3">
-<a name="id-1.2.20.12.5.6"></a><h4>Parameters</h4>
+<a name="id-1.2.19.12.5.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -676,7 +676,7 @@
 not safe to <code class="function">close()</code> and reuse <em class="parameter"><code>fd</code></em>
  in this callback.</p>
 <div class="refsect3">
-<a name="id-1.2.20.12.6.6"></a><h4>Parameters</h4>
+<a name="id-1.2.19.12.6.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -720,7 +720,7 @@
 . This function returns a GValueArray to ease
 automatic wrapping for bindings.</p>
 <div class="refsect3">
-<a name="id-1.2.20.12.7.5"></a><h4>Parameters</h4>
+<a name="id-1.2.19.12.7.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -747,7 +747,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.20.12.7.6"></a><h4>Returns</h4>
+<a name="id-1.2.19.12.7.6"></a><h4>Returns</h4>
 <p> a GValueArray with the statistics. The array contains guint64
 values that represent respectively: total number of bytes sent, time
 when the client was added, time when the client was
@@ -767,7 +767,7 @@
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>        user_data)</pre>
 <p>Remove the given open file descriptor from multifdsink.</p>
 <div class="refsect3">
-<a name="id-1.2.20.12.8.5"></a><h4>Parameters</h4>
+<a name="id-1.2.19.12.8.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -805,7 +805,7 @@
 <p>Remove the given open file descriptor from multifdsink after flushing all
 the pending data to the fd.</p>
 <div class="refsect3">
-<a name="id-1.2.20.12.9.5"></a><h4>Parameters</h4>
+<a name="id-1.2.19.12.9.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-multisocketsink.html b/docs/plugins/html/gst-plugins-base-plugins-multisocketsink.html
index b06dca9..33ce787 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-multisocketsink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-multisocketsink.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
 <link rel="prev" href="gst-plugins-base-plugins-multifdsink.html" title="multifdsink">
-<link rel="next" href="gst-plugins-base-plugins-oggdemux.html" title="oggdemux">
+<link rel="next" href="gst-plugins-base-plugins-oggaviparse.html" title="oggaviparse">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -22,7 +22,7 @@
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
 <td><a accesskey="p" href="gst-plugins-base-plugins-multifdsink.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-oggdemux.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-oggaviparse.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-multisocketsink"></a><div class="titlepage"></div>
@@ -192,7 +192,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.21.7.12.1"></a><h3>Element Information</h3>
+<a name="id-1.2.20.7.12.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -218,7 +218,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.21.7.12.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.20.7.12.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -263,7 +263,7 @@
 <p>Possible values for the recovery procedure to use when a client consumes
 data too slow and has a backlag of more that soft-limit buffers.</p>
 <div class="refsect3">
-<a name="id-1.2.21.9.3.4"></a><h4>Members</h4>
+<a name="id-1.2.20.9.3.4"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="enum_members_name">
@@ -309,7 +309,7 @@
 <p>This enum defines the selection of the first buffer that is sent
 to a new client.</p>
 <div class="refsect3">
-<a name="id-1.2.21.9.4.4"></a><h4>Members</h4>
+<a name="id-1.2.20.9.4.4"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="enum_members_name">
@@ -372,7 +372,7 @@
 <p>This specifies the reason why a client was removed from
 multisocketsink and is received in the "client-removed" signal.</p>
 <div class="refsect3">
-<a name="id-1.2.21.9.5.4"></a><h4>Members</h4>
+<a name="id-1.2.20.9.5.4"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="enum_members_name">
@@ -444,7 +444,7 @@
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>            user_data)</pre>
 <p>Hand the given open socket to multisocketsink to write to.</p>
 <div class="refsect3">
-<a name="id-1.2.21.10.2.5"></a><h4>Parameters</h4>
+<a name="id-1.2.20.10.2.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -487,7 +487,7 @@
 <p>Hand the given open socket to multisocketsink to write to and
 specify the burst parameters for the new connection.</p>
 <div class="refsect3">
-<a name="id-1.2.21.10.3.5"></a><h4>Parameters</h4>
+<a name="id-1.2.20.10.3.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -557,7 +557,7 @@
 be emitted from the streaming thread so application should be prepared
 for that.</p>
 <div class="refsect3">
-<a name="id-1.2.21.10.4.5"></a><h4>Parameters</h4>
+<a name="id-1.2.20.10.4.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -603,7 +603,7 @@
 not safe to <code class="function">close()</code> and reuse <em class="parameter"><code>socket</code></em>
  in this callback.</p>
 <div class="refsect3">
-<a name="id-1.2.21.10.5.6"></a><h4>Parameters</h4>
+<a name="id-1.2.20.10.5.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -654,7 +654,7 @@
 . It is however safe to <code class="function">close()</code> and reuse <em class="parameter"><code>fd</code></em>
  in the callback.</p>
 <div class="refsect3">
-<a name="id-1.2.21.10.6.6"></a><h4>Parameters</h4>
+<a name="id-1.2.20.10.6.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -692,7 +692,7 @@
 <p>Get statistics about <em class="parameter"><code>socket</code></em>
 . This function returns a GstStructure.</p>
 <div class="refsect3">
-<a name="id-1.2.21.10.7.5"></a><h4>Parameters</h4>
+<a name="id-1.2.20.10.7.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -719,7 +719,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.21.10.7.6"></a><h4>Returns</h4>
+<a name="id-1.2.20.10.7.6"></a><h4>Returns</h4>
 <p> a GstStructure with the statistics. The structure contains
 values that represent: total number of bytes sent, time
 when the client was added, time when the client was
@@ -738,7 +738,7 @@
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>            user_data)</pre>
 <p>Remove the given open socket from multisocketsink.</p>
 <div class="refsect3">
-<a name="id-1.2.21.10.8.5"></a><h4>Parameters</h4>
+<a name="id-1.2.20.10.8.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -776,7 +776,7 @@
 <p>Remove the given open socket from multisocketsink after flushing all
 the pending data to the socket.</p>
 <div class="refsect3">
-<a name="id-1.2.21.10.9.5"></a><h4>Parameters</h4>
+<a name="id-1.2.20.10.9.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-oggaviparse.html b/docs/plugins/html/gst-plugins-base-plugins-oggaviparse.html
new file mode 100644
index 0000000..3e601d7
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-base-plugins-oggaviparse.html
@@ -0,0 +1,128 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>oggaviparse: GStreamer Base Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-base Elements">
+<link rel="prev" href="gst-plugins-base-plugins-multisocketsink.html" title="multisocketsink">
+<link rel="next" href="gst-plugins-base-plugins-oggdemux.html" title="oggdemux">
+<meta name="generator" content="GTK-Doc V1.24 (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="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-base-plugins-oggaviparse.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-multisocketsink.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-oggdemux.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-base-plugins-oggaviparse"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-oggaviparse.top_of_page"></a>oggaviparse</span></h2>
+<p>oggaviparse</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-oggaviparse.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.21.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-base-plugins-plugin-ogg.html#plugin-ogg">ogg</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Wim Taymans &lt;wim@fluendo.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Codec/Parser</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.21.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<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>application/x-ogg-avi</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<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>audio/x-vorbis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-oggaviparse.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-oggaviparse.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.24</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-base-plugins-oggdemux.html b/docs/plugins/html/gst-plugins-base-plugins-oggdemux.html
index 0e8b95c..c9d5dd0 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-oggdemux.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-oggdemux.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
-<link rel="prev" href="gst-plugins-base-plugins-multisocketsink.html" title="multisocketsink">
+<link rel="prev" href="gst-plugins-base-plugins-oggaviparse.html" title="oggaviparse">
 <link rel="next" href="gst-plugins-base-plugins-oggmux.html" title="oggmux">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
@@ -20,7 +20,7 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-multisocketsink.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-oggaviparse.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
 <td><a accesskey="n" href="gst-plugins-base-plugins-oggmux.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-oggmux.html b/docs/plugins/html/gst-plugins-base-plugins-oggmux.html
index 4a8dddf..8731f89 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-oggmux.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-oggmux.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
 <link rel="prev" href="gst-plugins-base-plugins-oggdemux.html" title="oggdemux">
-<link rel="next" href="gst-plugins-base-plugins-playbin.html" title="playbin">
+<link rel="next" href="gst-plugins-base-plugins-oggparse.html" title="oggparse">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -23,7 +23,7 @@
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
 <td><a accesskey="p" href="gst-plugins-base-plugins-oggdemux.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-playbin.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-oggparse.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-oggmux"></a><div class="titlepage"></div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-oggparse.html b/docs/plugins/html/gst-plugins-base-plugins-oggparse.html
new file mode 100644
index 0000000..236197a
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-base-plugins-oggparse.html
@@ -0,0 +1,128 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>oggparse: GStreamer Base Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-base Elements">
+<link rel="prev" href="gst-plugins-base-plugins-oggmux.html" title="oggmux">
+<link rel="next" href="gst-plugins-base-plugins-ogmaudioparse.html" title="ogmaudioparse">
+<meta name="generator" content="GTK-Doc V1.24 (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="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-base-plugins-oggparse.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-oggmux.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-ogmaudioparse.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-base-plugins-oggparse"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-oggparse.top_of_page"></a>oggparse</span></h2>
+<p>oggparse</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-oggparse.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.24.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-base-plugins-plugin-ogg.html#plugin-ogg">ogg</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Michael Smith &lt;msmith@fluendo.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Codec/Parser</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.24.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<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>application/ogg</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<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>application/ogg</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-oggparse.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-oggparse.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.24</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-base-plugins-ogmaudioparse.html b/docs/plugins/html/gst-plugins-base-plugins-ogmaudioparse.html
new file mode 100644
index 0000000..23d8f31
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-base-plugins-ogmaudioparse.html
@@ -0,0 +1,232 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ogmaudioparse: GStreamer Base Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-base Elements">
+<link rel="prev" href="gst-plugins-base-plugins-oggparse.html" title="oggparse">
+<link rel="next" href="gst-plugins-base-plugins-ogmtextparse.html" title="ogmtextparse">
+<meta name="generator" content="GTK-Doc V1.24 (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="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-base-plugins-ogmaudioparse.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-oggparse.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-ogmtextparse.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-base-plugins-ogmaudioparse"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-ogmaudioparse.top_of_page"></a>ogmaudioparse</span></h2>
+<p>ogmaudioparse</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-ogmaudioparse.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.25.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-base-plugins-plugin-ogg.html#plugin-ogg">ogg</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>GStreamer maintainers &lt;gstreamer-devel@lists.freedesktop.org&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Codec/Decoder/Audio</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.25.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<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>application/x-ogm-audio</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<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>sometimes</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>audio/ms-gsm, rate=(int)[ 1, 96000 ], channels=(int)[ 1, 2 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/mpeg, mpegversion=(int)1, layer=(int)3, rate=(int)[ 8000, 48000 ], channels=(int)[ 1, 2 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/mpeg, mpegversion=(int)1, layer=(int)2, rate=(int)[ 16000, 48000 ], channels=(int)[ 1, 2 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-raw, format=(string){ S8, U8, S16LE, U16LE, S24LE, U24LE, S32LE, U32LE }, layout=(string)interleaved, rate=(int)[ 1000, 192000 ], channels=(int)[ 1, 8 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-vorbis, rate=(int)[ 1000, 192000 ], channels=(int)[ 1, 2 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-ac3, rate=(int)[ 1000, 96000 ], channels=(int)[ 1, 6 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-dts</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/mpeg, mpegversion=(int)4, rate=(int)[ 1000, 96000 ], channels=(int)[ 1, 8 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-alaw, rate=(int)[ 1000, 48000 ], channels=(int)[ 1, 2 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-mulaw, rate=(int)[ 1000, 48000 ], channels=(int)[ 1, 2 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-wms, bitrate=(int)[ 0, 2147483647 ], rate=(int)[ 1000, 96000 ], channels=(int)[ 1, 2 ], block_align=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-adpcm, layout=(string)microsoft, rate=(int)[ 1000, 96000 ], channels=(int)[ 1, 2 ], block_align=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-adpcm, layout=(string)dvi, rate=(int)[ 1000, 96000 ], channels=(int)[ 1, 2 ], block_align=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-truespeech, rate=(int)8000, channels=(int)[ 1, 2 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-wma, wmaversion=(int)1, bitrate=(int)[ 0, 2147483647 ], rate=(int)[ 1000, 96000 ], channels=(int)[ 1, 8 ], block_align=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-wma, wmaversion=(int)2, bitrate=(int)[ 0, 2147483647 ], rate=(int)[ 1000, 96000 ], channels=(int)[ 1, 8 ], block_align=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-wma, wmaversion=(int)3, bitrate=(int)[ 0, 2147483647 ], rate=(int)[ 1000, 96000 ], channels=(int)[ 1, 8 ], block_align=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-vnd.sony.atrac3, rate=(int)[ 1000, 96000 ], channels=(int)[ 1, 2 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-raw, format=(string){ F32LE, F64LE }, layout=(string)interleaved, rate=(int)[ 1000, 192000 ], channels=(int)[ 1, 8 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-voxware, voxwaretype=(int)117, rate=(int)[ 1000, 96000 ], channels=(int)[ 1, 2 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-adpcm, layout=(string)dk4, rate=(int)[ 8000, 96000 ], channels=(int)[ 1, 2 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-adpcm, layout=(string)dk3, rate=(int)[ 8000, 96000 ], channels=(int)[ 1, 2 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-adpcm, layout=(string)dvi, rate=(int)[ 8000, 96000 ], channels=(int)[ 1, 2 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/AMR, rate=(int)8000, channels=(int)1</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/AMR-WB, rate=(int)16000, channels=(int)1</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-siren</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> application/x-ogg-avi</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-ogmaudioparse.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-ogmaudioparse.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.24</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-base-plugins-ogmtextparse.html b/docs/plugins/html/gst-plugins-base-plugins-ogmtextparse.html
new file mode 100644
index 0000000..cdce3ad
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-base-plugins-ogmtextparse.html
@@ -0,0 +1,128 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ogmtextparse: GStreamer Base Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-base Elements">
+<link rel="prev" href="gst-plugins-base-plugins-ogmaudioparse.html" title="ogmaudioparse">
+<link rel="next" href="gst-plugins-base-plugins-ogmvideoparse.html" title="ogmvideoparse">
+<meta name="generator" content="GTK-Doc V1.24 (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="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-base-plugins-ogmtextparse.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-ogmaudioparse.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-ogmvideoparse.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-base-plugins-ogmtextparse"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-ogmtextparse.top_of_page"></a>ogmtextparse</span></h2>
+<p>ogmtextparse</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-ogmtextparse.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.26.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-base-plugins-plugin-ogg.html#plugin-ogg">ogg</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>GStreamer maintainers &lt;gstreamer-devel@lists.freedesktop.org&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Codec/Decoder/Subtitle</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.26.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<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>application/x-ogm-text</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<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>sometimes</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>text/x-raw, format=(string)utf8</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-ogmtextparse.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-ogmtextparse.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.24</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-base-plugins-ogmvideoparse.html b/docs/plugins/html/gst-plugins-base-plugins-ogmvideoparse.html
new file mode 100644
index 0000000..41e736e
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-base-plugins-ogmvideoparse.html
@@ -0,0 +1,448 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ogmvideoparse: GStreamer Base Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-base Elements">
+<link rel="prev" href="gst-plugins-base-plugins-ogmtextparse.html" title="ogmtextparse">
+<link rel="next" href="gst-plugins-base-plugins-playbin.html" title="playbin">
+<meta name="generator" content="GTK-Doc V1.24 (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="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-base-plugins-ogmvideoparse.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-ogmtextparse.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-playbin.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-base-plugins-ogmvideoparse"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-ogmvideoparse.top_of_page"></a>ogmvideoparse</span></h2>
+<p>ogmvideoparse</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-ogmvideoparse.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.27.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-base-plugins-plugin-ogg.html#plugin-ogg">ogg</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>GStreamer maintainers &lt;gstreamer-devel@lists.freedesktop.org&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Codec/Decoder/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.27.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<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>application/x-ogm-video</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<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>sometimes</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-asus, asusversion=(int)1, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-asus, asusversion=(int)2, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-cirrus-logic-accupak, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-camstudio, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-compressed-yuv, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw, format=(string){ RGB8P, BGR, BGRx }, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-divx, divxversion=(int)3, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-divx, divxversion=(int)4, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-truemotion, trueversion=(int)1, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-dv, systemstream=(boolean)false, dvversion=(int)25, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-dv, systemstream=(boolean)false, dvversion=(int)50, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-divx, divxversion=(int)5, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-flash-video, flvversion=(int)1, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-vp6-flash, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-h263, variant=(string)itu, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-h263, variant=(string)lucent, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-h264, variant=(string)itu, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-huffyuv, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-intel-h263, variant=(string)intel, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw, format=(string)I420, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-indeo, indeoversion=(int)3, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-indeo, indeoversion=(int)4, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-indeo, indeoversion=(int)5, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-h263, variant=(string)lead, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-h264, variant=(string)lead, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-h263, variant=(string)microsoft, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> image/jpeg, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-msmpeg, msmpegversion=(int)42, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-msmpeg, msmpegversion=(int)43, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/mpeg, systemstream=(boolean)false, mpegversion=(int)1, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/mpeg, systemstream=(boolean)false, mpegversion=(int)2, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-msmpeg, msmpegversion=(int)41, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-mszh, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> image/png, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-rle, layout=(string)microsoft, depth=(int)[ 1, 64 ], framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-indeo, indeoversion=(int)2, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/sp5x, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-truemotion, trueversion=(int)2, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-camtasia, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-ultimotion, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw, format=(string)UYVY, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-ati-vcr, vcrversion=(int)1, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-ati-vcr, vcrversion=(int)2, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-h263, variant=(string)vdolive, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-h263, variant=(string)vivo, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-vmnc, version=(int)1, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-vp3, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-h264, variant=(string)videosoft, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-wmv, wmvversion=(int)1, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-wmv, wmvversion=(int)2, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-wmv, wmvversion=(int)3, format=(string)WMV3, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-xan, wcversion=(int)4, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw, format=(string)YUY2, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw, format=(string)YVU9, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-zlib, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-cinepak, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-h264, variant=(string)itu, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-msvideocodec, msvideoversion=(int)1, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-h263, variant=(string)xirlink, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-dirac, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-ffv, ffvversion=(int)1, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-kmvc, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-vp5, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-vp6, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-vp6-flash, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-vp7, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-vp8, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-mimic, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-apple-video, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-theora, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-fraps, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-aasc, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw, format=(string)YV12, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-loco, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-zmbv, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw, format=(string)v210, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw, format=(string)r210, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-ogmvideoparse.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-ogmvideoparse.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.24</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-base-plugins-playbin.html b/docs/plugins/html/gst-plugins-base-plugins-playbin.html
index 5aba420..31209fa 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-playbin.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-playbin.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
-<link rel="prev" href="gst-plugins-base-plugins-oggmux.html" title="oggmux">
+<link rel="prev" href="gst-plugins-base-plugins-ogmvideoparse.html" title="ogmvideoparse">
 <link rel="next" href="gst-plugins-base-plugins-playsink.html" title="playsink">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
@@ -23,7 +23,7 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-oggmux.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-ogmvideoparse.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
 <td><a accesskey="n" href="gst-plugins-base-plugins-playsink.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
@@ -398,7 +398,7 @@
 </li>
 </ul></div>
 <div class="refsect2">
-<a name="id-1.2.24.9.5"></a><h3>Usage</h3>
+<a name="id-1.2.28.9.5"></a><h3>Usage</h3>
 <p>
 A playbin element can be created just like any other element using
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElementFactory.html#gst-element-factory-make"><code class="function">gst_element_factory_make()</code></a>. The file/URI to play should be set via the <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--uri" title="The “uri” property"><span class="type">“uri”</span></a>
@@ -439,7 +439,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.24.9.6"></a><h3>Advanced Usage: specifying the audio and video sink</h3>
+<a name="id-1.2.28.9.6"></a><h3>Advanced Usage: specifying the audio and video sink</h3>
 <p>
 By default, if no audio sink or video sink has been specified via the
 <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--audio-sink" title="The “audio-sink” property"><span class="type">“audio-sink”</span></a> or <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--video-sink" title="The “video-sink” property"><span class="type">“video-sink”</span></a> property, playbin will use the autoaudiosink
@@ -474,7 +474,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.24.9.7"></a><h3>Retrieving Tags and Other Meta Data</h3>
+<a name="id-1.2.28.9.7"></a><h3>Retrieving Tags and Other Meta Data</h3>
 <p>
 Most of the common meta data (artist, title, etc.) can be retrieved by
 watching for TAG messages on the pipeline's bus (see above).
@@ -486,7 +486,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.24.9.8"></a><h3>Buffering</h3>
+<a name="id-1.2.28.9.8"></a><h3>Buffering</h3>
 Playbin handles buffering automatically for the most part, but applications
 need to handle parts of the buffering process as well. Whenever playbin is
 buffering, it will post BUFFERING messages on the bus with a percentage
@@ -528,7 +528,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.24.9.9"></a><h3>Embedding the video window in your application</h3>
+<a name="id-1.2.28.9.9"></a><h3>Embedding the video window in your application</h3>
 By default, playbin (or rather the video sinks used) will create their own
 window. Applications will usually want to force output to a window of their
 own, however. This can be done using the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay"><span class="type">GstVideoOverlay</span></a> interface, which most
@@ -536,7 +536,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.24.9.10"></a><h3>Specifying which CD/DVD device to use</h3>
+<a name="id-1.2.28.9.10"></a><h3>Specifying which CD/DVD device to use</h3>
 The device to use for CDs/DVDs needs to be set on the source element
 playbin creates before it is opened. The most generic way of doing this
 is to connect to playbin's "source-setup" (or "notify::source") signal,
@@ -550,7 +550,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.24.9.11"></a><h3>Handling redirects</h3>
+<a name="id-1.2.28.9.11"></a><h3>Handling redirects</h3>
 <p>
 Some elements may post 'redirect' messages on the bus to tell the
 application to open another location. These are element messages containing
@@ -561,7 +561,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.24.9.12"></a><h3>Examples</h3>
+<a name="id-1.2.28.9.12"></a><h3>Examples</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -605,7 +605,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.24.9.13.1"></a><h3>Element Information</h3>
+<a name="id-1.2.28.9.13.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -631,7 +631,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.24.9.13.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.28.9.13.2"></a><h3>Element Pads</h3>
 </div>
 </div>
 </div>
@@ -651,7 +651,7 @@
 <a name="GstPlayFlags"></a><h3>enum GstPlayFlags</h3>
 <p>Extra flags to configure the behaviour of the sinks.</p>
 <div class="refsect3">
-<a name="id-1.2.24.11.3.4"></a><h4>Members</h4>
+<a name="id-1.2.28.11.3.4"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="enum_members_name">
@@ -1050,7 +1050,7 @@
 set the uri and suburi to make sure that playback continues.</p>
 <p>This signal is emitted from the context of a GStreamer streaming thread.</p>
 <div class="refsect3">
-<a name="id-1.2.24.13.2.6"></a><h4>Parameters</h4>
+<a name="id-1.2.28.13.2.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1086,7 +1086,7 @@
 You can use <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-new-application"><code class="function">gst_message_new_application()</code></a> and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-post-message"><code class="function">gst_element_post_message()</code></a>
 to notify your application's main thread.</p>
 <div class="refsect3">
-<a name="id-1.2.24.13.3.6"></a><h4>Parameters</h4>
+<a name="id-1.2.28.13.3.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1122,7 +1122,7 @@
 You can use <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-new-application"><code class="function">gst_message_new_application()</code></a> and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-post-message"><code class="function">gst_element_post_message()</code></a>
 to notify your application's main thread.</p>
 <div class="refsect3">
-<a name="id-1.2.24.13.4.6"></a><h4>Parameters</h4>
+<a name="id-1.2.28.13.4.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1164,7 +1164,7 @@
  is <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, no conversion will be performed and this function is
 equivalent to the <span class="type">“frame”</span> property.</p>
 <div class="refsect3">
-<a name="id-1.2.24.13.5.5"></a><h4>Parameters</h4>
+<a name="id-1.2.28.13.5.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1191,7 +1191,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.24.13.5.6"></a><h4>Returns</h4>
+<a name="id-1.2.28.13.5.6"></a><h4>Returns</h4>
 <p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSample.html"><span class="type">GstSample</span></a> of the current video frame converted to <span class="type">caps</span>.
 The caps on the sample will describe the final layout of the buffer data.
 <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned when no current buffer can be retrieved or when the
@@ -1211,7 +1211,7 @@
 This pad can be used for notifications of caps changes, stream-specific
 queries, etc.</p>
 <div class="refsect3">
-<a name="id-1.2.24.13.6.5"></a><h4>Parameters</h4>
+<a name="id-1.2.28.13.6.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1238,7 +1238,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.24.13.6.6"></a><h4>Returns</h4>
+<a name="id-1.2.28.13.6.6"></a><h4>Returns</h4>
 <p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>, or NULL when the stream number does not exist.</p>
 </div>
 <p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
@@ -1253,7 +1253,7 @@
 <p>Action signal to retrieve the tags of a specific audio stream number.
 This information can be used to select a stream.</p>
 <div class="refsect3">
-<a name="id-1.2.24.13.7.5"></a><h4>Parameters</h4>
+<a name="id-1.2.28.13.7.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1280,7 +1280,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.24.13.7.6"></a><h4>Returns</h4>
+<a name="id-1.2.28.13.7.6"></a><h4>Returns</h4>
 <p> a GstTagList with tags or NULL when the stream number does not
 exist.</p>
 </div>
@@ -1298,7 +1298,7 @@
 This pad can be used for notifications of caps changes, stream-specific
 queries, etc.</p>
 <div class="refsect3">
-<a name="id-1.2.24.13.8.5"></a><h4>Parameters</h4>
+<a name="id-1.2.28.13.8.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1325,7 +1325,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.24.13.8.6"></a><h4>Returns</h4>
+<a name="id-1.2.28.13.8.6"></a><h4>Returns</h4>
 <p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>, or NULL when the stream number does not exist.</p>
 </div>
 <p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
@@ -1340,7 +1340,7 @@
 <p>Action signal to retrieve the tags of a specific text stream number.
 This information can be used to select a stream.</p>
 <div class="refsect3">
-<a name="id-1.2.24.13.9.5"></a><h4>Parameters</h4>
+<a name="id-1.2.28.13.9.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1367,7 +1367,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.24.13.9.6"></a><h4>Returns</h4>
+<a name="id-1.2.28.13.9.6"></a><h4>Returns</h4>
 <p> a GstTagList with tags or NULL when the stream number does not
 exist.</p>
 </div>
@@ -1385,7 +1385,7 @@
 This pad can be used for notifications of caps changes, stream-specific
 queries, etc.</p>
 <div class="refsect3">
-<a name="id-1.2.24.13.10.5"></a><h4>Parameters</h4>
+<a name="id-1.2.28.13.10.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1412,7 +1412,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.24.13.10.6"></a><h4>Returns</h4>
+<a name="id-1.2.28.13.10.6"></a><h4>Returns</h4>
 <p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>, or NULL when the stream number does not exist.</p>
 </div>
 <p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
@@ -1427,7 +1427,7 @@
 <p>Action signal to retrieve the tags of a specific video stream number.
 This information can be used to select a stream.</p>
 <div class="refsect3">
-<a name="id-1.2.24.13.11.5"></a><h4>Parameters</h4>
+<a name="id-1.2.28.13.11.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1454,7 +1454,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.24.13.11.6"></a><h4>Returns</h4>
+<a name="id-1.2.28.13.11.6"></a><h4>Returns</h4>
 <p> a GstTagList with tags or NULL when the stream number does not
 exist.</p>
 </div>
@@ -1475,7 +1475,7 @@
 <p>This signal is usually emitted from the context of a GStreamer streaming
 thread.</p>
 <div class="refsect3">
-<a name="id-1.2.24.13.12.6"></a><h4>Parameters</h4>
+<a name="id-1.2.28.13.12.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1516,7 +1516,7 @@
 You can use <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-new-application"><code class="function">gst_message_new_application()</code></a> and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-post-message"><code class="function">gst_element_post_message()</code></a>
 to notify your application's main thread.</p>
 <div class="refsect3">
-<a name="id-1.2.24.13.13.6"></a><h4>Parameters</h4>
+<a name="id-1.2.28.13.13.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1552,7 +1552,7 @@
 You can use <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-new-application"><code class="function">gst_message_new_application()</code></a> and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-post-message"><code class="function">gst_element_post_message()</code></a>
 to notify your application's main thread.</p>
 <div class="refsect3">
-<a name="id-1.2.24.13.14.6"></a><h4>Parameters</h4>
+<a name="id-1.2.28.13.14.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1593,7 +1593,7 @@
 thread. You can use <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-new-application"><code class="function">gst_message_new_application()</code></a> and
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-post-message"><code class="function">gst_element_post_message()</code></a> to notify your application's main thread.</p>
 <div class="refsect3">
-<a name="id-1.2.24.13.15.6"></a><h4>Parameters</h4>
+<a name="id-1.2.28.13.15.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1629,7 +1629,7 @@
 You can use <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-new-application"><code class="function">gst_message_new_application()</code></a> and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-post-message"><code class="function">gst_element_post_message()</code></a>
 to notify your application's main thread.</p>
 <div class="refsect3">
-<a name="id-1.2.24.13.16.6"></a><h4>Parameters</h4>
+<a name="id-1.2.28.13.16.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-playsink.html b/docs/plugins/html/gst-plugins-base-plugins-playsink.html
index 5c5c5e3..d19d4b1 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-playsink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-playsink.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
 <link rel="prev" href="gst-plugins-base-plugins-playbin.html" title="playbin">
-<link rel="next" href="gst-plugins-base-plugins-streamsynchronizer.html" title="streamsynchronizer">
+<link rel="next" href="gst-plugins-base-plugins-socketsrc.html" title="socketsrc">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -24,7 +24,7 @@
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
 <td><a accesskey="p" href="gst-plugins-base-plugins-playbin.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-streamsynchronizer.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-socketsrc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-playsink"></a><div class="titlepage"></div>
@@ -188,7 +188,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.25.9.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.29.9.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -214,7 +214,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.25.9.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.29.9.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -491,7 +491,7 @@
  is <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, no conversion will be performed and this function is
 equivalent to the <span class="type">“sample”</span> property.</p>
 <div class="refsect3">
-<a name="id-1.2.25.13.2.5"></a><h4>Parameters</h4>
+<a name="id-1.2.29.13.2.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -518,7 +518,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.25.13.2.6"></a><h4>Returns</h4>
+<a name="id-1.2.29.13.2.6"></a><h4>Returns</h4>
 <p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSample.html"><span class="type">GstSample</span></a> of the current video sample converted to <span class="type">caps</span>.
 The caps in the sample will describe the final layout of the buffer data.
 <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned when no current sample can be retrieved or when the
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-adder.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-adder.html
index c85ec9e..bca270b 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-adder.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-adder.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-alsa.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-alsa.html
index 029f692..fb95455 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-alsa.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-alsa.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-app.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-app.html
index 4871260..759533b 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-app.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-app.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-audioconvert.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-audioconvert.html
index d903736..38d87fa 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-audioconvert.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-audioconvert.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-audiorate.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-audiorate.html
index 18e16aa..307ccec 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-audiorate.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-audiorate.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-audioresample.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-audioresample.html
index a51dc9e..e457fb6 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-audioresample.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-audioresample.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-audiotestsrc.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-audiotestsrc.html
index ebdf950..a8c853c 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-audiotestsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-audiotestsrc.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-cdparanoia.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-cdparanoia.html
index a2022cf..14fa33c 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-cdparanoia.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-cdparanoia.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-encoding.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-encoding.html
index 1c07521..a0f5741 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-encoding.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-encoding.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch02.html" title="gst-plugins-base Plugins">
 <link rel="prev" href="gst-plugins-base-plugins-plugin-cdparanoia.html" title="cdparanoia">
-<link rel="next" href="gst-plugins-base-plugins-plugin-videoconvert.html" title="videoconvert">
+<link rel="next" href="gst-plugins-base-plugins-plugin-gio.html" title="gio">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -17,7 +17,7 @@
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
 <td><a accesskey="p" href="gst-plugins-base-plugins-plugin-cdparanoia.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-plugin-videoconvert.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-plugin-gio.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-plugin-encoding"></a><div class="titlepage"></div>
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-gio.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-gio.html
index 238a0b5..4fb524c 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-gio.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-gio.html
@@ -6,8 +6,8 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch02.html" title="gst-plugins-base Plugins">
-<link rel="prev" href="gst-plugins-base-plugins-plugin-videoconvert.html" title="videoconvert">
-<link rel="next" href="gst-plugins-base-plugins-plugin-libvisual.html" title="libvisual">
+<link rel="prev" href="gst-plugins-base-plugins-plugin-encoding.html" title="encoding">
+<link rel="next" href="gst-plugins-base-plugins-plugin-ivorbisdec.html" title="ivorbisdec">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -16,8 +16,8 @@
 <td width="100%" align="left" class="shortcuts"></td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-plugin-videoconvert.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-plugin-libvisual.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-plugin-encoding.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-plugin-ivorbisdec.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-plugin-gio"></a><div class="titlepage"></div>
@@ -29,7 +29,7 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="id-1.3.12.3"></a><h2>Plugin Information</h2>
+<a name="id-1.3.11.3"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -60,7 +60,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="id-1.3.12.4"></a><h2>Elements</h2>
+<a name="id-1.3.11.4"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-ivorbisdec.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-ivorbisdec.html
new file mode 100644
index 0000000..d278991
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-ivorbisdec.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ivorbisdec: GStreamer Base Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch02.html" title="gst-plugins-base Plugins">
+<link rel="prev" href="gst-plugins-base-plugins-plugin-gio.html" title="gio">
+<link rel="next" href="gst-plugins-base-plugins-plugin-libvisual.html" title="libvisual">
+<meta name="generator" content="GTK-Doc V1.24 (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="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-plugin-gio.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-plugin-libvisual.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-base-plugins-plugin-ivorbisdec"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle">ivorbisdec</span></h2>
+<p>ivorbisdec — <a name="plugin-ivorbisdec"></a>Vorbis Tremor decoder</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="id-1.3.12.3"></a><h2>Plugin Information</h2>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">filename</span></p></td>
+<td>libgstivorbisdec.so</td>
+</tr>
+<tr>
+<td><p><span class="term">version</span></p></td>
+<td>1.4.0</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 Base 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="id-1.3.12.4"></a><h2>Elements</h2>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term">ivorbisdec</span></p></td>
+<td>decode raw vorbis streams to integer audio</td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.24</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-libvisual.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-libvisual.html
index a9cfaee..204d9f0 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-libvisual.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-libvisual.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch02.html" title="gst-plugins-base Plugins">
-<link rel="prev" href="gst-plugins-base-plugins-plugin-gio.html" title="gio">
+<link rel="prev" href="gst-plugins-base-plugins-plugin-ivorbisdec.html" title="ivorbisdec">
 <link rel="next" href="gst-plugins-base-plugins-plugin-ogg.html" title="ogg">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
@@ -16,7 +16,7 @@
 <td width="100%" align="left" class="shortcuts"></td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-plugin-gio.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-plugin-ivorbisdec.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
 <td><a accesskey="n" href="gst-plugins-base-plugins-plugin-ogg.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-ogg.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-ogg.html
index a0ba66c..41b675e 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-ogg.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-ogg.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -68,7 +68,7 @@
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term">oggaviparse</span></p></td>
+<td><p><span class="term"><a class="link" href="gst-plugins-base-plugins-oggaviparse.html" title="oggaviparse">oggaviparse</a></span></p></td>
 <td>parse an ogg avi stream into pages (info about ogg: http://xiph.org)</td>
 </tr>
 <tr>
@@ -80,19 +80,19 @@
 <td>mux ogg streams (info about ogg: http://xiph.org)</td>
 </tr>
 <tr>
-<td><p><span class="term">oggparse</span></p></td>
+<td><p><span class="term"><a class="link" href="gst-plugins-base-plugins-oggparse.html" title="oggparse">oggparse</a></span></p></td>
 <td>parse ogg streams into pages (info about ogg: http://xiph.org)</td>
 </tr>
 <tr>
-<td><p><span class="term">ogmaudioparse</span></p></td>
+<td><p><span class="term"><a class="link" href="gst-plugins-base-plugins-ogmaudioparse.html" title="ogmaudioparse">ogmaudioparse</a></span></p></td>
 <td>parse an OGM audio header and stream</td>
 </tr>
 <tr>
-<td><p><span class="term">ogmtextparse</span></p></td>
+<td><p><span class="term"><a class="link" href="gst-plugins-base-plugins-ogmtextparse.html" title="ogmtextparse">ogmtextparse</a></span></p></td>
 <td>parse an OGM text header and stream</td>
 </tr>
 <tr>
-<td><p><span class="term">ogmvideoparse</span></p></td>
+<td><p><span class="term"><a class="link" href="gst-plugins-base-plugins-ogmvideoparse.html" title="ogmvideoparse">ogmvideoparse</a></span></p></td>
 <td>parse an OGM video header and stream</td>
 </tr>
 </tbody>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-pango.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-pango.html
index ae7ebca..de01d03 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-pango.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-pango.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-playback.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-playback.html
index 51e5dbb..be147f1 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-playback.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-playback.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-subparse.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-subparse.html
index 4c8dc7e..26411e3 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-subparse.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-subparse.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -68,11 +68,11 @@
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term">ssaparse</span></p></td>
+<td><p><span class="term"><a class="link" href="gst-plugins-base-plugins-ssaparse.html" title="ssaparse">ssaparse</a></span></p></td>
 <td>Parses SSA subtitle streams</td>
 </tr>
 <tr>
-<td><p><span class="term">subparse</span></p></td>
+<td><p><span class="term"><a class="link" href="gst-plugins-base-plugins-subparse.html" title="subparse">subparse</a></span></p></td>
 <td>Parses subtitle (.sub) files into text streams</td>
 </tr>
 </tbody>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-tcp.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-tcp.html
index 2ac3346..de05a5d 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-tcp.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-tcp.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-theora.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-theora.html
index 4b30870..d9cc058 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-theora.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-theora.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-typefindfunctions.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-typefindfunctions.html
index 16aa1a1..8e25a8b 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-typefindfunctions.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-typefindfunctions.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch02.html" title="gst-plugins-base Plugins">
 <link rel="prev" href="gst-plugins-base-plugins-plugin-theora.html" title="theora">
-<link rel="next" href="gst-plugins-base-plugins-plugin-videorate.html" title="videorate">
+<link rel="next" href="gst-plugins-base-plugins-plugin-videoconvert.html" title="videoconvert">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -17,7 +17,7 @@
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
 <td><a accesskey="p" href="gst-plugins-base-plugins-plugin-theora.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-plugin-videorate.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-plugin-videoconvert.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-plugin-typefindfunctions"></a><div class="titlepage"></div>
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-videoconvert.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-videoconvert.html
index 34696da..0b36e75 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-videoconvert.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-videoconvert.html
@@ -6,8 +6,8 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch02.html" title="gst-plugins-base Plugins">
-<link rel="prev" href="gst-plugins-base-plugins-plugin-encoding.html" title="encoding">
-<link rel="next" href="gst-plugins-base-plugins-plugin-gio.html" title="gio">
+<link rel="prev" href="gst-plugins-base-plugins-plugin-typefindfunctions.html" title="typefindfunctions">
+<link rel="next" href="gst-plugins-base-plugins-plugin-videorate.html" title="videorate">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -16,8 +16,8 @@
 <td width="100%" align="left" class="shortcuts"></td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-plugin-encoding.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-plugin-gio.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-plugin-typefindfunctions.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-plugin-videorate.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-plugin-videoconvert"></a><div class="titlepage"></div>
@@ -29,7 +29,7 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="id-1.3.11.3"></a><h2>Plugin Information</h2>
+<a name="id-1.3.21.3"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -60,7 +60,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="id-1.3.11.4"></a><h2>Elements</h2>
+<a name="id-1.3.21.4"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-videorate.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-videorate.html
index 4fed1e9..ef0801f 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-videorate.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-videorate.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch02.html" title="gst-plugins-base Plugins">
-<link rel="prev" href="gst-plugins-base-plugins-plugin-typefindfunctions.html" title="typefindfunctions">
+<link rel="prev" href="gst-plugins-base-plugins-plugin-videoconvert.html" title="videoconvert">
 <link rel="next" href="gst-plugins-base-plugins-plugin-videoscale.html" title="videoscale">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
@@ -16,7 +16,7 @@
 <td width="100%" align="left" class="shortcuts"></td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-plugin-typefindfunctions.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-plugin-videoconvert.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
 <td><a accesskey="n" href="gst-plugins-base-plugins-plugin-videoscale.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
@@ -29,7 +29,7 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="id-1.3.21.3"></a><h2>Plugin Information</h2>
+<a name="id-1.3.22.3"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -60,7 +60,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="id-1.3.21.4"></a><h2>Elements</h2>
+<a name="id-1.3.22.4"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-videoscale.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-videoscale.html
index 6fa80f5..84d429e 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-videoscale.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-videoscale.html
@@ -29,7 +29,7 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="id-1.3.22.3"></a><h2>Plugin Information</h2>
+<a name="id-1.3.23.3"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -60,7 +60,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="id-1.3.22.4"></a><h2>Elements</h2>
+<a name="id-1.3.23.4"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-videotestsrc.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-videotestsrc.html
index a408fab..b263404 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-videotestsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-videotestsrc.html
@@ -29,7 +29,7 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="id-1.3.23.3"></a><h2>Plugin Information</h2>
+<a name="id-1.3.24.3"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -60,7 +60,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="id-1.3.23.4"></a><h2>Elements</h2>
+<a name="id-1.3.24.4"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-volume.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-volume.html
index e422468..f5d084f 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-volume.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-volume.html
@@ -29,7 +29,7 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="id-1.3.24.3"></a><h2>Plugin Information</h2>
+<a name="id-1.3.25.3"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -60,7 +60,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="id-1.3.24.4"></a><h2>Elements</h2>
+<a name="id-1.3.25.4"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-vorbis.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-vorbis.html
index a66c128..794ba2d 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-vorbis.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-vorbis.html
@@ -29,7 +29,7 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="id-1.3.25.3"></a><h2>Plugin Information</h2>
+<a name="id-1.3.26.3"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -60,7 +60,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="id-1.3.25.4"></a><h2>Elements</h2>
+<a name="id-1.3.26.4"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-ximagesink.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-ximagesink.html
index 4062702..519dd00 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-ximagesink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-ximagesink.html
@@ -29,7 +29,7 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="id-1.3.26.3"></a><h2>Plugin Information</h2>
+<a name="id-1.3.27.3"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -60,7 +60,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="id-1.3.26.4"></a><h2>Elements</h2>
+<a name="id-1.3.27.4"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-xvimagesink.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-xvimagesink.html
index 4c2dfae..3c6d453 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-xvimagesink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-xvimagesink.html
@@ -28,7 +28,7 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="id-1.3.27.3"></a><h2>Plugin Information</h2>
+<a name="id-1.3.28.3"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -41,7 +41,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.2</td>
+<td>1.5.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -59,7 +59,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="id-1.3.27.4"></a><h2>Elements</h2>
+<a name="id-1.3.28.4"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-socketsrc.html b/docs/plugins/html/gst-plugins-base-plugins-socketsrc.html
index cf90fcf..8f873e3 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-socketsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-socketsrc.html
@@ -6,8 +6,8 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
-<link rel="prev" href="gst-plugins-base-plugins-subtitleoverlay.html" title="subtitleoverlay">
-<link rel="next" href="gst-plugins-base-plugins-tcpclientsrc.html" title="tcpclientsrc">
+<link rel="prev" href="gst-plugins-base-plugins-playsink.html" title="playsink">
+<link rel="next" href="gst-plugins-base-plugins-ssaparse.html" title="ssaparse">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -22,8 +22,8 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-subtitleoverlay.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-tcpclientsrc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-playsink.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-ssaparse.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-socketsrc"></a><div class="titlepage"></div>
@@ -42,12 +42,20 @@
 <col width="300px" class="properties_name">
 <col width="200px" class="properties_flags">
 </colgroup>
-<tbody><tr>
+<tbody>
+<tr>
 <td class="property_type">
 <a href="https://developer.gnome.org/gio/unstable/GSocket.html"><span class="type">GSocket</span></a> *</td>
 <td class="property_name"><a class="link" href="gst-plugins-base-plugins-socketsrc.html#GstSocketSrc--socket" title="The “socket” property">socket</a></td>
 <td class="property_flags">Read / Write</td>
-</tr></tbody>
+</tr>
+<tr>
+<td class="property_type">
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstCaps.html"><span class="type">GstCaps</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-base-plugins-socketsrc.html#GstSocketSrc--caps" title="The “caps” property">caps</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
 </table></div>
 </div>
 <div class="refsect1">
@@ -108,7 +116,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.28.8.8.1"></a><h3>Element Information</h3>
+<a name="id-1.2.30.8.8.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -134,7 +142,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.28.8.8.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.30.8.8.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -181,6 +189,13 @@
 <p>The socket to receive packets from.</p>
 <p>Flags: Read / Write</p>
 </div>
+<hr>
+<div class="refsect2">
+<a name="GstSocketSrc--caps"></a><h3>The <code class="literal">“caps”</code> property</h3>
+<pre class="programlisting">  “caps”                     <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstCaps.html"><span class="type">GstCaps</span></a> *</pre>
+<p>The caps of the source pad.</p>
+<p>Flags: Read / Write</p>
+</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-socketsrc.signal-details"></a><h2>Signal Details</h2>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-ssaparse.html b/docs/plugins/html/gst-plugins-base-plugins-ssaparse.html
new file mode 100644
index 0000000..2d9db11
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-base-plugins-ssaparse.html
@@ -0,0 +1,159 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ssaparse: GStreamer Base Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-base Elements">
+<link rel="prev" href="gst-plugins-base-plugins-socketsrc.html" title="socketsrc">
+<link rel="next" href="gst-plugins-base-plugins-streamsynchronizer.html" title="streamsynchronizer">
+<meta name="generator" content="GTK-Doc V1.24 (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="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-base-plugins-ssaparse.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-base-plugins-ssaparse.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-socketsrc.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-streamsynchronizer.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-base-plugins-ssaparse"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-ssaparse.top_of_page"></a>ssaparse</span></h2>
+<p>ssaparse</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<a name="GstSsaParse"></a><div class="refsect1">
+<a name="gst-plugins-base-plugins-ssaparse.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-base-plugins-ssaparse.html#GstSsaParse-struct" title="struct GstSsaParse">GstSsaParse</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-ssaparse.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+    <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+            <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+                <span class="lineart">╰──</span> GstSsaParse
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-ssaparse.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.31.6.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-base-plugins-plugin-subparse.html#plugin-subparse">subparse</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Tim-Philipp Müller &lt;tim centricular net&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Codec/Parser/Subtitle</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.31.6.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<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>application/x-ssa</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> application/x-ass</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<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-raw, format=(string)pango-markup</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-ssaparse.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-ssaparse.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstSsaParse-struct"></a><h3>struct GstSsaParse</h3>
+<pre class="programlisting">struct GstSsaParse;</pre>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.24</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-base-plugins-streamsynchronizer.html b/docs/plugins/html/gst-plugins-base-plugins-streamsynchronizer.html
index 02346db..ced91b3 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-streamsynchronizer.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-streamsynchronizer.html
@@ -6,8 +6,8 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
-<link rel="prev" href="gst-plugins-base-plugins-playsink.html" title="playsink">
-<link rel="next" href="gst-plugins-base-plugins-subtitleoverlay.html" title="subtitleoverlay">
+<link rel="prev" href="gst-plugins-base-plugins-ssaparse.html" title="ssaparse">
+<link rel="next" href="gst-plugins-base-plugins-subparse.html" title="subparse">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -20,8 +20,8 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-playsink.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-subtitleoverlay.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-ssaparse.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-subparse.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-streamsynchronizer"></a><div class="titlepage"></div>
@@ -59,7 +59,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.26.6.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.32.6.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -85,7 +85,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.26.6.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.32.6.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-subparse.html b/docs/plugins/html/gst-plugins-base-plugins-subparse.html
new file mode 100644
index 0000000..dd29e47
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-base-plugins-subparse.html
@@ -0,0 +1,220 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>subparse: GStreamer Base Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-base Elements">
+<link rel="prev" href="gst-plugins-base-plugins-streamsynchronizer.html" title="streamsynchronizer">
+<link rel="next" href="gst-plugins-base-plugins-subtitleoverlay.html" title="subtitleoverlay">
+<meta name="generator" content="GTK-Doc V1.24 (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="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-base-plugins-subparse.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-base-plugins-subparse.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-base-plugins-subparse.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-streamsynchronizer.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-subtitleoverlay.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-base-plugins-subparse"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-subparse.top_of_page"></a>subparse</span></h2>
+<p>subparse</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-subparse.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-base-plugins-subparse.html#GstSubParse--subtitle-encoding" title="The “subtitle-encoding” property">subtitle-encoding</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><span class="type">GstFraction</span></td>
+<td class="property_name"><a class="link" href="gst-plugins-base-plugins-subparse.html#GstSubParse--video-fps" title="The “video-fps” property">video-fps</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<a name="GstSubParse"></a><div class="refsect1">
+<a name="gst-plugins-base-plugins-subparse.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-base-plugins-subparse.html#GstSubParse-struct" title="struct GstSubParse">GstSubParse</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-subparse.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+    <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+            <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+                <span class="lineart">╰──</span> GstSubParse
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-subparse.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.33.7.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-base-plugins-plugin-subparse.html#plugin-subparse">subparse</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Gustavo J. A. M. Carneiro &lt;gjc@inescporto.pt&gt;, GStreamer maintainers &lt;gstreamer-devel@lists.freedesktop.org&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Codec/Parser/Subtitle</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.33.7.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<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>application/x-subtitle</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> application/x-subtitle-sami</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> application/x-subtitle-tmplayer</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> application/x-subtitle-mpl2</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> application/x-subtitle-dks</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> application/x-subtitle-qttext</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> application/x-subtitle-lrc</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<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-raw, format=(string){ pango-markup, utf8 }</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-subparse.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-subparse.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstSubParse-struct"></a><h3>struct GstSubParse</h3>
+<pre class="programlisting">struct GstSubParse;</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-subparse.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstSubParse--subtitle-encoding"></a><h3>The <code class="literal">“subtitle-encoding”</code> property</h3>
+<pre class="programlisting">  “subtitle-encoding”        <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Encoding to assume if input subtitles are not in UTF-8 or any other Unicode encoding. If not set, the GST_SUBTITLE_ENCODING environment variable will be checked for an encoding to use. If that is not set either, ISO-8859-15 will be assumed.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstSubParse--video-fps"></a><h3>The <code class="literal">“video-fps”</code> property</h3>
+<pre class="programlisting">  “video-fps”                <span class="type">GstFraction</span></pre>
+<p>Framerate of the video stream. This is needed by some subtitle formats to synchronize subtitles and video properly. If not set and the subtitle format requires it subtitles may be out of sync.</p>
+<p>Flags: Read / Write</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.24</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-base-plugins-subtitleoverlay.html b/docs/plugins/html/gst-plugins-base-plugins-subtitleoverlay.html
index 031d8d0..bd971ee 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-subtitleoverlay.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-subtitleoverlay.html
@@ -6,8 +6,8 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
-<link rel="prev" href="gst-plugins-base-plugins-streamsynchronizer.html" title="streamsynchronizer">
-<link rel="next" href="gst-plugins-base-plugins-socketsrc.html" title="socketsrc">
+<link rel="prev" href="gst-plugins-base-plugins-subparse.html" title="subparse">
+<link rel="next" href="gst-plugins-base-plugins-tcpclientsink.html" title="tcpclientsink">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -22,8 +22,8 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-streamsynchronizer.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-socketsrc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-subparse.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-tcpclientsink.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-subtitleoverlay"></a><div class="titlepage"></div>
@@ -99,7 +99,7 @@
 <p>It supports raw, timestamped text, different textual subtitle formats and
 DVD subpicture subtitles.</p>
 <div class="refsect2">
-<a name="id-1.2.27.8.4"></a><h3>Examples</h3>
+<a name="id-1.2.34.8.4"></a><h3>Examples</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -115,7 +115,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.27.8.5.1"></a><h3>Element Information</h3>
+<a name="id-1.2.34.8.5.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -141,7 +141,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.27.8.5.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.34.8.5.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-tcpclientsink.html b/docs/plugins/html/gst-plugins-base-plugins-tcpclientsink.html
index 2141ec4..b9616a6 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-tcpclientsink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-tcpclientsink.html
@@ -6,8 +6,8 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
-<link rel="prev" href="gst-plugins-base-plugins-tcpclientsrc.html" title="tcpclientsrc">
-<link rel="next" href="gst-plugins-base-plugins-tcpserversrc.html" title="tcpserversrc">
+<link rel="prev" href="gst-plugins-base-plugins-subtitleoverlay.html" title="subtitleoverlay">
+<link rel="next" href="gst-plugins-base-plugins-tcpclientsrc.html" title="tcpclientsrc">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -21,8 +21,8 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-tcpclientsrc.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-tcpserversrc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-subtitleoverlay.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-tcpclientsrc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-tcpclientsink"></a><div class="titlepage"></div>
@@ -82,7 +82,7 @@
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-tcpclientsink.description"></a><h2>Description</h2>
 <div class="refsect2">
-<a name="id-1.2.30.7.2"></a><h3>Example launch line</h3>
+<a name="id-1.2.35.7.2"></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="id-1.2.30.7.3.1"></a><h3>Element Information</h3>
+<a name="id-1.2.35.7.3.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -131,7 +131,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.30.7.3.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.35.7.3.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-tcpclientsrc.html b/docs/plugins/html/gst-plugins-base-plugins-tcpclientsrc.html
index bb81172..72be2c0 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-tcpclientsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-tcpclientsrc.html
@@ -6,8 +6,8 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
-<link rel="prev" href="gst-plugins-base-plugins-socketsrc.html" title="socketsrc">
-<link rel="next" href="gst-plugins-base-plugins-tcpclientsink.html" title="tcpclientsink">
+<link rel="prev" href="gst-plugins-base-plugins-tcpclientsink.html" title="tcpclientsink">
+<link rel="next" href="gst-plugins-base-plugins-tcpserversink.html" title="tcpserversink">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -21,8 +21,8 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-socketsrc.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-tcpclientsink.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-tcpclientsink.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-tcpserversink.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-tcpclientsrc"></a><div class="titlepage"></div>
@@ -83,7 +83,7 @@
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-tcpclientsrc.description"></a><h2>Description</h2>
 <div class="refsect2">
-<a name="id-1.2.29.7.2"></a><h3>Example launch line</h3>
+<a name="id-1.2.36.7.2"></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="id-1.2.29.7.3.1"></a><h3>Element Information</h3>
+<a name="id-1.2.36.7.3.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -131,7 +131,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.29.7.3.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.36.7.3.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-tcpserversink.html b/docs/plugins/html/gst-plugins-base-plugins-tcpserversink.html
index 923da89..0e3e117 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-tcpserversink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-tcpserversink.html
@@ -6,8 +6,8 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
-<link rel="prev" href="gst-plugins-base-plugins-tcpserversrc.html" title="tcpserversrc">
-<link rel="next" href="gst-plugins-base-plugins-textoverlay.html" title="textoverlay">
+<link rel="prev" href="gst-plugins-base-plugins-tcpclientsrc.html" title="tcpclientsrc">
+<link rel="next" href="gst-plugins-base-plugins-tcpserversrc.html" title="tcpserversrc">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -21,8 +21,8 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-tcpserversrc.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-textoverlay.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-tcpclientsrc.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-tcpserversrc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-tcpserversink"></a><div class="titlepage"></div>
@@ -89,7 +89,7 @@
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-tcpserversink.description"></a><h2>Description</h2>
 <div class="refsect2">
-<a name="id-1.2.32.7.2"></a><h3>Example launch line</h3>
+<a name="id-1.2.37.7.2"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -111,7 +111,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.32.7.3.1"></a><h3>Element Information</h3>
+<a name="id-1.2.37.7.3.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -137,7 +137,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.32.7.3.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.37.7.3.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-tcpserversrc.html b/docs/plugins/html/gst-plugins-base-plugins-tcpserversrc.html
index f7ec353..4db360d 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-tcpserversrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-tcpserversrc.html
@@ -6,8 +6,8 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
-<link rel="prev" href="gst-plugins-base-plugins-tcpclientsink.html" title="tcpclientsink">
-<link rel="next" href="gst-plugins-base-plugins-tcpserversink.html" title="tcpserversink">
+<link rel="prev" href="gst-plugins-base-plugins-tcpserversink.html" title="tcpserversink">
+<link rel="next" href="gst-plugins-base-plugins-textoverlay.html" title="textoverlay">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -21,8 +21,8 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-tcpclientsink.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-tcpserversink.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-tcpserversink.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-textoverlay.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-tcpserversrc"></a><div class="titlepage"></div>
@@ -88,7 +88,7 @@
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-tcpserversrc.description"></a><h2>Description</h2>
 <div class="refsect2">
-<a name="id-1.2.31.7.2"></a><h3>Example launch line</h3>
+<a name="id-1.2.38.7.2"></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="id-1.2.31.7.3.1"></a><h3>Element Information</h3>
+<a name="id-1.2.38.7.3.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -136,7 +136,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.31.7.3.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.38.7.3.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-textoverlay.html b/docs/plugins/html/gst-plugins-base-plugins-textoverlay.html
index 36b4dd1..82b44e7 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-textoverlay.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-textoverlay.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
-<link rel="prev" href="gst-plugins-base-plugins-tcpserversink.html" title="tcpserversink">
+<link rel="prev" href="gst-plugins-base-plugins-tcpserversrc.html" title="tcpserversrc">
 <link rel="next" href="gst-plugins-base-plugins-textrender.html" title="textrender">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
@@ -20,7 +20,7 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-tcpserversink.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-tcpserversrc.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
 <td><a accesskey="n" href="gst-plugins-base-plugins-textrender.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
@@ -60,7 +60,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.33.6.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.39.6.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -86,7 +86,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.33.6.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.39.6.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-textrender.html b/docs/plugins/html/gst-plugins-base-plugins-textrender.html
index 03a3864..33697bf 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-textrender.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-textrender.html
@@ -103,7 +103,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.34.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.40.7.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -118,7 +118,7 @@
 </tr>
 <tr>
 <td><p><span class="term">author</span></p></td>
-<td>David Schleef &lt;ds@schleef.org&gt;, GStreamer maintainers &lt;gstreamer-devel@lists.sourceforge.net&gt;</td>
+<td>David Schleef &lt;ds@schleef.org&gt;, GStreamer maintainers &lt;gstreamer-devel@lists.freedesktop.org&gt;</td>
 </tr>
 <tr>
 <td><p><span class="term">class</span></p></td>
@@ -129,7 +129,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.34.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.40.7.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-theoradec.html b/docs/plugins/html/gst-plugins-base-plugins-theoradec.html
index 6938770..fcc941a 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-theoradec.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-theoradec.html
@@ -60,7 +60,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.35.6.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.41.6.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -86,7 +86,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.35.6.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.41.6.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-theoraenc.html b/docs/plugins/html/gst-plugins-base-plugins-theoraenc.html
index 8a03b4e..59771ee 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-theoraenc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-theoraenc.html
@@ -85,7 +85,7 @@
 <td class="property_flags">Read / Write</td>
 </tr>
 <tr>
-<td class="property_type"><span class="type">GstTheoraEncMultipassMode</span></td>
+<td class="property_type"><a class="link" href="gst-plugins-base-plugins-theoraenc.html#GstTheoraEncMultipassMode" title="enum GstTheoraEncMultipassMode"><span class="type">GstTheoraEncMultipassMode</span></a></td>
 <td class="property_name"><a class="link" href="gst-plugins-base-plugins-theoraenc.html#GstTheoraEnc--multipass-mode" title="The “multipass-mode” property">multipass-mode</a></td>
 <td class="property_flags">Read / Write</td>
 </tr>
@@ -119,10 +119,16 @@
 <col width="150px" class="name">
 <col class="description">
 </colgroup>
-<tbody><tr>
+<tbody>
+<tr>
 <td class="datatype_keyword">struct</td>
 <td class="function_name"><a class="link" href="gst-plugins-base-plugins-theoraenc.html#GstTheoraEnc-struct" title="struct GstTheoraEnc">GstTheoraEnc</a></td>
-</tr></tbody>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-base-plugins-theoraenc.html#GstTheoraEncMultipassMode" title="enum GstTheoraEncMultipassMode">GstTheoraEncMultipassMode</a></td>
+</tr>
+</tbody>
 </table></div>
 </div>
 <div class="refsect1">
@@ -146,7 +152,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.36.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.42.8.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -172,7 +178,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.36.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.42.8.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -234,6 +240,37 @@
 <a name="GstTheoraEnc-struct"></a><h3>struct GstTheoraEnc</h3>
 <pre class="programlisting">struct GstTheoraEnc;</pre>
 </div>
+<hr>
+<div class="refsect2">
+<a name="GstTheoraEncMultipassMode"></a><h3>enum GstTheoraEncMultipassMode</h3>
+<div class="refsect3">
+<a name="id-1.2.42.10.3.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MULTIPASS-MODE-SINGLE-PASS:CAPS"></a>MULTIPASS_MODE_SINGLE_PASS</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MULTIPASS-MODE-FIRST-PASS:CAPS"></a>MULTIPASS_MODE_FIRST_PASS</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MULTIPASS-MODE-SECOND-PASS:CAPS"></a>MULTIPASS_MODE_SECOND_PASS</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-theoraenc.property-details"></a><h2>Property Details</h2>
@@ -306,7 +343,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstTheoraEnc--multipass-mode"></a><h3>The <code class="literal">“multipass-mode”</code> property</h3>
-<pre class="programlisting">  “multipass-mode”           <span class="type">GstTheoraEncMultipassMode</span></pre>
+<pre class="programlisting">  “multipass-mode”           <a class="link" href="gst-plugins-base-plugins-theoraenc.html#GstTheoraEncMultipassMode" title="enum GstTheoraEncMultipassMode"><span class="type">GstTheoraEncMultipassMode</span></a></pre>
 <p>Single pass or first/second pass.</p>
 <p>Flags: Read / Write</p>
 <p>Default value: Single pass</p>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-theoraparse.html b/docs/plugins/html/gst-plugins-base-plugins-theoraparse.html
index 4943c2c..7796db8 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-theoraparse.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-theoraparse.html
@@ -59,7 +59,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.37.6.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.43.6.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -85,7 +85,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.37.6.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.43.6.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-timeoverlay.html b/docs/plugins/html/gst-plugins-base-plugins-timeoverlay.html
index b102af4..7fb8a4b 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-timeoverlay.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-timeoverlay.html
@@ -42,7 +42,7 @@
 <col width="200px" class="properties_flags">
 </colgroup>
 <tbody><tr>
-<td class="property_type"><span class="type">GstTimeOverlayTimeLine</span></td>
+<td class="property_type"><a class="link" href="gst-plugins-base-plugins-timeoverlay.html#GstTimeOverlayTimeLine" title="enum GstTimeOverlayTimeLine"><span class="type">GstTimeOverlayTimeLine</span></a></td>
 <td class="property_name"><a class="link" href="gst-plugins-base-plugins-timeoverlay.html#GstTimeOverlay--time-mode" title="The “time-mode” property">time-mode</a></td>
 <td class="property_flags">Read / Write</td>
 </tr></tbody>
@@ -55,10 +55,16 @@
 <col width="150px" class="name">
 <col class="description">
 </colgroup>
-<tbody><tr>
+<tbody>
+<tr>
 <td class="datatype_keyword">struct</td>
 <td class="function_name"><a class="link" href="gst-plugins-base-plugins-timeoverlay.html#GstTimeOverlay-struct" title="struct GstTimeOverlay">GstTimeOverlay</a></td>
-</tr></tbody>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-base-plugins-timeoverlay.html#GstTimeOverlayTimeLine" title="enum GstTimeOverlayTimeLine">GstTimeOverlayTimeLine</a></td>
+</tr>
+</tbody>
 </table></div>
 </div>
 <div class="refsect1">
@@ -76,7 +82,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.38.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.44.7.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -102,7 +108,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.38.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.44.7.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -172,12 +178,43 @@
 <a name="GstTimeOverlay-struct"></a><h3>struct GstTimeOverlay</h3>
 <pre class="programlisting">struct GstTimeOverlay;</pre>
 </div>
+<hr>
+<div class="refsect2">
+<a name="GstTimeOverlayTimeLine"></a><h3>enum GstTimeOverlayTimeLine</h3>
+<div class="refsect3">
+<a name="id-1.2.44.9.3.3"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="GST-TIME-OVERLAY-TIME-LINE-BUFFER-TIME:CAPS"></a>GST_TIME_OVERLAY_TIME_LINE_BUFFER_TIME</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-TIME-OVERLAY-TIME-LINE-STREAM-TIME:CAPS"></a>GST_TIME_OVERLAY_TIME_LINE_STREAM_TIME</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-TIME-OVERLAY-TIME-LINE-RUNNING-TIME:CAPS"></a>GST_TIME_OVERLAY_TIME_LINE_RUNNING_TIME</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-timeoverlay.property-details"></a><h2>Property Details</h2>
 <div class="refsect2">
 <a name="GstTimeOverlay--time-mode"></a><h3>The <code class="literal">“time-mode”</code> property</h3>
-<pre class="programlisting">  “time-mode”                <span class="type">GstTimeOverlayTimeLine</span></pre>
+<pre class="programlisting">  “time-mode”                <a class="link" href="gst-plugins-base-plugins-timeoverlay.html#GstTimeOverlayTimeLine" title="enum GstTimeOverlayTimeLine"><span class="type">GstTimeOverlayTimeLine</span></a></pre>
 <p>What time to show.</p>
 <p>Flags: Read / Write</p>
 <p>Default value: buffer-time</p>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-uridecodebin.html b/docs/plugins/html/gst-plugins-base-plugins-uridecodebin.html
index 519d563..284ccb0 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-uridecodebin.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-uridecodebin.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
 <link rel="prev" href="gst-plugins-base-plugins-timeoverlay.html" title="timeoverlay">
-<link rel="next" href="gst-plugins-base-plugins-videorate.html" title="videorate">
+<link rel="next" href="gst-plugins-base-plugins-videoconvert.html" title="videoconvert">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -24,7 +24,7 @@
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
 <td><a accesskey="p" href="gst-plugins-base-plugins-timeoverlay.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-videorate.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-videoconvert.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-uridecodebin"></a><div class="titlepage"></div>
@@ -202,7 +202,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.39.9.3.1"></a><h3>Element Information</h3>
+<a name="id-1.2.45.9.3.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -228,7 +228,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.39.9.3.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.45.9.3.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -272,7 +272,7 @@
 <a name="GstAutoplugSelectResult"></a><h3>enum GstAutoplugSelectResult</h3>
 <p>return values for the autoplug-select signal.</p>
 <div class="refsect3">
-<a name="id-1.2.39.11.3.4"></a><h4>Members</h4>
+<a name="id-1.2.45.11.3.4"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="enum_members_name">
@@ -415,7 +415,7 @@
   connected in.
 </div>
 <div class="refsect3">
-<a name="id-1.2.39.13.2.6"></a><h4>Parameters</h4>
+<a name="id-1.2.45.13.2.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -447,7 +447,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.39.13.2.7"></a><h4>Returns</h4>
+<a name="id-1.2.45.13.2.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if you wish uridecodebin to look for elements that can
 handle the given <em class="parameter"><code>caps</code></em>
 . If <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>, those caps will be considered as
@@ -479,7 +479,7 @@
   signal, they will never be invoked!
 </div>
 <div class="refsect3">
-<a name="id-1.2.39.13.3.8"></a><h4>Parameters</h4>
+<a name="id-1.2.45.13.3.8"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -511,7 +511,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.39.13.3.9"></a><h4>Returns</h4>
+<a name="id-1.2.45.13.3.9"></a><h4>Returns</h4>
 <p> a <a href="https://developer.gnome.org/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="type">GValueArray</span></a>* with a list of factories to try. The factories are
 by default tried in the returned order or based on the index returned by
 "autoplug-select".</p>
@@ -561,7 +561,7 @@
   registered next (again, if any) can override that decision.
 </div>
 <div class="refsect3">
-<a name="id-1.2.39.13.5.10"></a><h4>Parameters</h4>
+<a name="id-1.2.45.13.5.10"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -598,7 +598,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.39.13.5.11"></a><h4>Returns</h4>
+<a name="id-1.2.45.13.5.11"></a><h4>Returns</h4>
 <p> a <span class="type">GST_TYPE_AUTOPLUG_SELECT_RESULT</span> that indicates the required
 operation. The default handler will always return
 <a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-TRY:CAPS"><span class="type">GST_AUTOPLUG_SELECT_TRY</span></a>.</p>
@@ -631,7 +631,7 @@
   signal, they will never be invoked!
 </div>
 <div class="refsect3">
-<a name="id-1.2.39.13.6.7"></a><h4>Parameters</h4>
+<a name="id-1.2.45.13.6.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -668,7 +668,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.39.13.6.8"></a><h4>Returns</h4>
+<a name="id-1.2.45.13.6.8"></a><h4>Returns</h4>
 <p> A new sorted array of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElementFactory.html"><span class="type">GstElementFactory</span></a> objects.</p>
 </div>
 <p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
@@ -682,7 +682,7 @@
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>         user_data)</pre>
 <p>This signal is emitted when the data for the current uri is played.</p>
 <div class="refsect3">
-<a name="id-1.2.39.13.7.5"></a><h4>Parameters</h4>
+<a name="id-1.2.45.13.7.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -711,7 +711,7 @@
 an audio cd source). This is functionally equivalent to connecting to
 the notify::source signal, but more convenient.</p>
 <div class="refsect3">
-<a name="id-1.2.39.13.8.5"></a><h4>Parameters</h4>
+<a name="id-1.2.45.13.8.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -751,7 +751,7 @@
 <p>This signal is emitted when a pad for which there is no further possible
 decoding is added to the uridecodebin.</p>
 <div class="refsect3">
-<a name="id-1.2.39.13.9.5"></a><h4>Parameters</h4>
+<a name="id-1.2.45.13.9.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-videoconvert.html b/docs/plugins/html/gst-plugins-base-plugins-videoconvert.html
index ec55616..d49e01c 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-videoconvert.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-videoconvert.html
@@ -6,8 +6,8 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
-<link rel="prev" href="gst-plugins-base-plugins-encodebin.html" title="encodebin">
-<link rel="next" href="gst-plugins-base-plugins-giosink.html" title="giosink">
+<link rel="prev" href="gst-plugins-base-plugins-uridecodebin.html" title="uridecodebin">
+<link rel="next" href="gst-plugins-base-plugins-videorate.html" title="videorate">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -21,8 +21,8 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-encodebin.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-giosink.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-uridecodebin.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-videorate.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-videoconvert"></a><div class="titlepage"></div>
@@ -118,7 +118,7 @@
 <a name="gst-plugins-base-plugins-videoconvert.description"></a><h2>Description</h2>
 <p>Convert video frames between a great variety of video formats.</p>
 <div class="refsect2">
-<a name="id-1.2.15.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.46.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -136,7 +136,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.15.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.46.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -151,7 +151,7 @@
 </tr>
 <tr>
 <td><p><span class="term">author</span></p></td>
-<td>GStreamer maintainers &lt;gstreamer-devel@lists.sourceforge.net&gt;</td>
+<td>GStreamer maintainers &lt;gstreamer-devel@lists.freedesktop.org&gt;</td>
 </tr>
 <tr>
 <td><p><span class="term">class</span></p></td>
@@ -162,7 +162,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.15.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.46.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-videorate.html b/docs/plugins/html/gst-plugins-base-plugins-videorate.html
index 0061d9a..5589c4d 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-videorate.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-videorate.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
-<link rel="prev" href="gst-plugins-base-plugins-uridecodebin.html" title="uridecodebin">
+<link rel="prev" href="gst-plugins-base-plugins-videoconvert.html" title="videoconvert">
 <link rel="next" href="gst-plugins-base-plugins-videoscale.html" title="videoscale">
 <meta name="generator" content="GTK-Doc V1.24 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
@@ -21,7 +21,7 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-uridecodebin.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-videoconvert.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
 <td><a accesskey="n" href="gst-plugins-base-plugins-videoscale.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
@@ -145,7 +145,7 @@
 Note that property notification will happen from the streaming thread, so
 applications should be prepared for this.</p>
 <div class="refsect2">
-<a name="id-1.2.40.7.10"></a><h3>Example pipelines</h3>
+<a name="id-1.2.47.7.10"></a><h3>Example pipelines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -185,7 +185,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.40.7.11.1"></a><h3>Element Information</h3>
+<a name="id-1.2.47.7.11.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -211,7 +211,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.40.7.11.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.47.7.11.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -236,6 +236,10 @@
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
+<td> video/x-bayer(ANY)</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
 <td> image/jpeg(ANY)</td>
 </tr>
 <tr>
@@ -268,6 +272,10 @@
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
+<td> video/x-bayer(ANY)</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
 <td> image/jpeg(ANY)</td>
 </tr>
 <tr>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-videoscale.html b/docs/plugins/html/gst-plugins-base-plugins-videoscale.html
index 84b1d07..6393016 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-videoscale.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-videoscale.html
@@ -120,7 +120,7 @@
 RGB formats and is therefore generally able to operate anywhere in a
 pipeline.</p>
 <div class="refsect2">
-<a name="id-1.2.41.7.4"></a><h3>Example pipelines</h3>
+<a name="id-1.2.48.7.4"></a><h3>Example pipelines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -150,7 +150,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.41.7.5.1"></a><h3>Element Information</h3>
+<a name="id-1.2.48.7.5.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -176,7 +176,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.41.7.5.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.48.7.5.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -252,7 +252,7 @@
 <a name="GstVideoScaleMethod"></a><h3>enum GstVideoScaleMethod</h3>
 <p>The videoscale method to use.</p>
 <div class="refsect3">
-<a name="id-1.2.41.9.3.4"></a><h4>Members</h4>
+<a name="id-1.2.48.9.3.4"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="enum_members_name">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-videotestsrc.html b/docs/plugins/html/gst-plugins-base-plugins-videotestsrc.html
index ed9d010..df1b8eb 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-videotestsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-videotestsrc.html
@@ -171,7 +171,7 @@
 of formats. The video test data produced can be controlled with the "pattern"
 property.</p>
 <div class="refsect2">
-<a name="id-1.2.42.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.49.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -187,7 +187,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.42.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.49.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -213,7 +213,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.42.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.49.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -276,7 +276,7 @@
 pattern=zone-plate kx2=20 ky2=20 kt=1' to produce something
 interesting.</p>
 <div class="refsect3">
-<a name="id-1.2.42.9.3.6"></a><h4>Members</h4>
+<a name="id-1.2.49.9.3.6"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="enum_members_name">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-volume.html b/docs/plugins/html/gst-plugins-base-plugins-volume.html
index ffcf8cd..8d2d24f 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-volume.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-volume.html
@@ -90,7 +90,7 @@
 <a name="gst-plugins-base-plugins-volume.description"></a><h2>Description</h2>
 <p>The volume element changes the volume of the audio data.</p>
 <div class="refsect2">
-<a name="id-1.2.43.8.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.50.8.3"></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="id-1.2.43.8.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.50.8.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -134,7 +134,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.43.8.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.50.8.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-vorbisdec.html b/docs/plugins/html/gst-plugins-base-plugins-vorbisdec.html
index a003941..9335c8f 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-vorbisdec.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-vorbisdec.html
@@ -60,7 +60,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.44.6.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.51.6.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -86,7 +86,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.44.6.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.51.6.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-vorbisenc.html b/docs/plugins/html/gst-plugins-base-plugins-vorbisenc.html
index cc74c9e..96b3d23 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-vorbisenc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-vorbisenc.html
@@ -111,7 +111,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.45.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.52.8.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -137,7 +137,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.45.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.52.8.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -158,7 +158,39 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)[ 1, 200000 ], channels=(int)[ 1, 255 ]</td>
+<td>audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)[ 1, 200000 ], channels=(int)1</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)[ 1, 200000 ], channels=(int)2, channel-mask=(bitmask)0x0000000000000003</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)[ 1, 200000 ], channels=(int)3, channel-mask=(bitmask)0x0000000000000007</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)[ 1, 200000 ], channels=(int)4, channel-mask=(bitmask)0x0000000000000033</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)[ 1, 200000 ], channels=(int)5, channel-mask=(bitmask)0x0000000000000037</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)[ 1, 200000 ], channels=(int)6, channel-mask=(bitmask)0x000000000000003f</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)[ 1, 200000 ], channels=(int)7, channel-mask=(bitmask)0x0000000000000d0f</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)[ 1, 200000 ], channels=(int)8, channel-mask=(bitmask)0x0000000000000c3f</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)[ 1, 200000 ], channels=(int)[ 9, 255 ], channel-mask=(bitmask)0x0000000000000000</td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-vorbisparse.html b/docs/plugins/html/gst-plugins-base-plugins-vorbisparse.html
index 8fbbb4f..f312629 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-vorbisparse.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-vorbisparse.html
@@ -60,7 +60,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.46.6.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.53.6.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -86,7 +86,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.46.6.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.53.6.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-vorbistag.html b/docs/plugins/html/gst-plugins-base-plugins-vorbistag.html
index 575167b..5c14762 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-vorbistag.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-vorbistag.html
@@ -67,7 +67,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.47.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.54.7.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -93,7 +93,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.47.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.54.7.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-ximagesink.html b/docs/plugins/html/gst-plugins-base-plugins-ximagesink.html
index 1007c65..6ddfe1e 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-ximagesink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-ximagesink.html
@@ -123,7 +123,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.48.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.55.8.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -149,7 +149,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.48.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.55.8.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-xvimagesink.html b/docs/plugins/html/gst-plugins-base-plugins-xvimagesink.html
index 1b9b45c..e5a01f5 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-xvimagesink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-xvimagesink.html
@@ -175,7 +175,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.49.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.56.8.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -201,7 +201,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.49.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.56.8.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html
index 17f11d3..c64e9de 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 Base Plugins 1.0 Plugins Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GStreamer Base Plugins 1.0 (1.5.2)
+      for GStreamer Base Plugins 1.0 (1.5.90)
       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-base/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base/html/</a>.
     </p></div>
@@ -29,16 +29,16 @@
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-adder.html">adder</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-appsrc.html">appsrc</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-alsasink.html">alsasink</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-alsasrc.html">alsasrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-appsink.html">appsink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-alsasink.html">alsasink</a></span><span class="refpurpose"></span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-alsasrc.html">alsasrc</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-appsrc.html">appsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-audioconvert.html">audioconvert</a></span><span class="refpurpose"></span>
@@ -65,9 +65,6 @@
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-encodebin.html">encodebin</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-videoconvert.html">videoconvert</a></span><span class="refpurpose"></span>
-</dt>
-<dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-giosink.html">giosink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
@@ -86,39 +83,60 @@
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-multisocketsink.html">multisocketsink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-oggaviparse.html">oggaviparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-oggdemux.html">oggdemux</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-oggmux.html">oggmux</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-oggparse.html">oggparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-ogmaudioparse.html">ogmaudioparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-ogmtextparse.html">ogmtextparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-ogmvideoparse.html">ogmvideoparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-playbin.html">playbin</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-playsink.html">playsink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-socketsrc.html">socketsrc</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-ssaparse.html">ssaparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-streamsynchronizer.html">streamsynchronizer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-subparse.html">subparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-subtitleoverlay.html">subtitleoverlay</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-socketsrc.html">socketsrc</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpclientsink.html">tcpclientsink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpclientsrc.html">tcpclientsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpclientsink.html">tcpclientsink</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpserversink.html">tcpserversink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpserversrc.html">tcpserversrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpserversink.html">tcpserversink</a></span><span class="refpurpose"></span>
-</dt>
-<dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-textoverlay.html">textoverlay</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
@@ -140,6 +158,9 @@
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-uridecodebin.html">uridecodebin</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-videoconvert.html">videoconvert</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-videorate.html">videorate</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
@@ -200,10 +221,10 @@
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-plugin-encoding.html">encoding</a></span><span class="refpurpose"> — various encoding-related elements</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-plugin-videoconvert.html">videoconvert</a></span><span class="refpurpose"> — Colorspace conversion</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-plugin-gio.html">gio</a></span><span class="refpurpose"> — GIO elements</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-plugin-gio.html">gio</a></span><span class="refpurpose"> — GIO elements</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-plugin-ivorbisdec.html">ivorbisdec</a></span><span class="refpurpose"> — Vorbis Tremor decoder</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-plugin-libvisual.html">libvisual</a></span><span class="refpurpose"> — libvisual visualization plugins</span>
@@ -230,6 +251,9 @@
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-plugin-typefindfunctions.html">typefindfunctions</a></span><span class="refpurpose"> — default typefind functions</span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-plugin-videoconvert.html">videoconvert</a></span><span class="refpurpose"> — Colorspace conversion</span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-plugin-videorate.html">videorate</a></span><span class="refpurpose"> — Adjusts video frames</span>
 </dt>
 <dt>
diff --git a/docs/plugins/html/index.sgml b/docs/plugins/html/index.sgml
index 8d1276e..550f1da 100644
--- a/docs/plugins/html/index.sgml
+++ b/docs/plugins/html/index.sgml
@@ -11,6 +11,55 @@
 <ANCHOR id="GstAdder-struct" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-adder.html#GstAdder-struct">
 <ANCHOR id="gst-plugins-base-plugins-adder.property-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-adder.html#gst-plugins-base-plugins-adder.property-details">
 <ANCHOR id="GstAdder--caps" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-adder.html#GstAdder--caps">
+<ANCHOR id="gst-plugins-base-plugins-alsasink" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html">
+<ANCHOR id="gst-plugins-base-plugins-alsasink.properties" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#gst-plugins-base-plugins-alsasink.properties">
+<ANCHOR id="GstAlsaSink" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#GstAlsaSink">
+<ANCHOR id="gst-plugins-base-plugins-alsasink.other" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#gst-plugins-base-plugins-alsasink.other">
+<ANCHOR id="gst-plugins-base-plugins-alsasink.object-hierarchy" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#gst-plugins-base-plugins-alsasink.object-hierarchy">
+<ANCHOR id="gst-plugins-base-plugins-alsasink.description" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#gst-plugins-base-plugins-alsasink.description">
+<ANCHOR id="gst-plugins-base-plugins-alsasink.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#gst-plugins-base-plugins-alsasink.functions_details">
+<ANCHOR id="gst-plugins-base-plugins-alsasink.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#gst-plugins-base-plugins-alsasink.other_details">
+<ANCHOR id="GstAlsaSink-struct" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#GstAlsaSink-struct">
+<ANCHOR id="gst-plugins-base-plugins-alsasink.property-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#gst-plugins-base-plugins-alsasink.property-details">
+<ANCHOR id="GstAlsaSink--card-name" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#GstAlsaSink--card-name">
+<ANCHOR id="GstAlsaSink--device" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#GstAlsaSink--device">
+<ANCHOR id="GstAlsaSink--device-name" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#GstAlsaSink--device-name">
+<ANCHOR id="gst-plugins-base-plugins-alsasrc" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html">
+<ANCHOR id="gst-plugins-base-plugins-alsasrc.properties" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#gst-plugins-base-plugins-alsasrc.properties">
+<ANCHOR id="GstAlsaSrc" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc">
+<ANCHOR id="gst-plugins-base-plugins-alsasrc.other" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#gst-plugins-base-plugins-alsasrc.other">
+<ANCHOR id="gst-plugins-base-plugins-alsasrc.object-hierarchy" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#gst-plugins-base-plugins-alsasrc.object-hierarchy">
+<ANCHOR id="gst-plugins-base-plugins-alsasrc.description" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#gst-plugins-base-plugins-alsasrc.description">
+<ANCHOR id="gst-plugins-base-plugins-alsasrc.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#gst-plugins-base-plugins-alsasrc.functions_details">
+<ANCHOR id="gst-plugins-base-plugins-alsasrc.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#gst-plugins-base-plugins-alsasrc.other_details">
+<ANCHOR id="GstAlsaSrc-struct" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc-struct">
+<ANCHOR id="gst-plugins-base-plugins-alsasrc.property-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#gst-plugins-base-plugins-alsasrc.property-details">
+<ANCHOR id="GstAlsaSrc--card-name" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc--card-name">
+<ANCHOR id="GstAlsaSrc--device" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc--device">
+<ANCHOR id="GstAlsaSrc--device-name" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc--device-name">
+<ANCHOR id="gst-plugins-base-plugins-appsink" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html">
+<ANCHOR id="gst-plugins-base-plugins-appsink.properties" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#gst-plugins-base-plugins-appsink.properties">
+<ANCHOR id="gst-plugins-base-plugins-appsink.signals" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#gst-plugins-base-plugins-appsink.signals">
+<ANCHOR id="GstAppSink" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink">
+<ANCHOR id="gst-plugins-base-plugins-appsink.other" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#gst-plugins-base-plugins-appsink.other">
+<ANCHOR id="gst-plugins-base-plugins-appsink.object-hierarchy" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#gst-plugins-base-plugins-appsink.object-hierarchy">
+<ANCHOR id="gst-plugins-base-plugins-appsink.implemented-interfaces" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#gst-plugins-base-plugins-appsink.implemented-interfaces">
+<ANCHOR id="gst-plugins-base-plugins-appsink.description" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#gst-plugins-base-plugins-appsink.description">
+<ANCHOR id="gst-plugins-base-plugins-appsink.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#gst-plugins-base-plugins-appsink.functions_details">
+<ANCHOR id="gst-plugins-base-plugins-appsink.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#gst-plugins-base-plugins-appsink.other_details">
+<ANCHOR id="GstAppSink-struct" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink-struct">
+<ANCHOR id="gst-plugins-base-plugins-appsink.property-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#gst-plugins-base-plugins-appsink.property-details">
+<ANCHOR id="GstAppSink--caps" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink--caps">
+<ANCHOR id="GstAppSink--drop" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink--drop">
+<ANCHOR id="GstAppSink--emit-signals" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink--emit-signals">
+<ANCHOR id="GstAppSink--eos" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink--eos">
+<ANCHOR id="GstAppSink--max-buffers" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink--max-buffers">
+<ANCHOR id="gst-plugins-base-plugins-appsink.signal-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#gst-plugins-base-plugins-appsink.signal-details">
+<ANCHOR id="GstAppSink-eos" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink-eos">
+<ANCHOR id="GstAppSink-new-preroll" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink-new-preroll">
+<ANCHOR id="GstAppSink-new-sample" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink-new-sample">
+<ANCHOR id="GstAppSink-pull-preroll" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink-pull-preroll">
+<ANCHOR id="GstAppSink-pull-sample" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink-pull-sample">
 <ANCHOR id="gst-plugins-base-plugins-appsrc" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsrc.html">
 <ANCHOR id="gst-plugins-base-plugins-appsrc.properties" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsrc.html#gst-plugins-base-plugins-appsrc.properties">
 <ANCHOR id="gst-plugins-base-plugins-appsrc.signals" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsrc.html#gst-plugins-base-plugins-appsrc.signals">
@@ -42,55 +91,6 @@
 <ANCHOR id="GstAppSrc-push-buffer" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsrc.html#GstAppSrc-push-buffer">
 <ANCHOR id="GstAppSrc-seek-data" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsrc.html#GstAppSrc-seek-data">
 <ANCHOR id="GstAppSrc-push-sample" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsrc.html#GstAppSrc-push-sample">
-<ANCHOR id="gst-plugins-base-plugins-appsink" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html">
-<ANCHOR id="gst-plugins-base-plugins-appsink.properties" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#gst-plugins-base-plugins-appsink.properties">
-<ANCHOR id="gst-plugins-base-plugins-appsink.signals" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#gst-plugins-base-plugins-appsink.signals">
-<ANCHOR id="GstAppSink" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink">
-<ANCHOR id="gst-plugins-base-plugins-appsink.other" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#gst-plugins-base-plugins-appsink.other">
-<ANCHOR id="gst-plugins-base-plugins-appsink.object-hierarchy" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#gst-plugins-base-plugins-appsink.object-hierarchy">
-<ANCHOR id="gst-plugins-base-plugins-appsink.implemented-interfaces" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#gst-plugins-base-plugins-appsink.implemented-interfaces">
-<ANCHOR id="gst-plugins-base-plugins-appsink.description" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#gst-plugins-base-plugins-appsink.description">
-<ANCHOR id="gst-plugins-base-plugins-appsink.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#gst-plugins-base-plugins-appsink.functions_details">
-<ANCHOR id="gst-plugins-base-plugins-appsink.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#gst-plugins-base-plugins-appsink.other_details">
-<ANCHOR id="GstAppSink-struct" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink-struct">
-<ANCHOR id="gst-plugins-base-plugins-appsink.property-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#gst-plugins-base-plugins-appsink.property-details">
-<ANCHOR id="GstAppSink--caps" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink--caps">
-<ANCHOR id="GstAppSink--drop" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink--drop">
-<ANCHOR id="GstAppSink--emit-signals" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink--emit-signals">
-<ANCHOR id="GstAppSink--eos" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink--eos">
-<ANCHOR id="GstAppSink--max-buffers" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink--max-buffers">
-<ANCHOR id="gst-plugins-base-plugins-appsink.signal-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#gst-plugins-base-plugins-appsink.signal-details">
-<ANCHOR id="GstAppSink-eos" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink-eos">
-<ANCHOR id="GstAppSink-new-preroll" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink-new-preroll">
-<ANCHOR id="GstAppSink-new-sample" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink-new-sample">
-<ANCHOR id="GstAppSink-pull-preroll" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink-pull-preroll">
-<ANCHOR id="GstAppSink-pull-sample" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsink.html#GstAppSink-pull-sample">
-<ANCHOR id="gst-plugins-base-plugins-alsasink" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html">
-<ANCHOR id="gst-plugins-base-plugins-alsasink.properties" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#gst-plugins-base-plugins-alsasink.properties">
-<ANCHOR id="GstAlsaSink" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#GstAlsaSink">
-<ANCHOR id="gst-plugins-base-plugins-alsasink.other" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#gst-plugins-base-plugins-alsasink.other">
-<ANCHOR id="gst-plugins-base-plugins-alsasink.object-hierarchy" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#gst-plugins-base-plugins-alsasink.object-hierarchy">
-<ANCHOR id="gst-plugins-base-plugins-alsasink.description" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#gst-plugins-base-plugins-alsasink.description">
-<ANCHOR id="gst-plugins-base-plugins-alsasink.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#gst-plugins-base-plugins-alsasink.functions_details">
-<ANCHOR id="gst-plugins-base-plugins-alsasink.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#gst-plugins-base-plugins-alsasink.other_details">
-<ANCHOR id="GstAlsaSink-struct" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#GstAlsaSink-struct">
-<ANCHOR id="gst-plugins-base-plugins-alsasink.property-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#gst-plugins-base-plugins-alsasink.property-details">
-<ANCHOR id="GstAlsaSink--card-name" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#GstAlsaSink--card-name">
-<ANCHOR id="GstAlsaSink--device" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#GstAlsaSink--device">
-<ANCHOR id="GstAlsaSink--device-name" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasink.html#GstAlsaSink--device-name">
-<ANCHOR id="gst-plugins-base-plugins-alsasrc" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html">
-<ANCHOR id="gst-plugins-base-plugins-alsasrc.properties" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#gst-plugins-base-plugins-alsasrc.properties">
-<ANCHOR id="GstAlsaSrc" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc">
-<ANCHOR id="gst-plugins-base-plugins-alsasrc.other" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#gst-plugins-base-plugins-alsasrc.other">
-<ANCHOR id="gst-plugins-base-plugins-alsasrc.object-hierarchy" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#gst-plugins-base-plugins-alsasrc.object-hierarchy">
-<ANCHOR id="gst-plugins-base-plugins-alsasrc.description" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#gst-plugins-base-plugins-alsasrc.description">
-<ANCHOR id="gst-plugins-base-plugins-alsasrc.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#gst-plugins-base-plugins-alsasrc.functions_details">
-<ANCHOR id="gst-plugins-base-plugins-alsasrc.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#gst-plugins-base-plugins-alsasrc.other_details">
-<ANCHOR id="GstAlsaSrc-struct" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc-struct">
-<ANCHOR id="gst-plugins-base-plugins-alsasrc.property-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#gst-plugins-base-plugins-alsasrc.property-details">
-<ANCHOR id="GstAlsaSrc--card-name" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc--card-name">
-<ANCHOR id="GstAlsaSrc--device" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc--device">
-<ANCHOR id="GstAlsaSrc--device-name" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc--device-name">
 <ANCHOR id="gst-plugins-base-plugins-audioconvert" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-audioconvert.html">
 <ANCHOR id="gst-plugins-base-plugins-audioconvert.properties" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-audioconvert.html#gst-plugins-base-plugins-audioconvert.properties">
 <ANCHOR id="GstAudioConvert" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-audioconvert.html#GstAudioConvert">
@@ -262,25 +262,6 @@
 <ANCHOR id="gst-plugins-base-plugins-encodebin.signal-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-encodebin.html#gst-plugins-base-plugins-encodebin.signal-details">
 <ANCHOR id="GstEncodeBin-request-pad" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-encodebin.html#GstEncodeBin-request-pad">
 <ANCHOR id="GstEncodeBin-request-profile-pad" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-encodebin.html#GstEncodeBin-request-profile-pad">
-<ANCHOR id="gst-plugins-base-plugins-videoconvert" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html">
-<ANCHOR id="gst-plugins-base-plugins-videoconvert.properties" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#gst-plugins-base-plugins-videoconvert.properties">
-<ANCHOR id="GstVideoConvert" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#GstVideoConvert">
-<ANCHOR id="gst-plugins-base-plugins-videoconvert.other" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#gst-plugins-base-plugins-videoconvert.other">
-<ANCHOR id="gst-plugins-base-plugins-videoconvert.object-hierarchy" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#gst-plugins-base-plugins-videoconvert.object-hierarchy">
-<ANCHOR id="gst-plugins-base-plugins-videoconvert.description" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#gst-plugins-base-plugins-videoconvert.description">
-<ANCHOR id="gst-plugins-base-plugins-videoconvert.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#gst-plugins-base-plugins-videoconvert.functions_details">
-<ANCHOR id="gst-plugins-base-plugins-videoconvert.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#gst-plugins-base-plugins-videoconvert.other_details">
-<ANCHOR id="GstVideoConvert-struct" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#GstVideoConvert-struct">
-<ANCHOR id="gst-plugins-base-plugins-videoconvert.property-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#gst-plugins-base-plugins-videoconvert.property-details">
-<ANCHOR id="GstVideoConvert--dither" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--dither">
-<ANCHOR id="GstVideoConvert--alpha-mode" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--alpha-mode">
-<ANCHOR id="GstVideoConvert--alpha-value" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--alpha-value">
-<ANCHOR id="GstVideoConvert--chroma-mode" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--chroma-mode">
-<ANCHOR id="GstVideoConvert--chroma-resampler" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--chroma-resampler">
-<ANCHOR id="GstVideoConvert--dither-quantization" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--dither-quantization">
-<ANCHOR id="GstVideoConvert--gamma-mode" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--gamma-mode">
-<ANCHOR id="GstVideoConvert--matrix-mode" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--matrix-mode">
-<ANCHOR id="GstVideoConvert--primaries-mode" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--primaries-mode">
 <ANCHOR id="gst-plugins-base-plugins-giosink" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-giosink.html">
 <ANCHOR id="gst-plugins-base-plugins-giosink.properties" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-giosink.html#gst-plugins-base-plugins-giosink.properties">
 <ANCHOR id="GstGioSink" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-giosink.html#GstGioSink">
@@ -412,6 +393,10 @@
 <ANCHOR id="GstMultiSocketSink-remove" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-multisocketsink.html#GstMultiSocketSink-remove">
 <ANCHOR id="GstMultiSocketSink-remove-flush" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-multisocketsink.html#GstMultiSocketSink-remove-flush">
 <ANCHOR id="gst-plugins-base-plugins-multisocketsink.see-also" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-multisocketsink.html#gst-plugins-base-plugins-multisocketsink.see-also">
+<ANCHOR id="gst-plugins-base-plugins-oggaviparse" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-oggaviparse.html">
+<ANCHOR id="gst-plugins-base-plugins-oggaviparse.description" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-oggaviparse.html#gst-plugins-base-plugins-oggaviparse.description">
+<ANCHOR id="gst-plugins-base-plugins-oggaviparse.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-oggaviparse.html#gst-plugins-base-plugins-oggaviparse.functions_details">
+<ANCHOR id="gst-plugins-base-plugins-oggaviparse.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-oggaviparse.html#gst-plugins-base-plugins-oggaviparse.other_details">
 <ANCHOR id="gst-plugins-base-plugins-oggdemux" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-oggdemux.html">
 <ANCHOR id="GstOggDemux" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-oggdemux.html#GstOggDemux">
 <ANCHOR id="gst-plugins-base-plugins-oggdemux.other" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-oggdemux.html#gst-plugins-base-plugins-oggdemux.other">
@@ -435,6 +420,22 @@
 <ANCHOR id="GstOggMux--max-page-delay" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-oggmux.html#GstOggMux--max-page-delay">
 <ANCHOR id="GstOggMux--max-tolerance" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-oggmux.html#GstOggMux--max-tolerance">
 <ANCHOR id="GstOggMux--skeleton" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-oggmux.html#GstOggMux--skeleton">
+<ANCHOR id="gst-plugins-base-plugins-oggparse" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-oggparse.html">
+<ANCHOR id="gst-plugins-base-plugins-oggparse.description" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-oggparse.html#gst-plugins-base-plugins-oggparse.description">
+<ANCHOR id="gst-plugins-base-plugins-oggparse.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-oggparse.html#gst-plugins-base-plugins-oggparse.functions_details">
+<ANCHOR id="gst-plugins-base-plugins-oggparse.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-oggparse.html#gst-plugins-base-plugins-oggparse.other_details">
+<ANCHOR id="gst-plugins-base-plugins-ogmaudioparse" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-ogmaudioparse.html">
+<ANCHOR id="gst-plugins-base-plugins-ogmaudioparse.description" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-ogmaudioparse.html#gst-plugins-base-plugins-ogmaudioparse.description">
+<ANCHOR id="gst-plugins-base-plugins-ogmaudioparse.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-ogmaudioparse.html#gst-plugins-base-plugins-ogmaudioparse.functions_details">
+<ANCHOR id="gst-plugins-base-plugins-ogmaudioparse.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-ogmaudioparse.html#gst-plugins-base-plugins-ogmaudioparse.other_details">
+<ANCHOR id="gst-plugins-base-plugins-ogmtextparse" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-ogmtextparse.html">
+<ANCHOR id="gst-plugins-base-plugins-ogmtextparse.description" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-ogmtextparse.html#gst-plugins-base-plugins-ogmtextparse.description">
+<ANCHOR id="gst-plugins-base-plugins-ogmtextparse.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-ogmtextparse.html#gst-plugins-base-plugins-ogmtextparse.functions_details">
+<ANCHOR id="gst-plugins-base-plugins-ogmtextparse.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-ogmtextparse.html#gst-plugins-base-plugins-ogmtextparse.other_details">
+<ANCHOR id="gst-plugins-base-plugins-ogmvideoparse" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-ogmvideoparse.html">
+<ANCHOR id="gst-plugins-base-plugins-ogmvideoparse.description" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-ogmvideoparse.html#gst-plugins-base-plugins-ogmvideoparse.description">
+<ANCHOR id="gst-plugins-base-plugins-ogmvideoparse.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-ogmvideoparse.html#gst-plugins-base-plugins-ogmvideoparse.functions_details">
+<ANCHOR id="gst-plugins-base-plugins-ogmvideoparse.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-ogmvideoparse.html#gst-plugins-base-plugins-ogmvideoparse.other_details">
 <ANCHOR id="gst-plugins-base-plugins-playbin" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-playbin.html">
 <ANCHOR id="gst-plugins-base-plugins-playbin.properties" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-playbin.html#gst-plugins-base-plugins-playbin.properties">
 <ANCHOR id="gst-plugins-base-plugins-playbin.signals" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-playbin.html#gst-plugins-base-plugins-playbin.signals">
@@ -540,6 +541,29 @@
 <ANCHOR id="gst-plugins-base-plugins-playsink.signal-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-playsink.html#gst-plugins-base-plugins-playsink.signal-details">
 <ANCHOR id="GstPlaySink-convert-sample" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-playsink.html#GstPlaySink-convert-sample">
 <ANCHOR id="GstPlaySink-reconfigure" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-playsink.html#GstPlaySink-reconfigure">
+<ANCHOR id="gst-plugins-base-plugins-socketsrc" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html">
+<ANCHOR id="gst-plugins-base-plugins-socketsrc.properties" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#gst-plugins-base-plugins-socketsrc.properties">
+<ANCHOR id="gst-plugins-base-plugins-socketsrc.signals" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#gst-plugins-base-plugins-socketsrc.signals">
+<ANCHOR id="GstSocketSrc" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#GstSocketSrc">
+<ANCHOR id="gst-plugins-base-plugins-socketsrc.other" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#gst-plugins-base-plugins-socketsrc.other">
+<ANCHOR id="gst-plugins-base-plugins-socketsrc.object-hierarchy" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#gst-plugins-base-plugins-socketsrc.object-hierarchy">
+<ANCHOR id="gst-plugins-base-plugins-socketsrc.description" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#gst-plugins-base-plugins-socketsrc.description">
+<ANCHOR id="gst-plugins-base-plugins-socketsrc.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#gst-plugins-base-plugins-socketsrc.functions_details">
+<ANCHOR id="gst-plugins-base-plugins-socketsrc.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#gst-plugins-base-plugins-socketsrc.other_details">
+<ANCHOR id="GstSocketSrc-struct" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#GstSocketSrc-struct">
+<ANCHOR id="gst-plugins-base-plugins-socketsrc.property-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#gst-plugins-base-plugins-socketsrc.property-details">
+<ANCHOR id="GstSocketSrc--socket" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#GstSocketSrc--socket">
+<ANCHOR id="GstSocketSrc--caps" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#GstSocketSrc--caps">
+<ANCHOR id="gst-plugins-base-plugins-socketsrc.signal-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#gst-plugins-base-plugins-socketsrc.signal-details">
+<ANCHOR id="GstSocketSrc-connection-closed-by-peer" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#GstSocketSrc-connection-closed-by-peer">
+<ANCHOR id="gst-plugins-base-plugins-ssaparse" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-ssaparse.html">
+<ANCHOR id="GstSsaParse" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-ssaparse.html#GstSsaParse">
+<ANCHOR id="gst-plugins-base-plugins-ssaparse.other" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-ssaparse.html#gst-plugins-base-plugins-ssaparse.other">
+<ANCHOR id="gst-plugins-base-plugins-ssaparse.object-hierarchy" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-ssaparse.html#gst-plugins-base-plugins-ssaparse.object-hierarchy">
+<ANCHOR id="gst-plugins-base-plugins-ssaparse.description" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-ssaparse.html#gst-plugins-base-plugins-ssaparse.description">
+<ANCHOR id="gst-plugins-base-plugins-ssaparse.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-ssaparse.html#gst-plugins-base-plugins-ssaparse.functions_details">
+<ANCHOR id="gst-plugins-base-plugins-ssaparse.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-ssaparse.html#gst-plugins-base-plugins-ssaparse.other_details">
+<ANCHOR id="GstSsaParse-struct" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-ssaparse.html#GstSsaParse-struct">
 <ANCHOR id="gst-plugins-base-plugins-streamsynchronizer" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-streamsynchronizer.html">
 <ANCHOR id="GstStreamSynchronizer" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-streamsynchronizer.html#GstStreamSynchronizer">
 <ANCHOR id="gst-plugins-base-plugins-streamsynchronizer.other" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-streamsynchronizer.html#gst-plugins-base-plugins-streamsynchronizer.other">
@@ -548,6 +572,18 @@
 <ANCHOR id="gst-plugins-base-plugins-streamsynchronizer.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-streamsynchronizer.html#gst-plugins-base-plugins-streamsynchronizer.functions_details">
 <ANCHOR id="gst-plugins-base-plugins-streamsynchronizer.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-streamsynchronizer.html#gst-plugins-base-plugins-streamsynchronizer.other_details">
 <ANCHOR id="GstStreamSynchronizer-struct" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-streamsynchronizer.html#GstStreamSynchronizer-struct">
+<ANCHOR id="gst-plugins-base-plugins-subparse" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-subparse.html">
+<ANCHOR id="gst-plugins-base-plugins-subparse.properties" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-subparse.html#gst-plugins-base-plugins-subparse.properties">
+<ANCHOR id="GstSubParse" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-subparse.html#GstSubParse">
+<ANCHOR id="gst-plugins-base-plugins-subparse.other" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-subparse.html#gst-plugins-base-plugins-subparse.other">
+<ANCHOR id="gst-plugins-base-plugins-subparse.object-hierarchy" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-subparse.html#gst-plugins-base-plugins-subparse.object-hierarchy">
+<ANCHOR id="gst-plugins-base-plugins-subparse.description" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-subparse.html#gst-plugins-base-plugins-subparse.description">
+<ANCHOR id="gst-plugins-base-plugins-subparse.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-subparse.html#gst-plugins-base-plugins-subparse.functions_details">
+<ANCHOR id="gst-plugins-base-plugins-subparse.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-subparse.html#gst-plugins-base-plugins-subparse.other_details">
+<ANCHOR id="GstSubParse-struct" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-subparse.html#GstSubParse-struct">
+<ANCHOR id="gst-plugins-base-plugins-subparse.property-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-subparse.html#gst-plugins-base-plugins-subparse.property-details">
+<ANCHOR id="GstSubParse--subtitle-encoding" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-subparse.html#GstSubParse--subtitle-encoding">
+<ANCHOR id="GstSubParse--video-fps" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-subparse.html#GstSubParse--video-fps">
 <ANCHOR id="gst-plugins-base-plugins-subtitleoverlay" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-subtitleoverlay.html">
 <ANCHOR id="gst-plugins-base-plugins-subtitleoverlay.properties" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-subtitleoverlay.html#gst-plugins-base-plugins-subtitleoverlay.properties">
 <ANCHOR id="GstSubtitleOverlay" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-subtitleoverlay.html#GstSubtitleOverlay">
@@ -562,33 +598,6 @@
 <ANCHOR id="GstSubtitleOverlay--font-desc" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-subtitleoverlay.html#GstSubtitleOverlay--font-desc">
 <ANCHOR id="GstSubtitleOverlay--silent" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-subtitleoverlay.html#GstSubtitleOverlay--silent">
 <ANCHOR id="GstSubtitleOverlay--subtitle-encoding" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-subtitleoverlay.html#GstSubtitleOverlay--subtitle-encoding">
-<ANCHOR id="gst-plugins-base-plugins-socketsrc" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html">
-<ANCHOR id="gst-plugins-base-plugins-socketsrc.properties" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#gst-plugins-base-plugins-socketsrc.properties">
-<ANCHOR id="gst-plugins-base-plugins-socketsrc.signals" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#gst-plugins-base-plugins-socketsrc.signals">
-<ANCHOR id="GstSocketSrc" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#GstSocketSrc">
-<ANCHOR id="gst-plugins-base-plugins-socketsrc.other" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#gst-plugins-base-plugins-socketsrc.other">
-<ANCHOR id="gst-plugins-base-plugins-socketsrc.object-hierarchy" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#gst-plugins-base-plugins-socketsrc.object-hierarchy">
-<ANCHOR id="gst-plugins-base-plugins-socketsrc.description" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#gst-plugins-base-plugins-socketsrc.description">
-<ANCHOR id="gst-plugins-base-plugins-socketsrc.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#gst-plugins-base-plugins-socketsrc.functions_details">
-<ANCHOR id="gst-plugins-base-plugins-socketsrc.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#gst-plugins-base-plugins-socketsrc.other_details">
-<ANCHOR id="GstSocketSrc-struct" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#GstSocketSrc-struct">
-<ANCHOR id="gst-plugins-base-plugins-socketsrc.property-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#gst-plugins-base-plugins-socketsrc.property-details">
-<ANCHOR id="GstSocketSrc--socket" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#GstSocketSrc--socket">
-<ANCHOR id="gst-plugins-base-plugins-socketsrc.signal-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#gst-plugins-base-plugins-socketsrc.signal-details">
-<ANCHOR id="GstSocketSrc-connection-closed-by-peer" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-socketsrc.html#GstSocketSrc-connection-closed-by-peer">
-<ANCHOR id="gst-plugins-base-plugins-tcpclientsrc" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html">
-<ANCHOR id="gst-plugins-base-plugins-tcpclientsrc.properties" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#gst-plugins-base-plugins-tcpclientsrc.properties">
-<ANCHOR id="GstTCPClientSrc" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#GstTCPClientSrc">
-<ANCHOR id="gst-plugins-base-plugins-tcpclientsrc.other" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#gst-plugins-base-plugins-tcpclientsrc.other">
-<ANCHOR id="gst-plugins-base-plugins-tcpclientsrc.object-hierarchy" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#gst-plugins-base-plugins-tcpclientsrc.object-hierarchy">
-<ANCHOR id="gst-plugins-base-plugins-tcpclientsrc.description" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#gst-plugins-base-plugins-tcpclientsrc.description">
-<ANCHOR id="gst-plugins-base-plugins-tcpclientsrc.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#gst-plugins-base-plugins-tcpclientsrc.functions_details">
-<ANCHOR id="gst-plugins-base-plugins-tcpclientsrc.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#gst-plugins-base-plugins-tcpclientsrc.other_details">
-<ANCHOR id="GstTCPClientSrc-struct" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#GstTCPClientSrc-struct">
-<ANCHOR id="gst-plugins-base-plugins-tcpclientsrc.property-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#gst-plugins-base-plugins-tcpclientsrc.property-details">
-<ANCHOR id="GstTCPClientSrc--host" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#GstTCPClientSrc--host">
-<ANCHOR id="GstTCPClientSrc--port" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#GstTCPClientSrc--port">
-<ANCHOR id="gst-plugins-base-plugins-tcpclientsrc.see-also" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#gst-plugins-base-plugins-tcpclientsrc.see-also">
 <ANCHOR id="gst-plugins-base-plugins-tcpclientsink" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsink.html">
 <ANCHOR id="gst-plugins-base-plugins-tcpclientsink.properties" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsink.html#gst-plugins-base-plugins-tcpclientsink.properties">
 <ANCHOR id="GstTCPClientSink" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsink.html#GstTCPClientSink">
@@ -602,20 +611,19 @@
 <ANCHOR id="GstTCPClientSink--host" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsink.html#GstTCPClientSink--host">
 <ANCHOR id="GstTCPClientSink--port" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsink.html#GstTCPClientSink--port">
 <ANCHOR id="gst-plugins-base-plugins-tcpclientsink.see-also" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsink.html#gst-plugins-base-plugins-tcpclientsink.see-also">
-<ANCHOR id="gst-plugins-base-plugins-tcpserversrc" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html">
-<ANCHOR id="gst-plugins-base-plugins-tcpserversrc.properties" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#gst-plugins-base-plugins-tcpserversrc.properties">
-<ANCHOR id="GstTCPServerSrc" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc">
-<ANCHOR id="gst-plugins-base-plugins-tcpserversrc.other" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#gst-plugins-base-plugins-tcpserversrc.other">
-<ANCHOR id="gst-plugins-base-plugins-tcpserversrc.object-hierarchy" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#gst-plugins-base-plugins-tcpserversrc.object-hierarchy">
-<ANCHOR id="gst-plugins-base-plugins-tcpserversrc.description" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#gst-plugins-base-plugins-tcpserversrc.description">
-<ANCHOR id="gst-plugins-base-plugins-tcpserversrc.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#gst-plugins-base-plugins-tcpserversrc.functions_details">
-<ANCHOR id="gst-plugins-base-plugins-tcpserversrc.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#gst-plugins-base-plugins-tcpserversrc.other_details">
-<ANCHOR id="GstTCPServerSrc-struct" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc-struct">
-<ANCHOR id="gst-plugins-base-plugins-tcpserversrc.property-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#gst-plugins-base-plugins-tcpserversrc.property-details">
-<ANCHOR id="GstTCPServerSrc--current-port" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc--current-port">
-<ANCHOR id="GstTCPServerSrc--host" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc--host">
-<ANCHOR id="GstTCPServerSrc--port" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc--port">
-<ANCHOR id="gst-plugins-base-plugins-tcpserversrc.see-also" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#gst-plugins-base-plugins-tcpserversrc.see-also">
+<ANCHOR id="gst-plugins-base-plugins-tcpclientsrc" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html">
+<ANCHOR id="gst-plugins-base-plugins-tcpclientsrc.properties" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#gst-plugins-base-plugins-tcpclientsrc.properties">
+<ANCHOR id="GstTCPClientSrc" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#GstTCPClientSrc">
+<ANCHOR id="gst-plugins-base-plugins-tcpclientsrc.other" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#gst-plugins-base-plugins-tcpclientsrc.other">
+<ANCHOR id="gst-plugins-base-plugins-tcpclientsrc.object-hierarchy" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#gst-plugins-base-plugins-tcpclientsrc.object-hierarchy">
+<ANCHOR id="gst-plugins-base-plugins-tcpclientsrc.description" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#gst-plugins-base-plugins-tcpclientsrc.description">
+<ANCHOR id="gst-plugins-base-plugins-tcpclientsrc.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#gst-plugins-base-plugins-tcpclientsrc.functions_details">
+<ANCHOR id="gst-plugins-base-plugins-tcpclientsrc.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#gst-plugins-base-plugins-tcpclientsrc.other_details">
+<ANCHOR id="GstTCPClientSrc-struct" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#GstTCPClientSrc-struct">
+<ANCHOR id="gst-plugins-base-plugins-tcpclientsrc.property-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#gst-plugins-base-plugins-tcpclientsrc.property-details">
+<ANCHOR id="GstTCPClientSrc--host" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#GstTCPClientSrc--host">
+<ANCHOR id="GstTCPClientSrc--port" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#GstTCPClientSrc--port">
+<ANCHOR id="gst-plugins-base-plugins-tcpclientsrc.see-also" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpclientsrc.html#gst-plugins-base-plugins-tcpclientsrc.see-also">
 <ANCHOR id="gst-plugins-base-plugins-tcpserversink" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversink.html">
 <ANCHOR id="gst-plugins-base-plugins-tcpserversink.properties" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversink.html#gst-plugins-base-plugins-tcpserversink.properties">
 <ANCHOR id="GstTCPServerSink" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversink.html#GstTCPServerSink">
@@ -630,6 +638,20 @@
 <ANCHOR id="GstTCPServerSink--host" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversink.html#GstTCPServerSink--host">
 <ANCHOR id="GstTCPServerSink--port" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversink.html#GstTCPServerSink--port">
 <ANCHOR id="gst-plugins-base-plugins-tcpserversink.see-also" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversink.html#gst-plugins-base-plugins-tcpserversink.see-also">
+<ANCHOR id="gst-plugins-base-plugins-tcpserversrc" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html">
+<ANCHOR id="gst-plugins-base-plugins-tcpserversrc.properties" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#gst-plugins-base-plugins-tcpserversrc.properties">
+<ANCHOR id="GstTCPServerSrc" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc">
+<ANCHOR id="gst-plugins-base-plugins-tcpserversrc.other" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#gst-plugins-base-plugins-tcpserversrc.other">
+<ANCHOR id="gst-plugins-base-plugins-tcpserversrc.object-hierarchy" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#gst-plugins-base-plugins-tcpserversrc.object-hierarchy">
+<ANCHOR id="gst-plugins-base-plugins-tcpserversrc.description" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#gst-plugins-base-plugins-tcpserversrc.description">
+<ANCHOR id="gst-plugins-base-plugins-tcpserversrc.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#gst-plugins-base-plugins-tcpserversrc.functions_details">
+<ANCHOR id="gst-plugins-base-plugins-tcpserversrc.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#gst-plugins-base-plugins-tcpserversrc.other_details">
+<ANCHOR id="GstTCPServerSrc-struct" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc-struct">
+<ANCHOR id="gst-plugins-base-plugins-tcpserversrc.property-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#gst-plugins-base-plugins-tcpserversrc.property-details">
+<ANCHOR id="GstTCPServerSrc--current-port" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc--current-port">
+<ANCHOR id="GstTCPServerSrc--host" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc--host">
+<ANCHOR id="GstTCPServerSrc--port" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc--port">
+<ANCHOR id="gst-plugins-base-plugins-tcpserversrc.see-also" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-tcpserversrc.html#gst-plugins-base-plugins-tcpserversrc.see-also">
 <ANCHOR id="gst-plugins-base-plugins-textoverlay" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-textoverlay.html">
 <ANCHOR id="GstTextOverlay" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-textoverlay.html#GstTextOverlay">
 <ANCHOR id="gst-plugins-base-plugins-textoverlay.other" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-textoverlay.html#gst-plugins-base-plugins-textoverlay.other">
@@ -672,6 +694,10 @@
 <ANCHOR id="gst-plugins-base-plugins-theoraenc.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-theoraenc.html#gst-plugins-base-plugins-theoraenc.functions_details">
 <ANCHOR id="gst-plugins-base-plugins-theoraenc.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-theoraenc.html#gst-plugins-base-plugins-theoraenc.other_details">
 <ANCHOR id="GstTheoraEnc-struct" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-theoraenc.html#GstTheoraEnc-struct">
+<ANCHOR id="GstTheoraEncMultipassMode" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-theoraenc.html#GstTheoraEncMultipassMode">
+<ANCHOR id="MULTIPASS-MODE-SINGLE-PASS:CAPS" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-theoraenc.html#MULTIPASS-MODE-SINGLE-PASS:CAPS">
+<ANCHOR id="MULTIPASS-MODE-FIRST-PASS:CAPS" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-theoraenc.html#MULTIPASS-MODE-FIRST-PASS:CAPS">
+<ANCHOR id="MULTIPASS-MODE-SECOND-PASS:CAPS" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-theoraenc.html#MULTIPASS-MODE-SECOND-PASS:CAPS">
 <ANCHOR id="gst-plugins-base-plugins-theoraenc.property-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-theoraenc.html#gst-plugins-base-plugins-theoraenc.property-details">
 <ANCHOR id="GstTheoraEnc--bitrate" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-theoraenc.html#GstTheoraEnc--bitrate">
 <ANCHOR id="GstTheoraEnc--cap-overflow" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-theoraenc.html#GstTheoraEnc--cap-overflow">
@@ -703,6 +729,10 @@
 <ANCHOR id="gst-plugins-base-plugins-timeoverlay.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-timeoverlay.html#gst-plugins-base-plugins-timeoverlay.functions_details">
 <ANCHOR id="gst-plugins-base-plugins-timeoverlay.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-timeoverlay.html#gst-plugins-base-plugins-timeoverlay.other_details">
 <ANCHOR id="GstTimeOverlay-struct" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-timeoverlay.html#GstTimeOverlay-struct">
+<ANCHOR id="GstTimeOverlayTimeLine" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-timeoverlay.html#GstTimeOverlayTimeLine">
+<ANCHOR id="GST-TIME-OVERLAY-TIME-LINE-BUFFER-TIME:CAPS" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-timeoverlay.html#GST-TIME-OVERLAY-TIME-LINE-BUFFER-TIME:CAPS">
+<ANCHOR id="GST-TIME-OVERLAY-TIME-LINE-STREAM-TIME:CAPS" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-timeoverlay.html#GST-TIME-OVERLAY-TIME-LINE-STREAM-TIME:CAPS">
+<ANCHOR id="GST-TIME-OVERLAY-TIME-LINE-RUNNING-TIME:CAPS" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-timeoverlay.html#GST-TIME-OVERLAY-TIME-LINE-RUNNING-TIME:CAPS">
 <ANCHOR id="gst-plugins-base-plugins-timeoverlay.property-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-timeoverlay.html#gst-plugins-base-plugins-timeoverlay.property-details">
 <ANCHOR id="GstTimeOverlay--time-mode" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-timeoverlay.html#GstTimeOverlay--time-mode">
 <ANCHOR id="gst-plugins-base-plugins-uridecodebin" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-uridecodebin.html">
@@ -741,6 +771,25 @@
 <ANCHOR id="GstURIDecodeBin-drained" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin-drained">
 <ANCHOR id="GstURIDecodeBin-source-setup" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin-source-setup">
 <ANCHOR id="GstURIDecodeBin-unknown-type" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin-unknown-type">
+<ANCHOR id="gst-plugins-base-plugins-videoconvert" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html">
+<ANCHOR id="gst-plugins-base-plugins-videoconvert.properties" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#gst-plugins-base-plugins-videoconvert.properties">
+<ANCHOR id="GstVideoConvert" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#GstVideoConvert">
+<ANCHOR id="gst-plugins-base-plugins-videoconvert.other" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#gst-plugins-base-plugins-videoconvert.other">
+<ANCHOR id="gst-plugins-base-plugins-videoconvert.object-hierarchy" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#gst-plugins-base-plugins-videoconvert.object-hierarchy">
+<ANCHOR id="gst-plugins-base-plugins-videoconvert.description" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#gst-plugins-base-plugins-videoconvert.description">
+<ANCHOR id="gst-plugins-base-plugins-videoconvert.functions_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#gst-plugins-base-plugins-videoconvert.functions_details">
+<ANCHOR id="gst-plugins-base-plugins-videoconvert.other_details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#gst-plugins-base-plugins-videoconvert.other_details">
+<ANCHOR id="GstVideoConvert-struct" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#GstVideoConvert-struct">
+<ANCHOR id="gst-plugins-base-plugins-videoconvert.property-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#gst-plugins-base-plugins-videoconvert.property-details">
+<ANCHOR id="GstVideoConvert--dither" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--dither">
+<ANCHOR id="GstVideoConvert--alpha-mode" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--alpha-mode">
+<ANCHOR id="GstVideoConvert--alpha-value" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--alpha-value">
+<ANCHOR id="GstVideoConvert--chroma-mode" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--chroma-mode">
+<ANCHOR id="GstVideoConvert--chroma-resampler" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--chroma-resampler">
+<ANCHOR id="GstVideoConvert--dither-quantization" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--dither-quantization">
+<ANCHOR id="GstVideoConvert--gamma-mode" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--gamma-mode">
+<ANCHOR id="GstVideoConvert--matrix-mode" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--matrix-mode">
+<ANCHOR id="GstVideoConvert--primaries-mode" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--primaries-mode">
 <ANCHOR id="gst-plugins-base-plugins-videorate" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videorate.html">
 <ANCHOR id="gst-plugins-base-plugins-videorate.properties" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videorate.html#gst-plugins-base-plugins-videorate.properties">
 <ANCHOR id="GstVideoRate" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-videorate.html#GstVideoRate">
@@ -965,10 +1014,10 @@
 <ANCHOR id="plugin-cdparanoia" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-plugin-cdparanoia.html#plugin-cdparanoia">
 <ANCHOR id="gst-plugins-base-plugins-plugin-encoding" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-plugin-encoding.html">
 <ANCHOR id="plugin-encoding" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-plugin-encoding.html#plugin-encoding">
-<ANCHOR id="gst-plugins-base-plugins-plugin-videoconvert" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-plugin-videoconvert.html">
-<ANCHOR id="plugin-videoconvert" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-plugin-videoconvert.html#plugin-videoconvert">
 <ANCHOR id="gst-plugins-base-plugins-plugin-gio" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-plugin-gio.html">
 <ANCHOR id="plugin-gio" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-plugin-gio.html#plugin-gio">
+<ANCHOR id="gst-plugins-base-plugins-plugin-ivorbisdec" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-plugin-ivorbisdec.html">
+<ANCHOR id="plugin-ivorbisdec" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-plugin-ivorbisdec.html#plugin-ivorbisdec">
 <ANCHOR id="gst-plugins-base-plugins-plugin-libvisual" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-plugin-libvisual.html">
 <ANCHOR id="plugin-libvisual" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-plugin-libvisual.html#plugin-libvisual">
 <ANCHOR id="gst-plugins-base-plugins-plugin-ogg" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-plugin-ogg.html">
@@ -985,6 +1034,8 @@
 <ANCHOR id="plugin-theora" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-plugin-theora.html#plugin-theora">
 <ANCHOR id="gst-plugins-base-plugins-plugin-typefindfunctions" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-plugin-typefindfunctions.html">
 <ANCHOR id="plugin-typefindfunctions" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-plugin-typefindfunctions.html#plugin-typefindfunctions">
+<ANCHOR id="gst-plugins-base-plugins-plugin-videoconvert" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-plugin-videoconvert.html">
+<ANCHOR id="plugin-videoconvert" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-plugin-videoconvert.html#plugin-videoconvert">
 <ANCHOR id="gst-plugins-base-plugins-plugin-videorate" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-plugin-videorate.html">
 <ANCHOR id="plugin-videorate" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-plugin-videorate.html#plugin-videorate">
 <ANCHOR id="gst-plugins-base-plugins-plugin-videoscale" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-plugin-videoscale.html">
diff --git a/docs/plugins/inspect/plugin-adder.xml b/docs/plugins/inspect/plugin-adder.xml
index 3c5e203..138651c 100644
--- a/docs/plugins/inspect/plugin-adder.xml
+++ b/docs/plugins/inspect/plugin-adder.xml
@@ -3,7 +3,7 @@
   <description>Adds multiple streams</description>
   <filename>../../gst/adder/.libs/libgstadder.so</filename>
   <basename>libgstadder.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-alsa.xml b/docs/plugins/inspect/plugin-alsa.xml
index c82f279..8cc4753 100644
--- a/docs/plugins/inspect/plugin-alsa.xml
+++ b/docs/plugins/inspect/plugin-alsa.xml
@@ -3,7 +3,7 @@
   <description>ALSA plugin library</description>
   <filename>../../ext/alsa/.libs/libgstalsa.so</filename>
   <basename>libgstalsa.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-app.xml b/docs/plugins/inspect/plugin-app.xml
index 9c1b7bc..0ecb748 100644
--- a/docs/plugins/inspect/plugin-app.xml
+++ b/docs/plugins/inspect/plugin-app.xml
@@ -3,7 +3,7 @@
   <description>Elements used to communicate with applications</description>
   <filename>../../gst/app/.libs/libgstapp.so</filename>
   <basename>libgstapp.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-audioconvert.xml b/docs/plugins/inspect/plugin-audioconvert.xml
index ff51de8..d78add1 100644
--- a/docs/plugins/inspect/plugin-audioconvert.xml
+++ b/docs/plugins/inspect/plugin-audioconvert.xml
@@ -3,7 +3,7 @@
   <description>Convert audio to different formats</description>
   <filename>../../gst/audioconvert/.libs/libgstaudioconvert.so</filename>
   <basename>libgstaudioconvert.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-audiorate.xml b/docs/plugins/inspect/plugin-audiorate.xml
index 0364c09..bdfe33c 100644
--- a/docs/plugins/inspect/plugin-audiorate.xml
+++ b/docs/plugins/inspect/plugin-audiorate.xml
@@ -3,7 +3,7 @@
   <description>Adjusts audio frames</description>
   <filename>../../gst/audiorate/.libs/libgstaudiorate.so</filename>
   <basename>libgstaudiorate.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-audioresample.xml b/docs/plugins/inspect/plugin-audioresample.xml
index eac44e9..8b611dc 100644
--- a/docs/plugins/inspect/plugin-audioresample.xml
+++ b/docs/plugins/inspect/plugin-audioresample.xml
@@ -3,7 +3,7 @@
   <description>Resamples audio</description>
   <filename>../../gst/audioresample/.libs/libgstaudioresample.so</filename>
   <basename>libgstaudioresample.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-audiotestsrc.xml b/docs/plugins/inspect/plugin-audiotestsrc.xml
index 7c0b8a8..d6a80b7 100644
--- a/docs/plugins/inspect/plugin-audiotestsrc.xml
+++ b/docs/plugins/inspect/plugin-audiotestsrc.xml
@@ -3,7 +3,7 @@
   <description>Creates audio test signals of given frequency and volume</description>
   <filename>../../gst/audiotestsrc/.libs/libgstaudiotestsrc.so</filename>
   <basename>libgstaudiotestsrc.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-cdparanoia.xml b/docs/plugins/inspect/plugin-cdparanoia.xml
index 76f76d2..39e6bfd 100644
--- a/docs/plugins/inspect/plugin-cdparanoia.xml
+++ b/docs/plugins/inspect/plugin-cdparanoia.xml
@@ -3,7 +3,7 @@
   <description>Read audio from CD in paranoid mode</description>
   <filename>../../ext/cdparanoia/.libs/libgstcdparanoia.so</filename>
   <basename>libgstcdparanoia.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-encoding.xml b/docs/plugins/inspect/plugin-encoding.xml
index 12a9225..9f3cedf 100644
--- a/docs/plugins/inspect/plugin-encoding.xml
+++ b/docs/plugins/inspect/plugin-encoding.xml
@@ -3,7 +3,7 @@
   <description>various encoding-related elements</description>
   <filename>../../gst/encoding/.libs/libgstencodebin.so</filename>
   <basename>libgstencodebin.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-gio.xml b/docs/plugins/inspect/plugin-gio.xml
index 939de97..93e7553 100644
--- a/docs/plugins/inspect/plugin-gio.xml
+++ b/docs/plugins/inspect/plugin-gio.xml
@@ -3,7 +3,7 @@
   <description>GIO elements</description>
   <filename>../../gst/gio/.libs/libgstgio.so</filename>
   <basename>libgstgio.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-libvisual.xml b/docs/plugins/inspect/plugin-libvisual.xml
index de82646..95d9ac2 100644
--- a/docs/plugins/inspect/plugin-libvisual.xml
+++ b/docs/plugins/inspect/plugin-libvisual.xml
@@ -3,7 +3,7 @@
   <description>libvisual visualization plugins</description>
   <filename>../../ext/libvisual/.libs/libgstlibvisual.so</filename>
   <basename>libgstlibvisual.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-ogg.xml b/docs/plugins/inspect/plugin-ogg.xml
index 34c32bf..b108028 100644
--- a/docs/plugins/inspect/plugin-ogg.xml
+++ b/docs/plugins/inspect/plugin-ogg.xml
@@ -3,7 +3,7 @@
   <description>ogg stream manipulation (info about ogg: http://xiph.org)</description>
   <filename>../../ext/ogg/.libs/libgstogg.so</filename>
   <basename>libgstogg.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
@@ -110,7 +110,7 @@
       <longname>OGM audio stream parser</longname>
       <class>Codec/Decoder/Audio</class>
       <description>parse an OGM audio header and stream</description>
-      <author>GStreamer maintainers &lt;gstreamer-devel@lists.sourceforge.net&gt;</author>
+      <author>GStreamer maintainers &lt;gstreamer-devel@lists.freedesktop.org&gt;</author>
       <pads>
         <caps>
           <name>sink</name>
@@ -131,7 +131,7 @@
       <longname>OGM text stream parser</longname>
       <class>Codec/Decoder/Subtitle</class>
       <description>parse an OGM text header and stream</description>
-      <author>GStreamer maintainers &lt;gstreamer-devel@lists.sourceforge.net&gt;</author>
+      <author>GStreamer maintainers &lt;gstreamer-devel@lists.freedesktop.org&gt;</author>
       <pads>
         <caps>
           <name>sink</name>
@@ -152,7 +152,7 @@
       <longname>OGM video stream parser</longname>
       <class>Codec/Decoder/Video</class>
       <description>parse an OGM video header and stream</description>
-      <author>GStreamer maintainers &lt;gstreamer-devel@lists.sourceforge.net&gt;</author>
+      <author>GStreamer maintainers &lt;gstreamer-devel@lists.freedesktop.org&gt;</author>
       <pads>
         <caps>
           <name>sink</name>
diff --git a/docs/plugins/inspect/plugin-pango.xml b/docs/plugins/inspect/plugin-pango.xml
index 790f9b1..57aae19 100644
--- a/docs/plugins/inspect/plugin-pango.xml
+++ b/docs/plugins/inspect/plugin-pango.xml
@@ -3,7 +3,7 @@
   <description>Pango-based text rendering and overlay</description>
   <filename>../../ext/pango/.libs/libgstpango.so</filename>
   <basename>libgstpango.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
@@ -62,7 +62,7 @@
       <longname>Text renderer</longname>
       <class>Filter/Editor/Video</class>
       <description>Renders a text string to an image bitmap</description>
-      <author>David Schleef &lt;ds@schleef.org&gt;, GStreamer maintainers &lt;gstreamer-devel@lists.sourceforge.net&gt;</author>
+      <author>David Schleef &lt;ds@schleef.org&gt;, GStreamer maintainers &lt;gstreamer-devel@lists.freedesktop.org&gt;</author>
       <pads>
         <caps>
           <name>sink</name>
diff --git a/docs/plugins/inspect/plugin-playback.xml b/docs/plugins/inspect/plugin-playback.xml
index 0a0246e..054d138 100644
--- a/docs/plugins/inspect/plugin-playback.xml
+++ b/docs/plugins/inspect/plugin-playback.xml
@@ -3,7 +3,7 @@
   <description>various playback elements</description>
   <filename>../../gst/playback/.libs/libgstplayback.so</filename>
   <basename>libgstplayback.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-subparse.xml b/docs/plugins/inspect/plugin-subparse.xml
index 83d980a..c6317b4 100644
--- a/docs/plugins/inspect/plugin-subparse.xml
+++ b/docs/plugins/inspect/plugin-subparse.xml
@@ -3,7 +3,7 @@
   <description>Subtitle parsing</description>
   <filename>../../gst/subparse/.libs/libgstsubparse.so</filename>
   <basename>libgstsubparse.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
@@ -35,7 +35,7 @@
       <longname>Subtitle parser</longname>
       <class>Codec/Parser/Subtitle</class>
       <description>Parses subtitle (.sub) files into text streams</description>
-      <author>Gustavo J. A. M. Carneiro &lt;gjc@inescporto.pt&gt;, GStreamer maintainers &lt;gstreamer-devel@lists.sourceforge.net&gt;</author>
+      <author>Gustavo J. A. M. Carneiro &lt;gjc@inescporto.pt&gt;, GStreamer maintainers &lt;gstreamer-devel@lists.freedesktop.org&gt;</author>
       <pads>
         <caps>
           <name>sink</name>
diff --git a/docs/plugins/inspect/plugin-tcp.xml b/docs/plugins/inspect/plugin-tcp.xml
index edff6ea..b1f5cc3 100644
--- a/docs/plugins/inspect/plugin-tcp.xml
+++ b/docs/plugins/inspect/plugin-tcp.xml
@@ -3,7 +3,7 @@
   <description>transfer data over the network via TCP</description>
   <filename>../../gst/tcp/.libs/libgsttcp.so</filename>
   <basename>libgsttcp.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-theora.xml b/docs/plugins/inspect/plugin-theora.xml
index d194067..8648dac 100644
--- a/docs/plugins/inspect/plugin-theora.xml
+++ b/docs/plugins/inspect/plugin-theora.xml
@@ -3,7 +3,7 @@
   <description>Theora plugin library</description>
   <filename>../../ext/theora/.libs/libgsttheora.so</filename>
   <basename>libgsttheora.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-typefindfunctions.xml b/docs/plugins/inspect/plugin-typefindfunctions.xml
index f514c09..75e05e0 100644
--- a/docs/plugins/inspect/plugin-typefindfunctions.xml
+++ b/docs/plugins/inspect/plugin-typefindfunctions.xml
@@ -3,7 +3,7 @@
   <description>default typefind functions</description>
   <filename>../../gst/typefind/.libs/libgsttypefindfunctions.so</filename>
   <basename>libgsttypefindfunctions.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videoconvert.xml b/docs/plugins/inspect/plugin-videoconvert.xml
index b84534f..3d3adda 100644
--- a/docs/plugins/inspect/plugin-videoconvert.xml
+++ b/docs/plugins/inspect/plugin-videoconvert.xml
@@ -3,7 +3,7 @@
   <description>Colorspace conversion</description>
   <filename>../../gst/videoconvert/.libs/libgstvideoconvert.so</filename>
   <basename>libgstvideoconvert.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
@@ -14,7 +14,7 @@
       <longname>Colorspace converter</longname>
       <class>Filter/Converter/Video</class>
       <description>Converts video from one colorspace to another</description>
-      <author>GStreamer maintainers &lt;gstreamer-devel@lists.sourceforge.net&gt;</author>
+      <author>GStreamer maintainers &lt;gstreamer-devel@lists.freedesktop.org&gt;</author>
       <pads>
         <caps>
           <name>sink</name>
diff --git a/docs/plugins/inspect/plugin-videorate.xml b/docs/plugins/inspect/plugin-videorate.xml
index 99d5859..71fa479 100644
--- a/docs/plugins/inspect/plugin-videorate.xml
+++ b/docs/plugins/inspect/plugin-videorate.xml
@@ -3,7 +3,7 @@
   <description>Adjusts video frames</description>
   <filename>../../gst/videorate/.libs/libgstvideorate.so</filename>
   <basename>libgstvideorate.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
@@ -20,13 +20,13 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw(ANY); image/jpeg(ANY); image/png(ANY)</details>
+          <details>video/x-raw(ANY); video/x-bayer(ANY); image/jpeg(ANY); image/png(ANY)</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw(ANY); image/jpeg(ANY); image/png(ANY)</details>
+          <details>video/x-raw(ANY); video/x-bayer(ANY); image/jpeg(ANY); image/png(ANY)</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-videoscale.xml b/docs/plugins/inspect/plugin-videoscale.xml
index 664f0c3..5cf1d1f 100644
--- a/docs/plugins/inspect/plugin-videoscale.xml
+++ b/docs/plugins/inspect/plugin-videoscale.xml
@@ -3,7 +3,7 @@
   <description>Resizes video</description>
   <filename>../../gst/videoscale/.libs/libgstvideoscale.so</filename>
   <basename>libgstvideoscale.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videotestsrc.xml b/docs/plugins/inspect/plugin-videotestsrc.xml
index 6fec0c2..fc2b5c1 100644
--- a/docs/plugins/inspect/plugin-videotestsrc.xml
+++ b/docs/plugins/inspect/plugin-videotestsrc.xml
@@ -3,7 +3,7 @@
   <description>Creates a test video stream</description>
   <filename>../../gst/videotestsrc/.libs/libgstvideotestsrc.so</filename>
   <basename>libgstvideotestsrc.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-volume.xml b/docs/plugins/inspect/plugin-volume.xml
index bf342f6..25071e1 100644
--- a/docs/plugins/inspect/plugin-volume.xml
+++ b/docs/plugins/inspect/plugin-volume.xml
@@ -3,7 +3,7 @@
   <description>plugin for controlling audio volume</description>
   <filename>../../gst/volume/.libs/libgstvolume.so</filename>
   <basename>libgstvolume.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-vorbis.xml b/docs/plugins/inspect/plugin-vorbis.xml
index c4a3020..4c2bc57 100644
--- a/docs/plugins/inspect/plugin-vorbis.xml
+++ b/docs/plugins/inspect/plugin-vorbis.xml
@@ -3,7 +3,7 @@
   <description>Vorbis plugin library</description>
   <filename>../../ext/vorbis/.libs/libgstvorbis.so</filename>
   <basename>libgstvorbis.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
@@ -41,7 +41,7 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)[ 1, 200000 ], channels=(int)[ 1, 255 ]</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)[ 1, 200000 ], channels=(int)1; audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)[ 1, 200000 ], channels=(int)2, channel-mask=(bitmask)0x0000000000000003; audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)[ 1, 200000 ], channels=(int)3, channel-mask=(bitmask)0x0000000000000007; audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)[ 1, 200000 ], channels=(int)4, channel-mask=(bitmask)0x0000000000000033; audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)[ 1, 200000 ], channels=(int)5, channel-mask=(bitmask)0x0000000000000037; audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)[ 1, 200000 ], channels=(int)6, channel-mask=(bitmask)0x000000000000003f; audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)[ 1, 200000 ], channels=(int)7, channel-mask=(bitmask)0x0000000000000d0f; audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)[ 1, 200000 ], channels=(int)8, channel-mask=(bitmask)0x0000000000000c3f; audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)[ 1, 200000 ], channels=(int)[ 9, 255 ], channel-mask=(bitmask)0x0000000000000000</details>
         </caps>
         <caps>
           <name>src</name>
diff --git a/docs/plugins/inspect/plugin-ximagesink.xml b/docs/plugins/inspect/plugin-ximagesink.xml
index f75c7a6..2021714 100644
--- a/docs/plugins/inspect/plugin-ximagesink.xml
+++ b/docs/plugins/inspect/plugin-ximagesink.xml
@@ -3,7 +3,7 @@
   <description>X11 video output element based on standard Xlib calls</description>
   <filename>../../sys/ximage/.libs/libgstximagesink.so</filename>
   <basename>libgstximagesink.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-xvimagesink.xml b/docs/plugins/inspect/plugin-xvimagesink.xml
index cff3be9..118265e 100644
--- a/docs/plugins/inspect/plugin-xvimagesink.xml
+++ b/docs/plugins/inspect/plugin-xvimagesink.xml
@@ -3,7 +3,7 @@
   <description>XFree86 video output plugin using Xv extension</description>
   <filename>../../sys/xvimage/.libs/libgstxvimagesink.so</filename>
   <basename>libgstxvimagesink.so</basename>
-  <version>1.5.2</version>
+  <version>1.5.90</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/ext/Makefile.in b/ext/Makefile.in
index 9af1d44..28ed43c 100644
--- a/ext/Makefile.in
+++ b/ext/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -19,7 +19,17 @@
 # descending into all subdirectories a second time, but only after the first
 # (parallel) run has finished, so it should go right through the second time.
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -83,8 +93,6 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-DIST_COMMON = $(top_srcdir)/common/parallel-subdirs.mak \
-	$(srcdir)/Makefile.in $(srcdir)/Makefile.am
 subdir = ext
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -122,6 +130,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -180,6 +189,8 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/common/parallel-subdirs.mak
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -547,7 +558,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ext/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu ext/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -556,7 +566,7 @@
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/common/parallel-subdirs.mak:
+$(top_srcdir)/common/parallel-subdirs.mak $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -843,6 +853,8 @@
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 .PHONY: independent-subdirs $(SUBDIRS)
 
diff --git a/ext/alsa/Makefile.in b/ext/alsa/Makefile.in
index 3695125..5df95b8 100644
--- a/ext/alsa/Makefile.in
+++ b/ext/alsa/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = ext/alsa
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS)
 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 \
@@ -119,6 +127,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -228,6 +238,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -565,7 +576,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ext/alsa/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu ext/alsa/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -906,6 +916,8 @@
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/ext/cdparanoia/Makefile.in b/ext/cdparanoia/Makefile.in
index f5221a8..a55f3fc 100644
--- a/ext/cdparanoia/Makefile.in
+++ b/ext/cdparanoia/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = ext/cdparanoia
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS)
 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 \
@@ -119,6 +127,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -228,6 +238,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -555,7 +566,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ext/cdparanoia/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu ext/cdparanoia/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -864,6 +874,8 @@
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/ext/cdparanoia/gstcdparanoiasrc.h b/ext/cdparanoia/gstcdparanoiasrc.h
index 6c2e038..0f0be38 100644
--- a/ext/cdparanoia/gstcdparanoiasrc.h
+++ b/ext/cdparanoia/gstcdparanoiasrc.h
@@ -24,9 +24,6 @@
 
 G_BEGIN_DECLS
 
-#define size16 gint16
-#define size32 gint32
-
 /* on OSX the cdparanoia headers include IOKit framework headers (in particular
  * SCSICmds_INQUIRY_Definitions.h) which define a structure that has a member
  * named VERSION, so we must #undef VERSION here for things to compile on OSX */
@@ -46,7 +43,6 @@
 #define GST_CD_PARANOIA_SRC_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_CD_PARANOIA_SRC,GstCdParanoiaSrcClass))
 #define GST_IS_CD_PARANOIA_SRC(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_CD_PARANOIA_SRC))
 #define GST_IS_CD_PARANOIA_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_CD_PARANOIA_SRC))
-#define GST_CD_PARANOIA_SRC_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_CDDA_BASAE_SRC, GstCdParanoiaSrcClass))
 
 typedef struct _GstCdParanoiaSrc GstCdParanoiaSrc;
 typedef struct _GstCdParanoiaSrcClass GstCdParanoiaSrcClass;
diff --git a/ext/libvisual/Makefile.in b/ext/libvisual/Makefile.in
index 4af10a6..fb8b3ab 100644
--- a/ext/libvisual/Makefile.in
+++ b/ext/libvisual/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = ext/libvisual
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS)
 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 \
@@ -119,6 +127,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -229,6 +239,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -550,7 +561,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ext/libvisual/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu ext/libvisual/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -875,6 +885,8 @@
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/ext/ogg/Makefile.in b/ext/ogg/Makefile.in
index 553b7fa..a9801ba 100644
--- a/ext/ogg/Makefile.in
+++ b/ext/ogg/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = ext/ogg
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS) README
 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 \
@@ -119,6 +127,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -233,6 +243,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -580,7 +591,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ext/ogg/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu ext/ogg/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -953,6 +963,8 @@
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/ext/ogg/gstoggdemux.c b/ext/ogg/gstoggdemux.c
index b758934..ee750b2 100644
--- a/ext/ogg/gstoggdemux.c
+++ b/ext/ogg/gstoggdemux.c
@@ -2777,6 +2777,7 @@
   if (!ogg->pullmode) {
     if (ogg->building_chain == chain)
       ogg->building_chain = NULL;
+    ogg->current_chain = NULL;
     gst_ogg_chain_free (chain);
   }
 
@@ -4778,9 +4779,18 @@
   }
 seek_failed:
   {
-    GST_ELEMENT_ERROR (ogg, STREAM, DEMUX, (NULL),
-        ("failed to start demuxing ogg"));
-    ret = GST_FLOW_ERROR;
+    gboolean flushing;
+
+    GST_OBJECT_LOCK (pad);
+    flushing = GST_PAD_IS_FLUSHING (pad);
+    GST_OBJECT_UNLOCK (pad);
+    if (flushing) {
+      ret = GST_FLOW_FLUSHING;
+    } else {
+      GST_ELEMENT_ERROR (ogg, STREAM, DEMUX, (NULL),
+          ("failed to start demuxing ogg"));
+      ret = GST_FLOW_ERROR;
+    }
     goto pause;
   }
 pause:
@@ -4911,6 +4921,8 @@
     gst_ogg_chain_free (chain);
   }
   ogg->chains = g_array_set_size (ogg->chains, 0);
+  ogg->current_chain = NULL;
+  ogg->building_chain = NULL;
   GST_CHAIN_UNLOCK (ogg);
 }
 
diff --git a/ext/ogg/gstogmparse.c b/ext/ogg/gstogmparse.c
index a08c5df..c85c064 100644
--- a/ext/ogg/gstogmparse.c
+++ b/ext/ogg/gstogmparse.c
@@ -279,7 +279,7 @@
   gst_element_class_set_static_metadata (element_class,
       "OGM audio stream parser", "Codec/Decoder/Audio",
       "parse an OGM audio header and stream",
-      "GStreamer maintainers <gstreamer-devel@lists.sourceforge.net>");
+      "GStreamer maintainers <gstreamer-devel@lists.freedesktop.org>");
 
   gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&sink_factory_audio));
@@ -298,7 +298,7 @@
   gst_element_class_set_static_metadata (element_class,
       "OGM video stream parser", "Codec/Decoder/Video",
       "parse an OGM video header and stream",
-      "GStreamer maintainers <gstreamer-devel@lists.sourceforge.net>");
+      "GStreamer maintainers <gstreamer-devel@lists.freedesktop.org>");
 
   gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&sink_factory_video));
@@ -318,7 +318,7 @@
   gst_element_class_set_static_metadata (element_class,
       "OGM text stream parser", "Codec/Decoder/Subtitle",
       "parse an OGM text header and stream",
-      "GStreamer maintainers <gstreamer-devel@lists.sourceforge.net>");
+      "GStreamer maintainers <gstreamer-devel@lists.freedesktop.org>");
 
   gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&sink_factory_text));
diff --git a/ext/pango/Makefile.am b/ext/pango/Makefile.am
index 7ecfbda..9320e9e 100644
--- a/ext/pango/Makefile.am
+++ b/ext/pango/Makefile.am
@@ -23,6 +23,7 @@
 	$(top_builddir)/gst-libs/gst/video/libgstvideo-$(GST_API_VERSION).la \
 	$(GST_BASE_LIBS) \
 	$(GST_LIBS) \
+	$(LIBM) \
 	$(PANGO_LIBS)
 libgstpango_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
 libgstpango_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
diff --git a/ext/pango/Makefile.in b/ext/pango/Makefile.in
index 86f983a..309454f 100644
--- a/ext/pango/Makefile.in
+++ b/ext/pango/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = ext/pango
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS)
 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 \
@@ -119,6 +127,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -155,7 +165,7 @@
 am__DEPENDENCIES_1 =
 libgstpango_la_DEPENDENCIES = $(top_builddir)/gst-libs/gst/video/libgstvideo-$(GST_API_VERSION).la \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1)
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
 am_libgstpango_la_OBJECTS = libgstpango_la-gstbasetextoverlay.lo \
 	libgstpango_la-gstclockoverlay.lo \
 	libgstpango_la-gsttextoverlay.lo \
@@ -231,6 +241,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -550,6 +561,7 @@
 	$(top_builddir)/gst-libs/gst/video/libgstvideo-$(GST_API_VERSION).la \
 	$(GST_BASE_LIBS) \
 	$(GST_LIBS) \
+	$(LIBM) \
 	$(PANGO_LIBS)
 
 libgstpango_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
@@ -570,7 +582,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ext/pango/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu ext/pango/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -911,6 +922,8 @@
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/ext/pango/gstbasetextoverlay.c b/ext/pango/gstbasetextoverlay.c
index 301db50..54d9d1a 100644
--- a/ext/pango/gstbasetextoverlay.c
+++ b/ext/pango/gstbasetextoverlay.c
@@ -35,6 +35,7 @@
 #include "gstclockoverlay.h"
 #include "gsttextrender.h"
 #include <string.h>
+#include <math.h>
 
 /* FIXME:
  *  - use proper strides and offset for I420
@@ -254,8 +255,6 @@
 static void gst_base_text_overlay_text_pad_unlink (GstPad * pad,
     GstObject * parent);
 static void gst_base_text_overlay_pop_text (GstBaseTextOverlay * overlay);
-static void gst_base_text_overlay_update_render_mode (GstBaseTextOverlay *
-    overlay);
 
 static void gst_base_text_overlay_finalize (GObject * object);
 static void gst_base_text_overlay_set_property (GObject * object, guint prop_id,
@@ -268,6 +267,9 @@
     PangoFontDescription * desc);
 static gboolean gst_base_text_overlay_can_handle_caps (GstCaps * incaps);
 
+static void
+gst_base_text_overlay_update_render_size (GstBaseTextOverlay * overlay);
+
 GType
 gst_base_text_overlay_get_type (void)
 {
@@ -315,6 +317,7 @@
   fontmap = pango_cairo_font_map_get_default ();
   klass->pango_context =
       pango_font_map_create_context (PANGO_FONT_MAP (fontmap));
+  pango_context_set_base_gravity (klass->pango_context, PANGO_GRAVITY_SOUTH);
   if (klass->pango_lock)
     g_mutex_unlock (klass->pango_lock);
 }
@@ -590,7 +593,6 @@
   gst_element_add_pad (GST_ELEMENT (overlay), overlay->srcpad);
 
   g_mutex_lock (GST_BASE_TEXT_OVERLAY_GET_CLASS (overlay)->pango_lock);
-  overlay->line_align = DEFAULT_PROP_LINE_ALIGNMENT;
   overlay->layout =
       pango_layout_new (GST_BASE_TEXT_OVERLAY_GET_CLASS
       (overlay)->pango_context);
@@ -624,11 +626,30 @@
   overlay->need_render = TRUE;
   overlay->text_image = NULL;
   overlay->use_vertical_render = DEFAULT_PROP_VERTICAL_RENDER;
-  gst_base_text_overlay_update_render_mode (overlay);
+
+  overlay->line_align = DEFAULT_PROP_LINE_ALIGNMENT;
+  pango_layout_set_alignment (overlay->layout,
+      (PangoAlignment) overlay->line_align);
 
   overlay->text_buffer = NULL;
   overlay->text_linked = FALSE;
 
+  overlay->composition = NULL;
+  overlay->upstream_composition = NULL;
+
+  overlay->width = 1;
+  overlay->height = 1;
+
+  overlay->window_width = 1;
+  overlay->window_height = 1;
+
+  overlay->image_width = 1;
+  overlay->image_height = 1;
+
+  overlay->render_width = 1;
+  overlay->render_height = 1;
+  overlay->render_scale = 1.0l;
+
   g_mutex_init (&overlay->lock);
   g_cond_init (&overlay->cond);
   gst_segment_init (&overlay->segment, GST_FORMAT_TIME);
@@ -636,49 +657,20 @@
 }
 
 static void
-gst_base_text_overlay_update_wrap_mode (GstBaseTextOverlay * overlay)
+gst_base_text_overlay_set_wrap_mode (GstBaseTextOverlay * overlay, gint width)
 {
   if (overlay->wrap_mode == GST_BASE_TEXT_OVERLAY_WRAP_MODE_NONE) {
     GST_DEBUG_OBJECT (overlay, "Set wrap mode NONE");
     pango_layout_set_width (overlay->layout, -1);
   } else {
-    int width;
-
-    if (overlay->auto_adjust_size) {
-      width = DEFAULT_SCALE_BASIS * PANGO_SCALE;
-      if (overlay->use_vertical_render) {
-        width = width * (overlay->height - overlay->ypad * 2) / overlay->width;
-      }
-    } else {
-      width =
-          ((overlay->use_vertical_render ? overlay->height : overlay->width) -
-          overlay->deltax) * PANGO_SCALE;
-    }
+    width = width * PANGO_SCALE;
 
     GST_DEBUG_OBJECT (overlay, "Set layout width %d", width);
     GST_DEBUG_OBJECT (overlay, "Set wrap mode    %d", overlay->wrap_mode);
     pango_layout_set_width (overlay->layout, width);
-    pango_layout_set_wrap (overlay->layout, (PangoWrapMode) overlay->wrap_mode);
   }
-}
 
-static void
-gst_base_text_overlay_update_render_mode (GstBaseTextOverlay * overlay)
-{
-  PangoMatrix matrix = PANGO_MATRIX_INIT;
-  PangoContext *context = pango_layout_get_context (overlay->layout);
-
-  if (overlay->use_vertical_render) {
-    pango_matrix_rotate (&matrix, -90);
-    pango_context_set_base_gravity (context, PANGO_GRAVITY_AUTO);
-    pango_context_set_matrix (context, &matrix);
-    pango_layout_set_alignment (overlay->layout, PANGO_ALIGN_LEFT);
-  } else {
-    pango_context_set_base_gravity (context, PANGO_GRAVITY_SOUTH);
-    pango_context_set_matrix (context, &matrix);
-    pango_layout_set_alignment (overlay->layout,
-        (PangoAlignment) overlay->line_align);
-  }
+  pango_layout_set_wrap (overlay->layout, (PangoWrapMode) overlay->wrap_mode);
 }
 
 static gboolean
@@ -703,11 +695,17 @@
   gboolean alloc_has_meta = FALSE;
   gboolean attach = FALSE;
   gboolean ret = TRUE;
+  guint width, height;
   GstCapsFeatures *f;
   GstCaps *overlay_caps;
+  GstQuery *query;
+  guint alloc_index;
 
   GST_DEBUG_OBJECT (overlay, "performing negotiation");
 
+  /* Clear any pending reconfigure to avoid negotiating twice */
+  gst_pad_check_reconfigure (overlay->srcpad);
+
   if (!caps)
     caps = gst_pad_get_current_caps (overlay->video_sinkpad);
   else
@@ -718,17 +716,45 @@
 
   /* Check if upstream caps have meta */
   if ((f = gst_caps_get_features (caps, 0))) {
-    caps_has_meta = gst_caps_features_contains (f,
+    upstream_has_meta = gst_caps_features_contains (f,
         GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION);
   }
 
+  /* Initialize dimensions */
+  width = overlay->width;
+  height = overlay->height;
+
   if (upstream_has_meta) {
     overlay_caps = gst_caps_ref (caps);
   } else {
-    GstQuery *query;
+    GstCaps *peercaps;
+
+    /* BaseTransform requires caps for the allocation query to work */
+    overlay_caps = gst_caps_copy (caps);
+    f = gst_caps_get_features (overlay_caps, 0);
+    gst_caps_features_add (f,
+        GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION);
+
+    /* Then check if downstream accept overlay composition in caps */
+    /* FIXME: We should probably check if downstream *prefers* the
+     * overlay meta, and only enforce usage of it if we can't handle
+     * the format ourselves and thus would have to drop the overlays.
+     * Otherwise we should prefer what downstream wants here.
+     */
+    peercaps = gst_pad_peer_query_caps (overlay->srcpad, NULL);
+    caps_has_meta = gst_caps_can_intersect (peercaps, overlay_caps);
+    gst_caps_unref (peercaps);
+
+    GST_DEBUG ("caps have overlay meta %d", caps_has_meta);
+  }
+
+  if (upstream_has_meta || caps_has_meta) {
+    /* Send caps immediatly, it's needed by GstBaseTransform to get a reply
+     * from allocation query */
+    ret = gst_pad_set_caps (overlay->srcpad, overlay_caps);
 
     /* First check if the allocation meta has compositon */
-    query = gst_query_new_allocation (caps, FALSE);
+    query = gst_query_new_allocation (overlay_caps, FALSE);
 
     if (!gst_pad_peer_query (overlay->srcpad, query)) {
       /* no problem, we use the query defaults */
@@ -741,21 +767,31 @@
     }
 
     alloc_has_meta = gst_query_find_allocation_meta (query,
-        GST_VIDEO_OVERLAY_COMPOSITION_META_API_TYPE, NULL);
+        GST_VIDEO_OVERLAY_COMPOSITION_META_API_TYPE, &alloc_index);
+
+    GST_DEBUG ("sink alloc has overlay meta %d", alloc_has_meta);
+
+    if (alloc_has_meta) {
+      const GstStructure *params;
+
+      gst_query_parse_nth_allocation_meta (query, alloc_index, &params);
+      if (params) {
+        if (gst_structure_get (params, "width", G_TYPE_UINT, &width,
+                "height", G_TYPE_UINT, &height, NULL)) {
+          GST_DEBUG ("received window size: %dx%d", width, height);
+          g_assert (width != 0 && height != 0);
+        }
+      }
+    }
 
     gst_query_unref (query);
-
-    /* Then check if downstream accept overlay composition in caps */
-    overlay_caps = gst_caps_copy (caps);
-
-    f = gst_caps_get_features (overlay_caps, 0);
-    gst_caps_features_add (f,
-        GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION);
-
-    caps_has_meta = gst_pad_peer_query_accept_caps (overlay->srcpad,
-        overlay_caps);
   }
 
+  /* Update render size if needed */
+  overlay->window_width = width;
+  overlay->window_height = height;
+  gst_base_text_overlay_update_render_size (overlay);
+
   /* For backward compatbility, we will prefer bliting if downstream
    * allocation does not support the meta. In other case we will prefer
    * attaching, and will fail the negotiation in the unlikely case we are
@@ -776,24 +812,21 @@
 
   /* If we attach, then pick the overlay caps */
   if (attach) {
-    gst_caps_unref (caps);
-    caps = overlay_caps;
-  } else {
-    gst_caps_unref (overlay_caps);
-  }
-
-  /* If negotiation worked, set the caps and remember to attach */
-  if (ret) {
+    GST_DEBUG_OBJECT (overlay, "Using caps %" GST_PTR_FORMAT, overlay_caps);
+    /* Caps where already sent */
+  } else if (ret) {
     GST_DEBUG_OBJECT (overlay, "Using caps %" GST_PTR_FORMAT, caps);
-    overlay->attach_compo_to_buffer = attach;
     ret = gst_pad_set_caps (overlay->srcpad, caps);
   }
 
+  overlay->attach_compo_to_buffer = attach;
+
   if (!ret) {
     GST_DEBUG_OBJECT (overlay, "negotiation failed, schedule reconfigure");
     gst_pad_mark_reconfigure (overlay->srcpad);
   }
 
+  gst_caps_unref (overlay_caps);
   gst_caps_unref (caps);
 
   return ret;
@@ -842,15 +875,12 @@
   ret = gst_base_text_overlay_negotiate (overlay, caps);
 
   GST_BASE_TEXT_OVERLAY_LOCK (overlay);
-  g_mutex_lock (GST_BASE_TEXT_OVERLAY_GET_CLASS (overlay)->pango_lock);
+
   if (!overlay->attach_compo_to_buffer &&
       !gst_base_text_overlay_can_handle_caps (caps)) {
     GST_DEBUG_OBJECT (overlay, "unsupported caps %" GST_PTR_FORMAT, caps);
     ret = FALSE;
   }
-
-  gst_base_text_overlay_update_wrap_mode (overlay);
-  g_mutex_unlock (GST_BASE_TEXT_OVERLAY_GET_CLASS (overlay)->pango_lock);
   GST_BASE_TEXT_OVERLAY_UNLOCK (overlay);
 
   return ret;
@@ -874,7 +904,6 @@
     case PROP_TEXT:
       g_free (overlay->default_text);
       overlay->default_text = g_value_dup_string (value);
-      overlay->need_render = TRUE;
       break;
     case PROP_SHADING:
       overlay->want_shading = g_value_get_boolean (value);
@@ -905,9 +934,6 @@
       break;
     case PROP_WRAP_MODE:
       overlay->wrap_mode = g_value_get_enum (value);
-      g_mutex_lock (GST_BASE_TEXT_OVERLAY_GET_CLASS (overlay)->pango_lock);
-      gst_base_text_overlay_update_wrap_mode (overlay);
-      g_mutex_unlock (GST_BASE_TEXT_OVERLAY_GET_CLASS (overlay)->pango_lock);
       break;
     case PROP_FONT_DESC:
     {
@@ -956,14 +982,18 @@
       break;
     case PROP_AUTO_ADJUST_SIZE:
       overlay->auto_adjust_size = g_value_get_boolean (value);
-      overlay->need_render = TRUE;
       break;
     case PROP_VERTICAL_RENDER:
       overlay->use_vertical_render = g_value_get_boolean (value);
-      g_mutex_lock (GST_BASE_TEXT_OVERLAY_GET_CLASS (overlay)->pango_lock);
-      gst_base_text_overlay_update_render_mode (overlay);
-      g_mutex_unlock (GST_BASE_TEXT_OVERLAY_GET_CLASS (overlay)->pango_lock);
-      overlay->need_render = TRUE;
+      if (overlay->use_vertical_render) {
+        overlay->valign = GST_BASE_TEXT_OVERLAY_VALIGN_TOP;
+        overlay->halign = GST_BASE_TEXT_OVERLAY_HALIGN_RIGHT;
+        overlay->line_align = GST_BASE_TEXT_OVERLAY_LINE_ALIGN_LEFT;
+        g_mutex_lock (GST_BASE_TEXT_OVERLAY_GET_CLASS (overlay)->pango_lock);
+        pango_layout_set_alignment (overlay->layout,
+            (PangoAlignment) overlay->line_align);
+        g_mutex_unlock (GST_BASE_TEXT_OVERLAY_GET_CLASS (overlay)->pango_lock);
+      }
       break;
     case PROP_SHADING_VALUE:
       overlay->shading_value = g_value_get_uint (value);
@@ -1100,6 +1130,40 @@
   return ret;
 }
 
+static void
+gst_base_text_overlay_update_render_size (GstBaseTextOverlay * overlay)
+{
+  gdouble video_aspect = (gdouble) overlay->width / (gdouble) overlay->height;
+  gdouble window_aspect = (gdouble) overlay->window_width /
+      (gdouble) overlay->window_height;
+
+  guint text_buffer_width = 0;
+  guint text_buffer_height = 0;
+
+  if (video_aspect >= window_aspect) {
+    text_buffer_width = overlay->window_width;
+    text_buffer_height = window_aspect * overlay->window_height / video_aspect;
+  } else if (video_aspect < window_aspect) {
+    text_buffer_width = video_aspect * overlay->window_width / window_aspect;
+    text_buffer_height = overlay->window_height;
+  }
+
+  if ((overlay->render_width == text_buffer_width) &&
+      (overlay->render_height == text_buffer_height))
+    return;
+
+  overlay->need_render = TRUE;
+  overlay->render_width = text_buffer_width;
+  overlay->render_height = text_buffer_height;
+  overlay->render_scale = (gdouble) overlay->render_width /
+      (gdouble) overlay->width;
+
+  GST_DEBUG ("updating render dimensions %dx%d from stream %dx%d, window %dx%d "
+      "and render scale %f", overlay->render_width, overlay->render_height,
+      overlay->width, overlay->height, overlay->window_width,
+      overlay->window_height, overlay->render_scale);
+}
+
 static gboolean
 gst_base_text_overlay_src_event (GstPad * pad, GstObject * parent,
     GstEvent * event)
@@ -1345,30 +1409,26 @@
     gint * xpos, gint * ypos)
 {
   gint width, height;
-  GstBaseTextOverlayVAlign valign;
-  GstBaseTextOverlayHAlign halign;
 
-  width = overlay->image_width;
-  height = overlay->image_height;
+  width = overlay->logical_rect.width;
+  height = overlay->logical_rect.height;
 
-  if (overlay->use_vertical_render)
-    halign = GST_BASE_TEXT_OVERLAY_HALIGN_RIGHT;
-  else
-    halign = overlay->halign;
-
-  switch (halign) {
+  *xpos = overlay->ink_rect.x - overlay->logical_rect.x;
+  switch (overlay->halign) {
     case GST_BASE_TEXT_OVERLAY_HALIGN_LEFT:
-      *xpos = overlay->xpad;
+      *xpos += overlay->xpad;
+      *xpos = MAX (0, *xpos);
       break;
     case GST_BASE_TEXT_OVERLAY_HALIGN_CENTER:
-      *xpos = (overlay->width - width) / 2;
+      *xpos += (overlay->width - width) / 2;
       break;
     case GST_BASE_TEXT_OVERLAY_HALIGN_RIGHT:
-      *xpos = overlay->width - width - overlay->xpad;
+      *xpos += overlay->width - width - overlay->xpad;
+      *xpos = MIN (overlay->width - overlay->ink_rect.width, *xpos);
       break;
     case GST_BASE_TEXT_OVERLAY_HALIGN_POS:
-      *xpos = (gint) (overlay->width * overlay->xpos) - width / 2;
-      *xpos = CLAMP (*xpos, 0, overlay->width - width);
+      *xpos += (gint) (overlay->width * overlay->xpos) - width / 2;
+      *xpos = CLAMP (*xpos, 0, overlay->width - overlay->ink_rect.width);
       if (*xpos < 0)
         *xpos = 0;
       break;
@@ -1377,24 +1437,25 @@
   }
   *xpos += overlay->deltax;
 
-  if (overlay->use_vertical_render)
-    valign = GST_BASE_TEXT_OVERLAY_VALIGN_TOP;
-  else
-    valign = overlay->valign;
-
-  switch (valign) {
+  *ypos = overlay->ink_rect.y - overlay->logical_rect.y;
+  switch (overlay->valign) {
     case GST_BASE_TEXT_OVERLAY_VALIGN_BOTTOM:
-      *ypos = overlay->height - height - overlay->ypad;
+      /* This will be the same as baseline, if there is enough padding,
+       * otherwise it will avoid clipping the text */
+      *ypos += overlay->height - height - overlay->ypad;
+      *ypos = MIN (overlay->height - overlay->ink_rect.height, *ypos);
       break;
     case GST_BASE_TEXT_OVERLAY_VALIGN_BASELINE:
-      *ypos = overlay->height - (height + overlay->ypad);
+      *ypos += overlay->height - height - overlay->ypad;
+      /* Don't clip, this would not respect the base line */
       break;
     case GST_BASE_TEXT_OVERLAY_VALIGN_TOP:
-      *ypos = overlay->ypad;
+      *ypos += overlay->ypad;
+      *ypos = MAX (0.0, *ypos);
       break;
     case GST_BASE_TEXT_OVERLAY_VALIGN_POS:
       *ypos = (gint) (overlay->height * overlay->ypos) - height / 2;
-      *ypos = CLAMP (*ypos, 0, overlay->height - height);
+      *ypos = CLAMP (*ypos, 0, overlay->height - overlay->ink_rect.height);
       break;
     case GST_BASE_TEXT_OVERLAY_VALIGN_CENTER:
       *ypos = (overlay->height - height) / 2;
@@ -1404,6 +1465,8 @@
       break;
   }
   *ypos += overlay->deltay;
+
+  GST_DEBUG_OBJECT (overlay, "Placing overlay at (%d, %d)", *xpos, *ypos);
 }
 
 static inline void
@@ -1412,21 +1475,49 @@
   gint xpos, ypos;
   GstVideoOverlayRectangle *rectangle;
 
-  gst_base_text_overlay_get_pos (overlay, &xpos, &ypos);
+  if (overlay->text_image && overlay->image_width != 1) {
+    gint render_width, render_height;
 
-  if (overlay->text_image) {
+    gst_base_text_overlay_get_pos (overlay, &xpos, &ypos);
+
+    render_width = overlay->ink_rect.width;
+    render_height = overlay->ink_rect.height;
+
+    GST_DEBUG ("updating composition for '%s' with window size %dx%d, "
+        "buffer size %dx%d, render size %dx%d and position (%d, %d)",
+        overlay->default_text, overlay->window_width, overlay->window_height,
+        overlay->image_width, overlay->image_height, render_width,
+        render_height, xpos, ypos);
+
     gst_buffer_add_video_meta (overlay->text_image, GST_VIDEO_FRAME_FLAG_NONE,
         GST_VIDEO_OVERLAY_COMPOSITION_FORMAT_RGB,
         overlay->image_width, overlay->image_height);
+
     rectangle = gst_video_overlay_rectangle_new_raw (overlay->text_image,
-        xpos, ypos, overlay->image_width, overlay->image_height,
+        xpos, ypos, render_width, render_height,
         GST_VIDEO_OVERLAY_FORMAT_FLAG_PREMULTIPLIED_ALPHA);
 
     if (overlay->composition)
       gst_video_overlay_composition_unref (overlay->composition);
+
     overlay->composition = gst_video_overlay_composition_new (rectangle);
     gst_video_overlay_rectangle_unref (rectangle);
 
+    if (overlay->upstream_composition) {
+      guint num_overlays =
+          gst_video_overlay_composition_n_rectangles
+          (overlay->upstream_composition);
+
+      for (guint i = 0; i < num_overlays; i++) {
+        GstVideoOverlayRectangle *rectangle;
+        rectangle =
+            gst_video_overlay_composition_get_rectangle
+            (overlay->upstream_composition, i);
+        gst_video_overlay_composition_add_rectangle (overlay->composition,
+            rectangle);
+      }
+    }
+
   } else if (overlay->composition) {
     gst_video_overlay_composition_unref (overlay->composition);
     overlay->composition = NULL;
@@ -1451,9 +1542,14 @@
   cairo_surface_t *surface;
   PangoRectangle ink_rect, logical_rect;
   cairo_matrix_t cairo_matrix;
-  int width, height;
+  gint unscaled_width, unscaled_height;
+  gint width, height;
+  gboolean full_width = FALSE;
   double scalef = 1.0;
   double a, r, g, b;
+  gdouble shadow_offset = 0.0;
+  gdouble outline_offset = 0.0;
+  gint xpad = 0, ypad = 0;
   GstBuffer *buffer;
   GstMapInfo map;
 
@@ -1463,6 +1559,23 @@
     /* 640 pixel is default */
     scalef = (double) (overlay->width) / DEFAULT_SCALE_BASIS;
   }
+
+  if (overlay->draw_shadow)
+    shadow_offset = ceil (overlay->shadow_offset);
+
+  /* This value is uses as cairo line width, which is the diameter of a pen
+   * that is circular. That's why only half of it is used to offset */
+  if (overlay->draw_outline)
+    outline_offset = ceil (overlay->outline_offset);
+
+  if (overlay->halign == GST_BASE_TEXT_OVERLAY_HALIGN_LEFT ||
+      overlay->halign == GST_BASE_TEXT_OVERLAY_HALIGN_RIGHT)
+    xpad = overlay->xpad;
+
+  if (overlay->valign == GST_BASE_TEXT_OVERLAY_VALIGN_TOP ||
+      overlay->valign == GST_BASE_TEXT_OVERLAY_VALIGN_BOTTOM)
+    ypad = overlay->ypad;
+
   pango_layout_set_width (overlay->layout, -1);
   /* set text on pango layout */
   pango_layout_set_markup (overlay->layout, string, textlen);
@@ -1470,58 +1583,123 @@
   /* get subtitle image size */
   pango_layout_get_pixel_extents (overlay->layout, &ink_rect, &logical_rect);
 
-  width = (logical_rect.width + overlay->shadow_offset) * scalef;
+  unscaled_width = ink_rect.width + shadow_offset + outline_offset;
+  width = ceil (unscaled_width * scalef);
 
-  if (width + overlay->deltax >
-      (overlay->use_vertical_render ? overlay->height : overlay->width)) {
-    /*
-     * subtitle image width is larger then overlay width
-     * so rearrange overlay wrap mode.
-     */
-    gst_base_text_overlay_update_wrap_mode (overlay);
-    pango_layout_get_pixel_extents (overlay->layout, &ink_rect, &logical_rect);
-    width = overlay->width;
-  }
-
-  height =
-      (logical_rect.height + logical_rect.y + overlay->shadow_offset) * scalef;
-  if (height > overlay->height) {
-    height = overlay->height;
-  }
+  /*
+   * subtitle image width can be larger then overlay width
+   * so rearrange overlay wrap mode.
+   */
   if (overlay->use_vertical_render) {
-    PangoRectangle rect;
-    PangoContext *context;
-    PangoMatrix matrix = PANGO_MATRIX_INIT;
-    int tmp;
+    if (width + ypad > overlay->height) {
+      width = overlay->height - ypad;
+      full_width = TRUE;
+    }
+  } else if (width + xpad > overlay->width) {
+    width = overlay->width - xpad;
+    full_width = TRUE;
+  }
 
-    context = pango_layout_get_context (overlay->layout);
+  if (full_width) {
+    unscaled_width = width / scalef;
+    gst_base_text_overlay_set_wrap_mode (overlay,
+        unscaled_width - shadow_offset - outline_offset);
+    pango_layout_get_pixel_extents (overlay->layout, &ink_rect, &logical_rect);
 
-    pango_matrix_rotate (&matrix, -90);
+    unscaled_width = ink_rect.width + shadow_offset + outline_offset;
+    width = ceil (unscaled_width * scalef);
+  }
 
-    rect.x = rect.y = 0;
-    rect.width = width;
-    rect.height = height;
-    pango_matrix_transform_pixel_rectangle (&matrix, &rect);
-    matrix.x0 = -rect.x;
-    matrix.y0 = -rect.y;
+  unscaled_height = ink_rect.height + shadow_offset + outline_offset;
+  height = ceil (unscaled_height * scalef);
 
-    pango_context_set_matrix (context, &matrix);
+  if (overlay->use_vertical_render) {
+    if (height + xpad > overlay->width) {
+      height = overlay->width - xpad;
+      unscaled_height = width / scalef;
+    }
+  } else if (height + ypad > overlay->height) {
+    height = overlay->height - ypad;
+    unscaled_height = height / scalef;
+  }
 
-    cairo_matrix.xx = matrix.xx;
-    cairo_matrix.yx = matrix.yx;
-    cairo_matrix.xy = matrix.xy;
-    cairo_matrix.yy = matrix.yy;
-    cairo_matrix.x0 = matrix.x0;
-    cairo_matrix.y0 = matrix.y0;
-    cairo_matrix_scale (&cairo_matrix, scalef, scalef);
+  GST_DEBUG_OBJECT (overlay, "Rendering with ink rect (%d, %d) %dx%d and "
+      "locial rect (%d, %d) %dx%d", ink_rect.x, ink_rect.y, ink_rect.width,
+      ink_rect.height, logical_rect.x, logical_rect.y, logical_rect.width,
+      logical_rect.height);
+  GST_DEBUG_OBJECT (overlay, "Rendering with width %d and height %d "
+      "(shadow %f, outline %f)", unscaled_width, unscaled_height,
+      shadow_offset, outline_offset);
 
+
+  /* Save and scale the rectangles so get_pos() can place the text */
+  overlay->ink_rect.x =
+      ceil ((ink_rect.x - ceil (outline_offset / 2.0l)) * scalef);
+  overlay->ink_rect.y =
+      ceil ((ink_rect.y - ceil (outline_offset / 2.0l)) * scalef);
+  overlay->ink_rect.width = width;
+  overlay->ink_rect.height = height;
+
+  overlay->logical_rect.x =
+      ceil ((logical_rect.x - ceil (outline_offset / 2.0l)) * scalef);
+  overlay->logical_rect.y =
+      ceil ((logical_rect.y - ceil (outline_offset / 2.0l)) * scalef);
+  overlay->logical_rect.width =
+      ceil ((logical_rect.width + shadow_offset + outline_offset) * scalef);
+  overlay->logical_rect.height =
+      ceil ((logical_rect.height + shadow_offset + outline_offset) * scalef);
+
+  /* flip the rectangle if doing vertical render */
+  if (overlay->use_vertical_render) {
+    PangoRectangle tmp = overlay->ink_rect;
+
+    overlay->ink_rect.x = tmp.y;
+    overlay->ink_rect.y = tmp.x;
+    overlay->ink_rect.width = tmp.height;
+    overlay->ink_rect.height = tmp.width;
+    /* We want the top left corect, but we now have the top right */
+    overlay->ink_rect.x += overlay->ink_rect.width;
+
+    tmp = overlay->logical_rect;
+    overlay->logical_rect.x = tmp.y;
+    overlay->logical_rect.y = tmp.x;
+    overlay->logical_rect.width = tmp.height;
+    overlay->logical_rect.height = tmp.width;
+    overlay->logical_rect.x += overlay->logical_rect.width;
+  }
+
+  /* scale to reported window size */
+  width = ceil (width * overlay->render_scale);
+  height = ceil (height * overlay->render_scale);
+  scalef *= overlay->render_scale;
+
+  /* Prepare the transformation matrix. Note that the transformation happens
+   * in reverse order. So for horizontal text, we will translate and then
+   * scale. This is important to understand which scale shall be used. */
+  cairo_matrix_init_scale (&cairo_matrix, scalef, scalef);
+
+  if (overlay->use_vertical_render) {
+    gint tmp;
+
+    /* tranlate to the center of the image, rotate, and tranlate the rotated
+     * image back to the right place */
+    cairo_matrix_translate (&cairo_matrix, unscaled_height / 2.0l,
+        unscaled_width / 2.0l);
+    /* 90 degree clockwise rotation which is PI / 2 in radiants */
+    cairo_matrix_rotate (&cairo_matrix, G_PI_2);
+    cairo_matrix_translate (&cairo_matrix, -(unscaled_width / 2.0l),
+        -(unscaled_height / 2.0l));
+
+    /* Swap width and height */
     tmp = height;
     height = width;
     width = tmp;
-  } else {
-    cairo_matrix_init_scale (&cairo_matrix, scalef, scalef);
   }
 
+  cairo_matrix_translate (&cairo_matrix,
+      ceil (outline_offset / 2.0l) - ink_rect.x,
+      ceil (outline_offset / 2.0l) - ink_rect.y);
+
   /* reallocate overlay buffer */
   buffer = gst_buffer_new_and_alloc (4 * width * height);
   gst_buffer_replace (&overlay->text_image, buffer);
@@ -1608,9 +1786,10 @@
   cairo_destroy (cr);
   cairo_surface_destroy (surface);
   gst_buffer_unmap (buffer, &map);
-  overlay->image_width = width;
-  overlay->image_height = height;
-  overlay->baseline_y = ink_rect.y;
+  if (width != 0)
+    overlay->image_width = width;
+  if (height != 0)
+    overlay->image_height = height;
   g_mutex_unlock (GST_BASE_TEXT_OVERLAY_GET_CLASS (overlay)->pango_lock);
 
   gst_base_text_overlay_set_composition (overlay);
@@ -2297,8 +2476,22 @@
   gboolean in_seg = FALSE;
   guint64 start, stop, clip_start = 0, clip_stop = 0;
   gchar *text = NULL;
+  GstVideoOverlayCompositionMeta *composition_meta;
 
   overlay = GST_BASE_TEXT_OVERLAY (parent);
+
+  composition_meta = gst_buffer_get_video_overlay_composition_meta (buffer);
+  if (composition_meta) {
+    if (overlay->upstream_composition != composition_meta->overlay) {
+      GST_DEBUG ("GstVideoOverlayCompositionMeta found.");
+      overlay->upstream_composition = composition_meta->overlay;
+      overlay->need_render = TRUE;
+    }
+  } else if (overlay->upstream_composition != NULL) {
+    overlay->upstream_composition = NULL;
+    overlay->need_render = TRUE;
+  }
+
   klass = GST_BASE_TEXT_OVERLAY_GET_CLASS (overlay);
 
   if (!GST_BUFFER_TIMESTAMP_IS_VALID (buffer))
diff --git a/ext/pango/gstbasetextoverlay.h b/ext/pango/gstbasetextoverlay.h
index 3409c9e..ab9a8af 100644
--- a/ext/pango/gstbasetextoverlay.h
+++ b/ext/pango/gstbasetextoverlay.h
@@ -128,11 +128,11 @@
     GstSegment               segment;
     GstSegment               text_segment;
     GstBuffer               *text_buffer;
-    gboolean                text_linked;
-    gboolean                video_flushing;
-    gboolean                video_eos;
-    gboolean                text_flushing;
-    gboolean                text_eos;
+    gboolean                 text_linked;
+    gboolean                 video_flushing;
+    gboolean                 video_eos;
+    gboolean                 text_flushing;
+    gboolean                 text_eos;
 
     GMutex                   lock;
     GCond                    cond;  /* to signal removal of a queued text
@@ -140,16 +140,13 @@
                                      * a text segment update, or a change
                                      * in status (e.g. shutdown, flushing) */
 
+    /* stream metrics */
     GstVideoInfo             info;
     GstVideoFormat           format;
     gint                     width;
     gint                     height;
 
-    GstBaseTextOverlayVAlign     valign;
-    GstBaseTextOverlayHAlign     halign;
-    GstBaseTextOverlayWrapMode   wrap_mode;
-    GstBaseTextOverlayLineAlign  line_align;
-
+    /* properties */
     gint                     xpad;
     gint                     ypad;
     gint                     deltax;
@@ -161,29 +158,49 @@
     gboolean                 silent;
     gboolean                 wait_text;
     guint                    color, outline_color;
-
     PangoLayout             *layout;
-    gdouble                  shadow_offset;
-    gdouble                  outline_offset;
-    GstBuffer               *text_image;
-    gint                     image_width;
-    gint                     image_height;
-    gint                     baseline_y;
-
     gboolean                 auto_adjust_size;
-    gboolean                 need_render;
-
     gboolean                 draw_shadow;
     gboolean                 draw_outline;
-
     gint                     shading_value;  /* for timeoverlay subclass */
-
-    gboolean                 have_pango_markup;
     gboolean                 use_vertical_render;
+    GstBaseTextOverlayVAlign     valign;
+    GstBaseTextOverlayHAlign     halign;
+    GstBaseTextOverlayWrapMode   wrap_mode;
+    GstBaseTextOverlayLineAlign  line_align;
 
-    gboolean                 attach_compo_to_buffer;
+    /* text pad format */
+    gboolean                 have_pango_markup;
 
+    /* rendering state */
+    gboolean                 need_render;
+    GstBuffer               *text_image;
+
+    /* dimension relative to witch the render is done, this is the stream size
+     * or a portion of the window_size (adapted to aspect ratio) */
+    gint                     render_width;
+    gint                     render_height;
+    /* This is (render_width / width) uses to convert to stream scale */
+    gdouble                  render_scale;
+
+    /* dimension of text_image, the physical dimension */
+    gint                     image_width;
+    gint                     image_height;
+
+    /* window dimension, reported in the composition meta params. This is set
+     * to stream width, height if missing */
+    gint                     window_width;
+    gint                     window_height;
+
+    gdouble                  shadow_offset;
+    gdouble                  outline_offset;
+
+    PangoRectangle           ink_rect;
+    PangoRectangle           logical_rect;
+
+    gboolean                    attach_compo_to_buffer;
     GstVideoOverlayComposition *composition;
+    GstVideoOverlayComposition *upstream_composition;
 };
 
 struct _GstBaseTextOverlayClass {
diff --git a/ext/pango/gsttextrender.c b/ext/pango/gsttextrender.c
index 603457c..c16dce4 100644
--- a/ext/pango/gsttextrender.c
+++ b/ext/pango/gsttextrender.c
@@ -197,7 +197,7 @@
       "Filter/Editor/Video",
       "Renders a text string to an image bitmap",
       "David Schleef <ds@schleef.org>, "
-      "GStreamer maintainers <gstreamer-devel@lists.sourceforge.net>");
+      "GStreamer maintainers <gstreamer-devel@lists.freedesktop.org>");
 
   fontmap = pango_cairo_font_map_get_default ();
   klass->pango_context =
diff --git a/ext/theora/Makefile.in b/ext/theora/Makefile.in
index ff3b30c..2933c56 100644
--- a/ext/theora/Makefile.in
+++ b/ext/theora/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = ext/theora
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS)
 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 \
@@ -119,6 +127,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -231,6 +241,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -561,7 +572,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ext/theora/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu ext/theora/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -894,6 +904,8 @@
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/ext/theora/gsttheoradec.c b/ext/theora/gsttheoradec.c
index fdb8a83..81589c5 100644
--- a/ext/theora/gsttheoradec.c
+++ b/ext/theora/gsttheoradec.c
@@ -206,6 +206,10 @@
    * but is not marked that way so data gets parsed and keyframes marked */
   gst_video_decoder_set_packetized (GST_VIDEO_DECODER (dec), FALSE);
   gst_video_decoder_set_needs_format (GST_VIDEO_DECODER (dec), TRUE);
+
+  gst_video_decoder_set_use_default_pad_acceptcaps (GST_VIDEO_DECODER_CAST
+      (dec), TRUE);
+  GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_DECODER_SINK_PAD (dec));
 }
 
 static gboolean
diff --git a/ext/theora/gsttheoraenc.c b/ext/theora/gsttheoraenc.c
index f8af353..d106050 100644
--- a/ext/theora/gsttheoraenc.c
+++ b/ext/theora/gsttheoraenc.c
@@ -42,6 +42,9 @@
  * bitrate (CBR) stream while setting the quality property will produce a
  * variable bitrate (VBR) stream.
  *
+ * A videorate element is often required in front of theoraenc, especially
+ * when transcoding and when putting Theora into the Ogg container.
+ *
  * <refsect2>
  * <title>Example pipeline</title>
  * |[
@@ -303,6 +306,8 @@
 static void
 gst_theora_enc_init (GstTheoraEnc * enc)
 {
+  GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_ENCODER_SINK_PAD (enc));
+
   enc->video_bitrate = THEORA_DEF_BITRATE;
   enc->video_quality = THEORA_DEF_QUALITY;
   enc->keyframe_auto = THEORA_DEF_KEYFRAME_AUTO;
diff --git a/ext/vorbis/Makefile.in b/ext/vorbis/Makefile.in
index 419acec..6a409b9 100644
--- a/ext/vorbis/Makefile.in
+++ b/ext/vorbis/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -83,8 +93,6 @@
 @USE_VORBIS_TRUE@am__append_1 = libgstvorbis.la
 @USE_IVORBIS_TRUE@am__append_2 = libgstivorbisdec.la
 subdir = ext/vorbis
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS) README
 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 \
@@ -121,6 +129,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -257,6 +267,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -608,7 +619,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ext/vorbis/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu ext/vorbis/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -1000,6 +1010,8 @@
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/ext/vorbis/gstvorbisdec.c b/ext/vorbis/gstvorbisdec.c
index 00dc784..f679d7e 100644
--- a/ext/vorbis/gstvorbisdec.c
+++ b/ext/vorbis/gstvorbisdec.c
@@ -109,6 +109,9 @@
 static void
 gst_vorbis_dec_init (GstVorbisDec * dec)
 {
+  gst_audio_decoder_set_use_default_pad_acceptcaps (GST_AUDIO_DECODER_CAST
+      (dec), TRUE);
+  GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_DECODER_SINK_PAD (dec));
 }
 
 static void
diff --git a/ext/vorbis/gstvorbisenc.c b/ext/vorbis/gstvorbisenc.c
index 7e9f504..818a010 100644
--- a/ext/vorbis/gstvorbisenc.c
+++ b/ext/vorbis/gstvorbisenc.c
@@ -56,16 +56,6 @@
 GST_DEBUG_CATEGORY_EXTERN (vorbisenc_debug);
 #define GST_CAT_DEFAULT vorbisenc_debug
 
-static GstStaticPadTemplate vorbis_enc_sink_factory =
-GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("audio/x-raw, "
-        "format = (string) " GST_AUDIO_NE (F32) ", "
-        "layout = (string) interleaved, "
-        "rate = (int) [ 1, 200000 ], " "channels = (int) [ 1, 255 ]")
-    );
-
 static GstStaticPadTemplate vorbis_enc_src_factory =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
@@ -86,6 +76,7 @@
 };
 
 static GstFlowReturn gst_vorbis_enc_output_buffers (GstVorbisEnc * vorbisenc);
+static GstCaps *gst_vorbis_enc_generate_sink_caps (void);
 
 
 #define MAX_BITRATE_DEFAULT     -1
@@ -101,8 +92,6 @@
     GstAudioInfo * info);
 static GstFlowReturn gst_vorbis_enc_handle_frame (GstAudioEncoder * enc,
     GstBuffer * in_buf);
-static GstCaps *gst_vorbis_enc_getcaps (GstAudioEncoder * enc,
-    GstCaps * filter);
 static gboolean gst_vorbis_enc_sink_event (GstAudioEncoder * enc,
     GstEvent * event);
 
@@ -125,6 +114,8 @@
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
   GstAudioEncoderClass *base_class;
+  GstCaps *sink_caps;
+  GstPadTemplate *sink_templ;
 
   gobject_class = (GObjectClass *) klass;
   gstelement_class = (GstElementClass *) klass;
@@ -165,10 +156,14 @@
           "The last status message", NULL,
           G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
 
+  sink_caps = gst_vorbis_enc_generate_sink_caps ();
+  sink_templ = gst_pad_template_new ("sink",
+      GST_PAD_SINK, GST_PAD_ALWAYS, sink_caps);
+  gst_element_class_add_pad_template (gstelement_class, sink_templ);
+  gst_caps_unref (sink_caps);
+
   gst_element_class_add_pad_template (gstelement_class,
       gst_static_pad_template_get (&vorbis_enc_src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&vorbis_enc_sink_factory));
 
   gst_element_class_set_static_metadata (gstelement_class,
       "Vorbis audio encoder", "Codec/Encoder/Audio",
@@ -179,7 +174,6 @@
   base_class->stop = GST_DEBUG_FUNCPTR (gst_vorbis_enc_stop);
   base_class->set_format = GST_DEBUG_FUNCPTR (gst_vorbis_enc_set_format);
   base_class->handle_frame = GST_DEBUG_FUNCPTR (gst_vorbis_enc_handle_frame);
-  base_class->getcaps = GST_DEBUG_FUNCPTR (gst_vorbis_enc_getcaps);
   base_class->sink_event = GST_DEBUG_FUNCPTR (gst_vorbis_enc_sink_event);
   base_class->flush = GST_DEBUG_FUNCPTR (gst_vorbis_enc_flush);
 }
@@ -189,6 +183,8 @@
 {
   GstAudioEncoder *enc = GST_AUDIO_ENCODER (vorbisenc);
 
+  GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_ENCODER_SINK_PAD (enc));
+
   vorbisenc->channels = -1;
   vorbisenc->frequency = -1;
 
@@ -289,27 +285,6 @@
   return caps;
 }
 
-static GstCaps *
-gst_vorbis_enc_getcaps (GstAudioEncoder * enc, GstCaps * filter)
-{
-  GstVorbisEnc *vorbisenc = GST_VORBISENC (enc);
-  GstCaps *caps;
-
-  if (vorbisenc->sinkcaps == NULL)
-    vorbisenc->sinkcaps = gst_vorbis_enc_generate_sink_caps ();
-
-  if (filter) {
-    GstCaps *int_caps = gst_caps_intersect_full (filter, vorbisenc->sinkcaps,
-        GST_CAPS_INTERSECT_FIRST);
-    caps = gst_audio_encoder_proxy_getcaps (enc, int_caps, filter);
-    gst_caps_unref (int_caps);
-  } else {
-    caps = gst_audio_encoder_proxy_getcaps (enc, vorbisenc->sinkcaps, filter);
-  }
-
-  return caps;
-}
-
 static gint64
 gst_vorbis_enc_get_latency (GstVorbisEnc * vorbisenc)
 {
diff --git a/gst-libs/Makefile.in b/gst-libs/Makefile.in
index 2d7779d..efcdbd7 100644
--- a/gst-libs/Makefile.in
+++ b/gst-libs/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,7 +89,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = gst-libs
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 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 \
@@ -116,6 +125,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -175,6 +185,7 @@
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -510,7 +521,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst-libs/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst-libs/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -805,6 +815,8 @@
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/gst-libs/gst/Makefile.am b/gst-libs/gst/Makefile.am
index 0634d15..9e985c5 100644
--- a/gst-libs/gst/Makefile.am
+++ b/gst-libs/gst/Makefile.am
@@ -22,6 +22,8 @@
 
 pbutils: video audio
 
+rtp: audio
+
 INDEPENDENT_SUBDIRS = \
 	tag audio fft rtp sdp video app
 
diff --git a/gst-libs/gst/Makefile.in b/gst-libs/gst/Makefile.in
index 3c9f071..8f41358 100644
--- a/gst-libs/gst/Makefile.in
+++ b/gst-libs/gst/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,8 +90,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = gst-libs/gst
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(noinst_HEADERS)
 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 \
@@ -118,6 +126,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -178,6 +188,7 @@
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -529,7 +540,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst-libs/gst/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst-libs/gst/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -824,6 +834,8 @@
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # dependencies:
 audio: tag
@@ -834,6 +846,8 @@
 
 pbutils: video audio
 
+rtp: audio
+
 .PHONY: independent-subdirs $(INDEPENDENT_SUBDIRS)
 
 independent-subdirs: $(INDEPENDENT_SUBDIRS)
diff --git a/gst-libs/gst/allocators/Makefile.in b/gst-libs/gst/allocators/Makefile.in
index 7e32f29..aa168f6 100644
--- a/gst-libs/gst/allocators/Makefile.in
+++ b/gst-libs/gst/allocators/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -17,7 +17,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -82,10 +92,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = gst-libs/gst/allocators
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp \
-	$(libgstallocators_@GST_API_VERSION@_include_HEADERS) \
-	$(noinst_HEADERS)
 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 \
@@ -122,6 +128,9 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am \
+	$(libgstallocators_@GST_API_VERSION@_include_HEADERS) \
+	$(noinst_HEADERS) $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -219,6 +228,7 @@
 HEADERS = $(libgstallocators_@GST_API_VERSION@_include_HEADERS) \
 	$(noinst_HEADERS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -556,7 +566,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst-libs/gst/allocators/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst-libs/gst/allocators/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -898,6 +907,8 @@
 	uninstall-libgstallocators_@GST_API_VERSION@_includeHEADERS \
 	uninstall-typelibsDATA
 
+.PRECIOUS: Makefile
+
 
 @HAVE_INTROSPECTION_TRUE@GstAllocators-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstallocators-@GST_API_VERSION@.la
 @HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
diff --git a/gst-libs/gst/app/Makefile.in b/gst-libs/gst/app/Makefile.in
index 599da55..f9f53c7 100644
--- a/gst-libs/gst/app/Makefile.in
+++ b/gst-libs/gst/app/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -25,7 +25,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -89,10 +99,6 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-DIST_COMMON = $(top_srcdir)/common/gst-glib-gen.mak \
-	$(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp \
-	$(libgstapp_@GST_API_VERSION@include_HEADERS)
 @HAVE_INTROSPECTION_TRUE@am__append_1 = $(BUILT_GIRSOURCES) $(typelibs_DATA)
 subdir = gst-libs/gst/app
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -131,6 +137,9 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am \
+	$(libgstapp_@GST_API_VERSION@include_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -229,6 +238,8 @@
 DATA = $(gir_DATA) $(typelibs_DATA)
 HEADERS = $(libgstapp_@GST_API_VERSION@include_HEADERS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/common/gst-glib-gen.mak $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -578,7 +589,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst-libs/gst/app/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst-libs/gst/app/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -587,7 +597,7 @@
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/common/gst-glib-gen.mak:
+$(top_srcdir)/common/gst-glib-gen.mak $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -932,6 +942,8 @@
 	uninstall-libgstapp_@GST_API_VERSION@includeHEADERS \
 	uninstall-typelibsDATA
 
+.PRECIOUS: Makefile
+
 
 # these are all the rules generating the relevant files
 $(glib_gen_basename)-marshal.h: $(glib_gen_basename)-marshal.list
diff --git a/gst-libs/gst/app/gstappsink.c b/gst-libs/gst/app/gstappsink.c
index dc8754f..358fc86 100644
--- a/gst-libs/gst/app/gstappsink.c
+++ b/gst-libs/gst/app/gstappsink.c
@@ -86,6 +86,7 @@
   GstBuffer *preroll;
   GstCaps *preroll_caps;
   GstCaps *last_caps;
+  GstSegment preroll_segment;
   GstSegment last_segment;
   gboolean flushing;
   gboolean unlock;
@@ -519,6 +520,7 @@
   GST_DEBUG_OBJECT (appsink, "starting");
   priv->flushing = FALSE;
   priv->started = TRUE;
+  gst_segment_init (&priv->preroll_segment, GST_FORMAT_TIME);
   gst_segment_init (&priv->last_segment, GST_FORMAT_TIME);
   g_mutex_unlock (&priv->mutex);
 
@@ -536,8 +538,11 @@
   priv->flushing = TRUE;
   priv->started = FALSE;
   gst_app_sink_flush_unlocked (appsink);
+  gst_buffer_replace (&priv->preroll, NULL);
   gst_caps_replace (&priv->preroll_caps, NULL);
   gst_caps_replace (&priv->last_caps, NULL);
+  gst_segment_init (&priv->preroll_segment, GST_FORMAT_UNDEFINED);
+  gst_segment_init (&priv->last_segment, GST_FORMAT_UNDEFINED);
   g_mutex_unlock (&priv->mutex);
 
   return TRUE;
@@ -552,7 +557,8 @@
   g_mutex_lock (&priv->mutex);
   GST_DEBUG_OBJECT (appsink, "receiving CAPS");
   g_queue_push_tail (priv->queue, gst_event_new_caps (caps));
-  gst_caps_replace (&priv->preroll_caps, caps);
+  if (!priv->preroll)
+    gst_caps_replace (&priv->preroll_caps, caps);
   g_mutex_unlock (&priv->mutex);
 
   return TRUE;
@@ -569,6 +575,8 @@
       g_mutex_lock (&priv->mutex);
       GST_DEBUG_OBJECT (appsink, "receiving SEGMENT");
       g_queue_push_tail (priv->queue, gst_event_ref (event));
+      if (!priv->preroll)
+        gst_event_copy_segment (event, &priv->preroll_segment);
       g_mutex_unlock (&priv->mutex);
       break;
     case GST_EVENT_EOS:{
@@ -1140,7 +1148,7 @@
     g_cond_wait (&priv->cond, &priv->mutex);
   }
   sample =
-      gst_sample_new (priv->preroll, priv->preroll_caps, &priv->last_segment,
+      gst_sample_new (priv->preroll, priv->preroll_caps, &priv->preroll_segment,
       NULL);
   GST_DEBUG_OBJECT (appsink, "we have the preroll sample %p", sample);
   g_mutex_unlock (&priv->mutex);
diff --git a/gst-libs/gst/audio/Makefile.in b/gst-libs/gst/audio/Makefile.in
index 0382dde..7c307f0 100644
--- a/gst-libs/gst/audio/Makefile.in
+++ b/gst-libs/gst/audio/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -47,7 +47,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -111,11 +121,6 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-DIST_COMMON = $(top_srcdir)/common/orc.mak \
-	$(top_srcdir)/common/gst-glib-gen.mak $(srcdir)/Makefile.in \
-	$(srcdir)/Makefile.am $(top_srcdir)/depcomp \
-	$(libgstaudio_@GST_API_VERSION@include_HEADERS) \
-	$(noinst_HEADERS) TODO
 @HAVE_INTROSPECTION_TRUE@am__append_1 = $(BUILT_GIRSOURCES) $(typelibs_DATA)
 subdir = gst-libs/gst/audio
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -154,6 +159,9 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am \
+	$(libgstaudio_@GST_API_VERSION@include_HEADERS) \
+	$(noinst_HEADERS) $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -294,6 +302,9 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/common/gst-glib-gen.mak \
+	$(top_srcdir)/common/orc.mak $(top_srcdir)/depcomp TODO
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -704,7 +715,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst-libs/gst/audio/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst-libs/gst/audio/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -713,7 +723,7 @@
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/common/orc.mak $(top_srcdir)/common/gst-glib-gen.mak:
+$(top_srcdir)/common/orc.mak $(top_srcdir)/common/gst-glib-gen.mak $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -1271,6 +1281,8 @@
 	uninstall-nodist_libgstaudio_@GST_API_VERSION@includeHEADERS \
 	uninstall-typelibsDATA
 
+.PRECIOUS: Makefile
+
 
 orc-update: tmp-orc.c $(ORC_SOURCE).h
 	$(top_srcdir)/common/gst-indent tmp-orc.c
diff --git a/gst-libs/gst/audio/audio-info.h b/gst-libs/gst/audio/audio-info.h
index 384ff83..7e271af 100644
--- a/gst-libs/gst/audio/audio-info.h
+++ b/gst-libs/gst/audio/audio-info.h
@@ -84,7 +84,8 @@
   gpointer _gst_reserved[GST_PADDING];
 };
 
-GType gst_audio_info_get_type        (void);
+#define GST_TYPE_AUDIO_INFO                  (gst_audio_info_get_type ())
+GType gst_audio_info_get_type                (void);
 
 #define GST_AUDIO_INFO_IS_VALID(i)           ((i)->finfo != NULL && (i)->rate > 0 && (i)->channels > 0 && (i)->bpf > 0)
 
diff --git a/gst-libs/gst/audio/gstaudiodecoder.c b/gst-libs/gst/audio/gstaudiodecoder.c
index 485708e..f4c663a 100644
--- a/gst-libs/gst/audio/gstaudiodecoder.c
+++ b/gst-libs/gst/audio/gstaudiodecoder.c
@@ -252,9 +252,15 @@
   guint sync_flush;
   /* error count */
   gint error_count;
-  /* codec id tag */
-  GstTagList *taglist;
-  gboolean taglist_changed;
+
+  /* upstream stream tags (global tags are passed through as-is) */
+  GstTagList *upstream_tags;
+
+  /* subclass tags */
+  GstTagList *taglist;          /* FIXME: rename to decoder_tags */
+  GstTagMergeMode decoder_tags_merge_mode;
+
+  gboolean taglist_changed;     /* FIXME: rename to tags_changed */
 
   /* whether circumstances allow output aggregation */
   gint agg;
@@ -279,6 +285,9 @@
 
   /* pending serialized sink events, will be sent from finish_frame() */
   GList *pending_events;
+
+  /* flags */
+  gboolean use_default_pad_acceptcaps;
 };
 
 //* Default channel layouts taken from audioconvert */
@@ -388,6 +397,9 @@
 static gboolean gst_audio_decoder_src_query_default (GstAudioDecoder * dec,
     GstQuery * query);
 
+static gboolean gst_audio_decoder_transform_meta_default (GstAudioDecoder *
+    decoder, GstBuffer * outbuf, GstMeta * meta, GstBuffer * inbuf);
+
 static GstElementClass *parent_class = NULL;
 
 static void gst_audio_decoder_class_init (GstAudioDecoderClass * klass);
@@ -478,6 +490,8 @@
       GST_DEBUG_FUNCPTR (gst_audio_decoder_sink_query_default);
   audiodecoder_class->src_query =
       GST_DEBUG_FUNCPTR (gst_audio_decoder_src_query_default);
+  audiodecoder_class->transform_meta =
+      GST_DEBUG_FUNCPTR (gst_audio_decoder_transform_meta_default);
 }
 
 static void
@@ -556,6 +570,11 @@
       gst_tag_list_unref (dec->priv->taglist);
       dec->priv->taglist = NULL;
     }
+    dec->priv->decoder_tags_merge_mode = GST_TAG_MERGE_KEEP_ALL;
+    if (dec->priv->upstream_tags) {
+      gst_tag_list_unref (dec->priv->upstream_tags);
+      dec->priv->upstream_tags = NULL;
+    }
     dec->priv->taglist_changed = FALSE;
 
     gst_segment_init (&dec->input_segment, GST_FORMAT_TIME);
@@ -616,6 +635,32 @@
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
+static GstEvent *
+gst_audio_decoder_create_merged_tags_event (GstAudioDecoder * dec)
+{
+  GstTagList *merged_tags;
+
+  GST_LOG_OBJECT (dec, "upstream : %" GST_PTR_FORMAT, dec->priv->upstream_tags);
+  GST_LOG_OBJECT (dec, "decoder  : %" GST_PTR_FORMAT, dec->priv->taglist);
+  GST_LOG_OBJECT (dec, "mode     : %d", dec->priv->decoder_tags_merge_mode);
+
+  merged_tags =
+      gst_tag_list_merge (dec->priv->upstream_tags,
+      dec->priv->taglist, dec->priv->decoder_tags_merge_mode);
+
+  GST_DEBUG_OBJECT (dec, "merged   : %" GST_PTR_FORMAT, merged_tags);
+
+  if (merged_tags == NULL)
+    return NULL;
+
+  if (gst_tag_list_is_empty (merged_tags)) {
+    gst_tag_list_unref (merged_tags);
+    return NULL;
+  }
+
+  return gst_event_new_tag (merged_tags);
+}
+
 static gboolean
 gst_audio_decoder_push_event (GstAudioDecoder * dec, GstEvent * event)
 {
@@ -1155,6 +1200,61 @@
   return ret;
 }
 
+static gboolean
+gst_audio_decoder_transform_meta_default (GstAudioDecoder *
+    decoder, GstBuffer * outbuf, GstMeta * meta, GstBuffer * inbuf)
+{
+  const GstMetaInfo *info = meta->info;
+  const gchar *const *tags;
+
+  tags = gst_meta_api_type_get_tags (info->api);
+
+  if (!tags || (g_strv_length ((gchar **) tags) == 1
+          && gst_meta_api_type_has_tag (info->api,
+              g_quark_from_string (GST_META_TAG_AUDIO_STR))))
+    return TRUE;
+
+  return FALSE;
+}
+
+typedef struct
+{
+  GstAudioDecoder *decoder;
+  GstBuffer *outbuf;
+} CopyMetaData;
+
+static gboolean
+foreach_metadata (GstBuffer * inbuf, GstMeta ** meta, gpointer user_data)
+{
+  CopyMetaData *data = user_data;
+  GstAudioDecoder *decoder = data->decoder;
+  GstAudioDecoderClass *klass = GST_AUDIO_DECODER_GET_CLASS (decoder);
+  GstBuffer *outbuf = data->outbuf;
+  const GstMetaInfo *info = (*meta)->info;
+  gboolean do_copy = FALSE;
+
+  if (gst_meta_api_type_has_tag (info->api, _gst_meta_tag_memory)) {
+    /* never call the transform_meta with memory specific metadata */
+    GST_DEBUG_OBJECT (decoder, "not copying memory specific metadata %s",
+        g_type_name (info->api));
+    do_copy = FALSE;
+  } else if (klass->transform_meta) {
+    do_copy = klass->transform_meta (decoder, outbuf, *meta, inbuf);
+    GST_DEBUG_OBJECT (decoder, "transformed metadata %s: copy: %d",
+        g_type_name (info->api), do_copy);
+  }
+
+  /* we only copy metadata when the subclass implemented a transform_meta
+   * function and when it returns %TRUE */
+  if (do_copy) {
+    GstMetaTransformCopy copy_data = { FALSE, 0, -1 };
+    GST_DEBUG_OBJECT (decoder, "copy metadata %s", g_type_name (info->api));
+    /* simply copy then */
+    info->transform_func (outbuf, *meta, inbuf,
+        _gst_meta_transform_copy, &copy_data);
+  }
+  return TRUE;
+}
 
 /**
  * gst_audio_decoder_finish_frame:
@@ -1181,10 +1281,12 @@
 {
   GstAudioDecoderPrivate *priv;
   GstAudioDecoderContext *ctx;
+  GstAudioDecoderClass *klass = GST_AUDIO_DECODER_GET_CLASS (dec);
   gint samples = 0;
   GstClockTime ts, next_ts;
   gsize size;
   GstFlowReturn ret = GST_FLOW_OK;
+  GQueue inbufs = G_QUEUE_INIT;
 
   /* subclass should not hand us no data */
   g_return_val_if_fail (buf == NULL || gst_buffer_get_size (buf) > 0,
@@ -1252,7 +1354,7 @@
       GST_TIME_ARGS (ts));
 
   while (priv->frames.length && frames) {
-    gst_buffer_unref (g_queue_pop_head (&priv->frames));
+    g_queue_push_tail (&inbufs, g_queue_pop_head (&priv->frames));
     dec->priv->ctx.delay = dec->priv->frames.length;
     frames--;
   }
@@ -1304,10 +1406,13 @@
 
   /* delayed one-shot stuff until confirmed data */
   if (priv->taglist && priv->taglist_changed) {
-    GST_DEBUG_OBJECT (dec, "codec tag %" GST_PTR_FORMAT, priv->taglist);
-    if (!gst_tag_list_is_empty (priv->taglist))
-      gst_audio_decoder_push_event (dec,
-          gst_event_new_tag (gst_tag_list_ref (priv->taglist)));
+    GstEvent *tags_event;
+
+    tags_event = gst_audio_decoder_create_merged_tags_event (dec);
+
+    if (tags_event != NULL)
+      gst_audio_decoder_push_event (dec, tags_event);
+
     priv->taglist_changed = FALSE;
   }
 
@@ -1324,6 +1429,23 @@
     GST_BUFFER_DURATION (buf) =
         GST_FRAMES_TO_CLOCK_TIME (samples, ctx->info.rate);
   }
+
+  if (klass->transform_meta) {
+    if (inbufs.length) {
+      GList *l;
+      for (l = inbufs.head; l; l = l->next) {
+        CopyMetaData data;
+
+        data.decoder = dec;
+        data.outbuf = buf;
+        gst_buffer_foreach_meta (l->data, foreach_metadata, &data);
+      }
+    } else {
+      GST_WARNING_OBJECT (dec,
+          "Can't copy metadata because input buffers disappeared");
+    }
+  }
+
   priv->samples += samples;
   priv->samples_out += samples;
 
@@ -1334,6 +1456,8 @@
   ret = gst_audio_decoder_output (dec, buf);
 
 exit:
+  g_queue_foreach (&inbufs, (GFunc) gst_buffer_unref, NULL);
+  g_queue_clear (&inbufs);
 
   GST_AUDIO_DECODER_STREAM_UNLOCK (dec);
 
@@ -2074,12 +2198,12 @@
       gst_audio_decoder_flush (dec, FALSE);
 
       GST_DEBUG_OBJECT (dec, "received STREAM_START. Clearing taglist");
-      /* Flush our merged taglist after a STREAM_START */
-      if (dec->priv->taglist) {
-        gst_tag_list_unref (dec->priv->taglist);
-        dec->priv->taglist = NULL;
+      /* Flush upstream tags after a STREAM_START */
+      if (dec->priv->upstream_tags) {
+        gst_tag_list_unref (dec->priv->upstream_tags);
+        dec->priv->upstream_tags = NULL;
+        dec->priv->taglist_changed = TRUE;
       }
-      dec->priv->taglist_changed = FALSE;
       GST_AUDIO_DECODER_STREAM_UNLOCK (dec);
 
       ret = gst_audio_decoder_push_event (dec, event);
@@ -2208,11 +2332,23 @@
       gst_event_parse_tag (event, &tags);
 
       if (gst_tag_list_get_scope (tags) == GST_TAG_SCOPE_STREAM) {
-        gst_audio_decoder_merge_tags (dec, tags, GST_TAG_MERGE_REPLACE);
+        GST_AUDIO_DECODER_STREAM_LOCK (dec);
+        if (dec->priv->upstream_tags != tags) {
+          if (dec->priv->upstream_tags)
+            gst_tag_list_unref (dec->priv->upstream_tags);
+          dec->priv->upstream_tags = gst_tag_list_ref (tags);
+          GST_INFO_OBJECT (dec, "upstream stream tags: %" GST_PTR_FORMAT, tags);
+        }
         gst_event_unref (event);
-        event = NULL;
-        ret = TRUE;
-        break;
+        event = gst_audio_decoder_create_merged_tags_event (dec);
+        dec->priv->taglist_changed = FALSE;
+        GST_AUDIO_DECODER_STREAM_UNLOCK (dec);
+
+        /* No tags, go out of here instead of fall through */
+        if (!event) {
+          ret = TRUE;
+          break;
+        }
       }
 
       /* fall through */
@@ -2600,28 +2736,34 @@
       break;
     }
     case GST_QUERY_ACCEPT_CAPS:{
-      GstCaps *caps;
-      GstCaps *allowed_caps;
-      GstCaps *template_caps;
-      gboolean accept;
+      if (dec->priv->use_default_pad_acceptcaps) {
+        res =
+            gst_pad_query_default (GST_AUDIO_DECODER_SINK_PAD (dec),
+            GST_OBJECT_CAST (dec), query);
+      } else {
+        GstCaps *caps;
+        GstCaps *allowed_caps;
+        GstCaps *template_caps;
+        gboolean accept;
 
-      gst_query_parse_accept_caps (query, &caps);
+        gst_query_parse_accept_caps (query, &caps);
 
-      template_caps = gst_pad_get_pad_template_caps (pad);
-      accept = gst_caps_is_subset (caps, template_caps);
-      gst_caps_unref (template_caps);
+        template_caps = gst_pad_get_pad_template_caps (pad);
+        accept = gst_caps_is_subset (caps, template_caps);
+        gst_caps_unref (template_caps);
 
-      if (accept) {
-        allowed_caps = gst_pad_query_caps (GST_AUDIO_DECODER_SINK_PAD (dec),
-            caps);
+        if (accept) {
+          allowed_caps = gst_pad_query_caps (GST_AUDIO_DECODER_SINK_PAD (dec),
+              caps);
 
-        accept = gst_caps_can_intersect (caps, allowed_caps);
+          accept = gst_caps_can_intersect (caps, allowed_caps);
 
-        gst_caps_unref (allowed_caps);
+          gst_caps_unref (allowed_caps);
+        }
+
+        gst_query_set_accept_caps_result (query, accept);
+        res = TRUE;
       }
-
-      gst_query_set_accept_caps_result (query, accept);
-      res = TRUE;
       break;
     }
     case GST_QUERY_SEEKING:
@@ -3410,36 +3552,39 @@
 /**
  * gst_audio_decoder_merge_tags:
  * @dec: a #GstAudioDecoder
- * @tags: a #GstTagList to merge
- * @mode: the #GstTagMergeMode to use
+ * @tags: (allow-none): a #GstTagList to merge, or NULL
+ * @mode: the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE
  *
- * Adds tags to so-called pending tags, which will be processed
- * before pushing out data downstream.
+ * Sets the audio decoder tags and how they should be merged with any
+ * upstream stream tags. This will override any tags previously-set
+ * with gst_audio_decoder_merge_tags().
  *
  * Note that this is provided for convenience, and the subclass is
- * not required to use this and can still do tag handling on its own,
- * although it should be aware that baseclass already takes care
- * of the usual CODEC/AUDIO_CODEC tags.
- *
- * MT safe.
+ * not required to use this and can still do tag handling on its own.
  */
 void
 gst_audio_decoder_merge_tags (GstAudioDecoder * dec,
     const GstTagList * tags, GstTagMergeMode mode)
 {
-  GstTagList *otags;
-
   g_return_if_fail (GST_IS_AUDIO_DECODER (dec));
   g_return_if_fail (tags == NULL || GST_IS_TAG_LIST (tags));
+  g_return_if_fail (mode != GST_TAG_MERGE_UNDEFINED);
 
   GST_AUDIO_DECODER_STREAM_LOCK (dec);
-  if (tags)
-    GST_DEBUG_OBJECT (dec, "merging tags %" GST_PTR_FORMAT, tags);
-  otags = dec->priv->taglist;
-  dec->priv->taglist = gst_tag_list_merge (dec->priv->taglist, tags, mode);
-  if (otags)
-    gst_tag_list_unref (otags);
-  dec->priv->taglist_changed = TRUE;
+  if (dec->priv->taglist != tags) {
+    if (dec->priv->taglist) {
+      gst_tag_list_unref (dec->priv->taglist);
+      dec->priv->taglist = NULL;
+      dec->priv->decoder_tags_merge_mode = GST_TAG_MERGE_KEEP_ALL;
+    }
+    if (tags) {
+      dec->priv->taglist = gst_tag_list_ref ((GstTagList *) tags);
+      dec->priv->decoder_tags_merge_mode = mode;
+    }
+
+    GST_DEBUG_OBJECT (dec, "setting decoder tags to %" GST_PTR_FORMAT, tags);
+    dec->priv->taglist_changed = TRUE;
+  }
   GST_AUDIO_DECODER_STREAM_UNLOCK (dec);
 }
 
@@ -3520,3 +3665,24 @@
   if (params)
     *params = dec->priv->ctx.params;
 }
+
+/**
+ * gst_audio_decoder_set_use_default_pad_acceptcaps:
+ * @decoder: a #GstAudioDecoder
+ * @use: if the default pad accept-caps query handling should be used
+ *
+ * Lets #GstAudioDecoder sub-classes decide if they want the sink pad
+ * to use the default pad query handler to reply to accept-caps queries.
+ *
+ * By setting this to true it is possible to further customize the default
+ * handler with %GST_PAD_SET_ACCEPT_INTERSECT and
+ * %GST_PAD_SET_ACCEPT_TEMPLATE
+ *
+ * Since: 1.6
+ */
+void
+gst_audio_decoder_set_use_default_pad_acceptcaps (GstAudioDecoder * decoder,
+    gboolean use)
+{
+  decoder->priv->use_default_pad_acceptcaps = use;
+}
diff --git a/gst-libs/gst/audio/gstaudiodecoder.h b/gst-libs/gst/audio/gstaudiodecoder.h
index 10317fc..1c498ee 100644
--- a/gst-libs/gst/audio/gstaudiodecoder.h
+++ b/gst-libs/gst/audio/gstaudiodecoder.h
@@ -246,6 +246,11 @@
  *                  If not implemented,
  *                  default returns gst_audio_decoder_proxy_getcaps
  *                  applied to sink template caps.
+ * @transform_meta: Optional. Transform the metadata on the input buffer to the
+ *                  output buffer. By default this method copies all meta without
+ *                  tags and meta with only the "audio" tag. subclasses can
+ *                  implement this method and return %TRUE if the metadata is to be
+ *                  copied. Since 1.6
  *
  * Subclasses can override any of the available virtual methods or not, as
  * needed. At minimum @handle_frame (and likely @set_format) needs to be
@@ -300,8 +305,11 @@
   GstCaps *     (*getcaps)            (GstAudioDecoder * dec,
                                        GstCaps * filter);
 
+  gboolean      (*transform_meta)     (GstAudioDecoder *enc, GstBuffer *outbuf,
+                                       GstMeta *meta, GstBuffer *inbuf);
+
   /*< private >*/
-  gpointer       _gst_reserved[GST_PADDING_LARGE - 3];
+  gpointer       _gst_reserved[GST_PADDING_LARGE - 4];
 };
 
 GType             gst_audio_decoder_get_type (void);
@@ -386,6 +394,9 @@
 void              gst_audio_decoder_merge_tags (GstAudioDecoder * dec,
                                                 const GstTagList * tags, GstTagMergeMode mode);
 
+void              gst_audio_decoder_set_use_default_pad_acceptcaps (GstAudioDecoder * decoder,
+                                                                   gboolean use);
+
 G_END_DECLS
 
 #endif /* _GST_AUDIO_DECODER_H_ */
diff --git a/gst-libs/gst/audio/gstaudioencoder.c b/gst-libs/gst/audio/gstaudioencoder.c
index 55ef3bf..17f843a 100644
--- a/gst-libs/gst/audio/gstaudioencoder.c
+++ b/gst-libs/gst/audio/gstaudioencoder.c
@@ -258,9 +258,15 @@
   gboolean hard_min;
   gboolean drainable;
 
-  /* pending tags */
+  /* upstream stream tags (global tags are passed through as-is) */
+  GstTagList *upstream_tags;
+
+  /* subclass tags */
   GstTagList *tags;
+  GstTagMergeMode tags_merge_mode;
+
   gboolean tags_changed;
+
   /* pending serialized sink events, will be sent from finish_frame() */
   GList *pending_events;
 };
@@ -344,6 +350,14 @@
 static gboolean gst_audio_encoder_negotiate_default (GstAudioEncoder * enc);
 static gboolean gst_audio_encoder_negotiate_unlocked (GstAudioEncoder * enc);
 
+static gboolean gst_audio_encoder_transform_meta_default (GstAudioEncoder *
+    encoder, GstBuffer * outbuf, GstMeta * meta, GstBuffer * inbuf);
+
+static gboolean gst_audio_encoder_sink_query_default (GstAudioEncoder * encoder,
+    GstQuery * query);
+static gboolean gst_audio_encoder_src_query_default (GstAudioEncoder * encoder,
+    GstQuery * query);
+
 static void
 gst_audio_encoder_class_init (GstAudioEncoderClass * klass)
 {
@@ -389,9 +403,12 @@
   klass->getcaps = gst_audio_encoder_getcaps_default;
   klass->sink_event = gst_audio_encoder_sink_event_default;
   klass->src_event = gst_audio_encoder_src_event_default;
+  klass->sink_query = gst_audio_encoder_sink_query_default;
+  klass->src_query = gst_audio_encoder_src_query_default;
   klass->propose_allocation = gst_audio_encoder_propose_allocation_default;
   klass->decide_allocation = gst_audio_encoder_decide_allocation_default;
   klass->negotiate = gst_audio_encoder_negotiate_default;
+  klass->transform_meta = gst_audio_encoder_transform_meta_default;
 }
 
 static void
@@ -479,9 +496,14 @@
     memset (&enc->priv->ctx, 0, sizeof (enc->priv->ctx));
     gst_audio_info_init (&enc->priv->ctx.info);
 
+    if (enc->priv->upstream_tags) {
+      gst_tag_list_unref (enc->priv->upstream_tags);
+      enc->priv->upstream_tags = NULL;
+    }
     if (enc->priv->tags)
       gst_tag_list_unref (enc->priv->tags);
     enc->priv->tags = NULL;
+    enc->priv->tags_merge_mode = GST_TAG_MERGE_APPEND;
     enc->priv->tags_changed = FALSE;
 
     g_list_foreach (enc->priv->pending_events, (GFunc) gst_event_unref, NULL);
@@ -600,32 +622,111 @@
   }
 }
 
-static inline void
-gst_audio_encoder_check_and_push_ending_tags (GstAudioEncoder * enc)
+static GstEvent *
+gst_audio_encoder_create_merged_tags_event (GstAudioEncoder * enc)
 {
-  if (G_UNLIKELY (enc->priv->tags && enc->priv->tags_changed)) {
+  GstTagList *merged_tags;
+
+  GST_LOG_OBJECT (enc, "upstream : %" GST_PTR_FORMAT, enc->priv->upstream_tags);
+  GST_LOG_OBJECT (enc, "encoder  : %" GST_PTR_FORMAT, enc->priv->tags);
+  GST_LOG_OBJECT (enc, "mode     : %d", enc->priv->tags_merge_mode);
+
+  merged_tags =
+      gst_tag_list_merge (enc->priv->upstream_tags, enc->priv->tags,
+      enc->priv->tags_merge_mode);
+
+  GST_DEBUG_OBJECT (enc, "merged   : %" GST_PTR_FORMAT, merged_tags);
+
+  if (merged_tags == NULL)
+    return NULL;
+
+  if (gst_tag_list_is_empty (merged_tags)) {
+    gst_tag_list_unref (merged_tags);
+    return NULL;
+  }
+
+  /* add codec info to pending tags */
 #if 0
-    GstCaps *caps;
+  caps = gst_pad_get_current_caps (enc->srcpad);
+  gst_pb_utils_add_codec_description_to_tag_list (merged_tags,
+      GST_TAG_AUDIO_CODEC, caps);
 #endif
 
-    /* add codec info to pending tags */
-#if 0
-    if (!enc->priv->tags)
-      enc->priv->tags = gst_tag_list_new ();
-    enc->priv->tags = gst_tag_list_make_writable (enc->priv->tags);
-    caps = gst_pad_get_current_caps (enc->srcpad);
-    gst_pb_utils_add_codec_description_to_tag_list (enc->priv->tags,
-        GST_TAG_CODEC, caps);
-    gst_pb_utils_add_codec_description_to_tag_list (enc->priv->tags,
-        GST_TAG_AUDIO_CODEC, caps);
-#endif
-    GST_DEBUG_OBJECT (enc, "sending tags %" GST_PTR_FORMAT, enc->priv->tags);
-    gst_audio_encoder_push_event (enc,
-        gst_event_new_tag (gst_tag_list_ref (enc->priv->tags)));
+  return gst_event_new_tag (merged_tags);
+}
+
+static void
+gst_audio_encoder_check_and_push_pending_tags (GstAudioEncoder * enc)
+{
+  if (enc->priv->tags_changed) {
+    GstEvent *tags_event;
+
+    tags_event = gst_audio_encoder_create_merged_tags_event (enc);
+
+    if (tags_event != NULL)
+      gst_audio_encoder_push_event (enc, tags_event);
+
     enc->priv->tags_changed = FALSE;
   }
 }
 
+
+static gboolean
+gst_audio_encoder_transform_meta_default (GstAudioEncoder *
+    encoder, GstBuffer * outbuf, GstMeta * meta, GstBuffer * inbuf)
+{
+  const GstMetaInfo *info = meta->info;
+  const gchar *const *tags;
+
+  tags = gst_meta_api_type_get_tags (info->api);
+
+  if (!tags || (g_strv_length ((gchar **) tags) == 1
+          && gst_meta_api_type_has_tag (info->api,
+              g_quark_from_string (GST_META_TAG_AUDIO_STR))))
+    return TRUE;
+
+  return FALSE;
+}
+
+typedef struct
+{
+  GstAudioEncoder *encoder;
+  GstBuffer *outbuf;
+} CopyMetaData;
+
+static gboolean
+foreach_metadata (GstBuffer * inbuf, GstMeta ** meta, gpointer user_data)
+{
+  CopyMetaData *data = user_data;
+  GstAudioEncoder *encoder = data->encoder;
+  GstAudioEncoderClass *klass = GST_AUDIO_ENCODER_GET_CLASS (encoder);
+  GstBuffer *outbuf = data->outbuf;
+  const GstMetaInfo *info = (*meta)->info;
+  gboolean do_copy = FALSE;
+
+  if (gst_meta_api_type_has_tag (info->api, _gst_meta_tag_memory)) {
+    /* never call the transform_meta with memory specific metadata */
+    GST_DEBUG_OBJECT (encoder, "not copying memory specific metadata %s",
+        g_type_name (info->api));
+    do_copy = FALSE;
+  } else if (klass->transform_meta) {
+    do_copy = klass->transform_meta (encoder, outbuf, *meta, inbuf);
+    GST_DEBUG_OBJECT (encoder, "transformed metadata %s: copy: %d",
+        g_type_name (info->api), do_copy);
+  }
+
+  /* we only copy metadata when the subclass implemented a transform_meta
+   * function and when it returns %TRUE */
+  if (do_copy) {
+    GstMetaTransformCopy copy_data = { FALSE, 0, -1 };
+    GST_DEBUG_OBJECT (encoder, "copy metadata %s", g_type_name (info->api));
+    /* simply copy then */
+    info->transform_func (outbuf, *meta, inbuf,
+        _gst_meta_transform_copy, &copy_data);
+  }
+  return TRUE;
+}
+
 /**
  * gst_audio_encoder_finish_frame:
  * @enc: a #GstAudioEncoder
@@ -654,6 +755,7 @@
   GstAudioEncoderContext *ctx;
   GstFlowReturn ret = GST_FLOW_OK;
   gboolean needs_reconfigure = FALSE;
+  GstBuffer *inbuf = NULL;
 
   klass = GST_AUDIO_ENCODER_GET_CLASS (enc);
   priv = enc->priv;
@@ -691,8 +793,8 @@
 
   gst_audio_encoder_push_pending_events (enc);
 
-  /* send after pending events, which likely includes newsegment event */
-  gst_audio_encoder_check_and_push_ending_tags (enc);
+  /* send after pending events, which likely includes segment event */
+  gst_audio_encoder_check_and_push_pending_tags (enc);
 
   /* remove corresponding samples from input */
   if (samples < 0)
@@ -743,18 +845,30 @@
     }
     /* advance sample view */
     if (G_UNLIKELY (samples * ctx->info.bpf > priv->offset)) {
+      guint avail = gst_adapter_available (priv->adapter);
+
       if (G_LIKELY (!priv->force)) {
         /* we should have received EOS to enable force */
         goto overflow;
       } else {
         priv->offset = 0;
-        if (samples * ctx->info.bpf >= gst_adapter_available (priv->adapter))
+        if (avail > 0 && samples * ctx->info.bpf >= avail) {
+          inbuf = gst_adapter_take_buffer_fast (priv->adapter, avail);
           gst_adapter_clear (priv->adapter);
-        else
-          gst_adapter_flush (priv->adapter, samples * ctx->info.bpf);
+        } else if (avail > 0) {
+          inbuf =
+              gst_adapter_take_buffer_fast (priv->adapter,
+              samples * ctx->info.bpf);
+        }
       }
     } else {
-      gst_adapter_flush (priv->adapter, samples * ctx->info.bpf);
+      guint avail = gst_adapter_available (priv->adapter);
+
+      if (avail > 0) {
+        inbuf =
+            gst_adapter_take_buffer_fast (priv->adapter,
+            samples * ctx->info.bpf);
+      }
       priv->offset -= samples * ctx->info.bpf;
       /* avoid subsequent stray prev_ts */
       if (G_UNLIKELY (gst_adapter_available (priv->adapter) == 0))
@@ -844,6 +958,19 @@
       }
     }
 
+    if (klass->transform_meta) {
+      if (G_LIKELY (inbuf)) {
+        CopyMetaData data;
+
+        data.encoder = enc;
+        data.outbuf = buf;
+        gst_buffer_foreach_meta (inbuf, foreach_metadata, &data);
+      } else {
+        GST_WARNING_OBJECT (enc,
+            "Can't copy metadata because input buffer disappeared");
+      }
+    }
+
     priv->bytes_out += size;
 
     if (G_UNLIKELY (priv->discont)) {
@@ -879,6 +1006,9 @@
   }
 
 exit:
+  if (inbuf)
+    gst_buffer_unref (inbuf);
+
   GST_AUDIO_ENCODER_STREAM_UNLOCK (enc);
 
   return ret;
@@ -1443,7 +1573,7 @@
 
       /* check for pending events and tags */
       gst_audio_encoder_push_pending_events (enc);
-      gst_audio_encoder_check_and_push_ending_tags (enc);
+      gst_audio_encoder_check_and_push_pending_tags (enc);
 
       GST_AUDIO_ENCODER_STREAM_UNLOCK (enc);
 
@@ -1464,6 +1594,21 @@
       break;
     }
 
+    case GST_EVENT_STREAM_START:
+    {
+      GST_AUDIO_ENCODER_STREAM_LOCK (enc);
+      /* Flush upstream tags after a STREAM_START */
+      GST_DEBUG_OBJECT (enc, "received STREAM_START. Clearing taglist");
+      if (enc->priv->upstream_tags) {
+        gst_tag_list_unref (enc->priv->upstream_tags);
+        enc->priv->upstream_tags = NULL;
+        enc->priv->tags_changed = TRUE;
+      }
+      GST_AUDIO_ENCODER_STREAM_UNLOCK (enc);
+      res = gst_audio_encoder_push_event (enc, event);
+      break;
+    }
+
     case GST_EVENT_TAG:
     {
       GstTagList *tags;
@@ -1471,31 +1616,40 @@
       gst_event_parse_tag (event, &tags);
 
       if (gst_tag_list_get_scope (tags) == GST_TAG_SCOPE_STREAM) {
-        tags = gst_tag_list_copy (tags);
+        GST_AUDIO_ENCODER_STREAM_LOCK (enc);
+        if (enc->priv->upstream_tags != tags) {
+          tags = gst_tag_list_copy (tags);
 
-        /* FIXME: make generic based on GST_TAG_FLAG_ENCODED */
-        gst_tag_list_remove_tag (tags, GST_TAG_CODEC);
-        gst_tag_list_remove_tag (tags, GST_TAG_AUDIO_CODEC);
-        gst_tag_list_remove_tag (tags, GST_TAG_VIDEO_CODEC);
-        gst_tag_list_remove_tag (tags, GST_TAG_SUBTITLE_CODEC);
-        gst_tag_list_remove_tag (tags, GST_TAG_CONTAINER_FORMAT);
-        gst_tag_list_remove_tag (tags, GST_TAG_BITRATE);
-        gst_tag_list_remove_tag (tags, GST_TAG_NOMINAL_BITRATE);
-        gst_tag_list_remove_tag (tags, GST_TAG_MAXIMUM_BITRATE);
-        gst_tag_list_remove_tag (tags, GST_TAG_MINIMUM_BITRATE);
-        gst_tag_list_remove_tag (tags, GST_TAG_ENCODER);
-        gst_tag_list_remove_tag (tags, GST_TAG_ENCODER_VERSION);
+          /* FIXME: make generic based on GST_TAG_FLAG_ENCODED */
+          gst_tag_list_remove_tag (tags, GST_TAG_CODEC);
+          gst_tag_list_remove_tag (tags, GST_TAG_AUDIO_CODEC);
+          gst_tag_list_remove_tag (tags, GST_TAG_VIDEO_CODEC);
+          gst_tag_list_remove_tag (tags, GST_TAG_SUBTITLE_CODEC);
+          gst_tag_list_remove_tag (tags, GST_TAG_CONTAINER_FORMAT);
+          gst_tag_list_remove_tag (tags, GST_TAG_BITRATE);
+          gst_tag_list_remove_tag (tags, GST_TAG_NOMINAL_BITRATE);
+          gst_tag_list_remove_tag (tags, GST_TAG_MAXIMUM_BITRATE);
+          gst_tag_list_remove_tag (tags, GST_TAG_MINIMUM_BITRATE);
+          gst_tag_list_remove_tag (tags, GST_TAG_ENCODER);
+          gst_tag_list_remove_tag (tags, GST_TAG_ENCODER_VERSION);
 
-        gst_audio_encoder_merge_tags (enc, tags, GST_TAG_MERGE_REPLACE);
-        gst_tag_list_unref (tags);
+          if (enc->priv->upstream_tags)
+            gst_tag_list_unref (enc->priv->upstream_tags);
+          enc->priv->upstream_tags = tags;
+          GST_INFO_OBJECT (enc, "upstream stream tags: %" GST_PTR_FORMAT, tags);
+        }
         gst_event_unref (event);
-        event = NULL;
-        res = TRUE;
-        break;
+        event = gst_audio_encoder_create_merged_tags_event (enc);
+        GST_AUDIO_ENCODER_STREAM_UNLOCK (enc);
+
+        /* No tags, go out of here instead of fall through */
+        if (!event) {
+          res = TRUE;
+          break;
+        }
       }
       /* fall through */
     }
-
     default:
       /* Forward non-serialized events immediately. */
       if (!GST_EVENT_IS_SERIALIZED (event)) {
@@ -1540,13 +1694,10 @@
 }
 
 static gboolean
-gst_audio_encoder_sink_query (GstPad * pad, GstObject * parent,
-    GstQuery * query)
+gst_audio_encoder_sink_query_default (GstAudioEncoder * enc, GstQuery * query)
 {
+  GstPad *pad = GST_AUDIO_ENCODER_SINK_PAD (enc);
   gboolean res = FALSE;
-  GstAudioEncoder *enc;
-
-  enc = GST_AUDIO_ENCODER (parent);
 
   switch (GST_QUERY_TYPE (query)) {
     case GST_QUERY_FORMATS:
@@ -1594,7 +1745,7 @@
       break;
     }
     default:
-      res = gst_pad_query_default (pad, parent, query);
+      res = gst_pad_query_default (pad, GST_OBJECT (enc), query);
       break;
   }
 
@@ -1603,6 +1754,26 @@
 }
 
 static gboolean
+gst_audio_encoder_sink_query (GstPad * pad, GstObject * parent,
+    GstQuery * query)
+{
+  GstAudioEncoder *encoder;
+  GstAudioEncoderClass *encoder_class;
+  gboolean ret = FALSE;
+
+  encoder = GST_AUDIO_ENCODER (parent);
+  encoder_class = GST_AUDIO_ENCODER_GET_CLASS (encoder);
+
+  GST_DEBUG_OBJECT (encoder, "received query %d, %s", GST_QUERY_TYPE (query),
+      GST_QUERY_TYPE_NAME (query));
+
+  if (encoder_class->sink_query)
+    ret = encoder_class->sink_query (encoder, query);
+
+  return ret;
+}
+
+static gboolean
 gst_audio_encoder_src_event_default (GstAudioEncoder * enc, GstEvent * event)
 {
   gboolean res;
@@ -1751,13 +1922,11 @@
  * segment stuff etc at all
  * Supposedly that's backward compatibility ... */
 static gboolean
-gst_audio_encoder_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
+gst_audio_encoder_src_query_default (GstAudioEncoder * enc, GstQuery * query)
 {
-  GstAudioEncoder *enc;
+  GstPad *pad = GST_AUDIO_ENCODER_SRC_PAD (enc);
   gboolean res = FALSE;
 
-  enc = GST_AUDIO_ENCODER (parent);
-
   GST_LOG_OBJECT (enc, "handling query: %" GST_PTR_FORMAT, query);
 
   switch (GST_QUERY_TYPE (query)) {
@@ -1849,13 +2018,33 @@
       break;
     }
     default:
-      res = gst_pad_query_default (pad, parent, query);
+      res = gst_pad_query_default (pad, GST_OBJECT (enc), query);
       break;
   }
 
   return res;
 }
 
+static gboolean
+gst_audio_encoder_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
+{
+  GstAudioEncoder *encoder;
+  GstAudioEncoderClass *encoder_class;
+  gboolean ret = FALSE;
+
+  encoder = GST_AUDIO_ENCODER (parent);
+  encoder_class = GST_AUDIO_ENCODER_GET_CLASS (encoder);
+
+  GST_DEBUG_OBJECT (encoder, "received query %d, %s", GST_QUERY_TYPE (query),
+      GST_QUERY_TYPE_NAME (query));
+
+  if (encoder_class->src_query)
+    ret = encoder_class->src_query (encoder, query);
+
+  return ret;
+}
+
+
 static void
 gst_audio_encoder_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec)
@@ -2459,16 +2648,16 @@
 /**
  * gst_audio_encoder_merge_tags:
  * @enc: a #GstAudioEncoder
- * @tags: a #GstTagList to merge
- * @mode: the #GstTagMergeMode to use
+ * @tags: (allow-none): a #GstTagList to merge, or NULL to unset
+ *     previously-set tags
+ * @mode: the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE
  *
- * Adds tags to so-called pending tags, which will be processed
- * before pushing out data downstream.
+ * Sets the audio encoder tags and how they should be merged with any
+ * upstream stream tags. This will override any tags previously-set
+ * with gst_audio_encoder_merge_tags().
  *
  * Note that this is provided for convenience, and the subclass is
- * not required to use this and can still do tag handling on its own,
- * although it should be aware that baseclass already takes care
- * of the usual CODEC/AUDIO_CODEC tags.
+ * not required to use this and can still do tag handling on its own.
  *
  * MT safe.
  */
@@ -2476,19 +2665,25 @@
 gst_audio_encoder_merge_tags (GstAudioEncoder * enc,
     const GstTagList * tags, GstTagMergeMode mode)
 {
-  GstTagList *otags;
-
   g_return_if_fail (GST_IS_AUDIO_ENCODER (enc));
   g_return_if_fail (tags == NULL || GST_IS_TAG_LIST (tags));
+  g_return_if_fail (tags == NULL || mode != GST_TAG_MERGE_UNDEFINED);
 
   GST_AUDIO_ENCODER_STREAM_LOCK (enc);
-  if (tags)
-    GST_DEBUG_OBJECT (enc, "merging tags %" GST_PTR_FORMAT, tags);
-  otags = enc->priv->tags;
-  enc->priv->tags = gst_tag_list_merge (enc->priv->tags, tags, mode);
-  if (otags)
-    gst_tag_list_unref (otags);
-  enc->priv->tags_changed = TRUE;
+  if (enc->priv->tags != tags) {
+    if (enc->priv->tags) {
+      gst_tag_list_unref (enc->priv->tags);
+      enc->priv->tags = NULL;
+      enc->priv->tags_merge_mode = GST_TAG_MERGE_APPEND;
+    }
+    if (tags) {
+      enc->priv->tags = gst_tag_list_ref ((GstTagList *) tags);
+      enc->priv->tags_merge_mode = mode;
+    }
+
+    GST_DEBUG_OBJECT (enc, "setting encoder tags to %" GST_PTR_FORMAT, tags);
+    enc->priv->tags_changed = TRUE;
+  }
   GST_AUDIO_ENCODER_STREAM_UNLOCK (enc);
 }
 
diff --git a/gst-libs/gst/audio/gstaudioencoder.h b/gst-libs/gst/audio/gstaudioencoder.h
index a9b691f..c9f8272 100644
--- a/gst-libs/gst/audio/gstaudioencoder.h
+++ b/gst-libs/gst/audio/gstaudioencoder.h
@@ -174,6 +174,21 @@
  *                      Propose buffer allocation parameters for upstream elements.
  *                      Subclasses should chain up to the parent implementation to
  *                      invoke the default handler.
+ * @transform_meta: Optional. Transform the metadata on the input buffer to the
+ *                  output buffer. By default this method copies all meta without
+ *                  tags and meta with only the "audio" tag. subclasses can
+ *                  implement this method and return %TRUE if the metadata is to be
+ *                  copied. Since 1.6
+ * @sink_query:     Optional.
+ *                  Query handler on the sink pad. This function should
+ *                  return TRUE if the query could be performed. Subclasses
+ *                  should chain up to the parent implementation to invoke the
+ *                  default handler. Since 1.6
+ * @src_query:      Optional.
+ *                  Query handler on the source pad. This function should
+ *                  return TRUE if the query could be performed. Subclasses
+ *                  should chain up to the parent implementation to invoke the
+ *                  default handler. Since 1.6
  *
  * Subclasses can override any of the available virtual methods or not, as
  * needed. At minimum @set_format and @handle_frame needs to be overridden.
@@ -218,8 +233,18 @@
   gboolean      (*propose_allocation) (GstAudioEncoder * enc,
                                        GstQuery * query);
 
+  gboolean      (*transform_meta)     (GstAudioEncoder *enc, GstBuffer *outbuf,
+                                       GstMeta *meta, GstBuffer *inbuf);
+
+  gboolean      (*sink_query)         (GstAudioEncoder *encoder,
+				       GstQuery *query);
+
+  gboolean      (*src_query)          (GstAudioEncoder *encoder,
+				       GstQuery *query);
+
+
   /*< private >*/
-  gpointer       _gst_reserved[GST_PADDING_LARGE];
+  gpointer       _gst_reserved[GST_PADDING_LARGE-3];
 };
 
 GType           gst_audio_encoder_get_type         (void);
diff --git a/gst-libs/gst/audio/gstaudiofilter.c b/gst-libs/gst/audio/gstaudiofilter.c
index 7a15dbb..ab8eac2 100644
--- a/gst-libs/gst/audio/gstaudiofilter.c
+++ b/gst-libs/gst/audio/gstaudiofilter.c
@@ -72,9 +72,9 @@
 
   tags = gst_meta_api_type_get_tags (info->api);
 
-  if (tags && g_strv_length ((gchar **) tags) == 1
-      && gst_meta_api_type_has_tag (info->api,
-          g_quark_from_string (GST_META_TAG_AUDIO_STR)))
+  if (!tags || (g_strv_length ((gchar **) tags) == 1
+          && gst_meta_api_type_has_tag (info->api,
+              g_quark_from_string (GST_META_TAG_AUDIO_STR))))
     return TRUE;
 
   return
diff --git a/gst-libs/gst/audio/gstaudiometa.c b/gst-libs/gst/audio/gstaudiometa.c
index 9d674f3..1c5e8a3 100644
--- a/gst-libs/gst/audio/gstaudiometa.c
+++ b/gst-libs/gst/audio/gstaudiometa.c
@@ -59,12 +59,20 @@
 gst_audio_downmix_meta_transform (GstBuffer * dest, GstMeta * meta,
     GstBuffer * buffer, GQuark type, gpointer data)
 {
-  GstAudioDownmixMeta *smeta;
+  GstAudioDownmixMeta *smeta, *dmeta;
 
   smeta = (GstAudioDownmixMeta *) meta;
-  gst_buffer_add_audio_downmix_meta (dest, smeta->from_position,
-      smeta->from_channels, smeta->to_position, smeta->to_channels,
-      (const gfloat **) smeta->matrix);
+
+  if (GST_META_TRANSFORM_IS_COPY (type)) {
+    dmeta = gst_buffer_add_audio_downmix_meta (dest, smeta->from_position,
+        smeta->from_channels, smeta->to_position, smeta->to_channels,
+        (const gfloat **) smeta->matrix);
+    if (!dmeta)
+      return FALSE;
+  } else {
+    /* return FALSE, if transform type is not supported */
+    return FALSE;
+  }
 
   return TRUE;
 }
diff --git a/gst-libs/gst/fft/Makefile.in b/gst-libs/gst/fft/Makefile.in
index ef03066..05ea2f9 100644
--- a/gst-libs/gst/fft/Makefile.in
+++ b/gst-libs/gst/fft/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -17,7 +17,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -82,10 +92,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = gst-libs/gst/fft
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp \
-	$(libgstfft_@GST_API_VERSION@_include_HEADERS) \
-	$(noinst_HEADERS)
 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 \
@@ -122,6 +128,9 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am \
+	$(libgstfft_@GST_API_VERSION@_include_HEADERS) \
+	$(noinst_HEADERS) $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -247,6 +256,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -611,7 +621,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst-libs/gst/fft/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst-libs/gst/fft/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -1088,6 +1097,8 @@
 	uninstall-libgstfft_@GST_API_VERSION@_includeHEADERS \
 	uninstall-typelibsDATA
 
+.PRECIOUS: Makefile
+
 
 @HAVE_INTROSPECTION_TRUE@GstFft-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstfft-@GST_API_VERSION@.la
 @HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
diff --git a/gst-libs/gst/pbutils/Makefile.in b/gst-libs/gst/pbutils/Makefile.in
index 87f9acf..bd34995 100644
--- a/gst-libs/gst/pbutils/Makefile.in
+++ b/gst-libs/gst/pbutils/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -25,7 +25,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -89,11 +99,6 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-DIST_COMMON = $(top_srcdir)/common/gst-glib-gen.mak \
-	$(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(srcdir)/gstpluginsbaseversion.h.in $(top_srcdir)/depcomp \
-	$(libgstpbutils_@GST_API_VERSION@include_HEADERS) \
-	$(noinst_HEADERS)
 @HAVE_INTROSPECTION_TRUE@am__append_1 = $(BUILT_GIRSOURCES) $(typelibs_DATA)
 subdir = gst-libs/gst/pbutils
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -132,6 +137,9 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am \
+	$(libgstpbutils_@GST_API_VERSION@include_HEADERS) \
+	$(noinst_HEADERS) $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES = gstpluginsbaseversion.h
@@ -261,6 +269,9 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(srcdir)/gstpluginsbaseversion.h.in \
+	$(top_srcdir)/common/gst-glib-gen.mak $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -650,7 +661,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst-libs/gst/pbutils/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst-libs/gst/pbutils/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -659,7 +669,7 @@
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/common/gst-glib-gen.mak:
+$(top_srcdir)/common/gst-glib-gen.mak $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -1144,6 +1154,8 @@
 	uninstall-nodist_libgstpbutils_@GST_API_VERSION@includeHEADERS \
 	uninstall-typelibsDATA
 
+.PRECIOUS: Makefile
+
 
 # these are all the rules generating the relevant files
 $(glib_gen_basename)-marshal.h: $(glib_gen_basename)-marshal.list
diff --git a/gst-libs/gst/pbutils/gstdiscoverer.c b/gst-libs/gst/pbutils/gstdiscoverer.c
index de9eb3a..2964933 100644
--- a/gst-libs/gst/pbutils/gstdiscoverer.c
+++ b/gst-libs/gst/pbutils/gstdiscoverer.c
@@ -2107,6 +2107,9 @@
   if (G_UNLIKELY (discoverer->priv->current_info)) {
     DISCO_UNLOCK (discoverer);
     GST_WARNING_OBJECT (discoverer, "Already handling a uri");
+    if (err)
+      *err = g_error_new (GST_CORE_ERROR, GST_CORE_ERROR_FAILED,
+          "Already handling a uri");
     return NULL;
   }
 
diff --git a/gst-libs/gst/riff/Makefile.in b/gst-libs/gst/riff/Makefile.in
index 940539b..e806c84 100644
--- a/gst-libs/gst/riff/Makefile.in
+++ b/gst-libs/gst/riff/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,9 +91,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = gst-libs/gst/riff
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp \
-	$(libgstriff_@GST_API_VERSION@include_HEADERS)
 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 \
@@ -120,6 +127,9 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am \
+	$(libgstriff_@GST_API_VERSION@include_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -215,6 +225,7 @@
   esac
 HEADERS = $(libgstriff_@GST_API_VERSION@include_HEADERS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -545,7 +556,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst-libs/gst/riff/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst-libs/gst/riff/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -847,6 +857,8 @@
 	uninstall-libLTLIBRARIES \
 	uninstall-libgstriff_@GST_API_VERSION@includeHEADERS
 
+.PRECIOUS: Makefile
+
 
 # *** GIR DISABLED for this library ***
 # 
diff --git a/gst-libs/gst/rtp/Makefile.in b/gst-libs/gst/rtp/Makefile.in
index 79db931..2b1a456 100644
--- a/gst-libs/gst/rtp/Makefile.in
+++ b/gst-libs/gst/rtp/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -25,7 +25,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -89,9 +99,6 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-DIST_COMMON = $(top_srcdir)/common/gst-glib-gen.mak \
-	$(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(libgstrtpinclude_HEADERS) README
 @HAVE_INTROSPECTION_TRUE@am__append_1 = $(BUILT_GIRSOURCES) $(typelibs_DATA)
 subdir = gst-libs/gst/rtp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -130,6 +137,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(libgstrtpinclude_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -253,6 +262,9 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/common/gst-glib-gen.mak $(top_srcdir)/depcomp \
+	README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -615,7 +627,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst-libs/gst/rtp/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst-libs/gst/rtp/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -624,7 +635,7 @@
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/common/gst-glib-gen.mak:
+$(top_srcdir)/common/gst-glib-gen.mak $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -1078,6 +1089,8 @@
 	uninstall-nodist_libgstrtpincludeHEADERS \
 	uninstall-typelibsDATA
 
+.PRECIOUS: Makefile
+
 
 # these are all the rules generating the relevant files
 $(glib_gen_basename)-marshal.h: $(glib_gen_basename)-marshal.list
diff --git a/gst-libs/gst/rtp/gstrtcpbuffer.c b/gst-libs/gst/rtp/gstrtcpbuffer.c
index 7d6b541..e5e4ca7 100644
--- a/gst-libs/gst/rtp/gstrtcpbuffer.c
+++ b/gst-libs/gst/rtp/gstrtcpbuffer.c
@@ -129,24 +129,28 @@
     if (data_len < 4)
       break;
 
+    /* padding only allowed on last packet */
+    if (padding)
+      break;
+
     /* check version of new packet */
     version = data[0] & 0xc0;
     if (version != (GST_RTCP_VERSION << 6))
       goto wrong_version;
 
-    /* padding only allowed on last packet */
-    if ((padding = data[0] & 0x20))
-      break;
+    /* check padding of new packet */
+    if (data[0] & 0x20) {
+      padding = TRUE;
+      /* last byte of padding contains the number of padded bytes including
+       * itself. must be a multiple of 4, but cannot be 0. */
+      pad_bytes = data[data_len - 1];
+      if (pad_bytes == 0 || (pad_bytes & 0x3))
+        goto wrong_padding;
+    }
   }
-  if (data_len > 0) {
-    /* some leftover bytes, check padding */
-    if (!padding)
-      goto wrong_length;
-
-    /* get padding */
-    pad_bytes = data[data_len - 1];
-    if (data_len != pad_bytes)
-      goto wrong_padding;
+  if (data_len != 0) {
+    /* some leftover bytes */
+    goto wrong_length;
   }
   return TRUE;
 
diff --git a/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c b/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c
index b1bedf1..917aeae 100644
--- a/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c
+++ b/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c
@@ -62,6 +62,7 @@
 #include <string.h>
 #include <gst/rtp/gstrtpbuffer.h>
 #include <gst/base/gstadapter.h>
+#include <gst/audio/audio.h>
 
 #include "gstrtpbaseaudiopayload.h"
 
@@ -477,6 +478,36 @@
   return ret;
 }
 
+typedef struct
+{
+  GstRTPBaseAudioPayload *pay;
+  GstBuffer *outbuf;
+} CopyMetaData;
+
+static gboolean
+foreach_metadata (GstBuffer * inbuf, GstMeta ** meta, gpointer user_data)
+{
+  CopyMetaData *data = user_data;
+  GstRTPBaseAudioPayload *pay = data->pay;
+  GstBuffer *outbuf = data->outbuf;
+  const GstMetaInfo *info = (*meta)->info;
+  const gchar *const *tags = gst_meta_api_type_get_tags (info->api);
+
+  if (!tags || (g_strv_length ((gchar **) tags) == 1
+          && gst_meta_api_type_has_tag (info->api,
+              g_quark_from_string (GST_META_TAG_AUDIO_STR)))) {
+    GstMetaTransformCopy copy_data = { FALSE, 0, -1 };
+    GST_DEBUG_OBJECT (pay, "copy metadata %s", g_type_name (info->api));
+    /* simply copy then */
+    info->transform_func (outbuf, *meta, inbuf,
+        _gst_meta_transform_copy, &copy_data);
+  } else {
+    GST_DEBUG_OBJECT (pay, "not copying metadata %s", g_type_name (info->api));
+  }
+
+  return TRUE;
+}
+
 static GstFlowReturn
 gst_rtp_base_audio_payload_push_buffer (GstRTPBaseAudioPayload *
     baseaudiopayload, GstBuffer * buffer, GstClockTime timestamp)
@@ -484,7 +515,6 @@
   GstRTPBasePayload *basepayload;
   GstRTPBaseAudioPayloadPrivate *priv;
   GstBuffer *outbuf;
-  guint8 *payload;
   guint payload_len;
   GstFlowReturn ret;
 
@@ -496,13 +526,8 @@
   GST_DEBUG_OBJECT (baseaudiopayload, "Pushing %d bytes ts %" GST_TIME_FORMAT,
       payload_len, GST_TIME_ARGS (timestamp));
 
-  if (priv->buffer_list) {
-    /* create just the RTP header buffer */
-    outbuf = gst_rtp_buffer_new_allocate (0, 0, 0);
-  } else {
-    /* create buffer to hold the payload */
-    outbuf = gst_rtp_buffer_new_allocate (payload_len, 0, 0);
-  }
+  /* create just the RTP header buffer */
+  outbuf = gst_rtp_buffer_new_allocate (0, 0, 0);
 
   /* set metadata */
   gst_rtp_base_audio_payload_set_meta (baseaudiopayload, outbuf, payload_len,
@@ -525,15 +550,13 @@
     GST_DEBUG_OBJECT (baseaudiopayload, "Pushing list %p", list);
     ret = gst_rtp_base_payload_push_list (basepayload, list);
   } else {
-    GstRTPBuffer rtp = { NULL };
+    CopyMetaData data;
 
     /* copy payload */
-    gst_rtp_buffer_map (outbuf, GST_MAP_WRITE, &rtp);
-    payload = gst_rtp_buffer_get_payload (&rtp);
-    gst_buffer_extract (buffer, 0, payload, payload_len);
-    gst_rtp_buffer_unmap (&rtp);
-
-    gst_buffer_unref (buffer);
+    data.pay = baseaudiopayload;
+    data.outbuf = outbuf;
+    gst_buffer_foreach_meta (buffer, foreach_metadata, &data);
+    outbuf = gst_buffer_append (outbuf, buffer);
 
     GST_DEBUG_OBJECT (baseaudiopayload, "Pushing buffer %p", outbuf);
     ret = gst_rtp_base_payload_push (basepayload, outbuf);
@@ -609,11 +632,17 @@
         timestamp);
   } else {
     GstBuffer *paybuf;
+    CopyMetaData data;
+
 
     /* create buffer to hold the payload */
     outbuf = gst_rtp_buffer_new_allocate (0, 0, 0);
 
     paybuf = gst_adapter_take_buffer_fast (adapter, payload_len);
+
+    data.pay = baseaudiopayload;
+    data.outbuf = outbuf;
+    gst_buffer_foreach_meta (paybuf, foreach_metadata, &data);
     outbuf = gst_buffer_append (outbuf, paybuf);
 
     /* set metadata */
@@ -885,6 +914,7 @@
     GST_DEBUG_OBJECT (payload, "available now %u", available);
 
     /* as long as we have full frames */
+    /* TODO: Use buffer lists here */
     while (available >= min_payload_len) {
       /* get multiple of alignment */
       payload_len = MIN (max_payload_len, available);
diff --git a/gst-libs/gst/rtp/gstrtpbasedepayload.c b/gst-libs/gst/rtp/gstrtpbasedepayload.c
index 8b0a721..4c5637d 100644
--- a/gst-libs/gst/rtp/gstrtpbasedepayload.c
+++ b/gst-libs/gst/rtp/gstrtpbasedepayload.c
@@ -349,10 +349,12 @@
 gst_rtp_base_depayload_handle_buffer (GstRTPBaseDepayload * filter,
     GstRTPBaseDepayloadClass * bclass, GstBuffer * in)
 {
+  GstBuffer *(*process_rtp_packet_func) (GstRTPBaseDepayload * base,
+      GstRTPBuffer * rtp_buffer);
+  GstBuffer *(*process_func) (GstRTPBaseDepayload * base, GstBuffer * in);
   GstRTPBaseDepayloadPrivate *priv;
   GstFlowReturn ret = GST_FLOW_OK;
   GstBuffer *out_buf;
-  GstClockTime pts, dts;
   guint16 seqnum;
   guint32 rtptime;
   gboolean discont, buf_discont;
@@ -361,6 +363,9 @@
 
   priv = filter->priv;
 
+  process_func = bclass->process;
+  process_rtp_packet_func = bclass->process_rtp_packet;
+
   /* we must have a setcaps first */
   if (G_UNLIKELY (!priv->negotiated))
     goto not_negotiated;
@@ -370,19 +375,12 @@
 
   buf_discont = GST_BUFFER_IS_DISCONT (in);
 
-  pts = GST_BUFFER_PTS (in);
-  dts = GST_BUFFER_DTS (in);
-  /* convert to running_time and save the timestamp, this is the timestamp
-   * we put on outgoing buffers. */
-  pts = gst_segment_to_running_time (&filter->segment, GST_FORMAT_TIME, pts);
-  dts = gst_segment_to_running_time (&filter->segment, GST_FORMAT_TIME, dts);
-  priv->pts = pts;
-  priv->dts = dts;
+  priv->pts = GST_BUFFER_PTS (in);
+  priv->dts = GST_BUFFER_DTS (in);
   priv->duration = GST_BUFFER_DURATION (in);
 
   seqnum = gst_rtp_buffer_get_seq (&rtp);
   rtptime = gst_rtp_buffer_get_timestamp (&rtp);
-  gst_rtp_buffer_unmap (&rtp);
 
   priv->last_seqnum = seqnum;
   priv->last_rtptime = rtptime;
@@ -391,10 +389,10 @@
 
   GST_LOG_OBJECT (filter, "discont %d, seqnum %u, rtptime %u, pts %"
       GST_TIME_FORMAT ", dts %" GST_TIME_FORMAT, buf_discont, seqnum, rtptime,
-      GST_TIME_ARGS (pts), GST_TIME_ARGS (dts));
+      GST_TIME_ARGS (priv->pts), GST_TIME_ARGS (priv->dts));
 
   /* Check seqnum. This is a very simple check that makes sure that the seqnums
-   * are striclty increasing, dropping anything that is out of the ordinary. We
+   * are strictly increasing, dropping anything that is out of the ordinary. We
    * can only do this when the next_seqnum is known. */
   if (G_LIKELY (priv->next_seqnum != -1)) {
     gap = gst_rtp_buffer_compare_seqnum (seqnum, priv->next_seqnum);
@@ -442,11 +440,17 @@
     filter->need_newsegment = FALSE;
   }
 
-  if (G_UNLIKELY (bclass->process == NULL))
+  if (process_rtp_packet_func != NULL) {
+    out_buf = process_rtp_packet_func (filter, &rtp);
+    gst_rtp_buffer_unmap (&rtp);
+  } else if (process_func != NULL) {
+    gst_rtp_buffer_unmap (&rtp);
+    out_buf = process_func (filter, in);
+  } else {
     goto no_process;
+  }
 
   /* let's send it out to processing */
-  out_buf = bclass->process (filter, in);
   if (out_buf) {
     ret = gst_rtp_base_depayload_push (filter, out_buf);
   }
@@ -476,14 +480,16 @@
   }
 dropping:
   {
+    gst_rtp_buffer_unmap (&rtp);
     GST_WARNING_OBJECT (filter, "%d <= 100, dropping old packet", gap);
     return GST_FLOW_OK;
   }
 no_process:
   {
+    gst_rtp_buffer_unmap (&rtp);
     /* this is not fatal but should be filtered earlier */
     GST_ELEMENT_ERROR (filter, STREAM, NOT_IMPLEMENTED, (NULL),
-        ("The subclass does not have a process method"));
+        ("The subclass does not have a process or process_rtp_packet method"));
     return GST_FLOW_ERROR;
   }
 }
@@ -555,7 +561,10 @@
 
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_FLUSH_STOP:
+      GST_OBJECT_LOCK (filter);
       gst_segment_init (&filter->segment, GST_FORMAT_UNDEFINED);
+      GST_OBJECT_UNLOCK (filter);
+
       filter->need_newsegment = TRUE;
       filter->priv->next_seqnum = -1;
       gst_event_replace (&filter->priv->segment_event, NULL);
@@ -572,7 +581,10 @@
     }
     case GST_EVENT_SEGMENT:
     {
+      GST_OBJECT_LOCK (filter);
       gst_event_copy_segment (event, &filter->segment);
+      GST_OBJECT_UNLOCK (filter);
+
       /* don't pass the event downstream, we generate our own segment including
        * the NTP time and other things we receive in caps */
       forward = FALSE;
@@ -642,8 +654,12 @@
 
   priv = filter->priv;
 
+  /* We don't need the object lock around - the segment
+   * can't change here while we're holding the STREAM_LOCK
+   */
+
   /* determining the start of the segment */
-  start = 0;
+  start = filter->segment.start;
   if (priv->clock_base != -1 && position != -1) {
     GstClockTime exttime, gap;
 
@@ -664,12 +680,12 @@
   }
 
   /* determining the stop of the segment */
-  stop = -1;
+  stop = filter->segment.stop;
   if (priv->npt_stop != -1)
     stop = start + (priv->npt_stop - priv->npt_start);
 
   if (position == -1)
-    position = 0;
+    position = start;
 
   running_time = gst_segment_to_running_time (&filter->segment,
       GST_FORMAT_TIME, start);
@@ -862,7 +878,6 @@
       priv->next_seqnum = -1;
       priv->negotiated = FALSE;
       priv->discont = FALSE;
-      gst_event_replace (&filter->priv->segment_event, NULL);
       break;
     case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
       break;
@@ -877,6 +892,7 @@
       break;
     case GST_STATE_CHANGE_PAUSED_TO_READY:
       gst_caps_replace (&priv->last_caps, NULL);
+      gst_event_replace (&priv->segment_event, NULL);
       break;
     case GST_STATE_CHANGE_READY_TO_NULL:
       break;
@@ -891,17 +907,27 @@
 {
   GstRTPBaseDepayloadPrivate *priv;
   GstStructure *s;
+  GstClockTime pts = GST_CLOCK_TIME_NONE, dts = GST_CLOCK_TIME_NONE;
 
   priv = depayload->priv;
 
+  GST_OBJECT_LOCK (depayload);
+  if (depayload->segment.format != GST_FORMAT_UNDEFINED) {
+    pts = gst_segment_to_running_time (&depayload->segment, GST_FORMAT_TIME,
+        priv->pts);
+    dts = gst_segment_to_running_time (&depayload->segment, GST_FORMAT_TIME,
+        priv->dts);
+  }
+  GST_OBJECT_UNLOCK (depayload);
+
   s = gst_structure_new ("application/x-rtp-depayload-stats",
       "clock_rate", G_TYPE_UINT, depayload->clock_rate,
       "npt-start", G_TYPE_UINT64, priv->npt_start,
       "npt-stop", G_TYPE_UINT64, priv->npt_stop,
       "play-speed", G_TYPE_DOUBLE, priv->play_speed,
       "play-scale", G_TYPE_DOUBLE, priv->play_scale,
-      "running-time-dts", G_TYPE_UINT64, priv->dts,
-      "running-time-pts", G_TYPE_UINT64, priv->pts,
+      "running-time-dts", G_TYPE_UINT64, dts,
+      "running-time-pts", G_TYPE_UINT64, pts,
       "seqnum", G_TYPE_UINT, (guint) priv->last_seqnum,
       "timestamp", G_TYPE_UINT, (guint) priv->last_rtptime, NULL);
 
diff --git a/gst-libs/gst/rtp/gstrtpbasedepayload.h b/gst-libs/gst/rtp/gstrtpbasedepayload.h
index f452bc5..20c0b00 100644
--- a/gst-libs/gst/rtp/gstrtpbasedepayload.h
+++ b/gst-libs/gst/rtp/gstrtpbasedepayload.h
@@ -80,7 +80,8 @@
   /* virtuals, inform the subclass of the caps. */
   gboolean (*set_caps) (GstRTPBaseDepayload *filter, GstCaps *caps);
 
-  /* pure virtual function, child must use this to process incoming
+  /* pure virtual function, child must implement either this method
+   * or the process_rtp_packet virtual method to process incoming
    * rtp packets. If the child returns a buffer without a valid timestamp,
    * the timestamp of @in will be applied to the result buffer and the
    * buffer will be pushed. If this function returns %NULL, nothing is
@@ -96,8 +97,21 @@
    * implementation can override. */
   gboolean (*handle_event) (GstRTPBaseDepayload * filter, GstEvent * event);
 
+  /* Optional. Same as the process virtual function, but slightly more
+   * efficient, since it is passed the rtp buffer structure that has already
+   * been mapped (with GST_MAP_READ) by the base class and thus does not have
+   * to be mapped again by the subclass. Can be used by the subclass to process
+   * incoming rtp packets. If the subclass returns a buffer without a valid
+   * timestamp, the timestamp of the input buffer will be applied to the result
+   * buffer and the output buffer will be pushed out. If this function returns
+   * %NULL, nothing is pushed out.
+   *
+   * Since: 1.6
+   */
+  GstBuffer * (*process_rtp_packet) (GstRTPBaseDepayload *base, GstRTPBuffer * rtp_buffer);
+
   /*< private >*/
-  gpointer _gst_reserved[GST_PADDING];
+  gpointer _gst_reserved[GST_PADDING - 1];
 };
 
 GType gst_rtp_base_depayload_get_type (void);
diff --git a/gst-libs/gst/rtp/gstrtpbuffer.c b/gst-libs/gst/rtp/gstrtpbuffer.c
index fe160ab..a61051e 100644
--- a/gst-libs/gst/rtp/gstrtpbuffer.c
+++ b/gst-libs/gst/rtp/gstrtpbuffer.c
@@ -787,9 +787,11 @@
   }
 
   if (changed) {
+    GstBuffer *buf = rtp->buffer;
+
     gst_rtp_buffer_unmap (rtp);
-    gst_buffer_remove_memory_range (rtp->buffer, pos, -1);
-    gst_rtp_buffer_map (rtp->buffer, GST_MAP_READWRITE, rtp);
+    gst_buffer_remove_memory_range (buf, pos, -1);
+    gst_rtp_buffer_map (buf, GST_MAP_READWRITE, rtp);
   }
 }
 
diff --git a/gst-libs/gst/rtsp/Makefile.in b/gst-libs/gst/rtsp/Makefile.in
index 8855c26..cd83bc0 100644
--- a/gst-libs/gst/rtsp/Makefile.in
+++ b/gst-libs/gst/rtsp/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -25,7 +25,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -89,9 +99,6 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-DIST_COMMON = $(top_srcdir)/common/gst-glib-gen.mak \
-	$(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(libgstrtspinclude_HEADERS)
 @HAVE_INTROSPECTION_TRUE@am__append_1 = $(BUILT_GIRSOURCES) $(typelibs_DATA)
 subdir = gst-libs/gst/rtsp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -130,6 +137,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(libgstrtspinclude_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -253,6 +262,8 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/common/gst-glib-gen.mak $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -621,7 +632,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst-libs/gst/rtsp/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst-libs/gst/rtsp/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -630,7 +640,7 @@
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/common/gst-glib-gen.mak:
+$(top_srcdir)/common/gst-glib-gen.mak $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -1084,6 +1094,8 @@
 	uninstall-nodist_libgstrtspincludeHEADERS \
 	uninstall-typelibsDATA
 
+.PRECIOUS: Makefile
+
 
 # these are all the rules generating the relevant files
 $(glib_gen_basename)-marshal.h: $(glib_gen_basename)-marshal.list
diff --git a/gst-libs/gst/rtsp/gstrtsptransport.h b/gst-libs/gst/rtsp/gstrtsptransport.h
index a217b43..8918fc5 100644
--- a/gst-libs/gst/rtsp/gstrtsptransport.h
+++ b/gst-libs/gst/rtsp/gstrtsptransport.h
@@ -45,6 +45,7 @@
 
 #include <gst/gstconfig.h>
 #include <gst/rtsp/gstrtspdefs.h>
+#include <gst/rtsp/gstrtsp-enumtypes.h>
 
 G_BEGIN_DECLS
 
diff --git a/gst-libs/gst/sdp/Makefile.in b/gst-libs/gst/sdp/Makefile.in
index 4a84dc8..5909c4a 100644
--- a/gst-libs/gst/sdp/Makefile.in
+++ b/gst-libs/gst/sdp/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -17,7 +17,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -82,8 +92,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = gst-libs/gst/sdp
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(libgstsdpinclude_HEADERS)
 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 \
@@ -120,6 +128,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(libgstsdpinclude_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -232,6 +242,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -564,7 +575,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst-libs/gst/sdp/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst-libs/gst/sdp/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -949,6 +959,8 @@
 	uninstall-girDATA uninstall-libLTLIBRARIES \
 	uninstall-libgstsdpincludeHEADERS uninstall-typelibsDATA
 
+.PRECIOUS: Makefile
+
 
 @HAVE_INTROSPECTION_TRUE@GstSdp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstsdp-@GST_API_VERSION@.la
 @HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
diff --git a/gst-libs/gst/tag/Makefile.in b/gst-libs/gst/tag/Makefile.in
index 19dcdfb..1e12129 100644
--- a/gst-libs/gst/tag/Makefile.in
+++ b/gst-libs/gst/tag/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -17,7 +17,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -83,9 +93,6 @@
 target_triplet = @target@
 EXTRA_PROGRAMS = mklangtables$(EXEEXT) mklicensestables$(EXEEXT)
 subdir = gst-libs/gst/tag
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(libgsttaginclude_HEADERS) \
-	$(noinst_HEADERS)
 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 \
@@ -122,6 +129,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(libgsttaginclude_HEADERS) \
+	$(noinst_HEADERS) $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -263,6 +272,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -625,7 +635,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst-libs/gst/tag/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst-libs/gst/tag/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -1159,6 +1168,8 @@
 	uninstall-libLTLIBRARIES uninstall-libgsttagincludeHEADERS \
 	uninstall-licensetransDATA uninstall-typelibsDATA
 
+.PRECIOUS: Makefile
+
 
 @HAVE_INTROSPECTION_TRUE@GstTag-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgsttag-@GST_API_VERSION@.la
 @HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am
index 72b436a..5d31fa1 100644
--- a/gst-libs/gst/video/Makefile.am
+++ b/gst-libs/gst/video/Makefile.am
@@ -4,7 +4,7 @@
 
 glib_enum_headers = video.h video-format.h video-color.h video-info.h video-dither.h \
 			colorbalance.h navigation.h video-chroma.h video-tile.h video-converter.h \
-			video-resampler.h
+			video-resampler.h video-frame.h video-scaler.h
 glib_enum_define = GST_VIDEO
 glib_gen_prefix = gst_video
 glib_gen_basename = video
diff --git a/gst-libs/gst/video/Makefile.in b/gst-libs/gst/video/Makefile.in
index 81f9200..3749eaa 100644
--- a/gst-libs/gst/video/Makefile.in
+++ b/gst-libs/gst/video/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -47,7 +47,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -111,11 +121,6 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-DIST_COMMON = $(top_srcdir)/common/orc.mak \
-	$(top_srcdir)/common/gst-glib-gen.mak $(srcdir)/Makefile.in \
-	$(srcdir)/Makefile.am $(top_srcdir)/depcomp \
-	$(libgstvideo_@GST_API_VERSION@include_HEADERS) \
-	$(noinst_HEADERS) TODO
 @HAVE_INTROSPECTION_TRUE@am__append_1 = $(BUILT_GIRSOURCES) $(typelibs_DATA)
 subdir = gst-libs/gst/video
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -154,6 +159,9 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am \
+	$(libgstvideo_@GST_API_VERSION@include_HEADERS) \
+	$(noinst_HEADERS) $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -305,6 +313,9 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/common/gst-glib-gen.mak \
+	$(top_srcdir)/common/orc.mak $(top_srcdir)/depcomp TODO
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -614,7 +625,7 @@
 cp_v_gen_0 = @echo "  CP     $@";
 glib_enum_headers = video.h video-format.h video-color.h video-info.h video-dither.h \
 			colorbalance.h navigation.h video-chroma.h video-tile.h video-converter.h \
-			video-resampler.h
+			video-resampler.h video-frame.h video-scaler.h
 
 glib_enum_define = GST_VIDEO
 glib_gen_prefix = gst_video
@@ -726,7 +737,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst-libs/gst/video/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst-libs/gst/video/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -735,7 +745,7 @@
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/common/orc.mak $(top_srcdir)/common/gst-glib-gen.mak:
+$(top_srcdir)/common/orc.mak $(top_srcdir)/common/gst-glib-gen.mak $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -1381,6 +1391,8 @@
 	uninstall-nodist_libgstvideo_@GST_API_VERSION@includeHEADERS \
 	uninstall-typelibsDATA
 
+.PRECIOUS: Makefile
+
 
 orc-update: tmp-orc.c $(ORC_SOURCE).h
 	$(top_srcdir)/common/gst-indent tmp-orc.c
diff --git a/gst-libs/gst/video/gstvideodecoder.c b/gst-libs/gst/video/gstvideodecoder.c
index fc7b8b7..f8a5869 100644
--- a/gst-libs/gst/video/gstvideodecoder.c
+++ b/gst-libs/gst/video/gstvideodecoder.c
@@ -25,12 +25,13 @@
 /**
  * SECTION:gstvideodecoder
  * @short_description: Base class for video decoders
- * @see_also: 
+ * @see_also:
  *
  * This base class is for video decoders turning encoded data into raw video
  * frames.
  *
- * The GstVideoDecoder base class and derived subclasses should cooperate as follows:
+ * The GstVideoDecoder base class and derived subclasses should cooperate as
+ * follows:
  * <orderedlist>
  * <listitem>
  *   <itemizedlist><title>Configuration</title>
@@ -46,7 +47,8 @@
  *     parameters require reconfiguration.
  *   </para></listitem>
  *   <listitem><para>
- *     Incoming data buffers are processed as needed, described in Data Processing below.
+ *     Incoming data buffers are processed as needed, described in Data
+ *     Processing below.
  *   </para></listitem>
  *   <listitem><para>
  *     GstVideoDecoder calls @stop at end of all processing.
@@ -62,15 +64,17 @@
  *       corresponding to and referred to as 'frames'.
  *     </para></listitem>
  *     <listitem><para>
- *       Each input frame is provided in turn to the subclass' @handle_frame callback.
+ *       Each input frame is provided in turn to the subclass' @handle_frame
+ *       callback.
  *       The ownership of the frame is given to the @handle_frame callback.
  *     </para></listitem>
  *     <listitem><para>
  *       If codec processing results in decoded data, the subclass should call
  *       @gst_video_decoder_finish_frame to have decoded data pushed.
- *       downstream. Otherwise, the subclass must call @gst_video_decoder_drop_frame, to
- *       allow the base class to do timestamp and offset tracking, and possibly to
- *       requeue the frame for a later attempt in the case of reverse playback.
+ *       downstream. Otherwise, the subclass must call
+ *       @gst_video_decoder_drop_frame, to allow the base class to do timestamp
+ *       and offset tracking, and possibly to requeue the frame for a later
+ *       attempt in the case of reverse playback.
  *     </para></listitem>
  *   </itemizedlist>
  * </listitem>
@@ -87,20 +91,21 @@
  *   <listitem>
  *     <itemizedlist><title>Seeking/Flushing</title>
  *     <listitem><para>
- *   When the pipeline is seeked or otherwise flushed, the subclass is informed via a call
- *   to its @reset callback, with the hard parameter set to true. This indicates the
- *   subclass should drop any internal data queues and timestamps and prepare for a fresh
- *   set of buffers to arrive for parsing and decoding.
+ *   When the pipeline is seeked or otherwise flushed, the subclass is
+ *   informed via a call to its @reset callback, with the hard parameter
+ *   set to true. This indicates the subclass should drop any internal data
+ *   queues and timestamps and prepare for a fresh set of buffers to arrive
+ *   for parsing and decoding.
  *     </para></listitem>
  *     </itemizedlist>
  *   </listitem>
  *   <listitem>
  *     <itemizedlist><title>End Of Stream</title>
  *     <listitem><para>
- *   At end-of-stream, the subclass @parse function may be called some final times with the 
- *   at_eos parameter set to true, indicating that the element should not expect any more data
- *   to be arriving, and it should parse and remaining frames and call
- *   gst_video_decoder_have_frame() if possible.
+ *   At end-of-stream, the subclass @parse function may be called some final
+ *   times with the at_eos parameter set to true, indicating that the element
+ *   should not expect any more data to be arriving, and it should parse and
+ *   remaining frames and call gst_video_decoder_have_frame() if possible.
  *     </para></listitem>
  *     </itemizedlist>
  *   </listitem>
@@ -125,26 +130,30 @@
  * should rather be left to upstream demuxer, parser or alike.  This simple
  * approach caters for seeking and duration reporting using estimated input
  * bitrates. To enable it, a subclass should call
- * @gst_video_decoder_set_estimate_rate to enable handling of incoming byte-streams.
+ * @gst_video_decoder_set_estimate_rate to enable handling of incoming
+ * byte-streams.
  *
  * The base class provides some support for reverse playback, in particular
  * in case incoming data is not packetized or upstream does not provide
- * fragments on keyframe boundaries.  However, the subclass should then be prepared
- * for the parsing and frame processing stage to occur separately (in normal
- * forward processing, the latter immediately follows the former),
- * The subclass also needs to ensure the parsing stage properly marks keyframes,
- * unless it knows the upstream elements will do so properly for incoming data.
+ * fragments on keyframe boundaries.  However, the subclass should then be
+ * prepared for the parsing and frame processing stage to occur separately
+ * (in normal forward processing, the latter immediately follows the former),
+ * The subclass also needs to ensure the parsing stage properly marks
+ * keyframes, unless it knows the upstream elements will do so properly for
+ * incoming data.
  *
  * The bare minimum that a functional subclass needs to implement is:
  * <itemizedlist>
  *   <listitem><para>Provide pad templates</para></listitem>
  *   <listitem><para>
- *      Inform the base class of output caps via @gst_video_decoder_set_output_state
+ *      Inform the base class of output caps via
+ *      @gst_video_decoder_set_output_state
  *   </para></listitem>
  *   <listitem><para>
  *      Parse input data, if it is not considered packetized from upstream
- *      Data will be provided to @parse which should invoke @gst_video_decoder_add_to_frame and
- *      @gst_video_decoder_have_frame to separate the data belonging to each video frame.
+ *      Data will be provided to @parse which should invoke
+ *      @gst_video_decoder_add_to_frame and @gst_video_decoder_have_frame to
+ *      separate the data belonging to each video frame.
  *   </para></listitem>
  *   <listitem><para>
  *      Accept data in @handle_frame and provide decoded results to
@@ -177,16 +186,17 @@
  * on whether forward or reverse playback is requested.
  *
  * Forward playback:
- *   * Incoming buffer -> @parse() -> add_to_frame()/have_frame() -> handle_frame() -> 
- *     push downstream
+ *   * Incoming buffer -> @parse() -> add_to_frame()/have_frame() ->
+ *     handle_frame() -> push downstream
  *
- * Reverse playback is more complicated, since it involves gathering incoming data regions
- * as we loop backwards through the upstream data. The processing concept (using incoming
- * buffers as containing one frame each to simplify things) is:
+ * Reverse playback is more complicated, since it involves gathering incoming
+ * data regions as we loop backwards through the upstream data. The processing
+ * concept (using incoming buffers as containing one frame each to simplify
+ * things) is:
  *
  * Upstream data we want to play:
  *  Buffer encoded order:  1  2  3  4  5  6  7  8  9  EOS
- *  Keyframe flag:            K        K        
+ *  Keyframe flag:            K        K
  *  Groupings:             AAAAAAA  BBBBBBB  CCCCCCC
  *
  * Input:
@@ -210,19 +220,20 @@
  * this:
  *
  *   while (gather)
- *     take head of queue and prepend to parse queue (this reverses the sequence,
- *     so parse queue is 7 -> 8 -> 9)
+ *     take head of queue and prepend to parse queue (this reverses the
+ *     sequence, so parse queue is 7 -> 8 -> 9)
  *
- *   Next, we process the parse queue, which now contains all un-parsed packets (including
- *   any leftover ones from the previous decode section)
+ *   Next, we process the parse queue, which now contains all un-parsed packets
+ *   (including any leftover ones from the previous decode section)
  *
  *   for each buffer now in the parse queue:
  *     Call the subclass parse function, prepending each resulting frame to
  *     the parse_gather queue. Buffers which precede the first one that
- *     produces a parsed frame are retained in the parse queue for re-processing on
- *     the next cycle of parsing.
+ *     produces a parsed frame are retained in the parse queue for
+ *     re-processing on the next cycle of parsing.
  *
- *   The parse_gather queue now contains frame objects ready for decoding, in reverse order.
+ *   The parse_gather queue now contains frame objects ready for decoding,
+ *   in reverse order.
  *   parse_gather: 9 -> 8 -> 7
  *
  *   while (parse_gather)
@@ -233,8 +244,8 @@
  *  Processing the decode queue results in frames with attached output buffers
  *  stored in the 'output_queue' ready for outputting in reverse order.
  *
- * After we flushed the gather queue and parsed it, we add 4 to the (now empty) gather queue.
- * We get the following situation:
+ * After we flushed the gather queue and parsed it, we add 4 to the (now empty)
+ * gather queue. We get the following situation:
  *
  *  gather queue:    4
  *  decode queue:    7  8  9
@@ -262,7 +273,7 @@
  *   output queue:
  *
  *    gather queue:    4
- *    decode queue:    
+ *    decode queue:
  *    output queue:    9  8  7  6  5
  *
  *   Now output all the frames in the output queue, picking a frame from the
@@ -287,7 +298,7 @@
  *  Decoded output:
  *
  *    gather queue:    1
- *    decode queue:    
+ *    decode queue:
  *    output queue:    4  3  2
  *
  *  Leftover buffer 1 cannot be decoded and must be discarded.
@@ -408,8 +419,17 @@
   gint64 min_latency;
   gint64 max_latency;
 
+  /* upstream stream tags (global tags are passed through as-is) */
+  GstTagList *upstream_tags;
+
+  /* subclass tags */
   GstTagList *tags;
+  GstTagMergeMode tags_merge_mode;
+
   gboolean tags_changed;
+
+  /* flags */
+  gboolean use_default_pad_acceptcaps;
 };
 
 static GstElementClass *parent_class = NULL;
@@ -439,6 +459,8 @@
 static GstFlowReturn gst_video_decoder_decode_frame (GstVideoDecoder * decoder,
     GstVideoCodecFrame * frame);
 
+static void gst_video_decoder_push_event_list (GstVideoDecoder * decoder,
+    GList * events);
 static GstClockTime gst_video_decoder_get_frame_duration (GstVideoDecoder *
     decoder, GstVideoCodecFrame * frame);
 static GstVideoCodecFrame *gst_video_decoder_new_frame (GstVideoDecoder *
@@ -468,6 +490,9 @@
 static gboolean gst_video_decoder_src_query_default (GstVideoDecoder * decoder,
     GstQuery * query);
 
+static gboolean gst_video_decoder_transform_meta_default (GstVideoDecoder *
+    decoder, GstVideoCodecFrame * frame, GstMeta * meta);
+
 /* we can't use G_DEFINE_ABSTRACT_TYPE because we need the klass in the _init
  * method to get to the padtemplates */
 GType
@@ -523,6 +548,7 @@
   klass->negotiate = gst_video_decoder_negotiate_default;
   klass->sink_query = gst_video_decoder_sink_query_default;
   klass->src_query = gst_video_decoder_src_query_default;
+  klass->transform_meta = gst_video_decoder_transform_meta_default;
 }
 
 static void
@@ -895,6 +921,32 @@
   return ret;
 }
 
+static GstEvent *
+gst_video_decoder_create_merged_tags_event (GstVideoDecoder * dec)
+{
+  GstTagList *merged_tags;
+
+  GST_LOG_OBJECT (dec, "upstream : %" GST_PTR_FORMAT, dec->priv->upstream_tags);
+  GST_LOG_OBJECT (dec, "decoder  : %" GST_PTR_FORMAT, dec->priv->tags);
+  GST_LOG_OBJECT (dec, "mode     : %d", dec->priv->tags_merge_mode);
+
+  merged_tags =
+      gst_tag_list_merge (dec->priv->upstream_tags, dec->priv->tags,
+      dec->priv->tags_merge_mode);
+
+  GST_DEBUG_OBJECT (dec, "merged   : %" GST_PTR_FORMAT, merged_tags);
+
+  if (merged_tags == NULL)
+    return NULL;
+
+  if (gst_tag_list_is_empty (merged_tags)) {
+    gst_tag_list_unref (merged_tags);
+    return NULL;
+  }
+
+  return gst_event_new_tag (merged_tags);
+}
+
 static gboolean
 gst_video_decoder_push_event (GstVideoDecoder * decoder, GstEvent * event)
 {
@@ -1093,9 +1145,14 @@
     /* Random 1280x720@30 for fixation */
     gst_structure_fixate_field_nearest_int (structure, "width", 1280);
     gst_structure_fixate_field_nearest_int (structure, "height", 720);
-    gst_structure_fixate_field_nearest_fraction (structure,
-        "pixel-aspect-ratio", 1, 1);
     gst_structure_fixate_field_nearest_fraction (structure, "framerate", 30, 1);
+    if (gst_structure_has_field (structure, "pixel-aspect-ratio")) {
+      gst_structure_fixate_field_nearest_fraction (structure,
+          "pixel-aspect-ratio", 1, 1);
+    } else {
+      gst_structure_set (structure, "pixel-aspect-ratio", GST_TYPE_FRACTION,
+          1, 1, NULL);
+    }
   }
   caps = gst_caps_fixate (caps);
   structure = gst_caps_get_structure (caps, 0);
@@ -1141,11 +1198,12 @@
 
       GST_DEBUG_OBJECT (decoder, "received STREAM_START. Clearing taglist");
       GST_VIDEO_DECODER_STREAM_LOCK (decoder);
-      /* Flush our merged taglist after a STREAM_START */
-      if (priv->tags)
-        gst_tag_list_unref (priv->tags);
-      priv->tags = NULL;
-      priv->tags_changed = FALSE;
+      /* Flush upstream tags after a STREAM_START */
+      if (priv->upstream_tags) {
+        gst_tag_list_unref (priv->upstream_tags);
+        priv->upstream_tags = NULL;
+        priv->tags_changed = TRUE;
+      }
       GST_VIDEO_DECODER_STREAM_UNLOCK (decoder);
 
       /* Forward STREAM_START immediately. Everything is drained after
@@ -1213,6 +1271,8 @@
     {
       GstFlowReturn flow_ret = GST_FLOW_OK;
       gboolean needs_reconfigure = FALSE;
+      GList *events;
+      GList *frame_events;
 
       flow_ret = gst_video_decoder_drain_out (decoder, FALSE);
       ret = (flow_ret == GST_FLOW_OK);
@@ -1238,8 +1298,19 @@
           gst_pad_mark_reconfigure (decoder->srcpad);
         }
       }
+
+      GST_DEBUG_OBJECT (decoder, "Pushing all pending serialized events"
+          " before the gap");
+      events = decoder->priv->pending_events;
+      frame_events = decoder->priv->current_frame_events;
+      decoder->priv->pending_events = NULL;
+      decoder->priv->current_frame_events = NULL;
+
       GST_VIDEO_DECODER_STREAM_UNLOCK (decoder);
 
+      gst_video_decoder_push_event_list (decoder, events);
+      gst_video_decoder_push_event_list (decoder, frame_events);
+
       /* Forward GAP immediately. Everything is drained after
        * the GAP event and we can forward this event immediately
        * now without having buffers out of order.
@@ -1344,10 +1415,18 @@
       gst_event_parse_tag (event, &tags);
 
       if (gst_tag_list_get_scope (tags) == GST_TAG_SCOPE_STREAM) {
-        gst_video_decoder_merge_tags (decoder, tags, GST_TAG_MERGE_REPLACE);
+        GST_VIDEO_DECODER_STREAM_LOCK (decoder);
+        if (priv->upstream_tags != tags) {
+          if (priv->upstream_tags)
+            gst_tag_list_unref (priv->upstream_tags);
+          priv->upstream_tags = gst_tag_list_ref (tags);
+          GST_INFO_OBJECT (decoder, "upstream tags: %" GST_PTR_FORMAT, tags);
+        }
         gst_event_unref (event);
-        event = NULL;
-        ret = TRUE;
+        event = gst_video_decoder_create_merged_tags_event (decoder);
+        GST_VIDEO_DECODER_STREAM_UNLOCK (decoder);
+        if (!event)
+          ret = TRUE;
       }
       break;
     }
@@ -1817,28 +1896,34 @@
       break;
     }
     case GST_QUERY_ACCEPT_CAPS:{
-      GstCaps *caps;
-      GstCaps *allowed_caps;
-      GstCaps *template_caps;
-      gboolean accept;
+      if (decoder->priv->use_default_pad_acceptcaps) {
+        res =
+            gst_pad_query_default (GST_VIDEO_DECODER_SINK_PAD (decoder),
+            GST_OBJECT_CAST (decoder), query);
+      } else {
+        GstCaps *caps;
+        GstCaps *allowed_caps;
+        GstCaps *template_caps;
+        gboolean accept;
 
-      gst_query_parse_accept_caps (query, &caps);
+        gst_query_parse_accept_caps (query, &caps);
 
-      template_caps = gst_pad_get_pad_template_caps (pad);
-      accept = gst_caps_is_subset (caps, template_caps);
-      gst_caps_unref (template_caps);
+        template_caps = gst_pad_get_pad_template_caps (pad);
+        accept = gst_caps_is_subset (caps, template_caps);
+        gst_caps_unref (template_caps);
 
-      if (accept) {
-        allowed_caps = gst_pad_query_caps (GST_VIDEO_DECODER_SINK_PAD (decoder),
-            caps);
+        if (accept) {
+          allowed_caps =
+              gst_pad_query_caps (GST_VIDEO_DECODER_SINK_PAD (decoder), caps);
 
-        accept = gst_caps_can_intersect (caps, allowed_caps);
+          accept = gst_caps_can_intersect (caps, allowed_caps);
 
-        gst_caps_unref (allowed_caps);
+          gst_caps_unref (allowed_caps);
+        }
+
+        gst_query_set_accept_caps_result (query, accept);
+        res = TRUE;
       }
-
-      gst_query_set_accept_caps_result (query, accept);
-      res = TRUE;
       break;
     }
     default:
@@ -2025,6 +2110,11 @@
     if (priv->tags)
       gst_tag_list_unref (priv->tags);
     priv->tags = NULL;
+    priv->tags_merge_mode = GST_TAG_MERGE_APPEND;
+    if (priv->upstream_tags) {
+      gst_tag_list_unref (priv->upstream_tags);
+      priv->upstream_tags = NULL;
+    }
     priv->tags_changed = FALSE;
     priv->reordered_output = FALSE;
 
@@ -2535,6 +2625,19 @@
 }
 
 static void
+gst_video_decoder_push_event_list (GstVideoDecoder * decoder, GList * events)
+{
+  GList *l;
+
+  /* events are stored in reverse order */
+  for (l = g_list_last (events); l; l = g_list_previous (l)) {
+    GST_LOG_OBJECT (decoder, "pushing %s event", GST_EVENT_TYPE_NAME (l->data));
+    gst_video_decoder_push_event (decoder, l->data);
+  }
+  g_list_free (events);
+}
+
+static void
 gst_video_decoder_prepare_finish_frame (GstVideoDecoder *
     decoder, GstVideoCodecFrame * frame, gboolean dropping)
 {
@@ -2575,21 +2678,10 @@
     decoder->priv->pending_events =
         g_list_concat (decoder->priv->pending_events, events);
   } else {
-    for (l = g_list_last (decoder->priv->pending_events); l;
-        l = g_list_previous (l)) {
-      GST_LOG_OBJECT (decoder, "pushing %s event",
-          GST_EVENT_TYPE_NAME (l->data));
-      gst_video_decoder_push_event (decoder, l->data);
-    }
-    g_list_free (decoder->priv->pending_events);
+    gst_video_decoder_push_event_list (decoder, decoder->priv->pending_events);
     decoder->priv->pending_events = NULL;
 
-    for (l = g_list_last (events); l; l = g_list_previous (l)) {
-      GST_LOG_OBJECT (decoder, "pushing %s event",
-          GST_EVENT_TYPE_NAME (l->data));
-      gst_video_decoder_push_event (decoder, l->data);
-    }
-    g_list_free (events);
+    gst_video_decoder_push_event_list (decoder, events);
   }
 
   /* Check if the data should not be displayed. For example altref/invisible
@@ -2834,6 +2926,62 @@
   return GST_FLOW_OK;
 }
 
+static gboolean
+gst_video_decoder_transform_meta_default (GstVideoDecoder *
+    decoder, GstVideoCodecFrame * frame, GstMeta * meta)
+{
+  const GstMetaInfo *info = meta->info;
+  const gchar *const *tags;
+
+  tags = gst_meta_api_type_get_tags (info->api);
+
+  if (!tags || (g_strv_length ((gchar **) tags) == 1
+          && gst_meta_api_type_has_tag (info->api,
+              g_quark_from_string (GST_META_TAG_VIDEO_STR))))
+    return TRUE;
+
+  return FALSE;
+}
+
+typedef struct
+{
+  GstVideoDecoder *decoder;
+  GstVideoCodecFrame *frame;
+} CopyMetaData;
+
+static gboolean
+foreach_metadata (GstBuffer * inbuf, GstMeta ** meta, gpointer user_data)
+{
+  CopyMetaData *data = user_data;
+  GstVideoDecoder *decoder = data->decoder;
+  GstVideoDecoderClass *klass = GST_VIDEO_DECODER_GET_CLASS (decoder);
+  GstVideoCodecFrame *frame = data->frame;
+  const GstMetaInfo *info = (*meta)->info;
+  gboolean do_copy = FALSE;
+
+  if (gst_meta_api_type_has_tag (info->api, _gst_meta_tag_memory)) {
+    /* never call the transform_meta with memory specific metadata */
+    GST_DEBUG_OBJECT (decoder, "not copying memory specific metadata %s",
+        g_type_name (info->api));
+    do_copy = FALSE;
+  } else if (klass->transform_meta) {
+    do_copy = klass->transform_meta (decoder, frame, *meta);
+    GST_DEBUG_OBJECT (decoder, "transformed metadata %s: copy: %d",
+        g_type_name (info->api), do_copy);
+  }
+
+  /* we only copy metadata when the subclass implemented a transform_meta
+   * function and when it returns %TRUE */
+  if (do_copy) {
+    GstMetaTransformCopy copy_data = { FALSE, 0, -1 };
+    GST_DEBUG_OBJECT (decoder, "copy metadata %s", g_type_name (info->api));
+    /* simply copy then */
+    info->transform_func (frame->output_buffer, *meta, inbuf,
+        _gst_meta_transform_copy, &copy_data);
+  }
+  return TRUE;
+}
+
 /**
  * gst_video_decoder_finish_frame:
  * @decoder: a #GstVideoDecoder
@@ -2855,6 +3003,7 @@
     GstVideoCodecFrame * frame)
 {
   GstFlowReturn ret = GST_FLOW_OK;
+  GstVideoDecoderClass *decoder_class = GST_VIDEO_DECODER_GET_CLASS (decoder);
   GstVideoDecoderPrivate *priv = decoder->priv;
   GstBuffer *output_buffer;
   gboolean needs_reconfigure = FALSE;
@@ -2879,9 +3028,14 @@
   gst_video_decoder_prepare_finish_frame (decoder, frame, FALSE);
   priv->processed++;
 
-  if (priv->tags && priv->tags_changed) {
-    gst_video_decoder_push_event (decoder,
-        gst_event_new_tag (gst_tag_list_ref (priv->tags)));
+  if (priv->tags_changed) {
+    GstEvent *tags_event;
+
+    tags_event = gst_video_decoder_create_merged_tags_event (decoder);
+
+    if (tags_event != NULL)
+      gst_video_decoder_push_event (decoder, tags_event);
+
     priv->tags_changed = FALSE;
   }
 
@@ -2908,6 +3062,19 @@
     priv->discont = FALSE;
   }
 
+  if (decoder_class->transform_meta) {
+    if (G_LIKELY (frame->input_buffer)) {
+      CopyMetaData data;
+
+      data.decoder = decoder;
+      data.frame = frame;
+      gst_buffer_foreach_meta (frame->input_buffer, foreach_metadata, &data);
+    } else {
+      GST_WARNING_OBJECT (decoder,
+          "Can't copy metadata because input frame disappeared");
+    }
+  }
+
   /* Get an additional ref to the buffer, which is going to be pushed
    * downstream, the original ref is owned by the frame
    *
@@ -2936,7 +3103,6 @@
   return ret;
 }
 
-
 /* With stream lock, takes the frame reference */
 static GstFlowReturn
 gst_video_decoder_clip_and_push_buf (GstVideoDecoder * decoder, GstBuffer * buf)
@@ -4102,11 +4268,13 @@
 /**
  * gst_video_decoder_merge_tags:
  * @decoder: a #GstVideoDecoder
- * @tags: a #GstTagList to merge
- * @mode: the #GstTagMergeMode to use
+ * @tags: (allow-none): a #GstTagList to merge, or NULL to unset
+ *     previously-set tags
+ * @mode: the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE
  *
- * Adds tags to so-called pending tags, which will be processed
- * before pushing out data downstream.
+ * Sets the audio decoder tags and how they should be merged with any
+ * upstream stream tags. This will override any tags previously-set
+ * with gst_audio_decoder_merge_tags().
  *
  * Note that this is provided for convenience, and the subclass is
  * not required to use this and can still do tag handling on its own.
@@ -4117,19 +4285,25 @@
 gst_video_decoder_merge_tags (GstVideoDecoder * decoder,
     const GstTagList * tags, GstTagMergeMode mode)
 {
-  GstTagList *otags;
-
   g_return_if_fail (GST_IS_VIDEO_DECODER (decoder));
   g_return_if_fail (tags == NULL || GST_IS_TAG_LIST (tags));
+  g_return_if_fail (tags == NULL || mode != GST_TAG_MERGE_UNDEFINED);
 
   GST_VIDEO_DECODER_STREAM_LOCK (decoder);
-  if (tags)
-    GST_DEBUG_OBJECT (decoder, "merging tags %" GST_PTR_FORMAT, tags);
-  otags = decoder->priv->tags;
-  decoder->priv->tags = gst_tag_list_merge (decoder->priv->tags, tags, mode);
-  if (otags)
-    gst_tag_list_unref (otags);
-  decoder->priv->tags_changed = TRUE;
+  if (decoder->priv->tags != tags) {
+    if (decoder->priv->tags) {
+      gst_tag_list_unref (decoder->priv->tags);
+      decoder->priv->tags = NULL;
+      decoder->priv->tags_merge_mode = GST_TAG_MERGE_APPEND;
+    }
+    if (tags) {
+      decoder->priv->tags = gst_tag_list_ref ((GstTagList *) tags);
+      decoder->priv->tags_merge_mode = mode;
+    }
+
+    GST_DEBUG_OBJECT (decoder, "set decoder tags to %" GST_PTR_FORMAT, tags);
+    decoder->priv->tags_changed = TRUE;
+  }
   GST_VIDEO_DECODER_STREAM_UNLOCK (decoder);
 }
 
@@ -4177,3 +4351,24 @@
   if (params)
     *params = decoder->priv->params;
 }
+
+/**
+ * gst_video_decoder_set_use_default_pad_acceptcaps:
+ * @decoder: a #GstVideoDecoder
+ * @use: if the default pad accept-caps query handling should be used
+ *
+ * Lets #GstVideoDecoder sub-classes decide if they want the sink pad
+ * to use the default pad query handler to reply to accept-caps queries.
+ *
+ * By setting this to true it is possible to further customize the default
+ * handler with %GST_PAD_SET_ACCEPT_INTERSECT and
+ * %GST_PAD_SET_ACCEPT_TEMPLATE
+ *
+ * Since: 1.6
+ */
+void
+gst_video_decoder_set_use_default_pad_acceptcaps (GstVideoDecoder * decoder,
+    gboolean use)
+{
+  decoder->priv->use_default_pad_acceptcaps = use;
+}
diff --git a/gst-libs/gst/video/gstvideodecoder.h b/gst-libs/gst/video/gstvideodecoder.h
index d9aa736..7622477 100644
--- a/gst-libs/gst/video/gstvideodecoder.h
+++ b/gst-libs/gst/video/gstvideodecoder.h
@@ -265,6 +265,11 @@
  *                  If not implemented, default returns
  *                  gst_video_decoder_proxy_getcaps
  *                  applied to sink template caps.
+ * @transform_meta: Optional. Transform the metadata on the input buffer to the
+ *                  output buffer. By default this method is copies all meta without
+ *                  tags and meta with only the "video" tag. subclasses can
+ *                  implement this method and return %TRUE if the metadata is to be
+ *                  copied. Since 1.6
  *
  * Subclasses can override any of the available virtual methods or not, as
  * needed. At minimum @handle_frame needs to be overridden, and @set_format
@@ -326,8 +331,12 @@
 
   GstFlowReturn (*drain)          (GstVideoDecoder *decoder);
 
+  gboolean      (*transform_meta) (GstVideoDecoder *decoder,
+                                   GstVideoCodecFrame *frame,
+                                   GstMeta * meta);
+
   /*< private >*/
-  void         *padding[GST_PADDING_LARGE-5];
+  void         *padding[GST_PADDING_LARGE-6];
 };
 
 GType    gst_video_decoder_get_type (void);
@@ -415,6 +424,8 @@
 						  GstCaps         * caps,
                                                   GstCaps         * filter);
 
+void             gst_video_decoder_set_use_default_pad_acceptcaps (GstVideoDecoder * decoder,
+                                                                   gboolean use);
 
 G_END_DECLS
 
diff --git a/gst-libs/gst/video/gstvideoencoder.c b/gst-libs/gst/video/gstvideoencoder.c
index ebeaa7a..c45bc7d 100644
--- a/gst-libs/gst/video/gstvideoencoder.c
+++ b/gst-libs/gst/video/gstvideoencoder.c
@@ -162,7 +162,13 @@
   GstAllocator *allocator;
   GstAllocationParams params;
 
+  /* upstream stream tags (global tags are passed through as-is) */
+  GstTagList *upstream_tags;
+
+  /* subclass tags */
   GstTagList *tags;
+  GstTagMergeMode tags_merge_mode;
+
   gboolean tags_changed;
 
   GstClockTime min_pts;
@@ -244,6 +250,9 @@
 static gboolean gst_video_encoder_src_query_default (GstVideoEncoder * encoder,
     GstQuery * query);
 
+static gboolean gst_video_encoder_transform_meta_default (GstVideoEncoder *
+    encoder, GstVideoCodecFrame * frame, GstMeta * meta);
+
 /* we can't use G_DEFINE_ABSTRACT_TYPE because we need the klass in the _init
  * method to get to the padtemplates */
 GType
@@ -307,6 +316,7 @@
   klass->negotiate = gst_video_encoder_negotiate_default;
   klass->sink_query = gst_video_encoder_sink_query_default;
   klass->src_query = gst_video_encoder_src_query_default;
+  klass->transform_meta = gst_video_encoder_transform_meta_default;
 }
 
 static GList *
@@ -361,9 +371,14 @@
       gst_video_codec_state_unref (priv->output_state);
     priv->output_state = NULL;
 
+    if (priv->upstream_tags) {
+      gst_tag_list_unref (priv->upstream_tags);
+      priv->upstream_tags = NULL;
+    }
     if (priv->tags)
       gst_tag_list_unref (priv->tags);
     priv->tags = NULL;
+    priv->tags_merge_mode = GST_TAG_MERGE_APPEND;
     priv->tags_changed = FALSE;
 
     g_list_foreach (priv->headers, (GFunc) gst_event_unref, NULL);
@@ -916,12 +931,43 @@
   return gst_pad_push_event (encoder->srcpad, event);
 }
 
+static GstEvent *
+gst_video_encoder_create_merged_tags_event (GstVideoEncoder * enc)
+{
+  GstTagList *merged_tags;
+
+  GST_LOG_OBJECT (enc, "upstream : %" GST_PTR_FORMAT, enc->priv->upstream_tags);
+  GST_LOG_OBJECT (enc, "encoder  : %" GST_PTR_FORMAT, enc->priv->tags);
+  GST_LOG_OBJECT (enc, "mode     : %d", enc->priv->tags_merge_mode);
+
+  merged_tags =
+      gst_tag_list_merge (enc->priv->upstream_tags, enc->priv->tags,
+      enc->priv->tags_merge_mode);
+
+  GST_DEBUG_OBJECT (enc, "merged   : %" GST_PTR_FORMAT, merged_tags);
+
+  if (merged_tags == NULL)
+    return NULL;
+
+  if (gst_tag_list_is_empty (merged_tags)) {
+    gst_tag_list_unref (merged_tags);
+    return NULL;
+  }
+
+  return gst_event_new_tag (merged_tags);
+}
+
 static inline void
 gst_video_encoder_check_and_push_tags (GstVideoEncoder * encoder)
 {
-  if (encoder->priv->tags && encoder->priv->tags_changed) {
-    gst_video_encoder_push_event (encoder,
-        gst_event_new_tag (gst_tag_list_ref (encoder->priv->tags)));
+  if (encoder->priv->tags_changed) {
+    GstEvent *tags_event;
+
+    tags_event = gst_video_encoder_create_merged_tags_event (encoder);
+
+    if (tags_event != NULL)
+      gst_video_encoder_push_event (encoder, tags_event);
+
     encoder->priv->tags_changed = FALSE;
   }
 }
@@ -1027,6 +1073,19 @@
       }
       break;
     }
+    case GST_EVENT_STREAM_START:
+    {
+      GST_VIDEO_ENCODER_STREAM_LOCK (encoder);
+      /* Flush upstream tags after a STREAM_START */
+      GST_DEBUG_OBJECT (encoder, "STREAM_START, clearing upstream tags");
+      if (encoder->priv->upstream_tags) {
+        gst_tag_list_unref (encoder->priv->upstream_tags);
+        encoder->priv->upstream_tags = NULL;
+        encoder->priv->tags_changed = TRUE;
+      }
+      GST_VIDEO_ENCODER_STREAM_UNLOCK (encoder);
+      break;
+    }
     case GST_EVENT_TAG:
     {
       GstTagList *tags;
@@ -1034,26 +1093,33 @@
       gst_event_parse_tag (event, &tags);
 
       if (gst_tag_list_get_scope (tags) == GST_TAG_SCOPE_STREAM) {
-        tags = gst_tag_list_copy (tags);
+        GST_VIDEO_ENCODER_STREAM_LOCK (encoder);
+        if (encoder->priv->upstream_tags != tags) {
+          tags = gst_tag_list_copy (tags);
 
-        /* FIXME: make generic based on GST_TAG_FLAG_ENCODED */
-        gst_tag_list_remove_tag (tags, GST_TAG_CODEC);
-        gst_tag_list_remove_tag (tags, GST_TAG_AUDIO_CODEC);
-        gst_tag_list_remove_tag (tags, GST_TAG_VIDEO_CODEC);
-        gst_tag_list_remove_tag (tags, GST_TAG_SUBTITLE_CODEC);
-        gst_tag_list_remove_tag (tags, GST_TAG_CONTAINER_FORMAT);
-        gst_tag_list_remove_tag (tags, GST_TAG_BITRATE);
-        gst_tag_list_remove_tag (tags, GST_TAG_NOMINAL_BITRATE);
-        gst_tag_list_remove_tag (tags, GST_TAG_MAXIMUM_BITRATE);
-        gst_tag_list_remove_tag (tags, GST_TAG_MINIMUM_BITRATE);
-        gst_tag_list_remove_tag (tags, GST_TAG_ENCODER);
-        gst_tag_list_remove_tag (tags, GST_TAG_ENCODER_VERSION);
+          /* FIXME: make generic based on GST_TAG_FLAG_ENCODED */
+          gst_tag_list_remove_tag (tags, GST_TAG_CODEC);
+          gst_tag_list_remove_tag (tags, GST_TAG_AUDIO_CODEC);
+          gst_tag_list_remove_tag (tags, GST_TAG_VIDEO_CODEC);
+          gst_tag_list_remove_tag (tags, GST_TAG_SUBTITLE_CODEC);
+          gst_tag_list_remove_tag (tags, GST_TAG_CONTAINER_FORMAT);
+          gst_tag_list_remove_tag (tags, GST_TAG_BITRATE);
+          gst_tag_list_remove_tag (tags, GST_TAG_NOMINAL_BITRATE);
+          gst_tag_list_remove_tag (tags, GST_TAG_MAXIMUM_BITRATE);
+          gst_tag_list_remove_tag (tags, GST_TAG_MINIMUM_BITRATE);
+          gst_tag_list_remove_tag (tags, GST_TAG_ENCODER);
+          gst_tag_list_remove_tag (tags, GST_TAG_ENCODER_VERSION);
 
-        gst_video_encoder_merge_tags (encoder, tags, GST_TAG_MERGE_REPLACE);
-        gst_tag_list_unref (tags);
+          if (encoder->priv->upstream_tags)
+            gst_tag_list_unref (encoder->priv->upstream_tags);
+          encoder->priv->upstream_tags = tags;
+          GST_INFO_OBJECT (encoder, "upstream tags: %" GST_PTR_FORMAT, tags);
+        }
         gst_event_unref (event);
-        event = NULL;
-        ret = TRUE;
+        event = gst_video_encoder_create_merged_tags_event (encoder);
+        GST_VIDEO_ENCODER_STREAM_UNLOCK (encoder);
+        if (!event)
+          ret = TRUE;
       }
       break;
     }
@@ -1800,6 +1866,62 @@
   gst_video_codec_frame_unref (frame);
 }
 
+static gboolean
+gst_video_encoder_transform_meta_default (GstVideoEncoder *
+    encoder, GstVideoCodecFrame * frame, GstMeta * meta)
+{
+  const GstMetaInfo *info = meta->info;
+  const gchar *const *tags;
+
+  tags = gst_meta_api_type_get_tags (info->api);
+
+  if (!tags || (g_strv_length ((gchar **) tags) == 1
+          && gst_meta_api_type_has_tag (info->api,
+              g_quark_from_string (GST_META_TAG_VIDEO_STR))))
+    return TRUE;
+
+  return FALSE;
+}
+
+typedef struct
+{
+  GstVideoEncoder *encoder;
+  GstVideoCodecFrame *frame;
+} CopyMetaData;
+
+static gboolean
+foreach_metadata (GstBuffer * inbuf, GstMeta ** meta, gpointer user_data)
+{
+  CopyMetaData *data = user_data;
+  GstVideoEncoder *encoder = data->encoder;
+  GstVideoEncoderClass *klass = GST_VIDEO_ENCODER_GET_CLASS (encoder);
+  GstVideoCodecFrame *frame = data->frame;
+  const GstMetaInfo *info = (*meta)->info;
+  gboolean do_copy = FALSE;
+
+  if (gst_meta_api_type_has_tag (info->api, _gst_meta_tag_memory)) {
+    /* never call the transform_meta with memory specific metadata */
+    GST_DEBUG_OBJECT (encoder, "not copying memory specific metadata %s",
+        g_type_name (info->api));
+    do_copy = FALSE;
+  } else if (klass->transform_meta) {
+    do_copy = klass->transform_meta (encoder, frame, *meta);
+    GST_DEBUG_OBJECT (encoder, "transformed metadata %s: copy: %d",
+        g_type_name (info->api), do_copy);
+  }
+
+  /* we only copy metadata when the subclass implemented a transform_meta
+   * function and when it returns %TRUE */
+  if (do_copy) {
+    GstMetaTransformCopy copy_data = { FALSE, 0, -1 };
+    GST_DEBUG_OBJECT (encoder, "copy metadata %s", g_type_name (info->api));
+    /* simply copy then */
+    info->transform_func (frame->output_buffer, *meta, inbuf,
+        _gst_meta_transform_copy, &copy_data);
+  }
+  return TRUE;
+}
+
 /**
  * gst_video_encoder_finish_frame:
  * @encoder: a #GstVideoEncoder
@@ -2046,6 +2168,19 @@
   if (encoder_class->pre_push)
     ret = encoder_class->pre_push (encoder, frame);
 
+  if (encoder_class->transform_meta) {
+    if (G_LIKELY (frame->input_buffer)) {
+      CopyMetaData data;
+
+      data.encoder = encoder;
+      data.frame = frame;
+      gst_buffer_foreach_meta (frame->input_buffer, foreach_metadata, &data);
+    } else {
+      GST_WARNING_OBJECT (encoder,
+          "Can't copy metadata because input frame disappeared");
+    }
+  }
+
   /* Get an additional ref to the buffer, which is going to be pushed
    * downstream, the original ref is owned by the frame */
   buffer = gst_buffer_ref (frame->output_buffer);
@@ -2271,11 +2406,13 @@
 /**
  * gst_video_encoder_merge_tags:
  * @encoder: a #GstVideoEncoder
- * @tags: a #GstTagList to merge
- * @mode: the #GstTagMergeMode to use
+ * @tags: (allow-none): a #GstTagList to merge, or NULL to unset
+ *     previously-set tags
+ * @mode: the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE
  *
- * Adds tags to so-called pending tags, which will be processed
- * before pushing out data downstream.
+ * Sets the video encoder tags and how they should be merged with any
+ * upstream stream tags. This will override any tags previously-set
+ * with gst_video_encoder_merge_tags().
  *
  * Note that this is provided for convenience, and the subclass is
  * not required to use this and can still do tag handling on its own.
@@ -2286,19 +2423,26 @@
 gst_video_encoder_merge_tags (GstVideoEncoder * encoder,
     const GstTagList * tags, GstTagMergeMode mode)
 {
-  GstTagList *otags;
-
   g_return_if_fail (GST_IS_VIDEO_ENCODER (encoder));
   g_return_if_fail (tags == NULL || GST_IS_TAG_LIST (tags));
+  g_return_if_fail (tags == NULL || mode != GST_TAG_MERGE_UNDEFINED);
 
   GST_VIDEO_ENCODER_STREAM_LOCK (encoder);
-  if (tags)
-    GST_DEBUG_OBJECT (encoder, "merging tags %" GST_PTR_FORMAT, tags);
-  otags = encoder->priv->tags;
-  encoder->priv->tags = gst_tag_list_merge (encoder->priv->tags, tags, mode);
-  if (otags)
-    gst_tag_list_unref (otags);
-  encoder->priv->tags_changed = TRUE;
+  if (encoder->priv->tags != tags) {
+    if (encoder->priv->tags) {
+      gst_tag_list_unref (encoder->priv->tags);
+      encoder->priv->tags = NULL;
+      encoder->priv->tags_merge_mode = GST_TAG_MERGE_APPEND;
+    }
+    if (tags) {
+      encoder->priv->tags = gst_tag_list_ref ((GstTagList *) tags);
+      encoder->priv->tags_merge_mode = mode;
+    }
+
+    GST_DEBUG_OBJECT (encoder, "setting encoder tags to %" GST_PTR_FORMAT,
+        tags);
+    encoder->priv->tags_changed = TRUE;
+  }
   GST_VIDEO_ENCODER_STREAM_UNLOCK (encoder);
 }
 
diff --git a/gst-libs/gst/video/gstvideoencoder.h b/gst-libs/gst/video/gstvideoencoder.h
index 5299062..ea70552 100644
--- a/gst-libs/gst/video/gstvideoencoder.h
+++ b/gst-libs/gst/video/gstvideoencoder.h
@@ -224,6 +224,11 @@
  *                  return TRUE if the query could be performed. Subclasses
  *                  should chain up to the parent implementation to invoke the
  *                  default handler. Since 1.4
+ * @transform_meta: Optional. Transform the metadata on the input buffer to the
+ *                  output buffer. By default this method is copies all meta without
+ *                  tags and meta with only the "video" tag. subclasses can
+ *                  implement this method and return %TRUE if the metadata is to be
+ *                  copied. Since 1.6
  *
  * Subclasses can override any of the available virtual methods or not, as
  * needed. At minimum @handle_frame needs to be overridden, and @set_format
@@ -281,8 +286,12 @@
   gboolean      (*src_query)      (GstVideoEncoder *encoder,
 				   GstQuery *query);
 
+  gboolean      (*transform_meta) (GstVideoEncoder *encoder,
+                                   GstVideoCodecFrame *frame,
+                                   GstMeta * meta);
+
   /*< private >*/
-  gpointer       _gst_reserved[GST_PADDING_LARGE-3];
+  gpointer       _gst_reserved[GST_PADDING_LARGE-4];
 };
 
 GType                gst_video_encoder_get_type (void);
diff --git a/gst-libs/gst/video/gstvideofilter.c b/gst-libs/gst/video/gstvideofilter.c
index 874b2e8..a91053e 100644
--- a/gst-libs/gst/video/gstvideofilter.c
+++ b/gst-libs/gst/video/gstvideofilter.c
@@ -351,9 +351,9 @@
 
   tags = gst_meta_api_type_get_tags (info->api);
 
-  if (tags && g_strv_length ((gchar **) tags) == 1
-      && gst_meta_api_type_has_tag (info->api,
-          g_quark_from_string (GST_META_TAG_VIDEO_STR)))
+  if (!tags || (g_strv_length ((gchar **) tags) == 1
+          && gst_meta_api_type_has_tag (info->api,
+              g_quark_from_string (GST_META_TAG_VIDEO_STR))))
     return TRUE;
 
   return GST_BASE_TRANSFORM_CLASS (parent_class)->transform_meta (trans, inbuf,
diff --git a/gst-libs/gst/video/gstvideometa.c b/gst-libs/gst/video/gstvideometa.c
index 789ed2f..30c259c 100644
--- a/gst-libs/gst/video/gstvideometa.c
+++ b/gst-libs/gst/video/gstvideometa.c
@@ -21,6 +21,27 @@
 
 #include <string.h>
 
+#ifndef GST_DISABLE_GST_DEBUG
+#define GST_CAT_DEFAULT ensure_debug_category()
+static GstDebugCategory *
+ensure_debug_category (void)
+{
+  static gsize cat_gonce = 0;
+
+  if (g_once_init_enter (&cat_gonce)) {
+    gsize cat_done;
+
+    cat_done = (gsize) _gst_debug_category_new ("videometa", 0, "videometa");
+
+    g_once_init_leave (&cat_gonce, cat_done);
+  }
+
+  return (GstDebugCategory *) cat_gonce;
+}
+#else
+#define ensure_debug_category() /* NOOP */
+#endif /* GST_DISABLE_GST_DEBUG */
+
 static gboolean
 gst_video_meta_transform (GstBuffer * dest, GstMeta * meta,
     GstBuffer * buffer, GQuark type, gpointer data)
@@ -59,6 +80,9 @@
       dmeta->map = smeta->map;
       dmeta->unmap = smeta->unmap;
     }
+  } else {
+    /* return FALSE, if transform type is not supported */
+    return FALSE;
   }
   return TRUE;
 }
@@ -347,6 +371,8 @@
   if (GST_META_TRANSFORM_IS_COPY (type)) {
     smeta = (GstVideoCropMeta *) meta;
     dmeta = gst_buffer_add_video_crop_meta (dest);
+    if (!dmeta)
+      return FALSE;
 
     GST_DEBUG ("copy crop metadata");
     dmeta->x = smeta->x;
@@ -359,6 +385,8 @@
 
     smeta = (GstVideoCropMeta *) meta;
     dmeta = gst_buffer_add_video_crop_meta (dest);
+    if (!dmeta)
+      return FALSE;
 
     ow = GST_VIDEO_INFO_WIDTH (trans->in_info);
     nw = GST_VIDEO_INFO_WIDTH (trans->out_info);
@@ -374,6 +402,9 @@
         dmeta->y);
     GST_DEBUG ("crop size   %dx%d -> %dx%d", smeta->width, smeta->height,
         dmeta->width, dmeta->height);
+  } else {
+    /* return FALSE, if transform type is not supported */
+    return FALSE;
   }
   return TRUE;
 }
@@ -484,6 +515,9 @@
       if (dmeta->user_data_copy)
         dmeta->user_data = dmeta->user_data_copy (dmeta->user_data);
     }
+  } else {
+    /* return FALSE, if transform type is not supported */
+    return FALSE;
   }
   return TRUE;
 }
@@ -606,6 +640,9 @@
     dmeta =
         gst_buffer_add_video_region_of_interest_meta_id (dest,
         smeta->roi_type, smeta->x, smeta->y, smeta->w, smeta->h);
+    if (!dmeta)
+      return FALSE;
+
     dmeta->id = smeta->id;
     dmeta->parent_id = smeta->parent_id;
   } else if (GST_VIDEO_META_TRANSFORM_IS_SCALE (type)) {
@@ -623,6 +660,9 @@
         gst_buffer_add_video_region_of_interest_meta_id (dest,
         smeta->roi_type, (smeta->x * nw) / ow, (smeta->y * nh) / oh,
         (smeta->w * nw) / ow, (smeta->h * nh) / oh);
+    if (!dmeta)
+      return FALSE;
+
     dmeta->id = smeta->id;
     dmeta->parent_id = smeta->parent_id;
 
@@ -630,6 +670,9 @@
         smeta->id, smeta->parent_id, smeta->x, smeta->y, dmeta->x, dmeta->y);
     GST_DEBUG ("region of interest size   %dx%d -> %dx%d", smeta->w, smeta->h,
         dmeta->w, dmeta->h);
+  } else {
+    /* return FALSE, if transform type is not supported */
+    return FALSE;
   }
   return TRUE;
 }
diff --git a/gst-libs/gst/video/gstvideopool.c b/gst-libs/gst/video/gstvideopool.c
index 6b9d7dd..4c98ddf 100644
--- a/gst-libs/gst/video/gstvideopool.c
+++ b/gst-libs/gst/video/gstvideopool.c
@@ -20,6 +20,10 @@
 #include "gst/video/gstvideometa.h"
 #include "gst/video/gstvideopool.h"
 
+
+GST_DEBUG_CATEGORY_STATIC (gst_video_pool_debug);
+#define GST_CAT_DEFAULT gst_video_pool_debug
+
 /**
  * SECTION:gstvideopool
  * @short_description: GstBufferPool for raw video buffers
@@ -277,6 +281,9 @@
   gstbufferpool_class->get_options = video_buffer_pool_get_options;
   gstbufferpool_class->set_config = video_buffer_pool_set_config;
   gstbufferpool_class->alloc_buffer = video_buffer_pool_alloc;
+
+  GST_DEBUG_CATEGORY_INIT (gst_video_pool_debug, "videopool", 0,
+      "videopool object");
 }
 
 static void
diff --git a/gst-libs/gst/video/video-chroma.c b/gst-libs/gst/video/video-chroma.c
index 337c974..0996f7a 100644
--- a/gst-libs/gst/video/video-chroma.c
+++ b/gst-libs/gst/video/video-chroma.c
@@ -27,6 +27,7 @@
 #include "video-orc.h"
 #include "video-format.h"
 
+
 /**
  * SECTION:gstvideochroma
  * @short_description: Functions and utility object for operating on chroma video planes
@@ -39,6 +40,28 @@
  *
  */
 
+#ifndef GST_DISABLE_GST_DEBUG
+#define GST_CAT_DEFAULT ensure_debug_category()
+static GstDebugCategory *
+ensure_debug_category (void)
+{
+  static gsize cat_gonce = 0;
+
+  if (g_once_init_enter (&cat_gonce)) {
+    gsize cat_done;
+
+    cat_done = (gsize) _gst_debug_category_new ("video-chroma", 0,
+        "video-chroma object");
+
+    g_once_init_leave (&cat_gonce, cat_done);
+  }
+
+  return (GstDebugCategory *) cat_gonce;
+}
+#else
+#define ensure_debug_category() /* NOOP */
+#endif /* GST_DISABLE_GST_DEBUG */
+
 typedef struct
 {
   const gchar *name;
diff --git a/gst-libs/gst/video/video-color.c b/gst-libs/gst/video/video-color.c
index 8892e92..519962d 100644
--- a/gst-libs/gst/video/video-color.c
+++ b/gst-libs/gst/video/video-color.c
@@ -29,6 +29,28 @@
 
 #include "video-color.h"
 
+#ifndef GST_DISABLE_GST_DEBUG
+#define GST_CAT_DEFAULT ensure_debug_category()
+static GstDebugCategory *
+ensure_debug_category (void)
+{
+  static gsize cat_gonce = 0;
+
+  if (g_once_init_enter (&cat_gonce)) {
+    gsize cat_done;
+
+    cat_done = (gsize) _gst_debug_category_new ("video-color", 0,
+        "video-color object");
+
+    g_once_init_leave (&cat_gonce, cat_done);
+  }
+
+  return (GstDebugCategory *) cat_gonce;
+}
+#else
+#define ensure_debug_category() /* NOOP */
+#endif /* GST_DISABLE_GST_DEBUG */
+
 typedef struct
 {
   const gchar *name;
diff --git a/gst-libs/gst/video/video-converter.c b/gst-libs/gst/video/video-converter.c
index 2fd5c64..31d51e4 100644
--- a/gst-libs/gst/video/video-converter.c
+++ b/gst-libs/gst/video/video-converter.c
@@ -95,6 +95,29 @@
  *         9 : a -> b -> c -> d -> e* -> f* -> g* -> h -> i -> j -> k
  *        10 : a -> b -> c -> d -> e* -> f* -> g* -> h -> i -> j -> k
  */
+
+#ifndef GST_DISABLE_GST_DEBUG
+#define GST_CAT_DEFAULT ensure_debug_category()
+static GstDebugCategory *
+ensure_debug_category (void)
+{
+  static gsize cat_gonce = 0;
+
+  if (g_once_init_enter (&cat_gonce)) {
+    gsize cat_done;
+
+    cat_done = (gsize) _gst_debug_category_new ("video-converter", 0,
+        "video-converter object");
+
+    g_once_init_leave (&cat_gonce, cat_done);
+  }
+
+  return (GstDebugCategory *) cat_gonce;
+}
+#else
+#define ensure_debug_category() /* NOOP */
+#endif /* GST_DISABLE_GST_DEBUG */
+
 typedef struct _GstLineCache GstLineCache;
 
 #define SCALE    (8)
diff --git a/gst-libs/gst/video/video-frame.h b/gst-libs/gst/video/video-frame.h
index 27d5e44..020d6e1 100644
--- a/gst-libs/gst/video/video-frame.h
+++ b/gst-libs/gst/video/video-frame.h
@@ -30,7 +30,7 @@
  * GstVideoFrameFlags:
  * @GST_VIDEO_FRAME_FLAG_NONE: no flags
  * @GST_VIDEO_FRAME_FLAG_INTERLACED: The video frame is interlaced. In mixed
- *           interlace-mode, this flags specifies if the frame is interlace or
+ *           interlace-mode, this flag specifies if the frame is interlaced or
  *           progressive.
  * @GST_VIDEO_FRAME_FLAG_TFF: The video frame has the top field first
  * @GST_VIDEO_FRAME_FLAG_RFF: The video frame has the repeat flag
diff --git a/gst-libs/gst/video/video-info.c b/gst-libs/gst/video/video-info.c
index 0aa9ebb..20090d4 100644
--- a/gst-libs/gst/video/video-info.c
+++ b/gst-libs/gst/video/video-info.c
@@ -29,6 +29,83 @@
 #include "video-info.h"
 #include "video-tile.h"
 
+#ifndef GST_DISABLE_GST_DEBUG
+#define GST_CAT_DEFAULT ensure_debug_category()
+static GstDebugCategory *
+ensure_debug_category (void)
+{
+  static gsize cat_gonce = 0;
+
+  if (g_once_init_enter (&cat_gonce)) {
+    gsize cat_done;
+
+    cat_done = (gsize) _gst_debug_category_new ("video-info", 0,
+        "video-info structure");
+
+    g_once_init_leave (&cat_gonce, cat_done);
+  }
+
+  return (GstDebugCategory *) cat_gonce;
+}
+#else
+#define ensure_debug_category() /* NOOP */
+#endif /* GST_DISABLE_GST_DEBUG */
+
+/**
+ * gst_video_info_copy:
+ * @info: a #GstVideoInfo
+ *
+ * Copy a GstVideoInfo structure.
+ *
+ * Returns: a new #GstVideoInfo. free with gst_video_info_free.
+ *
+ * Since: 1.6
+ */
+GstVideoInfo *
+gst_video_info_copy (const GstVideoInfo * info)
+{
+  return g_slice_dup (GstVideoInfo, info);
+}
+
+/**
+ * gst_video_info_free:
+ * @info: a #GstVideoInfo
+ *
+ * Free a GstVideoInfo structure previously allocated with gst_video_info_new()
+ * or gst_video_info_copy().
+ *
+ * Since: 1.6
+ */
+void
+gst_video_info_free (GstVideoInfo * info)
+{
+  g_slice_free (GstVideoInfo, info);
+}
+
+G_DEFINE_BOXED_TYPE (GstVideoInfo, gst_video_info,
+    (GBoxedCopyFunc) gst_video_info_copy, (GBoxedFreeFunc) gst_video_info_free);
+
+/**
+ * gst_video_info_new:
+ *
+ * Allocate a new #GstVideoInfo that is also initialized with
+ * gst_video_info_init().
+ *
+ * Returns: a new #GstVideoInfo. free with gst_video_info_free().
+ *
+ * Since: 1.6
+ */
+GstVideoInfo *
+gst_video_info_new (void)
+{
+  GstVideoInfo *info;
+
+  info = g_slice_new (GstVideoInfo);
+  gst_video_info_init (info);
+
+  return info;
+}
+
 static int fill_planes (GstVideoInfo * info);
 
 /**
@@ -611,8 +688,6 @@
         cr_h = GST_ROUND_UP_2 (cr_h);
       info->offset[2] = info->offset[1] + info->stride[1] * cr_h;
       info->size = info->offset[2] + info->stride[2] * cr_h;
-      GST_DEBUG ("%d %d %d", GST_VIDEO_INFO_IS_INTERLACED (info),
-          (int) info->offset[2], (int) info->size);
       break;
     case GST_VIDEO_FORMAT_Y41B:
       info->stride[0] = GST_ROUND_UP_4 (width);
diff --git a/gst-libs/gst/video/video-info.h b/gst-libs/gst/video/video-info.h
index d1d2611..102328f 100644
--- a/gst-libs/gst/video/video-info.h
+++ b/gst-libs/gst/video/video-info.h
@@ -287,6 +287,9 @@
   } ABI;
 };
 
+#define GST_TYPE_VIDEO_INFO              (gst_video_info_get_type ())
+GType gst_video_info_get_type            (void);
+
 /* general info */
 #define GST_VIDEO_INFO_FORMAT(i)         (GST_VIDEO_FORMAT_INFO_FORMAT((i)->finfo))
 #define GST_VIDEO_INFO_NAME(i)           (GST_VIDEO_FORMAT_INFO_NAME((i)->finfo))
@@ -335,26 +338,29 @@
 #define GST_VIDEO_INFO_COMP_PSTRIDE(i,c) GST_VIDEO_FORMAT_INFO_PSTRIDE((i)->finfo,(c))
 #define GST_VIDEO_INFO_COMP_POFFSET(i,c) GST_VIDEO_FORMAT_INFO_POFFSET((i)->finfo,(c))
 
-void         gst_video_info_init        (GstVideoInfo *info);
+GstVideoInfo * gst_video_info_new         (void);
+void           gst_video_info_init        (GstVideoInfo *info);
+GstVideoInfo * gst_video_info_copy        (const GstVideoInfo *info);
+void           gst_video_info_free        (GstVideoInfo *info);
 
-void         gst_video_info_set_format  (GstVideoInfo *info, GstVideoFormat format,
-                                         guint width, guint height);
+void           gst_video_info_set_format  (GstVideoInfo *info, GstVideoFormat format,
+                                           guint width, guint height);
 
-gboolean     gst_video_info_from_caps   (GstVideoInfo *info, const GstCaps  * caps);
+gboolean       gst_video_info_from_caps   (GstVideoInfo *info, const GstCaps  * caps);
 
-GstCaps *    gst_video_info_to_caps     (GstVideoInfo *info);
+GstCaps *      gst_video_info_to_caps     (GstVideoInfo *info);
 
-gboolean     gst_video_info_convert     (GstVideoInfo *info,
-                                         GstFormat     src_format,
-                                         gint64        src_value,
-                                         GstFormat     dest_format,
-                                         gint64       *dest_value);
-gboolean     gst_video_info_is_equal    (const GstVideoInfo *info,
-                     const GstVideoInfo *other);
+gboolean       gst_video_info_convert     (GstVideoInfo *info,
+                                           GstFormat     src_format,
+                                           gint64        src_value,
+                                           GstFormat     dest_format,
+                                           gint64       *dest_value);
+gboolean       gst_video_info_is_equal    (const GstVideoInfo *info,
+                                           const GstVideoInfo *other);
 
 #include <gst/video/video.h>
 
-void         gst_video_info_align       (GstVideoInfo * info, GstVideoAlignment * align);
+void           gst_video_info_align       (GstVideoInfo * info, GstVideoAlignment * align);
 
 
 G_END_DECLS
diff --git a/gst-libs/gst/video/video-orc-dist.c b/gst-libs/gst/video/video-orc-dist.c
index 215cb05..71838d2 100644
--- a/gst-libs/gst/video/video-orc-dist.c
+++ b/gst-libs/gst/video/video-orc-dist.c
@@ -12545,7 +12545,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 31, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 98, 105, 108, 105, 110, 101, 97, 114, 95,
-        117,
+            117,
         51, 50, 11, 4, 4, 12, 4, 4, 16, 4, 16, 4, 51, 0, 4, 24,
         25, 2, 0,
       };
@@ -22038,18 +22038,14 @@
 _backup_video_orc_matrix8 (OrcExecutor * ORC_RESTRICT ex)
 {
   _custom_video_orc_matrix8 (ex->arrays[ORC_VAR_D1], ex->arrays[ORC_VAR_S1],
-      (ex->
-          params[ORC_VAR_P1] & 0xffffffff) |
-      ((orc_uint64) (ex->params[ORC_VAR_T1]) << 32),
-      (ex->
-          params[ORC_VAR_P2] & 0xffffffff) |
-      ((orc_uint64) (ex->params[ORC_VAR_T2]) << 32),
-      (ex->
-          params[ORC_VAR_P3] & 0xffffffff) |
-      ((orc_uint64) (ex->params[ORC_VAR_T3]) << 32),
-      (ex->
-          params[ORC_VAR_P4] & 0xffffffff) |
-      ((orc_uint64) (ex->params[ORC_VAR_T4]) << 32), ex->n);
+      (ex->params[ORC_VAR_P1] & 0xffffffff) | ((orc_uint64) (ex->
+              params[ORC_VAR_T1]) << 32),
+      (ex->params[ORC_VAR_P2] & 0xffffffff) | ((orc_uint64) (ex->
+              params[ORC_VAR_T2]) << 32),
+      (ex->params[ORC_VAR_P3] & 0xffffffff) | ((orc_uint64) (ex->
+              params[ORC_VAR_T3]) << 32),
+      (ex->params[ORC_VAR_P4] & 0xffffffff) | ((orc_uint64) (ex->
+              params[ORC_VAR_T4]) << 32), ex->n);
 }
 
 void
@@ -24383,7 +24379,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 31, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 116, 97, 112, 115,
-        95,
+            95,
         117, 56, 11, 4, 4, 12, 1, 1, 12, 2, 2, 20, 2, 150, 32, 4,
         176, 0, 32, 5, 2, 0,
       };
@@ -24535,7 +24531,7 @@
       static const orc_uint8 bc[] = {
         1, 7, 9, 34, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101,
         115, 97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 97, 100, 100,
-        116,
+            116,
         97, 112, 115, 95, 117, 56, 11, 4, 4, 12, 1, 1, 12, 2, 2, 20,
         2, 20, 4, 150, 32, 4, 176, 33, 32, 5, 103, 0, 0, 33, 2, 0,
 
@@ -24691,7 +24687,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 31, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 115, 99, 97, 108, 101, 116, 97, 112, 115,
-        95,
+            95,
         117, 56, 11, 1, 1, 12, 4, 4, 14, 4, 255, 15, 0, 0, 14, 4,
         12, 0, 0, 0, 20, 2, 20, 4, 103, 33, 4, 16, 125, 33, 33, 17,
         166, 32, 33, 160, 0, 32, 2, 0,
@@ -24828,7 +24824,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 34, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 116, 97, 112, 115,
-        95,
+            95,
         117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 12, 2, 2, 20, 2,
         150, 32, 4, 89, 0, 32, 5, 2, 0,
       };
@@ -24980,7 +24976,7 @@
       static const orc_uint8 bc[] = {
         1, 7, 9, 37, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101,
         115, 97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 97, 100, 100,
-        116,
+            116,
         97, 112, 115, 95, 117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 12,
         2, 2, 20, 2, 150, 32, 4, 89, 32, 32, 5, 70, 0, 0, 32, 2,
         0,
@@ -25199,7 +25195,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 35, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 116, 97, 112, 115,
-        51,
+            51,
         95, 117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 12, 1, 1, 12,
         1, 1, 12, 2, 2, 12, 2, 2, 12, 2, 2, 20, 2, 20, 2, 150,
         32, 4, 89, 32, 32, 7, 150, 33, 5, 89, 33, 33, 8, 70, 32, 32,
@@ -25445,7 +25441,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 38, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 97, 100, 100, 116,
-        97,
+            97,
         112, 115, 51, 95, 117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 12,
         1, 1, 12, 1, 1, 12, 2, 2, 12, 2, 2, 12, 2, 2, 20, 2,
         20, 2, 150, 32, 4, 89, 32, 32, 7, 150, 33, 5, 89, 33, 33, 8,
@@ -25733,7 +25729,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 43, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 97, 100, 100, 115,
-        99,
+            99,
         97, 108, 101, 116, 97, 112, 115, 51, 95, 117, 56, 95, 108, 113, 11, 1,
         1, 12, 1, 1, 12, 1, 1, 12, 1, 1, 12, 2, 2, 12, 2, 2,
         12, 2, 2, 12, 2, 2, 14, 2, 32, 0, 0, 0, 14, 2, 6, 0,
@@ -25912,7 +25908,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 34, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 115, 99, 97, 108, 101, 116, 97, 112, 115,
-        95,
+            95,
         117, 56, 95, 108, 113, 11, 1, 1, 12, 2, 2, 14, 2, 32, 0, 0,
         0, 14, 2, 6, 0, 0, 0, 20, 2, 70, 32, 4, 16, 94, 32, 32,
         17, 160, 0, 32, 2, 0,
@@ -26052,7 +26048,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 32, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 116, 97, 112, 115,
-        95,
+            95,
         117, 49, 54, 11, 4, 4, 12, 2, 2, 12, 2, 2, 20, 4, 20, 4,
         154, 32, 4, 153, 33, 5, 120, 0, 32, 33, 2, 0,
       };
@@ -26213,7 +26209,7 @@
       static const orc_uint8 bc[] = {
         1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101,
         115, 97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 97, 100, 100,
-        116,
+            116,
         97, 112, 115, 95, 117, 49, 54, 11, 4, 4, 12, 2, 2, 12, 2, 2,
         20, 4, 20, 4, 154, 32, 4, 153, 33, 5, 120, 32, 32, 33, 103, 0,
         0, 32, 2, 0,
@@ -26365,7 +26361,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 32, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 115, 99, 97, 108, 101, 116, 97, 112, 115,
-        95,
+            95,
         117, 49, 54, 11, 2, 2, 12, 4, 4, 14, 4, 255, 15, 0, 0, 14,
         4, 12, 0, 0, 0, 20, 4, 103, 32, 4, 16, 125, 32, 32, 17, 166,
         0, 32, 2, 0,
@@ -26495,7 +26491,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 31, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 116, 97, 112, 115,
-        95,
+            95,
         117, 56, 11, 4, 4, 12, 1, 1, 16, 2, 20, 2, 150, 32, 4, 176,
         0, 32, 24, 2, 0,
       };
@@ -26634,7 +26630,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 34, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 97, 100, 100, 116,
-        97,
+            97,
         112, 115, 95, 117, 56, 11, 4, 4, 12, 1, 1, 16, 2, 20, 2, 20,
         4, 150, 32, 4, 176, 33, 32, 24, 103, 0, 0, 33, 2, 0,
       };
@@ -26764,7 +26760,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 32, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 116, 97, 112, 115,
-        95,
+            95,
         117, 49, 54, 11, 4, 4, 12, 2, 2, 16, 2, 20, 4, 154, 32, 4,
         120, 0, 32, 24, 2, 0,
       };
@@ -26909,7 +26905,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 35, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 97, 100, 100, 116,
-        97,
+            97,
         112, 115, 95, 117, 49, 54, 11, 4, 4, 12, 2, 2, 16, 2, 20, 4,
         20, 4, 154, 32, 4, 153, 33, 24, 120, 32, 32, 33, 103, 0, 0, 32,
         2, 0,
@@ -27042,7 +27038,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 34, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 116, 97, 112, 115,
-        95,
+            95,
         117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 16, 2, 20, 2, 150,
         32, 4, 89, 0, 32, 24, 2, 0,
       };
@@ -27275,7 +27271,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 35, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 116, 97, 112, 115,
-        52,
+            52,
         95, 117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 12, 1, 1, 12,
         1, 1, 12, 1, 1, 16, 2, 16, 2, 16, 2, 16, 2, 20, 2, 20,
         2, 150, 32, 4, 89, 32, 32, 24, 150, 33, 5, 89, 33, 33, 25, 70,
@@ -27448,7 +27444,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 37, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 97, 100, 100, 116,
-        97,
+            97,
         112, 115, 95, 117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 16, 2,
         20, 2, 150, 32, 4, 89, 32, 32, 24, 70, 0, 0, 32, 2, 0,
       };
@@ -27695,7 +27691,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 38, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 97, 100, 100, 116,
-        97,
+            97,
         112, 115, 52, 95, 117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 12,
         1, 1, 12, 1, 1, 12, 1, 1, 16, 2, 16, 2, 16, 2, 16, 2,
         20, 2, 20, 2, 150, 32, 4, 89, 32, 32, 24, 150, 33, 5, 89, 33,
@@ -28014,7 +28010,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 43, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 97, 100, 100, 115,
-        99,
+            99,
         97, 108, 101, 116, 97, 112, 115, 52, 95, 117, 56, 95, 108, 113, 11, 1,
         1, 12, 1, 1, 12, 1, 1, 12, 1, 1, 12, 1, 1, 12, 2, 2,
         14, 2, 32, 0, 0, 0, 14, 2, 6, 0, 0, 0, 16, 2, 16, 2,
@@ -30238,7 +30234,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 30, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 100, 105, 116,
         104, 101, 114, 95, 110, 111, 110, 101, 95, 52, 117, 56, 95, 109, 97,
-        115,
+            115,
         107, 11, 4, 4, 16, 4, 20, 4, 115, 32, 24, 21, 2, 37, 0, 32,
         0, 2, 0,
       };
@@ -30548,7 +30544,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 33, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 100, 105, 116,
         104, 101, 114, 95, 118, 101, 114, 116, 101, 114, 114, 95, 52, 117, 56,
-        95,
+            95,
         109, 97, 115, 107, 11, 4, 4, 11, 8, 8, 18, 8, 20, 8, 20, 8,
         134, 32, 24, 21, 2, 150, 33, 0, 21, 2, 70, 33, 1, 33, 21, 2,
         73, 1, 32, 33, 21, 2, 74, 33, 32, 33, 21, 2, 160, 0, 33, 2,
@@ -30731,7 +30727,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 29, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 100, 105, 116,
         104, 101, 114, 95, 102, 115, 95, 109, 117, 108, 97, 100, 100, 95, 117,
-        56,
+            56,
         11, 2, 2, 14, 4, 4, 0, 0, 0, 14, 2, 5, 0, 0, 0, 14,
         4, 8, 0, 0, 0, 14, 2, 3, 0, 0, 0, 20, 2, 20, 2, 83,
         33, 0, 16, 89, 33, 33, 17, 70, 32, 33, 0, 83, 33, 0, 18, 89,
@@ -30863,7 +30859,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 27, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 100, 105, 116,
         104, 101, 114, 95, 111, 114, 100, 101, 114, 101, 100, 95, 117, 56, 11,
-        1,
+            1,
         1, 12, 1, 1, 35, 0, 0, 4, 2, 0,
       };
       p = orc_program_new_from_static_bytecode (bc);
@@ -31026,7 +31022,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 33, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 100, 105, 116,
         104, 101, 114, 95, 111, 114, 100, 101, 114, 101, 100, 95, 52, 117, 56,
-        95,
+            95,
         109, 97, 115, 107, 11, 4, 4, 12, 8, 8, 18, 8, 20, 8, 20, 8,
         134, 33, 24, 21, 2, 150, 32, 0, 21, 2, 70, 32, 32, 4, 21, 2,
         74, 32, 33, 32, 21, 2, 160, 0, 32, 2, 0,
@@ -31186,7 +31182,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 34, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 100, 105, 116,
         104, 101, 114, 95, 111, 114, 100, 101, 114, 101, 100, 95, 52, 117, 49,
-        54,
+            54,
         95, 109, 97, 115, 107, 11, 8, 8, 12, 8, 8, 18, 8, 20, 8, 20,
         8, 134, 33, 24, 21, 2, 70, 32, 0, 4, 21, 2, 74, 0, 33, 32,
         2, 0,
diff --git a/gst-libs/gst/video/video-overlay-composition.c b/gst-libs/gst/video/video-overlay-composition.c
index 2c57596..b256b99 100644
--- a/gst-libs/gst/video/video-overlay-composition.c
+++ b/gst-libs/gst/video/video-overlay-composition.c
@@ -215,8 +215,14 @@
       dmeta =
           (GstVideoOverlayCompositionMeta *) gst_buffer_add_meta (dest,
           GST_VIDEO_OVERLAY_COMPOSITION_META_INFO, NULL);
+      if (!dmeta)
+        return FALSE;
+
       dmeta->overlay = gst_video_overlay_composition_ref (smeta->overlay);
     }
+  } else {
+    /* return FALSE, if transform type is not supported */
+    return FALSE;
   }
   return TRUE;
 }
diff --git a/gst-libs/gst/video/video-resampler.c b/gst-libs/gst/video/video-resampler.c
index 3024e54..07dddc9 100644
--- a/gst-libs/gst/video/video-resampler.c
+++ b/gst-libs/gst/video/video-resampler.c
@@ -27,6 +27,28 @@
 
 #include "video-resampler.h"
 
+#ifndef GST_DISABLE_GST_DEBUG
+#define GST_CAT_DEFAULT ensure_debug_category()
+static GstDebugCategory *
+ensure_debug_category (void)
+{
+  static gsize cat_gonce = 0;
+
+  if (g_once_init_enter (&cat_gonce)) {
+    gsize cat_done;
+
+    cat_done = (gsize) _gst_debug_category_new ("video-resampler", 0,
+        "video-resampler object");
+
+    g_once_init_leave (&cat_gonce, cat_done);
+  }
+
+  return (GstDebugCategory *) cat_gonce;
+}
+#else
+#define ensure_debug_category() /* NOOP */
+#endif /* GST_DISABLE_GST_DEBUG */
+
 /**
  * SECTION:gstvideoresampler
  * @short_description: Utility structure for resampler information
@@ -36,6 +58,7 @@
  *
  */
 
+
 #define DEFAULT_OPT_CUBIC_B (1.0 / 3.0)
 #define DEFAULT_OPT_CUBIC_C (1.0 / 3.0)
 
diff --git a/gst-libs/gst/video/video-scaler.c b/gst-libs/gst/video/video-scaler.c
index 4bc156c..18bd09c 100644
--- a/gst-libs/gst/video/video-scaler.c
+++ b/gst-libs/gst/video/video-scaler.c
@@ -43,6 +43,29 @@
 #include "video-orc.h"
 #include "video-scaler.h"
 
+#ifndef GST_DISABLE_GST_DEBUG
+#define GST_CAT_DEFAULT ensure_debug_category()
+static GstDebugCategory *
+ensure_debug_category (void)
+{
+  static gsize cat_gonce = 0;
+
+  if (g_once_init_enter (&cat_gonce)) {
+    gsize cat_done;
+
+    cat_done = (gsize) _gst_debug_category_new ("video-scaler", 0,
+        "video-scaler object");
+
+    g_once_init_leave (&cat_gonce, cat_done);
+  }
+
+  return (GstDebugCategory *) cat_gonce;
+}
+
+#else
+#define ensure_debug_category() /* NOOP */
+#endif /* GST_DISABLE_GST_DEBUG */
+
 #define SCALE_U8          12
 #define SCALE_U8_ROUND    (1 << (SCALE_U8 -1))
 #define SCALE_U8_LQ       6
@@ -1145,12 +1168,12 @@
     gint ic;
 
     if ((i & 1) == scale->out_y_offset) {
-      ic = CLAMP (i / 2, 0, y_scale->resampler.out_size - 1);
+      ic = MIN (i / 2, y_scale->resampler.out_size - 1);
       offset[i] = y_scale->resampler.offset[ic] * 2 + scale->in_y_offset;
       memcpy (taps + i * max_taps, y_scale->resampler.taps +
           y_scale->resampler.phase[ic] * max_taps, max_taps * sizeof (gdouble));
     } else {
-      ic = CLAMP (i / 4, 0, uv_scale->resampler.out_size - 1);
+      ic = MIN (i / 4, uv_scale->resampler.out_size - 1);
       offset[i] = uv_scale->resampler.offset[ic] * 4 + (i & 3);
       memcpy (taps + i * max_taps, uv_scale->resampler.taps +
           uv_scale->resampler.phase[ic] * max_taps,
@@ -1316,14 +1339,15 @@
     gpointer src, gpointer dest, guint dest_offset, guint width)
 {
   gint n_elems;
-  GstVideoScalerHFunc func;
+  GstVideoScalerHFunc func = NULL;
 
   g_return_if_fail (scale != NULL);
   g_return_if_fail (src != NULL);
   g_return_if_fail (dest != NULL);
   g_return_if_fail (dest_offset + width <= scale->resampler.out_size);
 
-  if (!get_functions (scale, NULL, format, &func, NULL, &n_elems, &width))
+  if (!get_functions (scale, NULL, format, &func, NULL, &n_elems, &width)
+      || func == NULL)
     goto no_func;
 
   if (scale->tmpwidth < width)
@@ -1357,20 +1381,22 @@
     gpointer src_lines[], gpointer dest, guint dest_offset, guint width)
 {
   gint n_elems;
-  GstVideoScalerVFunc func;
+  GstVideoScalerVFunc func = NULL;
 
   g_return_if_fail (scale != NULL);
   g_return_if_fail (src_lines != NULL);
   g_return_if_fail (dest != NULL);
   g_return_if_fail (dest_offset < scale->resampler.out_size);
 
-  if (!get_functions (NULL, scale, format, NULL, &func, &n_elems, &width))
+  if (!get_functions (NULL, scale, format, NULL, &func, &n_elems, &width)
+      || func == NULL)
     goto no_func;
 
   if (scale->tmpwidth < width)
     realloc_tmplines (scale, n_elems, width);
 
   func (scale, src_lines, dest, dest_offset, width, n_elems);
+
   return;
 
 no_func:
@@ -1410,8 +1436,8 @@
     guint width, guint height)
 {
   gint n_elems;
-  GstVideoScalerHFunc hfunc;
-  GstVideoScalerVFunc vfunc;
+  GstVideoScalerHFunc hfunc = NULL;
+  GstVideoScalerVFunc vfunc = NULL;
   gint i;
 
   g_return_if_fail (src != NULL);
diff --git a/gst-libs/gst/video/videooverlay.c b/gst-libs/gst/video/videooverlay.c
index ad7da93..cd232ba 100644
--- a/gst-libs/gst/video/videooverlay.c
+++ b/gst-libs/gst/video/videooverlay.c
@@ -312,6 +312,9 @@
 
 #include "videooverlay.h"
 
+GST_DEBUG_CATEGORY_STATIC (gst_video_overlay_debug);
+#define GST_CAT_DEFAULT gst_video_overlay_debug
+
 GType
 gst_video_overlay_get_type (void)
 {
@@ -332,6 +335,9 @@
 
     gst_video_overlay_type = g_type_register_static (G_TYPE_INTERFACE,
         "GstVideoOverlay", &gst_video_overlay_info, 0);
+
+    GST_DEBUG_CATEGORY_INIT (gst_video_overlay_debug, "videooverlay", 0,
+        "videooverlay interface");
   }
 
   return gst_video_overlay_type;
diff --git a/gst-plugins-base.doap b/gst-plugins-base.doap
index 15a2994..014267a 100644
--- a/gst-plugins-base.doap
+++ b/gst-plugins-base.doap
@@ -36,6 +36,16 @@
 
  <release>
   <Version>
+   <revision>1.5.90</revision>
+   <branch>1.5</branch>
+   <name></name>
+   <created>2015-08-19</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.5.90.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.5.2</revision>
    <branch>1.5</branch>
    <name></name>
diff --git a/gst-plugins-base.spec b/gst-plugins-base.spec
index 0befe47..9a7aa5d 100644
--- a/gst-plugins-base.spec
+++ b/gst-plugins-base.spec
@@ -4,7 +4,7 @@
 %define gst_minver  0.11.0
 
 Name: 		%{gstreamer}-plugins-base
-Version: 	1.5.2
+Version: 	1.5.90
 Release: 	1.gst
 Summary: 	GStreamer streaming media framework plug-ins
 
diff --git a/gst/Makefile.in b/gst/Makefile.in
index 9bc5995..dd8ddf2 100644
--- a/gst/Makefile.in
+++ b/gst/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -19,7 +19,17 @@
 # descending into all subdirectories a second time, but only after the first
 # (parallel) run has finished, so it should go right through the second time.
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -83,8 +93,6 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-DIST_COMMON = $(top_srcdir)/common/parallel-subdirs.mak \
-	$(srcdir)/Makefile.in $(srcdir)/Makefile.am
 subdir = gst
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -122,6 +130,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -180,6 +189,8 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/common/parallel-subdirs.mak
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -516,7 +527,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -525,7 +535,7 @@
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/common/parallel-subdirs.mak:
+$(top_srcdir)/common/parallel-subdirs.mak $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -812,6 +822,8 @@
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 .PHONY: independent-subdirs $(SUBDIRS)
 
diff --git a/gst/adder/Makefile.in b/gst/adder/Makefile.in
index 7f49180..3a96e8d 100644
--- a/gst/adder/Makefile.in
+++ b/gst/adder/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -38,7 +38,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -102,8 +112,6 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-DIST_COMMON = $(top_srcdir)/common/orc.mak $(srcdir)/Makefile.in \
-	$(srcdir)/Makefile.am $(top_srcdir)/depcomp $(noinst_HEADERS)
 subdir = gst/adder
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -141,6 +149,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -252,6 +262,8 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/common/orc.mak \
+	$(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -584,7 +596,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst/adder/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst/adder/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -593,7 +604,7 @@
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/common/orc.mak:
+$(top_srcdir)/common/orc.mak $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -909,6 +920,8 @@
 	tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 orc-update: tmp-orc.c $(ORC_SOURCE).h
 	$(top_srcdir)/common/gst-indent tmp-orc.c
diff --git a/gst/adder/gstadder.h b/gst/adder/gstadder.h
index c21a5e3..a6a0c5e 100644
--- a/gst/adder/gstadder.h
+++ b/gst/adder/gstadder.h
@@ -34,7 +34,6 @@
 #define GST_IS_ADDER(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ADDER))
 #define GST_ADDER_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass) ,GST_TYPE_ADDER,GstAdderClass))
 #define GST_IS_ADDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass) ,GST_TYPE_ADDER))
-#define GST_ADDER_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj) ,GST_TYPE_ADDER,GstAdderClass))
 
 typedef struct _GstAdder             GstAdder;
 typedef struct _GstAdderClass        GstAdderClass;
diff --git a/gst/app/Makefile.in b/gst/app/Makefile.in
index 707c138..b864578 100644
--- a/gst/app/Makefile.in
+++ b/gst/app/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,8 +90,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = gst/app
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 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 \
@@ -118,6 +126,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -224,6 +233,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -540,7 +550,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst/app/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst/app/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -849,6 +858,8 @@
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/gst/audioconvert/Makefile.in b/gst/audioconvert/Makefile.in
index 109bcda..15546be 100644
--- a/gst/audioconvert/Makefile.in
+++ b/gst/audioconvert/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -38,7 +38,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -102,8 +112,6 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-DIST_COMMON = $(top_srcdir)/common/orc.mak $(srcdir)/Makefile.in \
-	$(srcdir)/Makefile.am $(top_srcdir)/depcomp $(noinst_HEADERS)
 subdir = gst/audioconvert
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -141,6 +149,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -258,6 +268,8 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/common/orc.mak \
+	$(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -603,7 +615,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst/audioconvert/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst/audioconvert/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -612,7 +623,7 @@
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/common/orc.mak:
+$(top_srcdir)/common/orc.mak $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -960,6 +971,8 @@
 	tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 orc-update: tmp-orc.c $(ORC_SOURCE).h
 	$(top_srcdir)/common/gst-indent tmp-orc.c
diff --git a/gst/audioconvert/gstaudioconvert.c b/gst/audioconvert/gstaudioconvert.c
index 21fae6e..634fd46 100644
--- a/gst/audioconvert/gstaudioconvert.c
+++ b/gst/audioconvert/gstaudioconvert.c
@@ -876,9 +876,9 @@
 
   tags = gst_meta_api_type_get_tags (info->api);
 
-  if (tags && g_strv_length ((gchar **) tags) == 1
-      && gst_meta_api_type_has_tag (info->api,
-          g_quark_from_string (GST_META_TAG_AUDIO_STR)))
+  if (!tags || (g_strv_length ((gchar **) tags) == 1
+          && gst_meta_api_type_has_tag (info->api,
+              g_quark_from_string (GST_META_TAG_AUDIO_STR))))
     return TRUE;
 
   return FALSE;
diff --git a/gst/audiorate/Makefile.in b/gst/audiorate/Makefile.in
index 9a1889a..5778713 100644
--- a/gst/audiorate/Makefile.in
+++ b/gst/audiorate/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = gst/audiorate
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS)
 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 \
@@ -119,6 +127,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -226,6 +236,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -545,7 +556,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst/audiorate/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst/audiorate/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -854,6 +864,8 @@
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/gst/audioresample/Makefile.in b/gst/audioresample/Makefile.in
index a3fdf0b..b740887 100644
--- a/gst/audioresample/Makefile.in
+++ b/gst/audioresample/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = gst/audioresample
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS) README
 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 \
@@ -119,6 +127,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -232,6 +242,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -582,7 +593,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst/audioresample/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst/audioresample/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -915,6 +925,8 @@
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/gst/audioresample/gstaudioresample.c b/gst/audioresample/gstaudioresample.c
index 8e1f197..30825a6 100644
--- a/gst/audioresample/gstaudioresample.c
+++ b/gst/audioresample/gstaudioresample.c
@@ -1259,9 +1259,9 @@
 
   tags = gst_meta_api_type_get_tags (info->api);
 
-  if (tags && g_strv_length ((gchar **) tags) == 1
-      && gst_meta_api_type_has_tag (info->api,
-          g_quark_from_string (GST_META_TAG_AUDIO_STR)))
+  if (!tags || (g_strv_length ((gchar **) tags) == 1
+          && gst_meta_api_type_has_tag (info->api,
+              g_quark_from_string (GST_META_TAG_AUDIO_STR))))
     return TRUE;
 
   return FALSE;
diff --git a/gst/audiotestsrc/Makefile.in b/gst/audiotestsrc/Makefile.in
index e68b6cc..65a6d51 100644
--- a/gst/audiotestsrc/Makefile.in
+++ b/gst/audiotestsrc/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = gst/audiotestsrc
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS)
 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 \
@@ -119,6 +127,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -228,6 +238,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -548,7 +559,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst/audiotestsrc/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst/audiotestsrc/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -857,6 +867,8 @@
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/gst/encoding/Makefile.in b/gst/encoding/Makefile.in
index 14db7fd..585ceeb 100644
--- a/gst/encoding/Makefile.in
+++ b/gst/encoding/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -24,7 +24,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -88,9 +98,6 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-DIST_COMMON = $(top_srcdir)/common/gst-glib-gen.mak \
-	$(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS)
 subdir = gst/encoding
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -128,6 +135,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -238,6 +247,8 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/common/gst-glib-gen.mak $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -570,7 +581,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst/encoding/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst/encoding/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -579,7 +589,7 @@
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/common/gst-glib-gen.mak:
+$(top_srcdir)/common/gst-glib-gen.mak $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -904,6 +914,8 @@
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # these are all the rules generating the relevant files
 $(glib_gen_basename)-marshal.h: $(glib_gen_basename)-marshal.list
diff --git a/gst/gio/Makefile.in b/gst/gio/Makefile.in
index cdbd6c9..bbb3ecb 100644
--- a/gst/gio/Makefile.in
+++ b/gst/gio/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -18,7 +18,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -83,8 +93,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = gst/gio
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS)
 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 \
@@ -121,6 +129,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -232,6 +242,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -569,7 +580,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst/gio/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst/gio/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -926,6 +936,8 @@
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/gst/playback/Makefile.in b/gst/playback/Makefile.in
index 76e1e98..4a7bcd1 100644
--- a/gst/playback/Makefile.in
+++ b/gst/playback/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = gst/playback
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS)
 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 \
@@ -119,6 +127,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -242,6 +252,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -593,7 +604,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst/playback/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst/playback/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -994,6 +1004,8 @@
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/gst/playback/gstdecodebin2.c b/gst/playback/gstdecodebin2.c
index 1e58ff4..85a2ed1 100644
--- a/gst/playback/gstdecodebin2.c
+++ b/gst/playback/gstdecodebin2.c
@@ -309,6 +309,8 @@
 static void caps_notify_cb (GstPad * pad, GParamSpec * unused,
     GstDecodeChain * chain);
 
+static void flush_chain (GstDecodeChain * chain, gboolean flushing);
+static void flush_group (GstDecodeGroup * group, gboolean flushing);
 static GstPad *find_sink_pad (GstElement * element);
 static GstStateChangeReturn gst_decode_bin_change_state (GstElement * element,
     GstStateChange transition);
@@ -2015,6 +2017,54 @@
   return FALSE;
 }
 
+static GstPadProbeReturn
+demuxer_source_pad_probe (GstPad * pad, GstPadProbeInfo * info,
+    gpointer user_data)
+{
+  GstEvent *event = GST_PAD_PROBE_INFO_EVENT (info);
+  GstDecodeGroup *group = (GstDecodeGroup *) user_data;
+  GstDecodeChain *parent_chain = group->parent;
+
+  GST_DEBUG_OBJECT (pad, "Saw event %s", GST_EVENT_TYPE_NAME (event));
+  /* Check if we are the active group, if not we need to proxy the flush
+   * events to the other groups (of which at least one is exposed, ensuring
+   * flushing properly propagates downstream of decodebin */
+  if (parent_chain->active_group == group)
+    return GST_PAD_PROBE_OK;
+
+  switch (GST_EVENT_TYPE (event)) {
+    case GST_EVENT_FLUSH_START:
+    case GST_EVENT_FLUSH_STOP:
+    {
+      GList *tmp;
+      GST_DEBUG_OBJECT (pad, "Proxying flush events to inactive groups");
+      /* Proxy to active group */
+      for (tmp = parent_chain->active_group->reqpads; tmp; tmp = tmp->next) {
+        GstPad *reqpad = (GstPad *) tmp->data;
+        gst_pad_send_event (reqpad, gst_event_ref (event));
+      }
+      /* Proxy to other non-active groups (except ourself) */
+      for (tmp = parent_chain->next_groups; tmp; tmp = tmp->next) {
+        GList *tmp2;
+        GstDecodeGroup *tmpgroup = (GstDecodeGroup *) tmp->data;
+        if (tmpgroup != group) {
+          for (tmp2 = tmpgroup->reqpads; tmp2; tmp2 = tmp2->next) {
+            GstPad *reqpad = (GstPad *) tmp2->data;
+            gst_pad_send_event (reqpad, gst_event_ref (event));
+          }
+        }
+      }
+      flush_chain (parent_chain,
+          GST_EVENT_TYPE (event) == GST_EVENT_FLUSH_START);
+    }
+      break;
+    default:
+      break;
+  }
+
+  return GST_PAD_PROBE_OK;
+}
+
 /* connect_pad:
  *
  * Try to connect the given pad to an element created from one of the factories,
@@ -2048,6 +2098,10 @@
         "is a demuxer, connecting the pad through multiqueue '%s'",
         GST_OBJECT_NAME (chain->parent->multiqueue));
 
+    /* Set a flush-start/-stop probe on the downstream events */
+    gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_EVENT_FLUSH,
+        demuxer_source_pad_probe, chain->parent, NULL);
+
     decode_pad_set_target (dpad, NULL);
     if (!(mqpad = gst_decode_group_control_demuxer_pad (chain->parent, pad)))
       goto beach;
@@ -2545,7 +2599,8 @@
     gst_object_unref (mqpad);
 
   if (error_details)
-    *deadend_details = g_string_free (error_details, (error_details->len == 0));
+    *deadend_details = g_string_free (error_details, (error_details->len == 0
+            || res));
   else
     *deadend_details = NULL;
 
@@ -2852,6 +2907,81 @@
   EXPOSE_UNLOCK (dbin);
 }
 
+static GstPadProbeReturn
+sink_pad_event_probe (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
+{
+  GstDecodeGroup *group = (GstDecodeGroup *) user_data;
+  GstEvent *event = GST_PAD_PROBE_INFO_EVENT (info);
+  GstPad *peer = gst_pad_get_peer (pad);
+  GstPadProbeReturn proberet = GST_PAD_PROBE_OK;
+
+  GST_DEBUG_OBJECT (pad, "Got upstream event %s", GST_EVENT_TYPE_NAME (event));
+
+  if (peer == NULL) {
+    GST_DEBUG_OBJECT (pad, "We are unlinked !");
+    if (group->parent && group->parent->next_groups) {
+      GstDecodeGroup *last_group =
+          g_list_last (group->parent->next_groups)->data;
+      GST_DEBUG_OBJECT (pad, "We could send the event to another group (%p)",
+          last_group);
+      /* Grab another sinkpad for that last group through which we will forward this event */
+      if (last_group->reqpads) {
+        GstPad *sinkpad = (GstPad *) last_group->reqpads->data;
+        GstPad *otherpeer = gst_pad_get_peer (sinkpad);
+        if (otherpeer) {
+          GST_DEBUG_OBJECT (otherpeer, "Attempting to forward event");
+          if (gst_pad_send_event (otherpeer, gst_event_ref (event))) {
+            proberet = GST_PAD_PROBE_HANDLED;
+          }
+          gst_object_unref (otherpeer);
+        }
+      } else
+        GST_DEBUG_OBJECT (pad, "No request pads, can't forward event");
+    }
+  } else
+    gst_object_unref (peer);
+
+  return proberet;
+}
+
+static GstPadProbeReturn
+sink_pad_query_probe (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
+{
+  GstDecodeGroup *group = (GstDecodeGroup *) user_data;
+  GstPad *peer = gst_pad_get_peer (pad);
+  GstQuery *query = GST_PAD_PROBE_INFO_QUERY (info);
+  GstPadProbeReturn proberet = GST_PAD_PROBE_OK;
+
+  GST_DEBUG_OBJECT (pad, "Got upstream query %s", GST_QUERY_TYPE_NAME (query));
+
+  if (peer == NULL) {
+    GST_DEBUG_OBJECT (pad, "We are unlinked !");
+    if (group->parent && group->parent->next_groups) {
+      GstDecodeGroup *last_group =
+          g_list_last (group->parent->next_groups)->data;
+      GST_DEBUG_OBJECT (pad, "We could send the query to another group");
+      /* Grab another sinkpad for that last group through which we will forward this event */
+      if (last_group->reqpads) {
+        GstPad *sinkpad = (GstPad *) last_group->reqpads->data;
+        GstPad *otherpeer = gst_pad_get_peer (sinkpad);
+        if (otherpeer) {
+          GST_DEBUG_OBJECT (otherpeer, "Attempting to forward query");
+          if (gst_pad_query (otherpeer, query)) {
+            proberet = GST_PAD_PROBE_HANDLED;
+          } else
+            GST_DEBUG ("FAILURE");
+          gst_object_unref (otherpeer);
+        } else
+          GST_DEBUG_OBJECT (sinkpad, "request pad not connected ??");
+      } else
+        GST_DEBUG_OBJECT (pad, "No request pads ???");
+    }
+  } else
+    gst_object_unref (peer);
+
+  return proberet;
+}
+
 static void
 pad_removed_cb (GstElement * element, GstPad * pad, GstDecodeChain * chain)
 {
@@ -3421,7 +3551,7 @@
     }
   }
 
-  GST_DEBUG_OBJECT (group->dbin, "%s group %p", (hide ? "Hided" : "Freed"),
+  GST_DEBUG_OBJECT (group->dbin, "%s group %p", (hide ? "Hid" : "Freed"),
       group);
   if (!hide)
     g_slice_free (GstDecodeGroup, group);
@@ -3674,6 +3804,11 @@
         sinkpad);
     goto error;
   }
+  gst_pad_add_probe (sinkpad, GST_PAD_PROBE_TYPE_EVENT_UPSTREAM,
+      sink_pad_event_probe, group, NULL);
+  gst_pad_add_probe (sinkpad, GST_PAD_PROBE_TYPE_QUERY_UPSTREAM,
+      sink_pad_query_probe, group, NULL);
+
   CHAIN_MUTEX_LOCK (group->parent);
   group->reqpads = g_list_prepend (group->reqpads, gst_object_ref (sinkpad));
   CHAIN_MUTEX_UNLOCK (group->parent);
@@ -3765,6 +3900,68 @@
   return complete;
 }
 
+/* Flushing group/chains */
+static void
+flush_group (GstDecodeGroup * group, gboolean flushing)
+{
+  GList *tmp;
+
+  GST_DEBUG ("group %p flushing:%d", group, flushing);
+
+  if (group->drained == flushing)
+    return;
+  for (tmp = group->children; tmp; tmp = tmp->next) {
+    GstDecodeChain *chain = (GstDecodeChain *) tmp->data;
+    flush_chain (chain, flushing);
+  }
+  GST_DEBUG ("Setting group %p to drained:%d", group, flushing);
+  group->drained = flushing;
+}
+
+static void
+flush_chain (GstDecodeChain * chain, gboolean flushing)
+{
+  GList *tmp;
+  GstDecodeBin *dbin = chain->dbin;
+
+  GST_DEBUG_OBJECT (dbin, "chain %p (pad %s:%s) flushing:%d", chain,
+      GST_DEBUG_PAD_NAME (chain->pad), flushing);
+  if (chain->drained == flushing)
+    return;
+  /* if unflushing, check if we should switch to last group */
+  if (flushing == FALSE && chain->next_groups) {
+    GstDecodeGroup *target_group =
+        (GstDecodeGroup *) g_list_last (chain->next_groups)->data;
+    gst_decode_chain_start_free_hidden_groups_thread (chain);
+    /* Hide active group (we're sure it's not that one we'll be using) */
+    GST_DEBUG_OBJECT (dbin, "Switching from active group %p to group %p",
+        chain->active_group, target_group);
+    gst_decode_group_hide (chain->active_group);
+    chain->old_groups = g_list_prepend (chain->old_groups, chain->active_group);
+    chain->active_group = target_group;
+    /* Hide all groups but the target_group */
+    for (tmp = chain->next_groups; tmp; tmp = tmp->next) {
+      GstDecodeGroup *group = (GstDecodeGroup *) tmp->data;
+      if (group != target_group) {
+        gst_decode_group_hide (group);
+        chain->old_groups = g_list_prepend (chain->old_groups, group);
+      }
+    }
+    /* Clear next groups */
+    g_list_free (chain->next_groups);
+    chain->next_groups = NULL;
+  }
+  /* Mark all groups as flushing */
+  if (chain->active_group)
+    flush_group (chain->active_group, flushing);
+  for (tmp = chain->next_groups; tmp; tmp = tmp->next) {
+    GstDecodeGroup *group = (GstDecodeGroup *) tmp->data;
+    flush_group (group, flushing);
+  }
+  GST_DEBUG ("Setting chain %p to drained:%d", chain, flushing);
+  chain->drained = flushing;
+}
+
 static gboolean
 drain_and_switch_chains (GstDecodeChain * chain, GstDecodePad * drainpad,
     gboolean * last_group, gboolean * drained, gboolean * switched);
@@ -4352,8 +4549,12 @@
             &drained, &switched);
         GST_ELEMENT_WARNING (dbin, STREAM, FAILED, (NULL),
             ("all streams without buffers"));
-        if (switched)
-          goto retry;
+        if (switched) {
+          if (gst_decode_chain_is_complete (dbin->decode_chain))
+            goto retry;
+          else
+            return FALSE;
+        }
       }
     }
 
diff --git a/gst/playback/gstplaybin2.c b/gst/playback/gstplaybin2.c
index 9100da5..847cdeb 100644
--- a/gst/playback/gstplaybin2.c
+++ b/gst/playback/gstplaybin2.c
@@ -2540,7 +2540,6 @@
       g_value_set_string (value, group->uri);
       GST_PLAY_BIN_UNLOCK (playbin);
       break;
-      break;
     }
     case PROP_CURRENT_URI:
     {
diff --git a/gst/playback/gstplaysink.c b/gst/playback/gstplaysink.c
index e7ae9f8..aa43111 100644
--- a/gst/playback/gstplaysink.c
+++ b/gst/playback/gstplaysink.c
@@ -105,7 +105,6 @@
   GstElement *volume;           /* element with the volume property */
   gboolean sink_volume;         /* if the volume was provided by the sink */
   gulong notify_volume_id;
-  GstElement *mute;             /* element with the mute property */
   gulong notify_mute_id;
   GstElement *sink;
   GstElement *ts_offset;
@@ -730,7 +729,7 @@
     if (chain->notify_volume_id)
       g_signal_handler_disconnect (chain->volume, chain->notify_volume_id);
     if (chain->notify_mute_id)
-      g_signal_handler_disconnect (chain->mute, chain->notify_mute_id);
+      g_signal_handler_disconnect (chain->volume, chain->notify_mute_id);
     chain->notify_volume_id = chain->notify_mute_id = 0;
   }
 }
@@ -1148,12 +1147,10 @@
   playsink->volume = volume;
   chain = (GstPlayAudioChain *) playsink->audiochain;
   if (chain && chain->volume) {
-    GST_LOG_OBJECT (playsink, "elements: volume=%" GST_PTR_FORMAT ", mute=%"
-        GST_PTR_FORMAT "; new volume=%.03f, mute=%d", chain->volume,
-        chain->mute, volume, playsink->mute);
-    /* if there is a mute element or we are not muted, set the volume */
-    if (chain->mute || !playsink->mute)
-      g_object_set (chain->volume, "volume", volume, NULL);
+    GST_LOG_OBJECT (playsink,
+        "elements: volume=%" GST_PTR_FORMAT "; new volume=%.03f, mute=%d",
+        chain->volume, volume, playsink->mute);
+    g_object_set (chain->volume, "volume", volume, NULL);
   } else {
     GST_LOG_OBJECT (playsink, "no volume element");
     playsink->volume_changed = TRUE;
@@ -1171,10 +1168,8 @@
   chain = (GstPlayAudioChain *) playsink->audiochain;
   result = playsink->volume;
   if (chain && chain->volume) {
-    if (chain->mute || !playsink->mute) {
-      g_object_get (chain->volume, "volume", &result, NULL);
-      playsink->volume = result;
-    }
+    g_object_get (chain->volume, "volume", &result, NULL);
+    playsink->volume = result;
   }
   GST_PLAY_SINK_UNLOCK (playsink);
 
@@ -1189,16 +1184,8 @@
   GST_PLAY_SINK_LOCK (playsink);
   playsink->mute = mute;
   chain = (GstPlayAudioChain *) playsink->audiochain;
-  if (chain) {
-    if (chain->mute) {
-      g_object_set (chain->mute, "mute", mute, NULL);
-    } else if (chain->volume) {
-      if (mute)
-        g_object_set (chain->volume, "volume", (gdouble) 0.0, NULL);
-      else
-        g_object_set (chain->volume, "volume", (gdouble) playsink->volume,
-            NULL);
-    }
+  if (chain && chain->volume) {
+    g_object_set (chain->volume, "mute", mute, NULL);
   } else {
     playsink->mute_changed = TRUE;
   }
@@ -1213,8 +1200,8 @@
 
   GST_PLAY_SINK_LOCK (playsink);
   chain = (GstPlayAudioChain *) playsink->audiochain;
-  if (chain && chain->mute) {
-    g_object_get (chain->mute, "mute", &result, NULL);
+  if (chain && chain->volume) {
+    g_object_get (chain->volume, "mute", &result, NULL);
     playsink->mute = result;
   } else {
     result = playsink->mute;
@@ -2767,11 +2754,16 @@
       gst_play_sink_find_property_sinks (playsink, chain->sink, "ts-offset",
           G_TYPE_INT64));
 
-  /* check if the sink, or something within the sink, has the volume property.
-   * If it does we don't need to add a volume element.  */
-  elem =
-      gst_play_sink_find_property_sinks (playsink, chain->sink, "volume",
-      G_TYPE_DOUBLE);
+  /* check if the sink, or something within the sink, implements the
+   * streamvolume interface. If it does we don't need to add a volume element.  */
+  if (GST_IS_BIN (chain->sink))
+    elem =
+        gst_bin_get_by_interface (GST_BIN_CAST (chain->sink),
+        GST_TYPE_STREAM_VOLUME);
+  else if (GST_IS_STREAM_VOLUME (chain->sink))
+    elem = gst_object_ref (chain->sink);
+  else
+    elem = NULL;
   chain->notify_volume_id = chain->notify_mute_id = 0;
   if (elem) {
     chain->volume = elem;
@@ -2782,29 +2774,15 @@
     GST_DEBUG_OBJECT (playsink, "the sink has a volume property");
     have_volume = TRUE;
     chain->sink_volume = TRUE;
-    /* if the sink also has a mute property we can use this as well. We'll only
-     * use the mute property if there is a volume property. We can simulate the
-     * mute with the volume otherwise. */
-    chain->mute =
-        gst_play_sink_find_property_sinks (playsink, chain->sink, "mute",
-        G_TYPE_BOOLEAN);
-    if (chain->mute) {
-      GST_DEBUG_OBJECT (playsink, "the sink has a mute property");
-      chain->notify_mute_id = g_signal_connect (chain->mute, "notify::mute",
-          G_CALLBACK (notify_mute_cb), playsink);
-    }
+    chain->notify_mute_id = g_signal_connect (chain->volume, "notify::mute",
+        G_CALLBACK (notify_mute_cb), playsink);
     /* use the sink to control the volume and mute */
     if (playsink->volume_changed) {
       g_object_set (G_OBJECT (chain->volume), "volume", playsink->volume, NULL);
       playsink->volume_changed = FALSE;
     }
     if (playsink->mute_changed) {
-      if (chain->mute) {
-        g_object_set (chain->mute, "mute", playsink->mute, NULL);
-      } else {
-        if (playsink->mute)
-          g_object_set (chain->volume, "volume", (gdouble) 0.0, NULL);
-      }
+      g_object_set (chain->volume, "mute", playsink->mute, NULL);
       playsink->mute_changed = FALSE;
     }
   } else {
@@ -2848,14 +2826,13 @@
             G_CALLBACK (notify_volume_cb), playsink);
 
         /* volume also has the mute property */
-        chain->mute = chain->volume;
-        chain->notify_mute_id = g_signal_connect (chain->mute, "notify::mute",
+        chain->notify_mute_id = g_signal_connect (chain->volume, "notify::mute",
             G_CALLBACK (notify_mute_cb), playsink);
 
         /* configure with the latest volume and mute */
         g_object_set (G_OBJECT (chain->volume), "volume", playsink->volume,
             NULL);
-        g_object_set (G_OBJECT (chain->mute), "mute", playsink->mute, NULL);
+        g_object_set (G_OBJECT (chain->volume), "mute", playsink->mute, NULL);
       }
     }
   }
@@ -2980,11 +2957,16 @@
   /* Disconnect signals */
   disconnect_audio_chain (chain, playsink);
 
-  /* check if the sink, or something within the sink, has the volume property.
-   * If it does we don't need to add a volume element.  */
-  elem =
-      gst_play_sink_find_property_sinks (playsink, chain->sink, "volume",
-      G_TYPE_DOUBLE);
+  /* check if the sink, or something within the sink, implements the
+   * streamvolume interface. If it does we don't need to add a volume element.  */
+  if (GST_IS_BIN (chain->sink))
+    elem =
+        gst_bin_get_by_interface (GST_BIN_CAST (chain->sink),
+        GST_TYPE_STREAM_VOLUME);
+  else if (GST_IS_STREAM_VOLUME (chain->sink))
+    elem = gst_object_ref (chain->sink);
+  else
+    elem = NULL;
   if (elem) {
     chain->volume = elem;
 
@@ -2998,19 +2980,10 @@
 
     chain->notify_volume_id = g_signal_connect (chain->volume, "notify::volume",
         G_CALLBACK (notify_volume_cb), playsink);
-    /* if the sink also has a mute property we can use this as well. We'll only
-     * use the mute property if there is a volume property. We can simulate the
-     * mute with the volume otherwise. */
-    chain->mute =
-        gst_play_sink_find_property_sinks (playsink, chain->sink, "mute",
-        G_TYPE_BOOLEAN);
-    if (chain->mute) {
-      GST_DEBUG_OBJECT (playsink, "the sink has a mute property");
-      chain->notify_mute_id = g_signal_connect (chain->mute, "notify::mute",
-          G_CALLBACK (notify_mute_cb), playsink);
-      g_object_set (chain->mute, "mute", playsink->mute, NULL);
-      playsink->mute_changed = FALSE;
-    }
+    chain->notify_mute_id = g_signal_connect (chain->volume, "notify::mute",
+        G_CALLBACK (notify_mute_cb), playsink);
+    g_object_set (chain->volume, "mute", playsink->mute, NULL);
+    playsink->mute_changed = FALSE;
 
     g_object_set (chain->conv, "use-volume", FALSE, NULL);
   } else if (conv) {
@@ -3021,18 +2994,17 @@
 
     if (conv->volume && (playsink->flags & GST_PLAY_FLAG_SOFT_VOLUME)) {
       chain->volume = conv->volume;
-      chain->mute = chain->volume;
 
       chain->notify_volume_id =
           g_signal_connect (chain->volume, "notify::volume",
           G_CALLBACK (notify_volume_cb), playsink);
 
-      chain->notify_mute_id = g_signal_connect (chain->mute, "notify::mute",
+      chain->notify_mute_id = g_signal_connect (chain->volume, "notify::mute",
           G_CALLBACK (notify_mute_cb), playsink);
 
       /* configure with the latest volume and mute */
       g_object_set (G_OBJECT (chain->volume), "volume", playsink->volume, NULL);
-      g_object_set (G_OBJECT (chain->mute), "mute", playsink->mute, NULL);
+      g_object_set (G_OBJECT (chain->volume), "mute", playsink->mute, NULL);
     }
 
     GST_DEBUG_OBJECT (playsink, "reusing existing volume element");
@@ -3501,7 +3473,6 @@
         activate_chain (GST_PLAY_CHAIN (playsink->audiochain), FALSE);
         disconnect_audio_chain (playsink->audiochain, playsink);
         playsink->audiochain->volume = NULL;
-        playsink->audiochain->mute = NULL;
         if (playsink->audiochain->ts_offset)
           gst_object_unref (playsink->audiochain->ts_offset);
         playsink->audiochain->ts_offset = NULL;
@@ -3610,7 +3581,6 @@
       if (playsink->audiochain->sink_volume) {
         disconnect_audio_chain (playsink->audiochain, playsink);
         playsink->audiochain->volume = NULL;
-        playsink->audiochain->mute = NULL;
         if (playsink->audiochain->ts_offset)
           gst_object_unref (playsink->audiochain->ts_offset);
         playsink->audiochain->ts_offset = NULL;
@@ -4813,11 +4783,10 @@
       /* fall through */
     case GST_STATE_CHANGE_READY_TO_NULL:
       if (playsink->audiochain && playsink->audiochain->sink_volume) {
-        /* remove our links to the mute and volume elements when they were
+        /* remove our links to the volume elements when they were
          * provided by a sink */
         disconnect_audio_chain (playsink->audiochain, playsink);
         playsink->audiochain->volume = NULL;
-        playsink->audiochain->mute = NULL;
       }
 
       if (playsink->audiochain && playsink->audiochain->ts_offset) {
diff --git a/gst/playback/gstplaysinkconvertbin.c b/gst/playback/gstplaysinkconvertbin.c
index 04fd4e9..af2333f 100644
--- a/gst/playback/gstplaysinkconvertbin.c
+++ b/gst/playback/gstplaysinkconvertbin.c
@@ -457,35 +457,12 @@
 }
 
 static gboolean
-gst_play_sink_convert_bin_acceptcaps (GstPad * pad, GstCaps * caps)
-{
-  GstCaps *allowed_caps;
-  gboolean ret;
-
-  allowed_caps = gst_pad_query_caps (pad, NULL);
-  ret = gst_caps_is_subset (caps, allowed_caps);
-  gst_caps_unref (allowed_caps);
-
-  return ret;
-}
-
-static gboolean
 gst_play_sink_convert_bin_query (GstPad * pad, GstObject * parent,
     GstQuery * query)
 {
   gboolean res = FALSE;
 
   switch (GST_QUERY_TYPE (query)) {
-    case GST_QUERY_ACCEPT_CAPS:
-    {
-      GstCaps *caps;
-
-      gst_query_parse_accept_caps (query, &caps);
-      gst_query_set_accept_caps_result (query,
-          gst_play_sink_convert_bin_acceptcaps (pad, caps));
-      res = TRUE;
-      break;
-    }
     case GST_QUERY_CAPS:
     {
       GstCaps *filter, *caps;
diff --git a/gst/subparse/Makefile.in b/gst/subparse/Makefile.in
index b9d0a01..8c026de 100644
--- a/gst/subparse/Makefile.in
+++ b/gst/subparse/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = gst/subparse
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS)
 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 \
@@ -119,6 +127,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -231,6 +241,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -568,7 +579,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst/subparse/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst/subparse/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -917,6 +927,8 @@
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/gst/subparse/gstsubparse.c b/gst/subparse/gstsubparse.c
index 11b76c3..d81b8a4 100644
--- a/gst/subparse/gstsubparse.c
+++ b/gst/subparse/gstsubparse.c
@@ -135,7 +135,7 @@
       "Subtitle parser", "Codec/Parser/Subtitle",
       "Parses subtitle (.sub) files into text streams",
       "Gustavo J. A. M. Carneiro <gjc@inescporto.pt>, "
-      "GStreamer maintainers <gstreamer-devel@lists.sourceforge.net>");
+      "GStreamer maintainers <gstreamer-devel@lists.freedesktop.org>");
 
   element_class->change_state = gst_sub_parse_change_state;
 
diff --git a/gst/tcp/Makefile.in b/gst/tcp/Makefile.in
index b93b0c4..f4d4b1c 100644
--- a/gst/tcp/Makefile.in
+++ b/gst/tcp/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = gst/tcp
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS) README
 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 \
@@ -119,6 +127,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -239,6 +249,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -576,7 +587,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst/tcp/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst/tcp/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -950,6 +960,8 @@
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/gst/tcp/gstmultisocketsink.h b/gst/tcp/gstmultisocketsink.h
index 6111b16..e1d25ec 100644
--- a/gst/tcp/gstmultisocketsink.h
+++ b/gst/tcp/gstmultisocketsink.h
@@ -43,8 +43,6 @@
   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_MULTI_SOCKET_SINK))
 #define GST_IS_MULTI_SOCKET_SINK_CLASS(klass) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_MULTI_SOCKET_SINK))
-#define GST_MULTI_SOCKET_SINK_GET_CLASS(klass) \
-  (G_TYPE_INSTANCE_GET_CLASS ((klass), GST_TYPE_MULTI_SOCKET_SINK, GstMultiSocketSinkClass))
 
 
 typedef struct _GstMultiSocketSink GstMultiSocketSink;
diff --git a/gst/tcp/gstsocketsrc.c b/gst/tcp/gstsocketsrc.c
index 81eef0a..149ced1 100644
--- a/gst/tcp/gstsocketsrc.c
+++ b/gst/tcp/gstsocketsrc.c
@@ -69,6 +69,7 @@
 {
   PROP_0,
   PROP_SOCKET,
+  PROP_CAPS,
 };
 
 enum
@@ -85,6 +86,7 @@
 
 static void gst_socket_src_finalize (GObject * gobject);
 
+static GstCaps *gst_socketsrc_getcaps (GstBaseSrc * src, GstCaps * filter);
 static GstFlowReturn gst_socket_src_fill (GstPushSrc * psrc,
     GstBuffer * outbuf);
 static gboolean gst_socket_src_unlock (GstBaseSrc * bsrc);
@@ -119,6 +121,11 @@
           "The socket to receive packets from", G_TYPE_SOCKET,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
+  g_object_class_install_property (gobject_class, PROP_CAPS,
+      g_param_spec_boxed ("caps", "Caps",
+          "The caps of the source pad", GST_TYPE_CAPS,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
   gst_socket_src_signals[CONNECTION_CLOSED_BY_PEER] =
       g_signal_new ("connection-closed-by-peer", G_TYPE_FROM_CLASS (klass),
       G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GstSocketSrcClass,
@@ -133,6 +140,7 @@
       "Thomas Vander Stichele <thomas at apestaart dot org>, "
       "William Manley <will@williammanley.net>");
 
+  gstbasesrc_class->get_caps = gst_socketsrc_getcaps;
   gstbasesrc_class->unlock = gst_socket_src_unlock;
   gstbasesrc_class->unlock_stop = gst_socket_src_unlock_stop;
 
@@ -153,12 +161,40 @@
 {
   GstSocketSrc *this = GST_SOCKET_SRC (gobject);
 
+  if (this->caps)
+    gst_caps_unref (this->caps);
   g_clear_object (&this->cancellable);
   g_clear_object (&this->socket);
 
   G_OBJECT_CLASS (parent_class)->finalize (gobject);
 }
 
+static GstCaps *
+gst_socketsrc_getcaps (GstBaseSrc * src, GstCaps * filter)
+{
+  GstSocketSrc *socketsrc;
+  GstCaps *caps, *result;
+
+  socketsrc = GST_SOCKET_SRC (src);
+
+  GST_OBJECT_LOCK (src);
+  if ((caps = socketsrc->caps))
+    gst_caps_ref (caps);
+  GST_OBJECT_UNLOCK (src);
+
+  if (caps) {
+    if (filter) {
+      result = gst_caps_intersect_full (filter, caps, GST_CAPS_INTERSECT_FIRST);
+      gst_caps_unref (caps);
+    } else {
+      result = caps;
+    }
+  } else {
+    result = (filter) ? gst_caps_ref (filter) : gst_caps_new_any ();
+  }
+  return result;
+}
+
 static GstFlowReturn
 gst_socket_src_fill (GstPushSrc * psrc, GstBuffer * outbuf)
 {
@@ -285,6 +321,29 @@
       g_clear_object (&socket);
       break;
     }
+    case PROP_CAPS:
+    {
+      const GstCaps *new_caps_val = gst_value_get_caps (value);
+      GstCaps *new_caps;
+      GstCaps *old_caps;
+
+      if (new_caps_val == NULL) {
+        new_caps = gst_caps_new_any ();
+      } else {
+        new_caps = gst_caps_copy (new_caps_val);
+      }
+
+      GST_OBJECT_LOCK (socketsrc);
+      old_caps = socketsrc->caps;
+      socketsrc->caps = new_caps;
+      GST_OBJECT_UNLOCK (socketsrc);
+
+      if (old_caps)
+        gst_caps_unref (old_caps);
+
+      gst_pad_mark_reconfigure (GST_BASE_SRC_PAD (socketsrc));
+      break;
+    }
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -301,6 +360,11 @@
     case PROP_SOCKET:
       g_value_set_object (value, socketsrc->socket);
       break;
+    case PROP_CAPS:
+      GST_OBJECT_LOCK (socketsrc);
+      gst_value_set_caps (value, socketsrc->caps);
+      GST_OBJECT_UNLOCK (socketsrc);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
diff --git a/gst/tcp/gstsocketsrc.h b/gst/tcp/gstsocketsrc.h
index e628b3a..9529e12 100644
--- a/gst/tcp/gstsocketsrc.h
+++ b/gst/tcp/gstsocketsrc.h
@@ -48,6 +48,7 @@
   GstPushSrc element;
 
  /*< private >*/
+  GstCaps *caps;
   GSocket *socket;
   GCancellable *cancellable;
 };
diff --git a/gst/typefind/Makefile.in b/gst/typefind/Makefile.in
index bac9947..567f000 100644
--- a/gst/typefind/Makefile.in
+++ b/gst/typefind/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,8 +90,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = gst/typefind
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 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 \
@@ -118,6 +126,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -228,6 +237,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -550,7 +560,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst/typefind/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst/typefind/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -859,6 +868,8 @@
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/gst/typefind/gsttypefindfunctions.c b/gst/typefind/gsttypefindfunctions.c
index 024650c..2bedf18 100644
--- a/gst/typefind/gsttypefindfunctions.c
+++ b/gst/typefind/gsttypefindfunctions.c
@@ -594,6 +594,21 @@
   }
 }
 
+/*** application/dash+xml ****************************************************/
+
+static GstStaticCaps dash_caps = GST_STATIC_CAPS ("application/dash+xml");
+
+#define DASH_CAPS gst_static_caps_get (&dash_caps)
+
+static void
+dash_mpd_type_find (GstTypeFind * tf, gpointer unused)
+{
+  if (xml_check_first_element (tf, "MPD", 3, FALSE) ||
+      xml_check_first_element (tf, "mpd", 3, FALSE)) {
+    gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, DASH_CAPS);
+  }
+}
+
 /*** application/sdp *********************************************************/
 
 static GstStaticCaps sdp_caps = GST_STATIC_CAPS ("application/sdp");
@@ -640,6 +655,19 @@
   }
 }
 
+/*** application/ttml+xml *****************************************************/
+
+static GstStaticCaps ttml_xml_caps = GST_STATIC_CAPS ("application/ttml+xml");
+
+#define TTML_XML_CAPS (gst_static_caps_get(&ttml_xml_caps))
+static void
+ttml_xml_type_find (GstTypeFind * tf, gpointer unused)
+{
+  if (xml_check_first_element (tf, "tt", 2, FALSE)) {
+    gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, TTML_XML_CAPS);
+  }
+}
+
 /*** text/html ***/
 
 static GstStaticCaps html_caps = GST_STATIC_CAPS ("text/html");
@@ -2653,8 +2681,12 @@
         if (nut == 15) {
           seen_ssps = TRUE;
           good++;
-        } else if (seen_ssps && (nut == 14 || nut == 20)) {
-          good++;
+        } else if (nut == 14 || nut == 20) {
+          /* Sometimes we see NAL 14 or 20 without SSPS
+           * if dropped into the middle of a stream -
+           * just ignore those (don't add to bad count) */
+          if (seen_ssps)
+            good++;
         } else {
           /* reserved */
           /* Theoretically these are good, since if they exist in the
@@ -3126,6 +3158,7 @@
         STRNCMP (&data[4], "ftyp", 4) == 0 ||
         STRNCMP (&data[4], "free", 4) == 0 ||
         STRNCMP (&data[4], "uuid", 4) == 0 ||
+        STRNCMP (&data[4], "moof", 4) == 0 ||
         STRNCMP (&data[4], "skip", 4) == 0) {
       if (tip == 0) {
         tip = GST_TYPE_FIND_LIKELY;
@@ -3476,6 +3509,12 @@
         goto suggest_audio_mod_caps;
       }
     }
+    /* UMX */
+    if (memcmp (data, "\xC1\x83\x2A\x9E", 4) == 0) {
+      mod_type = "umx";
+      probability = GST_TYPE_FIND_POSSIBLE;
+      goto suggest_audio_mod_caps;
+    }
   }
   /* FAR (Farandole) (secondary detection) */
   if ((data = gst_type_find_peek (tf, 44, 3)) != NULL) {
@@ -5530,7 +5569,7 @@
       tta_type_find, "tta", TTA_CAPS, NULL, NULL);
   TYPE_FIND_REGISTER (plugin, "audio/x-mod", GST_RANK_SECONDARY, mod_type_find,
       "669,amf,ams,dbm,digi,dmf,dsm,gdm,far,imf,it,j2b,mdl,med,mod,mt2,mtm,"
-      "okt,psm,ptm,sam,s3m,stm,stx,ult,xm", MOD_CAPS, NULL, NULL);
+      "okt,psm,ptm,sam,s3m,stm,stx,ult,umx,xm", MOD_CAPS, NULL, NULL);
   TYPE_FIND_REGISTER (plugin, "audio/mpeg", GST_RANK_PRIMARY, mp3_type_find,
       "mp3,mp2,mp1,mpga", MP3_CAPS, NULL, NULL);
   TYPE_FIND_REGISTER (plugin, "audio/x-ac3", GST_RANK_PRIMARY, ac3_type_find,
@@ -5582,6 +5621,8 @@
       GST_TYPE_FIND_MAXIMUM);
   TYPE_FIND_REGISTER (plugin, "application/x-shockwave-flash",
       GST_RANK_SECONDARY, swf_type_find, "swf,swfl", SWF_CAPS, NULL, NULL);
+  TYPE_FIND_REGISTER (plugin, "application/dash+xml",
+      GST_RANK_PRIMARY, dash_mpd_type_find, "mpd,MPD", DASH_CAPS, NULL, NULL);
   TYPE_FIND_REGISTER (plugin, "application/vnd.ms-sstr+xml",
       GST_RANK_PRIMARY, mss_manifest_type_find, NULL, MSS_MANIFEST_CAPS, NULL,
       NULL);
@@ -5601,6 +5642,8 @@
       sdp_type_find, "sdp", SDP_CAPS, NULL, NULL);
   TYPE_FIND_REGISTER (plugin, "application/smil", GST_RANK_SECONDARY,
       smil_type_find, "smil", SMIL_CAPS, NULL, NULL);
+  TYPE_FIND_REGISTER (plugin, "application/ttml+xml", GST_RANK_SECONDARY,
+      ttml_xml_type_find, "ttml+xml", TTML_XML_CAPS, NULL, NULL);
   TYPE_FIND_REGISTER (plugin, "application/xml", GST_RANK_MARGINAL,
       xml_type_find, "xml", GENERIC_XML_CAPS, NULL, NULL);
   TYPE_FIND_REGISTER_RIFF (plugin, "audio/x-wav", GST_RANK_PRIMARY, "wav",
diff --git a/gst/videoconvert/Makefile.in b/gst/videoconvert/Makefile.in
index ff61959..2b8ab60 100644
--- a/gst/videoconvert/Makefile.in
+++ b/gst/videoconvert/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = gst/videoconvert
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS)
 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 \
@@ -119,6 +127,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -231,6 +241,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -557,7 +568,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst/videoconvert/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst/videoconvert/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -866,6 +876,8 @@
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/gst/videoconvert/gstvideoconvert.c b/gst/videoconvert/gstvideoconvert.c
index ec71f8c..11d560d 100644
--- a/gst/videoconvert/gstvideoconvert.c
+++ b/gst/videoconvert/gstvideoconvert.c
@@ -519,7 +519,7 @@
   gst_element_class_set_static_metadata (gstelement_class,
       "Colorspace converter", "Filter/Converter/Video",
       "Converts video from one colorspace to another",
-      "GStreamer maintainers <gstreamer-devel@lists.sourceforge.net>");
+      "GStreamer maintainers <gstreamer-devel@lists.freedesktop.org>");
 
   gstbasetransform_class->transform_caps =
       GST_DEBUG_FUNCPTR (gst_video_convert_transform_caps);
diff --git a/gst/videorate/Makefile.in b/gst/videorate/Makefile.in
index 69c5981..943cc0c 100644
--- a/gst/videorate/Makefile.in
+++ b/gst/videorate/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = gst/videorate
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS)
 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 \
@@ -119,6 +127,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -226,6 +236,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -547,7 +558,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst/videorate/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst/videorate/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -856,6 +866,8 @@
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/gst/videorate/gstvideorate.c b/gst/videorate/gstvideorate.c
index 19441c7..9b9f260 100644
--- a/gst/videorate/gstvideorate.c
+++ b/gst/videorate/gstvideorate.c
@@ -111,14 +111,16 @@
     GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("video/x-raw(ANY);" "image/jpeg(ANY);" "image/png(ANY)")
+    GST_STATIC_CAPS ("video/x-raw(ANY);" "video/x-bayer(ANY);"
+        "image/jpeg(ANY);" "image/png(ANY)")
     );
 
 static GstStaticPadTemplate gst_video_rate_sink_template =
     GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("video/x-raw(ANY);" "image/jpeg(ANY);" "image/png(ANY)")
+    GST_STATIC_CAPS ("video/x-raw(ANY);" "video/x-bayer(ANY);"
+        "image/jpeg(ANY);" "image/png(ANY)")
     );
 
 static void gst_video_rate_swap_prev (GstVideoRate * videorate,
@@ -476,6 +478,7 @@
 {
   GstStructure *s;
   gint num, denom;
+  const GValue *par;
 
   s = gst_caps_get_structure (caps, 0);
   if (G_UNLIKELY (!gst_structure_get_fraction (s, "framerate", &num, &denom)))
@@ -486,6 +489,9 @@
   s = gst_caps_get_structure (othercaps, 0);
   gst_structure_fixate_field_nearest_fraction (s, "framerate", num, denom);
 
+  if ((par = gst_structure_get_value (s, "pixel-aspect-ratio")))
+    gst_structure_fixate_field_nearest_fraction (s, "pixel-aspect-ratio", 1, 1);
+
   return othercaps;
 }
 
diff --git a/gst/videoscale/Makefile.in b/gst/videoscale/Makefile.in
index d5dbd1f..de20d1a 100644
--- a/gst/videoscale/Makefile.in
+++ b/gst/videoscale/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = gst/videoscale
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS) README
 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 \
@@ -119,6 +127,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -227,6 +237,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -549,7 +560,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst/videoscale/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst/videoscale/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -858,6 +868,8 @@
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/gst/videoscale/gstvideoscale.c b/gst/videoscale/gstvideoscale.c
index a88bee2..20a79f7 100644
--- a/gst/videoscale/gstvideoscale.c
+++ b/gst/videoscale/gstvideoscale.c
@@ -78,9 +78,9 @@
 
 #include "gstvideoscale.h"
 
-/* debug variable definition */
-GST_DEBUG_CATEGORY (video_scale_debug);
-GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE);
+#define GST_CAT_DEFAULT video_scale_debug
+GST_DEBUG_CATEGORY_STATIC (video_scale_debug);
+GST_DEBUG_CATEGORY_EXTERN (GST_CAT_PERFORMANCE);
 
 #define DEFAULT_PROP_METHOD       GST_VIDEO_SCALE_BILINEAR
 #define DEFAULT_PROP_ADD_BORDERS  TRUE
@@ -1078,6 +1078,8 @@
   GstVideoScale *videoscale = GST_VIDEO_SCALE_CAST (filter);
   GstFlowReturn ret = GST_FLOW_OK;
 
+  GST_CAT_DEBUG_OBJECT (GST_CAT_PERFORMANCE, filter, "doing video scaling");
+
   gst_video_converter_frame (videoscale->convert, in_frame, out_frame);
 
   return ret;
diff --git a/gst/videoscale/gstvideoscale.h b/gst/videoscale/gstvideoscale.h
index 297ceed..c16f816 100644
--- a/gst/videoscale/gstvideoscale.h
+++ b/gst/videoscale/gstvideoscale.h
@@ -26,9 +26,6 @@
 
 G_BEGIN_DECLS
 
-GST_DEBUG_CATEGORY_EXTERN (video_scale_debug);
-#define GST_CAT_DEFAULT video_scale_debug
-
 #define GST_TYPE_VIDEO_SCALE \
   (gst_video_scale_get_type())
 #define GST_VIDEO_SCALE(obj) \
diff --git a/gst/videotestsrc/Makefile.in b/gst/videotestsrc/Makefile.in
index 1b89cf0..76ac987 100644
--- a/gst/videotestsrc/Makefile.in
+++ b/gst/videotestsrc/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -38,7 +38,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -102,8 +112,6 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-DIST_COMMON = $(top_srcdir)/common/orc.mak $(srcdir)/Makefile.in \
-	$(srcdir)/Makefile.am $(top_srcdir)/depcomp $(noinst_HEADERS)
 EXTRA_PROGRAMS = generate_sine_table$(EXEEXT)
 subdir = gst/videotestsrc
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -142,6 +150,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -267,6 +277,8 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/common/orc.mak \
+	$(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -605,7 +617,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst/videotestsrc/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst/videotestsrc/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -614,7 +625,7 @@
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/common/orc.mak:
+$(top_srcdir)/common/orc.mak $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -957,6 +968,8 @@
 	tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 orc-update: tmp-orc.c $(ORC_SOURCE).h
 	$(top_srcdir)/common/gst-indent tmp-orc.c
diff --git a/gst/videotestsrc/gstvideotestsrc.c b/gst/videotestsrc/gstvideotestsrc.c
index 96a2a92..f646b4c 100644
--- a/gst/videotestsrc/gstvideotestsrc.c
+++ b/gst/videotestsrc/gstvideotestsrc.c
@@ -857,7 +857,7 @@
 {
   /* for live sources, sync on the timestamp of the buffer */
   if (gst_base_src_is_live (basesrc)) {
-    GstClockTime timestamp = GST_BUFFER_DTS (buffer);
+    GstClockTime timestamp = GST_BUFFER_PTS (buffer);
 
     if (GST_CLOCK_TIME_IS_VALID (timestamp)) {
       /* get duration to calculate end time */
@@ -945,11 +945,11 @@
   if (!gst_video_frame_map (&frame, &src->info, buffer, GST_MAP_WRITE))
     goto invalid_frame;
 
-  GST_BUFFER_DTS (buffer) =
+  GST_BUFFER_PTS (buffer) =
       src->accum_rtime + src->timestamp_offset + src->running_time;
-  GST_BUFFER_PTS (buffer) = GST_BUFFER_DTS (buffer);
+  GST_BUFFER_DTS (buffer) = GST_CLOCK_TIME_NONE;
 
-  gst_object_sync_values (GST_OBJECT (psrc), GST_BUFFER_DTS (buffer));
+  gst_object_sync_values (GST_OBJECT (psrc), GST_BUFFER_PTS (buffer));
 
   src->make_image (src, &frame);
 
diff --git a/gst/videotestsrc/videotestsrc.c b/gst/videotestsrc/videotestsrc.c
index f082ed1..ae7ede2 100644
--- a/gst/videotestsrc/videotestsrc.c
+++ b/gst/videotestsrc/videotestsrc.c
@@ -1186,8 +1186,6 @@
 
     for (i = 0; i < n_lines; i++) {
       idx = CLAMP (y + i + offset, 0, height - 1);
-
-      GST_DEBUG ("line %d, %d, idx %d", i, y + i + offset, idx);
       lines[i] = p->lines[idx % n_lines];
     }
 
@@ -1198,7 +1196,6 @@
       idx = y + i + offset;
       if (idx > height - 1)
         break;
-      GST_DEBUG ("pack line %d", idx);
       finfo->pack_func (finfo, GST_VIDEO_PACK_FLAG_NONE,
           lines[i], 0, frame->data, frame->info.stride,
           frame->info.chroma_site, idx, width);
diff --git a/gst/volume/Makefile.in b/gst/volume/Makefile.in
index 896f163..466b94e 100644
--- a/gst/volume/Makefile.in
+++ b/gst/volume/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -38,7 +38,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -102,8 +112,6 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-DIST_COMMON = $(top_srcdir)/common/orc.mak $(srcdir)/Makefile.in \
-	$(srcdir)/Makefile.am $(top_srcdir)/depcomp $(noinst_HEADERS)
 subdir = gst/volume
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -141,6 +149,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -252,6 +262,8 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/common/orc.mak \
+	$(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -586,7 +598,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst/volume/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu gst/volume/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -595,7 +606,7 @@
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/common/orc.mak:
+$(top_srcdir)/common/orc.mak $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -911,6 +922,8 @@
 	tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 orc-update: tmp-orc.c $(ORC_SOURCE).h
 	$(top_srcdir)/common/gst-indent tmp-orc.c
diff --git a/gst/volume/gstvolumeorc-dist.c b/gst/volume/gstvolumeorc-dist.c
index 4b6ee6d..d4ccde8 100644
--- a/gst/volume/gstvolumeorc-dist.c
+++ b/gst/volume/gstvolumeorc-dist.c
@@ -258,7 +258,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 32, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 115, 99,
         97, 108, 97, 114, 109, 117, 108, 116, 105, 112, 108, 121, 95, 102, 54,
-        52,
+            52,
         95, 110, 115, 11, 8, 8, 18, 8, 214, 0, 0, 24, 2, 0,
       };
       p = orc_program_new_from_static_bytecode (bc);
@@ -388,7 +388,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 32, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 115, 99,
         97, 108, 97, 114, 109, 117, 108, 116, 105, 112, 108, 121, 95, 102, 51,
-        50,
+            50,
         95, 110, 115, 11, 4, 4, 17, 4, 202, 0, 0, 24, 2, 0,
       };
       p = orc_program_new_from_static_bytecode (bc);
@@ -1142,7 +1142,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 29, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 105, 110, 116, 56, 95, 99, 108, 97, 109,
-        112,
+            112,
         11, 1, 1, 14, 2, 3, 0, 0, 0, 16, 1, 20, 2, 174, 32, 0,
         24, 94, 32, 32, 16, 159, 0, 32, 2, 0,
       };
@@ -1564,7 +1564,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 37, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-        100,
+            100,
         95, 102, 54, 52, 95, 49, 99, 104, 11, 8, 8, 12, 8, 8, 214, 0,
         0, 4, 2, 0,
       };
@@ -1714,7 +1714,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 37, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-        100,
+            100,
         95, 102, 51, 50, 95, 49, 99, 104, 11, 4, 4, 12, 8, 8, 20, 4,
         225, 32, 4, 202, 0, 0, 32, 2, 0,
       };
@@ -1901,7 +1901,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 37, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-        100,
+            100,
         95, 102, 51, 50, 95, 50, 99, 104, 11, 8, 8, 12, 8, 8, 20, 4,
         20, 8, 225, 32, 4, 194, 33, 32, 32, 21, 1, 202, 0, 0, 33, 2,
         0,
@@ -2064,7 +2064,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 39, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-        100,
+            100,
         95, 105, 110, 116, 51, 50, 95, 49, 99, 104, 11, 4, 4, 12, 8, 8,
         20, 8, 223, 32, 0, 214, 32, 32, 4, 222, 0, 32, 2, 0,
       };
@@ -2255,7 +2255,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 39, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-        100,
+            100,
         95, 105, 110, 116, 49, 54, 95, 49, 99, 104, 11, 2, 2, 12, 8, 8,
         20, 4, 20, 4, 153, 32, 0, 211, 32, 32, 225, 33, 4, 202, 32, 32,
         33, 210, 32, 32, 165, 0, 32, 2, 0,
@@ -2508,7 +2508,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 39, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-        100,
+            100,
         95, 105, 110, 116, 49, 54, 95, 50, 99, 104, 11, 4, 4, 12, 8, 8,
         20, 8, 20, 4, 20, 8, 21, 1, 153, 32, 0, 21, 1, 211, 32, 32,
         225, 33, 4, 194, 34, 33, 33, 21, 1, 202, 34, 34, 32, 21, 1, 210,
@@ -2723,7 +2723,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 38, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-        100,
+            100,
         95, 105, 110, 116, 56, 95, 49, 99, 104, 11, 1, 1, 12, 8, 8, 20,
         2, 20, 4, 20, 4, 149, 32, 0, 153, 33, 32, 211, 33, 33, 225, 34,
         4, 202, 33, 33, 34, 210, 33, 33, 163, 32, 33, 159, 0, 32, 2, 0,
@@ -2998,7 +2998,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 38, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-        100,
+            100,
         95, 105, 110, 116, 56, 95, 50, 99, 104, 11, 2, 2, 12, 8, 8, 20,
         4, 20, 8, 20, 8, 21, 1, 149, 32, 0, 21, 1, 153, 33, 32, 21,
         1, 211, 33, 33, 225, 32, 4, 194, 34, 32, 32, 21, 1, 202, 33, 33,
diff --git a/install-sh b/install-sh
index 377bb86..59990a1 100755
--- a/install-sh
+++ b/install-sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2011-11-20.07; # UTC
+scriptversion=2014-09-12.12; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -41,19 +41,15 @@
 # This script is compatible with the BSD install script, but was written
 # from scratch.
 
+tab='	'
 nl='
 '
-IFS=" ""	$nl"
+IFS=" $tab$nl"
 
-# set DOITPROG to echo to test this script
+# Set DOITPROG to "echo" to test this script.
 
-# Don't use :- since 4.3BSD and earlier shells don't like it.
 doit=${DOITPROG-}
-if test -z "$doit"; then
-  doit_exec=exec
-else
-  doit_exec=$doit
-fi
+doit_exec=${doit:-exec}
 
 # Put in absolute file names if you don't have them in your path;
 # or use environment vars.
@@ -68,17 +64,6 @@
 rmprog=${RMPROG-rm}
 stripprog=${STRIPPROG-strip}
 
-posix_glob='?'
-initialize_posix_glob='
-  test "$posix_glob" != "?" || {
-    if (set -f) 2>/dev/null; then
-      posix_glob=
-    else
-      posix_glob=:
-    fi
-  }
-'
-
 posix_mkdir=
 
 # Desired mode of installed file.
@@ -97,7 +82,7 @@
 dst_arg=
 
 copy_on_change=false
-no_target_directory=
+is_target_a_directory=possibly
 
 usage="\
 Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
@@ -137,46 +122,57 @@
     -d) dir_arg=true;;
 
     -g) chgrpcmd="$chgrpprog $2"
-	shift;;
+        shift;;
 
     --help) echo "$usage"; exit $?;;
 
     -m) mode=$2
-	case $mode in
-	  *' '* | *'	'* | *'
-'*	  | *'*'* | *'?'* | *'['*)
-	    echo "$0: invalid mode: $mode" >&2
-	    exit 1;;
-	esac
-	shift;;
+        case $mode in
+          *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
+            echo "$0: invalid mode: $mode" >&2
+            exit 1;;
+        esac
+        shift;;
 
     -o) chowncmd="$chownprog $2"
-	shift;;
+        shift;;
 
     -s) stripcmd=$stripprog;;
 
-    -t) dst_arg=$2
-	# Protect names problematic for 'test' and other utilities.
-	case $dst_arg in
-	  -* | [=\(\)!]) dst_arg=./$dst_arg;;
-	esac
-	shift;;
+    -t)
+        is_target_a_directory=always
+        dst_arg=$2
+        # Protect names problematic for 'test' and other utilities.
+        case $dst_arg in
+          -* | [=\(\)!]) dst_arg=./$dst_arg;;
+        esac
+        shift;;
 
-    -T) no_target_directory=true;;
+    -T) is_target_a_directory=never;;
 
     --version) echo "$0 $scriptversion"; exit $?;;
 
-    --)	shift
-	break;;
+    --) shift
+        break;;
 
-    -*)	echo "$0: invalid option: $1" >&2
-	exit 1;;
+    -*) echo "$0: invalid option: $1" >&2
+        exit 1;;
 
     *)  break;;
   esac
   shift
 done
 
+# We allow the use of options -d and -T together, by making -d
+# take the precedence; this is for compatibility with GNU install.
+
+if test -n "$dir_arg"; then
+  if test -n "$dst_arg"; then
+    echo "$0: target directory not allowed when installing a directory." >&2
+    exit 1
+  fi
+fi
+
 if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
   # When -d is used, all remaining arguments are directories to create.
   # When -t is used, the destination is already specified.
@@ -208,6 +204,15 @@
 fi
 
 if test -z "$dir_arg"; then
+  if test $# -gt 1 || test "$is_target_a_directory" = always; then
+    if test ! -d "$dst_arg"; then
+      echo "$0: $dst_arg: Is not a directory." >&2
+      exit 1
+    fi
+  fi
+fi
+
+if test -z "$dir_arg"; then
   do_exit='(exit $ret); exit $ret'
   trap "ret=129; $do_exit" 1
   trap "ret=130; $do_exit" 2
@@ -223,16 +228,16 @@
 
     *[0-7])
       if test -z "$stripcmd"; then
-	u_plus_rw=
+        u_plus_rw=
       else
-	u_plus_rw='% 200'
+        u_plus_rw='% 200'
       fi
       cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
     *)
       if test -z "$stripcmd"; then
-	u_plus_rw=
+        u_plus_rw=
       else
-	u_plus_rw=,u+rw
+        u_plus_rw=,u+rw
       fi
       cp_umask=$mode$u_plus_rw;;
   esac
@@ -269,41 +274,15 @@
     # If destination is a directory, append the input filename; won't work
     # if double slashes aren't ignored.
     if test -d "$dst"; then
-      if test -n "$no_target_directory"; then
-	echo "$0: $dst_arg: Is a directory" >&2
-	exit 1
+      if test "$is_target_a_directory" = never; then
+        echo "$0: $dst_arg: Is a directory" >&2
+        exit 1
       fi
       dstdir=$dst
       dst=$dstdir/`basename "$src"`
       dstdir_status=0
     else
-      # Prefer dirname, but fall back on a substitute if dirname fails.
-      dstdir=`
-	(dirname "$dst") 2>/dev/null ||
-	expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	     X"$dst" : 'X\(//\)[^/]' \| \
-	     X"$dst" : 'X\(//\)$' \| \
-	     X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
-	echo X"$dst" |
-	    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\/\)[^/].*/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\/\)$/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\).*/{
-		   s//\1/
-		   q
-		 }
-		 s/.*/./; q'
-      `
-
+      dstdir=`dirname "$dst"`
       test -d "$dstdir"
       dstdir_status=$?
     fi
@@ -314,74 +293,81 @@
   if test $dstdir_status != 0; then
     case $posix_mkdir in
       '')
-	# Create intermediate dirs using mode 755 as modified by the umask.
-	# This is like FreeBSD 'install' as of 1997-10-28.
-	umask=`umask`
-	case $stripcmd.$umask in
-	  # Optimize common cases.
-	  *[2367][2367]) mkdir_umask=$umask;;
-	  .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+        # Create intermediate dirs using mode 755 as modified by the umask.
+        # This is like FreeBSD 'install' as of 1997-10-28.
+        umask=`umask`
+        case $stripcmd.$umask in
+          # Optimize common cases.
+          *[2367][2367]) mkdir_umask=$umask;;
+          .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
 
-	  *[0-7])
-	    mkdir_umask=`expr $umask + 22 \
-	      - $umask % 100 % 40 + $umask % 20 \
-	      - $umask % 10 % 4 + $umask % 2
-	    `;;
-	  *) mkdir_umask=$umask,go-w;;
-	esac
+          *[0-7])
+            mkdir_umask=`expr $umask + 22 \
+              - $umask % 100 % 40 + $umask % 20 \
+              - $umask % 10 % 4 + $umask % 2
+            `;;
+          *) mkdir_umask=$umask,go-w;;
+        esac
 
-	# With -d, create the new directory with the user-specified mode.
-	# Otherwise, rely on $mkdir_umask.
-	if test -n "$dir_arg"; then
-	  mkdir_mode=-m$mode
-	else
-	  mkdir_mode=
-	fi
+        # With -d, create the new directory with the user-specified mode.
+        # Otherwise, rely on $mkdir_umask.
+        if test -n "$dir_arg"; then
+          mkdir_mode=-m$mode
+        else
+          mkdir_mode=
+        fi
 
-	posix_mkdir=false
-	case $umask in
-	  *[123567][0-7][0-7])
-	    # POSIX mkdir -p sets u+wx bits regardless of umask, which
-	    # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
-	    ;;
-	  *)
-	    tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-	    trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+        posix_mkdir=false
+        case $umask in
+          *[123567][0-7][0-7])
+            # POSIX mkdir -p sets u+wx bits regardless of umask, which
+            # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+            ;;
+          *)
+            # $RANDOM is not portable (e.g. dash);  use it when possible to
+            # lower collision chance
+            tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+            trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
 
-	    if (umask $mkdir_umask &&
-		exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
-	    then
-	      if test -z "$dir_arg" || {
-		   # Check for POSIX incompatibilities with -m.
-		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-		   # other-writable bit of parent directory when it shouldn't.
-		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
-		   ls_ld_tmpdir=`ls -ld "$tmpdir"`
-		   case $ls_ld_tmpdir in
-		     d????-?r-*) different_mode=700;;
-		     d????-?--*) different_mode=755;;
-		     *) false;;
-		   esac &&
-		   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
-		     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
-		     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
-		   }
-		 }
-	      then posix_mkdir=:
-	      fi
-	      rmdir "$tmpdir/d" "$tmpdir"
-	    else
-	      # Remove any dirs left behind by ancient mkdir implementations.
-	      rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
-	    fi
-	    trap '' 0;;
-	esac;;
+            # As "mkdir -p" follows symlinks and we work in /tmp possibly;  so
+            # create the $tmpdir first (and fail if unsuccessful) to make sure
+            # that nobody tries to guess the $tmpdir name.
+            if (umask $mkdir_umask &&
+                $mkdirprog $mkdir_mode "$tmpdir" &&
+                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
+            then
+              if test -z "$dir_arg" || {
+                   # Check for POSIX incompatibilities with -m.
+                   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+                   # other-writable bit of parent directory when it shouldn't.
+                   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+                   test_tmpdir="$tmpdir/a"
+                   ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
+                   case $ls_ld_tmpdir in
+                     d????-?r-*) different_mode=700;;
+                     d????-?--*) different_mode=755;;
+                     *) false;;
+                   esac &&
+                   $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
+                     ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
+                     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+                   }
+                 }
+              then posix_mkdir=:
+              fi
+              rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
+            else
+              # Remove any dirs left behind by ancient mkdir implementations.
+              rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
+            fi
+            trap '' 0;;
+        esac;;
     esac
 
     if
       $posix_mkdir && (
-	umask $mkdir_umask &&
-	$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+        umask $mkdir_umask &&
+        $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
       )
     then :
     else
@@ -391,53 +377,51 @@
       # directory the slow way, step by step, checking for races as we go.
 
       case $dstdir in
-	/*) prefix='/';;
-	[-=\(\)!]*) prefix='./';;
-	*)  prefix='';;
+        /*) prefix='/';;
+        [-=\(\)!]*) prefix='./';;
+        *)  prefix='';;
       esac
 
-      eval "$initialize_posix_glob"
-
       oIFS=$IFS
       IFS=/
-      $posix_glob set -f
+      set -f
       set fnord $dstdir
       shift
-      $posix_glob set +f
+      set +f
       IFS=$oIFS
 
       prefixes=
 
       for d
       do
-	test X"$d" = X && continue
+        test X"$d" = X && continue
 
-	prefix=$prefix$d
-	if test -d "$prefix"; then
-	  prefixes=
-	else
-	  if $posix_mkdir; then
-	    (umask=$mkdir_umask &&
-	     $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
-	    # Don't fail if two instances are running concurrently.
-	    test -d "$prefix" || exit 1
-	  else
-	    case $prefix in
-	      *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
-	      *) qprefix=$prefix;;
-	    esac
-	    prefixes="$prefixes '$qprefix'"
-	  fi
-	fi
-	prefix=$prefix/
+        prefix=$prefix$d
+        if test -d "$prefix"; then
+          prefixes=
+        else
+          if $posix_mkdir; then
+            (umask=$mkdir_umask &&
+             $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+            # Don't fail if two instances are running concurrently.
+            test -d "$prefix" || exit 1
+          else
+            case $prefix in
+              *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+              *) qprefix=$prefix;;
+            esac
+            prefixes="$prefixes '$qprefix'"
+          fi
+        fi
+        prefix=$prefix/
       done
 
       if test -n "$prefixes"; then
-	# Don't fail if two instances are running concurrently.
-	(umask $mkdir_umask &&
-	 eval "\$doit_exec \$mkdirprog $prefixes") ||
-	  test -d "$dstdir" || exit 1
-	obsolete_mkdir_used=true
+        # Don't fail if two instances are running concurrently.
+        (umask $mkdir_umask &&
+         eval "\$doit_exec \$mkdirprog $prefixes") ||
+          test -d "$dstdir" || exit 1
+        obsolete_mkdir_used=true
       fi
     fi
   fi
@@ -472,15 +456,12 @@
 
     # If -C, don't bother to copy if it wouldn't change the file.
     if $copy_on_change &&
-       old=`LC_ALL=C ls -dlL "$dst"	2>/dev/null` &&
-       new=`LC_ALL=C ls -dlL "$dsttmp"	2>/dev/null` &&
-
-       eval "$initialize_posix_glob" &&
-       $posix_glob set -f &&
+       old=`LC_ALL=C ls -dlL "$dst"     2>/dev/null` &&
+       new=`LC_ALL=C ls -dlL "$dsttmp"  2>/dev/null` &&
+       set -f &&
        set X $old && old=:$2:$4:$5:$6 &&
        set X $new && new=:$2:$4:$5:$6 &&
-       $posix_glob set +f &&
-
+       set +f &&
        test "$old" = "$new" &&
        $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
     then
@@ -493,24 +474,24 @@
       # to itself, or perhaps because mv is so ancient that it does not
       # support -f.
       {
-	# Now remove or move aside any old file at destination location.
-	# We try this two ways since rm can't unlink itself on some
-	# systems and the destination file might be busy for other
-	# reasons.  In this case, the final cleanup might fail but the new
-	# file should still install successfully.
-	{
-	  test ! -f "$dst" ||
-	  $doit $rmcmd -f "$dst" 2>/dev/null ||
-	  { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
-	    { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
-	  } ||
-	  { echo "$0: cannot unlink or rename $dst" >&2
-	    (exit 1); exit 1
-	  }
-	} &&
+        # Now remove or move aside any old file at destination location.
+        # We try this two ways since rm can't unlink itself on some
+        # systems and the destination file might be busy for other
+        # reasons.  In this case, the final cleanup might fail but the new
+        # file should still install successfully.
+        {
+          test ! -f "$dst" ||
+          $doit $rmcmd -f "$dst" 2>/dev/null ||
+          { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+            { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+          } ||
+          { echo "$0: cannot unlink or rename $dst" >&2
+            (exit 1); exit 1
+          }
+        } &&
 
-	# Now rename the file to the real destination.
-	$doit $mvcmd "$dsttmp" "$dst"
+        # Now rename the file to the real destination.
+        $doit $mvcmd "$dsttmp" "$dst"
       }
     fi || exit 1
 
diff --git a/m4/Makefile.in b/m4/Makefile.in
index 89d6e82..10c19ab 100644
--- a/m4/Makefile.in
+++ b/m4/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,7 +89,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = m4
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README
 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 \
@@ -116,6 +125,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -140,6 +150,7 @@
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -473,7 +484,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu m4/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu m4/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -648,6 +658,8 @@
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/missing b/missing
index db98974..f62bbae 100755
--- a/missing
+++ b/missing
@@ -3,7 +3,7 @@
 
 scriptversion=2013-10-28.13; # UTC
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
diff --git a/pkgconfig/Makefile.in b/pkgconfig/Makefile.in
index 9e439c6..3fc1804 100644
--- a/pkgconfig/Makefile.in
+++ b/pkgconfig/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,31 +90,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = pkgconfig
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(srcdir)/gstreamer-allocators.pc.in \
-	$(srcdir)/gstreamer-allocators-uninstalled.pc.in \
-	$(srcdir)/gstreamer-audio.pc.in \
-	$(srcdir)/gstreamer-audio-uninstalled.pc.in \
-	$(srcdir)/gstreamer-app.pc.in \
-	$(srcdir)/gstreamer-app-uninstalled.pc.in \
-	$(srcdir)/gstreamer-fft.pc.in \
-	$(srcdir)/gstreamer-fft-uninstalled.pc.in \
-	$(srcdir)/gstreamer-pbutils.pc.in \
-	$(srcdir)/gstreamer-pbutils-uninstalled.pc.in \
-	$(srcdir)/gstreamer-riff.pc.in \
-	$(srcdir)/gstreamer-riff-uninstalled.pc.in \
-	$(srcdir)/gstreamer-rtp.pc.in \
-	$(srcdir)/gstreamer-rtp-uninstalled.pc.in \
-	$(srcdir)/gstreamer-rtsp.pc.in \
-	$(srcdir)/gstreamer-rtsp-uninstalled.pc.in \
-	$(srcdir)/gstreamer-sdp.pc.in \
-	$(srcdir)/gstreamer-sdp-uninstalled.pc.in \
-	$(srcdir)/gstreamer-tag.pc.in \
-	$(srcdir)/gstreamer-tag-uninstalled.pc.in \
-	$(srcdir)/gstreamer-video.pc.in \
-	$(srcdir)/gstreamer-video-uninstalled.pc.in \
-	$(srcdir)/gstreamer-plugins-base.pc.in \
-	$(srcdir)/gstreamer-plugins-base-uninstalled.pc.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 \
@@ -141,6 +126,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES = gstreamer-allocators.pc \
@@ -206,6 +192,31 @@
 am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
 DATA = $(pkgconfig_DATA)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(srcdir)/gstreamer-allocators-uninstalled.pc.in \
+	$(srcdir)/gstreamer-allocators.pc.in \
+	$(srcdir)/gstreamer-app-uninstalled.pc.in \
+	$(srcdir)/gstreamer-app.pc.in \
+	$(srcdir)/gstreamer-audio-uninstalled.pc.in \
+	$(srcdir)/gstreamer-audio.pc.in \
+	$(srcdir)/gstreamer-fft-uninstalled.pc.in \
+	$(srcdir)/gstreamer-fft.pc.in \
+	$(srcdir)/gstreamer-pbutils-uninstalled.pc.in \
+	$(srcdir)/gstreamer-pbutils.pc.in \
+	$(srcdir)/gstreamer-plugins-base-uninstalled.pc.in \
+	$(srcdir)/gstreamer-plugins-base.pc.in \
+	$(srcdir)/gstreamer-riff-uninstalled.pc.in \
+	$(srcdir)/gstreamer-riff.pc.in \
+	$(srcdir)/gstreamer-rtp-uninstalled.pc.in \
+	$(srcdir)/gstreamer-rtp.pc.in \
+	$(srcdir)/gstreamer-rtsp-uninstalled.pc.in \
+	$(srcdir)/gstreamer-rtsp.pc.in \
+	$(srcdir)/gstreamer-sdp-uninstalled.pc.in \
+	$(srcdir)/gstreamer-sdp.pc.in \
+	$(srcdir)/gstreamer-tag-uninstalled.pc.in \
+	$(srcdir)/gstreamer-tag.pc.in \
+	$(srcdir)/gstreamer-video-uninstalled.pc.in \
+	$(srcdir)/gstreamer-video.pc.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -567,7 +578,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pkgconfig/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu pkgconfig/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -817,6 +827,8 @@
 	mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
 	uninstall-am uninstall-pkgconfigDATA
 
+.PRECIOUS: Makefile
+
 
 all-local: $(pcverfiles) $(pcverfiles_uninstalled)
 
diff --git a/po/af.gmo b/po/af.gmo
index bd2dafc..294ddc6 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index e4aefb9..08e744c 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: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\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"
diff --git a/po/az.gmo b/po/az.gmo
index 5ea113a..a78ace1 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index be7bb39..11728bf 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: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\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"
diff --git a/po/bg.gmo b/po/bg.gmo
index a428367..c68c157 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index 262b426..3fb0029 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2011-04-26 22:31+0300\n"
 "Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
 "Language-Team: Bulgarian <dict@fsa-bg.org>\n"
diff --git a/po/ca.gmo b/po/ca.gmo
index 3526eea..cf6a8fe 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index 5902a17..5ed9b17 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\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"
diff --git a/po/cs.gmo b/po/cs.gmo
index 873b94b..1b1bb49 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index 5c1bc42..11db640 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -8,10 +8,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-base-1.5.1\n"
+"Project-Id-Version: gst-plugins-base-1.5.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
-"PO-Revision-Date: 2015-06-17 17:31+0100\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
+"PO-Revision-Date: 2015-06-26 08:29+0200\n"
 "Last-Translator: Marek Černocký <marek@manet.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
 "Language: cs\n"
@@ -533,7 +533,7 @@
 msgstr "Dosažen konec seznamu k přehrání"
 
 msgid "Paused"
-msgstr ""
+msgstr "Pozastaveno"
 
 #, c-format
 msgid "Now playing %s\n"
@@ -593,16 +593,14 @@
 msgid "enable/disable trick modes"
 msgstr "zapnout/vypnout trikový režim"
 
-#, fuzzy
 msgid "change audio track"
-msgstr "Toto CD nemá žádné zvukové stopy"
+msgstr "změnit stopu zvuku"
 
 msgid "change video track"
-msgstr ""
+msgstr "změnit stopu videa"
 
-#, fuzzy
 msgid "change subtitle track"
-msgstr "Formát titulků Kate"
+msgstr "změnit stopu titulků"
 
 msgid "show keyboard shortcuts"
 msgstr "zobrazit klávesové zkratky"
diff --git a/po/da.gmo b/po/da.gmo
index 72a77e1..485f867 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 17f9f7b..9c94e38 100644
--- a/po/da.po
+++ b/po/da.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the gst-plugins-base package.
 #
 # Mogens Jaeger <mogens@jaeger.tf>, 2007.
-# Joe Hansen <joedalton2@yahoo.dk>, 2009, 2010, 2011, 2013, 2014.
+# Joe Hansen <joedalton2@yahoo.dk>, 2009, 2010, 2011, 2013, 2014, 2015.
 #
 # capture -> optage
 # gain -> forstærkning
@@ -31,10 +31,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-base 1.4.1\n"
+"Project-Id-Version: gst-plugins-base 1.5.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
-"PO-Revision-Date: 2014-08-29 16:38+0100\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
+"PO-Revision-Date: 2015-06-27 16:38+0100\n"
 "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
 "Language: da\n"
@@ -555,9 +555,9 @@
 "Afslut ikke efter visning af den oprindelige enhedsliste, men vent på at "
 "enheder bliver tilføjet/fjernet."
 
-#, fuzzy, c-format
+#, c-format
 msgid "Volume: %.0f%%"
-msgstr "Lydstyrke"
+msgstr "Lydstyrke: %.0f%%"
 
 msgid "Buffering..."
 msgstr "Mellemlagrer ..."
@@ -566,87 +566,83 @@
 msgstr "Ur tabt, vælger et nyt ur\n"
 
 msgid "Reached end of play list."
-msgstr ""
+msgstr "Nåede slutningen af afspilningslisten."
 
 msgid "Paused"
-msgstr ""
+msgstr "På pause"
 
 #, c-format
 msgid "Now playing %s\n"
-msgstr ""
+msgstr "Afspiller %s\n"
 
 #, c-format
 msgid "About to finish, preparing next title: %s"
-msgstr ""
+msgstr "Ved at afslutte, forbereder næste titel: %s"
 
 #, c-format
 msgid "Playback rate: %.2f"
-msgstr ""
+msgstr "Afspilningshastighed: %.2f"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Could not change playback rate to %.2f"
-msgstr "Kunne ikke afspille fra enheden i stereo-tilstand."
+msgstr "Kunne ikke ændre afspilningshastighed til %.2f"
 
 msgid "space"
-msgstr ""
+msgstr "mellemrum"
 
 msgid "pause/unpause"
-msgstr ""
+msgstr "pause/start"
 
 msgid "q or ESC"
-msgstr ""
+msgstr "q eller ESC"
 
 msgid "quit"
-msgstr ""
+msgstr "afslut"
 
 msgid "play next"
-msgstr ""
+msgstr "afspil næste"
 
 msgid "play previous"
-msgstr ""
+msgstr "afspil forrige"
 
 msgid "seek forward"
-msgstr ""
+msgstr "søg fremad"
 
 msgid "seek backward"
-msgstr ""
+msgstr "søg baglæns"
 
-#, fuzzy
 msgid "volume up"
-msgstr "Lydstyrke"
+msgstr "lydstyrke op"
 
 msgid "volume down"
-msgstr ""
+msgstr "lydstyrke ned"
 
 msgid "increase playback rate"
-msgstr ""
+msgstr "øg afspilningshastighed"
 
 msgid "decrease playback rate"
-msgstr ""
+msgstr "sænk afspilningshastighed"
 
 msgid "change playback direction"
-msgstr ""
+msgstr "ændr afspilningsretning"
 
 msgid "enable/disable trick modes"
-msgstr ""
+msgstr "aktiver/deaktiver trick-tilstande"
 
-#, fuzzy
 msgid "change audio track"
-msgstr "Denne cd har ingen lydspor"
+msgstr "ændr lydspor"
 
 msgid "change video track"
-msgstr ""
+msgstr "ændr videospor"
 
-#, fuzzy
 msgid "change subtitle track"
-msgstr "Kate-undertekstformat"
+msgstr "ændr undertekstspor"
 
 msgid "show keyboard shortcuts"
-msgstr ""
+msgstr "vis genvejstaster"
 
-#, fuzzy
 msgid "Interactive mode - keyboard controls:"
-msgstr "Interaktiv kontrol via tastatur"
+msgstr "Interaktiv tilstand - kontrol via tastatur:"
 
 msgid "Video sink to use (default is autovideosink)"
 msgstr "Brug denne videokanal (standard er autovideosink)"
@@ -660,9 +656,8 @@
 msgid "Shuffle playlist"
 msgstr "Bland afspilningsliste"
 
-#, fuzzy
 msgid "Disable interactive control via the keyboard"
-msgstr "Interaktiv kontrol via tastatur"
+msgstr "Deaktiver interaktiv kontrol via tastaturet"
 
 msgid "Volume"
 msgstr "Lydstyrke"
@@ -671,7 +666,7 @@
 msgstr "Afspilningsfil der indeholder mediefiler"
 
 msgid "Do not print any output (apart from errors)"
-msgstr ""
+msgstr "Udskriv ikke noget (undtagen fejl)"
 
 #, c-format
 msgid "Usage: %s FILE1|URI1 [FILE2|URI2] [FILE3|URI3] ..."
@@ -681,9 +676,4 @@
 msgstr "Du skal angive mindst et filnavn eller en adresse for at afspille."
 
 msgid "Press 'k' to see a list of keyboard shortcuts.\n"
-msgstr ""
-
-#~ msgid "A %s plugin is required to play this stream, but not installed."
-#~ msgstr ""
-#~ "Et %s plugin er nødvendigt ved afspilning af denne sekvens, men ikke "
-#~ "installeret."
+msgstr "Tryk »k« for at se en liste over genvejstaster.\n"
diff --git a/po/de.gmo b/po/de.gmo
index 8f108ab..40b7510 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index 9235e25..c192395 100644
--- a/po/de.po
+++ b/po/de.po
@@ -7,10 +7,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-base 1.5.1\n"
+"Project-Id-Version: gst-plugins-base 1.5.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
-"PO-Revision-Date: 2015-06-11 21:00+0100\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
+"PO-Revision-Date: 2015-07-12 23:00+0100\n"
 "Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
 "Language: de\n"
@@ -536,7 +536,7 @@
 msgstr "Das Ende der Wiedergabeliste wurde erreicht."
 
 msgid "Paused"
-msgstr ""
+msgstr "Angehalten"
 
 #, c-format
 msgid "Now playing %s\n"
@@ -596,16 +596,14 @@
 msgid "enable/disable trick modes"
 msgstr "Trickmodi einschalten/ausschalten"
 
-#, fuzzy
 msgid "change audio track"
-msgstr "Auf dieser CD befinden sich keine Audio-Titel"
+msgstr "Audio-Titel wechseln"
 
 msgid "change video track"
-msgstr ""
+msgstr "Videl-Titel wechseln"
 
-#, fuzzy
 msgid "change subtitle track"
-msgstr "Untertitel-Format Kate"
+msgstr "Untertitel wechseln"
 
 msgid "show keyboard shortcuts"
 msgstr "Tastenkombinationen anzeigen"
diff --git a/po/el.gmo b/po/el.gmo
index b2d0c03..bdd68e6 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index 514dcc7..8cd3973 100644
--- a/po/el.po
+++ b/po/el.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2012-05-05 19:13+0100\n"
 "Last-Translator: Savvas Radevic <vicedar@gmail.com>\n"
 "Language-Team: Greek <team@lists.gnome.gr>\n"
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index d02d7c6..fdce6ca 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 595c299..e8ce0a0 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: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\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"
diff --git a/po/eo.gmo b/po/eo.gmo
index 09ae428..258717d 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index 27a3d91..5767e53 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2011-06-04 21:11+0100\n"
 "Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
 "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
diff --git a/po/es.gmo b/po/es.gmo
index 1e95759..d975052 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 4eafadc..133f98c 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2011-10-02 15:46+0200\n"
 "Last-Translator: Jorge González González <aloriel@gmail.com>\n"
 "Language-Team: Spanish <es@li.org>\n"
diff --git a/po/eu.gmo b/po/eu.gmo
index a748f0e..4dc063d 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index 245fa5c..e31f851 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base-0.10.26.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2010-03-25 12:32+0100\n"
 "Last-Translator: Mikel Olasagasti Uranga <hey_neken@mundurat.net>\n"
 "Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
diff --git a/po/fi.gmo b/po/fi.gmo
index 89fb698..ccd1bc3 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index 7a524ae..a59b660 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -12,7 +12,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.30.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2010-12-31 23:21+0200\n"
 "Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
diff --git a/po/fr.gmo b/po/fr.gmo
index 95d7e5a..99d8e48 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index c437608..7bc73ef 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2015-04-26 19:42+0200\n"
 "Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
 "Language-Team: French <traduc@traduc.org>\n"
diff --git a/po/gl.gmo b/po/gl.gmo
index b50ca8c..3976ce4 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index 9be98c4..40c6d39 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2012-12-15 03:40+0200\n"
 "Last-Translator: Fran Dieguez <frandieguez@ubuntu.com>\n"
 "Language-Team: Galician <proxecto@trasno.net>\n"
diff --git a/po/gst-plugins-base-1.0.pot b/po/gst-plugins-base-1.0.pot
index 8a4b6c2..b48a7fb 100644
--- a/po/gst-plugins-base-1.0.pot
+++ b/po/gst-plugins-base-1.0.pot
@@ -5,9 +5,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-base 1.5.2\n"
+"Project-Id-Version: gst-plugins-base 1.5.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\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"
@@ -82,93 +82,92 @@
 msgid "Could not read CD."
 msgstr ""
 
-#: ext/ogg/gstoggdemux.c:4824
+#: ext/ogg/gstoggdemux.c:4834
 msgid "Internal data stream error."
 msgstr ""
 
-#: gst/encoding/gstencodebin.c:1571 gst/playback/gstplaybin2.c:3357
-#: gst/playback/gstplaysink.c:1496 gst/playback/gstplaysink.c:1513
-#: gst/playback/gstplaysink.c:1847 gst/playback/gstplaysink.c:1876
-#: gst/playback/gstplaysink.c:2456 gst/playback/gstplaysink.c:2505
-#: gst/playback/gstplaysink.c:2520 gst/playback/gstplaysink.c:2545
-#: gst/playback/gstplaysink.c:2577 gst/playback/gstplaysink.c:2722
-#: gst/playback/gstplaysink.c:2750 gst/playback/gstplaysink.c:3143
-#: gst/playback/gstplaysink.c:3152 gst/playback/gstplaysink.c:3161
-#: gst/playback/gstplaysink.c:3170 gst/playback/gstplaysink.c:3546
-#: gst/playback/gstplaysink.c:4417 gst/playback/gstplaysinkconvertbin.c:97
-#: gst/playback/gstplaysinkconvertbin.c:117
-#: gst/playback/gsturidecodebin.c:1490
+#: gst/encoding/gstencodebin.c:1571 gst/playback/gstplaybin2.c:3356
+#: gst/playback/gstplaysink.c:1483 gst/playback/gstplaysink.c:1500
+#: gst/playback/gstplaysink.c:1834 gst/playback/gstplaysink.c:1863
+#: gst/playback/gstplaysink.c:2443 gst/playback/gstplaysink.c:2492
+#: gst/playback/gstplaysink.c:2507 gst/playback/gstplaysink.c:2532
+#: gst/playback/gstplaysink.c:2564 gst/playback/gstplaysink.c:2709
+#: gst/playback/gstplaysink.c:2737 gst/playback/gstplaysink.c:3115
+#: gst/playback/gstplaysink.c:3124 gst/playback/gstplaysink.c:3133
+#: gst/playback/gstplaysink.c:3142 gst/playback/gstplaysink.c:3517
+#: gst/playback/gstplaysink.c:4387 gst/playback/gstplaysinkconvertbin.c:97
+#: gst/playback/gstplaysinkconvertbin.c:117 gst/playback/gsturidecodebin.c:1490
 #, c-format
 msgid "Missing element '%s' - check your GStreamer installation."
 msgstr ""
 
-#: gst/playback/gstdecodebin2.c:1845
+#: gst/playback/gstdecodebin2.c:1847
 msgid "Could not determine type of stream"
 msgstr ""
 
-#: gst/playback/gstdecodebin2.c:2763
+#: gst/playback/gstdecodebin2.c:2818
 msgid "This appears to be a text file"
 msgstr ""
 
-#: gst/playback/gstplaybin2.c:5351
+#: gst/playback/gstplaybin2.c:5350
 msgid "Could not create \"uridecodebin\" element."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:1975
+#: gst/playback/gstplaysink.c:1962
 #, c-format
 msgid "Both autovideosink and %s elements are missing."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:1979
+#: gst/playback/gstplaysink.c:1966
 msgid "The autovideosink element is missing."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:1984
+#: gst/playback/gstplaysink.c:1971
 #, c-format
 msgid "Configured videosink %s is not working."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:1988
+#: gst/playback/gstplaysink.c:1975
 #, c-format
 msgid "Both autovideosink and %s elements are not working."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:1992
+#: gst/playback/gstplaysink.c:1979
 msgid "The autovideosink element is not working."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:2493
+#: gst/playback/gstplaysink.c:2480
 msgid "Custom text sink element is not usable."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:2875
+#: gst/playback/gstplaysink.c:2852
 msgid "No volume control found"
 msgstr ""
 
-#: gst/playback/gstplaysink.c:2905
+#: gst/playback/gstplaysink.c:2882
 #, c-format
 msgid "Both autoaudiosink and %s elements are missing."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:2909
+#: gst/playback/gstplaysink.c:2886
 msgid "The autoaudiosink element is missing."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:2914
+#: gst/playback/gstplaysink.c:2891
 #, c-format
 msgid "Configured audiosink %s is not working."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:2918
+#: gst/playback/gstplaysink.c:2895
 #, c-format
 msgid "Both autoaudiosink and %s elements are not working."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:2922
+#: gst/playback/gstplaysink.c:2899
 msgid "The autoaudiosink element is not working."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:3246 gst/playback/gstplaysink.c:3251
+#: gst/playback/gstplaysink.c:3218 gst/playback/gstplaysink.c:3223
 msgid "Can't play a text file without video or visualizations."
 msgstr ""
 
@@ -660,11 +659,11 @@
 msgid "Initial key in which the sound starts"
 msgstr ""
 
-#: tools/gst-device-monitor.c:123 tools/gst-play.c:1099
+#: tools/gst-device-monitor.c:141 tools/gst-play.c:1105
 msgid "Print version information and exit"
 msgstr ""
 
-#: tools/gst-device-monitor.c:125
+#: tools/gst-device-monitor.c:143
 msgid ""
 "Don't exit after showing the initial device list, but wait for devices to "
 "added/removed."
@@ -683,152 +682,152 @@
 msgid "Clock lost, selecting a new one\n"
 msgstr ""
 
-#: tools/gst-play.c:339 tools/gst-play.c:385 tools/gst-play.c:731
-#: tools/gst-play.c:1013
+#: tools/gst-play.c:339 tools/gst-play.c:385 tools/gst-play.c:737
+#: tools/gst-play.c:1019
 msgid "Reached end of play list."
 msgstr ""
 
-#: tools/gst-play.c:465
+#: tools/gst-play.c:467
 msgid "Paused"
 msgstr ""
 
-#: tools/gst-play.c:523
+#: tools/gst-play.c:525
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
 
-#: tools/gst-play.c:586
+#: tools/gst-play.c:588
 #, c-format
 msgid "About to finish, preparing next title: %s"
 msgstr ""
 
-#: tools/gst-play.c:827
+#: tools/gst-play.c:833
 #, c-format
 msgid "Playback rate: %.2f"
 msgstr ""
 
-#: tools/gst-play.c:831
+#: tools/gst-play.c:837
 #, c-format
 msgid "Could not change playback rate to %.2f"
 msgstr ""
 
-#: tools/gst-play.c:955
+#: tools/gst-play.c:961
 msgid "space"
 msgstr ""
 
-#: tools/gst-play.c:955
+#: tools/gst-play.c:961
 msgid "pause/unpause"
 msgstr ""
 
-#: tools/gst-play.c:956
+#: tools/gst-play.c:962
 msgid "q or ESC"
 msgstr ""
 
-#: tools/gst-play.c:956
+#: tools/gst-play.c:962
 msgid "quit"
 msgstr ""
 
-#: tools/gst-play.c:957
+#: tools/gst-play.c:963
 msgid "play next"
 msgstr ""
 
-#: tools/gst-play.c:958
+#: tools/gst-play.c:964
 msgid "play previous"
 msgstr ""
 
-#: tools/gst-play.c:959
+#: tools/gst-play.c:965
 msgid "seek forward"
 msgstr ""
 
-#: tools/gst-play.c:960
+#: tools/gst-play.c:966
 msgid "seek backward"
 msgstr ""
 
-#: tools/gst-play.c:961
+#: tools/gst-play.c:967
 msgid "volume up"
 msgstr ""
 
-#: tools/gst-play.c:962
+#: tools/gst-play.c:968
 msgid "volume down"
 msgstr ""
 
-#: tools/gst-play.c:963
+#: tools/gst-play.c:969
 msgid "increase playback rate"
 msgstr ""
 
-#: tools/gst-play.c:964
+#: tools/gst-play.c:970
 msgid "decrease playback rate"
 msgstr ""
 
-#: tools/gst-play.c:965
+#: tools/gst-play.c:971
 msgid "change playback direction"
 msgstr ""
 
-#: tools/gst-play.c:966
+#: tools/gst-play.c:972
 msgid "enable/disable trick modes"
 msgstr ""
 
-#: tools/gst-play.c:967
+#: tools/gst-play.c:973
 msgid "change audio track"
 msgstr ""
 
-#: tools/gst-play.c:968
+#: tools/gst-play.c:974
 msgid "change video track"
 msgstr ""
 
-#: tools/gst-play.c:969
+#: tools/gst-play.c:975
 msgid "change subtitle track"
 msgstr ""
 
-#: tools/gst-play.c:970
+#: tools/gst-play.c:976
 msgid "show keyboard shortcuts"
 msgstr ""
 
-#: tools/gst-play.c:973
+#: tools/gst-play.c:979
 msgid "Interactive mode - keyboard controls:"
 msgstr ""
 
-#: tools/gst-play.c:1101
+#: tools/gst-play.c:1107
 msgid "Video sink to use (default is autovideosink)"
 msgstr ""
 
-#: tools/gst-play.c:1103
+#: tools/gst-play.c:1109
 msgid "Audio sink to use (default is autoaudiosink)"
 msgstr ""
 
-#: tools/gst-play.c:1105
+#: tools/gst-play.c:1111
 msgid "Enable gapless playback"
 msgstr ""
 
-#: tools/gst-play.c:1107
+#: tools/gst-play.c:1113
 msgid "Shuffle playlist"
 msgstr ""
 
-#: tools/gst-play.c:1110
+#: tools/gst-play.c:1116
 msgid "Disable interactive control via the keyboard"
 msgstr ""
 
-#: tools/gst-play.c:1112
+#: tools/gst-play.c:1118
 msgid "Volume"
 msgstr ""
 
-#: tools/gst-play.c:1114
+#: tools/gst-play.c:1120
 msgid "Playlist file containing input media files"
 msgstr ""
 
-#: tools/gst-play.c:1116
+#: tools/gst-play.c:1122
 msgid "Do not print any output (apart from errors)"
 msgstr ""
 
-#: tools/gst-play.c:1185
+#: tools/gst-play.c:1191
 #, c-format
 msgid "Usage: %s FILE1|URI1 [FILE2|URI2] [FILE3|URI3] ..."
 msgstr ""
 
-#: tools/gst-play.c:1189
+#: tools/gst-play.c:1195
 msgid "You must provide at least one filename or URI to play."
 msgstr ""
 
-#: tools/gst-play.c:1228
+#: tools/gst-play.c:1234
 msgid "Press 'k' to see a list of keyboard shortcuts.\n"
 msgstr ""
diff --git a/po/hr.gmo b/po/hr.gmo
index 56708d1..2537ecb 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index d3e785a..2609e10 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2012-04-16 04:19+0200\n"
 "Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com>\n"
 "Language-Team: Croatian <lokalizacija@linux.hr>\n"
diff --git a/po/hu.gmo b/po/hu.gmo
index 39153b8..cdc21c7 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index e8c36fd..d7d3bd0 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -7,10 +7,10 @@
 # Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-base 1.5.1\n"
+"Project-Id-Version: gst-plugins-base 1.5.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
-"PO-Revision-Date: 2015-06-14 08:28+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
+"PO-Revision-Date: 2015-06-30 13:34+0200\n"
 "Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
 "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
 "Language: hu\n"
@@ -18,7 +18,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Rosetta-Export-Date: 2007-03-10 00:18+0000\n"
-"X-Generator: Lokalize 1.2\n"
+"X-Generator: Lokalize 1.5\n"
 "Plural-Forms:  nplurals=2; plural=(n != 1);\n"
 
 msgid "Could not open device for playback in mono mode."
@@ -530,7 +530,7 @@
 msgstr "A lejátszólista vége elérve."
 
 msgid "Paused"
-msgstr ""
+msgstr "Szüneteltetve"
 
 #, c-format
 msgid "Now playing %s\n"
@@ -590,16 +590,14 @@
 msgid "enable/disable trick modes"
 msgstr "trükk módok engedélyezése/letiltása"
 
-#, fuzzy
 msgid "change audio track"
-msgstr "Ez a CD nem rendelkezik hangsávokkal"
+msgstr "hangsáv megváltoztatása"
 
 msgid "change video track"
-msgstr ""
+msgstr "videosáv megváltoztatása"
 
-#, fuzzy
 msgid "change subtitle track"
-msgstr "Kate feliratformátum"
+msgstr "feliratsáv megváltoztatása"
 
 msgid "show keyboard shortcuts"
 msgstr "gyorsbillentyűk megjelenítése"
diff --git a/po/id.gmo b/po/id.gmo
index 545391e..dd80bb7 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index e6ae013..9e56fed 100644
--- a/po/id.po
+++ b/po/id.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.4.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2014-07-30 09:19+0700\n"
 "Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
 "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
diff --git a/po/it.gmo b/po/it.gmo
index 7b1c13f..bc5183d 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index 31abaf6..e1de80c 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.28.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2010-04-28 14:27+0200\n"
 "Last-Translator: Luca Ferretti <elle.uca@infinito.it>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
diff --git a/po/ja.gmo b/po/ja.gmo
index 3fd896e..a0fc2b5 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 89c5e31..655c938 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.30.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2010-10-25 10:27+0900\n"
 "Last-Translator: Makoto Kato <makoto.kt@gmail.com>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
diff --git a/po/lt.gmo b/po/lt.gmo
index b4dffdf..cec32a2 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index 5b012ee..690a782 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base-0.10.15.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2008-03-07 23:43+0200\n"
 "Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n"
 "Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
diff --git a/po/lv.gmo b/po/lv.gmo
index 28ed628..f8a7dee 100644
--- a/po/lv.gmo
+++ b/po/lv.gmo
Binary files differ
diff --git a/po/lv.po b/po/lv.po
index 884ed96..6eb613d 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2014-04-20 16:15+0300\n"
 "Last-Translator: Rihards Prieditis <rprieditis@gmail.com>\n"
 "Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n"
diff --git a/po/nb.gmo b/po/nb.gmo
index 7abe0a0..1aa78e9 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index f499f32..9bc7896 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -2,14 +2,14 @@
 # This file is put in the public domain.
 #
 # Kjartan Maraas <kmaraas@gnome.org>, 2004-2010.
-# Johnny A. Solbu <johnny@solbu.net>, 2012,
+# Johnny A. Solbu <johnny@solbu.net>, 2012-2015
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-base 1.4.0\n"
+"Project-Id-Version: gst-plugins-base 1.5.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
-"PO-Revision-Date: 2014-07-22 12:38+0100\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
+"PO-Revision-Date: 2015-07-11 01:33+0100\n"
 "Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
 "Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
 "Language: nb_NO\n"
@@ -17,7 +17,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.5.7\n"
 
 msgid "Could not open device for playback in mono mode."
 msgstr "Kunne ikke åpne enheten for avspilling i mono-modus."
@@ -514,9 +514,9 @@
 "Ikke avslutt etter å ha vist den første enheteslisten, men vent på at "
 "enheter blir lagt til/fjernet."
 
-#, fuzzy, c-format
+#, c-format
 msgid "Volume: %.0f%%"
-msgstr "Volum"
+msgstr "Volum: %.0f%%"
 
 msgid "Buffering..."
 msgstr "Bufrer ..."
@@ -525,87 +525,83 @@
 msgstr "Klokke tapt, velger en ny\n"
 
 msgid "Reached end of play list."
-msgstr ""
+msgstr "Nådde slutten av spillelisten."
 
 msgid "Paused"
-msgstr ""
+msgstr "Pauset"
 
 #, c-format
 msgid "Now playing %s\n"
-msgstr ""
+msgstr "Spiller nå %s\n"
 
 #, c-format
 msgid "About to finish, preparing next title: %s"
-msgstr ""
+msgstr "I ferd med å fullføre, forbereder neste tittel: %s"
 
 #, c-format
 msgid "Playback rate: %.2f"
-msgstr ""
+msgstr "Avspillingshastighet: %.2f"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Could not change playback rate to %.2f"
-msgstr "Kunne ikke åpne enheten for avspilling i stereo-modus."
+msgstr "Kunne ikke endre avspillingshastigheten til %.2f"
 
 msgid "space"
-msgstr ""
+msgstr "avstand"
 
 msgid "pause/unpause"
-msgstr ""
+msgstr "pause/opphev pause"
 
 msgid "q or ESC"
-msgstr ""
+msgstr "q eller ESC"
 
 msgid "quit"
-msgstr ""
+msgstr "Avslutt"
 
 msgid "play next"
-msgstr ""
+msgstr "spill neste"
 
 msgid "play previous"
-msgstr ""
+msgstr "spill forige"
 
 msgid "seek forward"
-msgstr ""
+msgstr "søk forover"
 
 msgid "seek backward"
-msgstr ""
+msgstr "søk bakover"
 
-#, fuzzy
 msgid "volume up"
-msgstr "Volum"
+msgstr "Volum opp"
 
 msgid "volume down"
-msgstr ""
+msgstr "volum opp"
 
 msgid "increase playback rate"
-msgstr ""
+msgstr "øk avspillingshastigheten"
 
 msgid "decrease playback rate"
-msgstr ""
+msgstr "reduser avspillingshastigheten"
 
 msgid "change playback direction"
-msgstr ""
+msgstr "endre avspillingsretningen"
 
 msgid "enable/disable trick modes"
-msgstr ""
+msgstr "aktivere/deaktivere trikse-moduser\t"
 
-#, fuzzy
 msgid "change audio track"
-msgstr "Denne CDen har ingen lydspor"
+msgstr "endre lydspor"
 
 msgid "change video track"
-msgstr ""
+msgstr "endre videospor"
 
-#, fuzzy
 msgid "change subtitle track"
-msgstr "Kate undertekstformat"
+msgstr "endre undertekstspor"
 
 msgid "show keyboard shortcuts"
-msgstr ""
+msgstr "vis hurtigtaster"
 
-#, fuzzy
 msgid "Interactive mode - keyboard controls:"
-msgstr "Interaktiv kontroll via tastatur"
+msgstr "Interaktiv modus - tastaturkontroller:"
 
 msgid "Video sink to use (default is autovideosink)"
 msgstr "Video-sink som skal brukes (standard er autovideosink)"
@@ -619,9 +615,8 @@
 msgid "Shuffle playlist"
 msgstr "Stokke spilleliste"
 
-#, fuzzy
 msgid "Disable interactive control via the keyboard"
-msgstr "Interaktiv kontroll via tastatur"
+msgstr "Deaktiver interaktiv kontroll via tastaturet"
 
 msgid "Volume"
 msgstr "Volum"
@@ -630,7 +625,7 @@
 msgstr "Spillelistefil som inneholder inngangsmediefiler"
 
 msgid "Do not print any output (apart from errors)"
-msgstr ""
+msgstr "Ikke skriv noe utdata (bortsett fra feil)"
 
 #, c-format
 msgid "Usage: %s FILE1|URI1 [FILE2|URI2] [FILE3|URI3] ..."
@@ -640,7 +635,7 @@
 msgstr "Du må ha med minst ett filnavn eller nettadresse å spille."
 
 msgid "Press 'k' to see a list of keyboard shortcuts.\n"
-msgstr ""
+msgstr "Trykk «k» for å se en liste over hurtigtaster.\n"
 
 #~ msgid "A %s plugin is required to play this stream, but not installed."
 #~ msgstr ""
diff --git a/po/nl.gmo b/po/nl.gmo
index 3ff3d99..39df9c4 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 9ef3790..790adc1 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.5.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2015-06-13 18:23+0200\n"
 "Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
diff --git a/po/or.gmo b/po/or.gmo
index 7850f18..59d8429 100644
--- a/po/or.gmo
+++ b/po/or.gmo
Binary files differ
diff --git a/po/or.po b/po/or.po
index e2fa8c7..d3c33b4 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: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\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"
diff --git a/po/pl.gmo b/po/pl.gmo
index f4f2ed5..9809cd6 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 7d8ef98..ecd441f 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -4,10 +4,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-base 1.5.1\n"
+"Project-Id-Version: gst-plugins-base 1.5.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
-"PO-Revision-Date: 2015-06-10 22:09+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
+"PO-Revision-Date: 2015-06-26 21:00+0200\n"
 "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
 "Language: pl\n"
@@ -535,7 +535,7 @@
 msgstr "Osiągnięto koniec listy odtwarzania."
 
 msgid "Paused"
-msgstr ""
+msgstr "Pauza"
 
 #, c-format
 msgid "Now playing %s\n"
@@ -595,16 +595,14 @@
 msgid "enable/disable trick modes"
 msgstr "włączenie/wyłączenie trybów trików"
 
-#, fuzzy
 msgid "change audio track"
-msgstr "Ta płyta CD nie ma ścieżek dźwiękowych"
+msgstr "zmiana ścieżki dźwiękowej"
 
 msgid "change video track"
-msgstr ""
+msgstr "zmiana ścieżki filmowej"
 
-#, fuzzy
 msgid "change subtitle track"
-msgstr "Format podpisów Kate"
+msgstr "zmiana ścieżki podpisów"
 
 msgid "show keyboard shortcuts"
 msgstr "wyświetlenie skrótów klawiatury"
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index fe76f5f..ca267d4 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 9b4953a..3997034 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base-1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2015-02-01 19:21-0200\n"
 "Last-Translator: Fabrício Godoy <skarllot@gmail.com>\n"
 "Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
diff --git a/po/ro.gmo b/po/ro.gmo
index 548ffaa..ee473e8 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index 1e2eafc..7909fb3 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.29.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2010-08-16 01:21+0300\n"
 "Last-Translator: Lucian Adrian Grijincu <lucian.grijincu@gmail.com>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
diff --git a/po/ru.gmo b/po/ru.gmo
index ca54626..0e50bea 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index eab5289..8d73613 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -6,10 +6,10 @@
 # Yuri Kozlov <yuray@komyakino.ru>, 2010, 2011, 2012, 2013, 2014, 2015.
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-base 1.5.1\n"
+"Project-Id-Version: gst-plugins-base 1.5.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
-"PO-Revision-Date: 2015-06-13 11:57+0300\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
+"PO-Revision-Date: 2015-06-26 09:00+0300\n"
 "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
 "Language-Team: Russian <gnu@mx.ru>\n"
 "Language: ru\n"
@@ -533,7 +533,7 @@
 msgstr "Достигнут конец списка воспроизведения."
 
 msgid "Paused"
-msgstr ""
+msgstr "Пауза"
 
 #, c-format
 msgid "Now playing %s\n"
@@ -593,16 +593,14 @@
 msgid "enable/disable trick modes"
 msgstr "включить/выключить режим рекомендаций"
 
-#, fuzzy
 msgid "change audio track"
-msgstr "На CD нет звуковых дорожек"
+msgstr "изменить звуковую дорожку"
 
 msgid "change video track"
-msgstr ""
+msgstr "изменить видео дорожку"
 
-#, fuzzy
 msgid "change subtitle track"
-msgstr "Формат субтитров Kate"
+msgstr "изменить дорожку субтитров"
 
 msgid "show keyboard shortcuts"
 msgstr "показать клавиатурные сокращения"
diff --git a/po/sk.gmo b/po/sk.gmo
index d8974e1..c8dbd07 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index f89452e..a680cbe 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2014-01-30 10:57+0100\n"
 "Last-Translator: Peter Tuharsky <tuharsky@misbb.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
diff --git a/po/sl.gmo b/po/sl.gmo
index 2bf68d9..b59e70c 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index 9f44fe2..950463a 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base-1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2013-01-05 10:10+0100\n"
 "Last-Translator: Klemen Košir <klemen913@gmail.com>\n"
 "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
diff --git a/po/sq.gmo b/po/sq.gmo
index 8d6cf6a..5b8bb0d 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index 4e07ad7..59eb570 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: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\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"
diff --git a/po/sr.gmo b/po/sr.gmo
index 305d4c5..4230938 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index 610cb47..4745f7e 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base-1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2014-09-13 10:45+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <(nothing)>\n"
diff --git a/po/sv.gmo b/po/sv.gmo
index 1e2f1ec..45e5b64 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index cc556dc..ba844ea 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.4.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2014-07-19 16:23+0200\n"
 "Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
diff --git a/po/tr.gmo b/po/tr.gmo
index b104ffd..6017e20 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 00c6092..95ded25 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2015-01-10 21:07+0100\n"
 "Last-Translator: Volkan Gezer <volkangezer@gmail.com>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
diff --git a/po/uk.gmo b/po/uk.gmo
index bb03ac7..8190a59 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index 67a0738..d09ce68 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -6,10 +6,10 @@
 # Yuri Chornoivan <yurchor@ukr.net>, 2010, 2011, 2012, 2013, 2014, 2015.
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-base 1.5.1\n"
+"Project-Id-Version: gst-plugins-base 1.5.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
-"PO-Revision-Date: 2015-06-10 23:00+0300\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
+"PO-Revision-Date: 2015-06-26 07:35+0300\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
 "Language: uk\n"
@@ -545,7 +545,7 @@
 msgstr "Відтворення списку завершено."
 
 msgid "Paused"
-msgstr ""
+msgstr "Призупинено"
 
 #, c-format
 msgid "Now playing %s\n"
@@ -605,16 +605,14 @@
 msgid "enable/disable trick modes"
 msgstr "увімкнути або вимкнути особливі режими"
 
-#, fuzzy
 msgid "change audio track"
-msgstr "На цьому компакт-диску немає звукових доріжок"
+msgstr "змінити звукову доріжку"
 
 msgid "change video track"
-msgstr ""
+msgstr "змінити відеодоріжку"
 
-#, fuzzy
 msgid "change subtitle track"
-msgstr "Формат субтитрів Kate"
+msgstr "змінити доріжку субтитрів"
 
 msgid "show keyboard shortcuts"
 msgstr "показати клавіатурні скорочення"
diff --git a/po/vi.gmo b/po/vi.gmo
index ee753a0..030b3c3 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index dd4ad44..fddd85a 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.5.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2015-06-11 08:32+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index 587c60b..7bd73d5 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 dc0f41a..ee5da93 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.21.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"POT-Creation-Date: 2015-08-19 12:37+0300\n"
 "PO-Revision-Date: 2009-01-14 12:41+0800\n"
 "Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
diff --git a/sys/Makefile.in b/sys/Makefile.in
index e70d164..e69944c 100644
--- a/sys/Makefile.in
+++ b/sys/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -19,7 +19,17 @@
 # descending into all subdirectories a second time, but only after the first
 # (parallel) run has finished, so it should go right through the second time.
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -83,8 +93,6 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-DIST_COMMON = $(top_srcdir)/common/parallel-subdirs.mak \
-	$(srcdir)/Makefile.in $(srcdir)/Makefile.am
 subdir = sys
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -122,6 +130,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -180,6 +189,8 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/common/parallel-subdirs.mak
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -526,7 +537,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu sys/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu sys/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -535,7 +545,7 @@
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/common/parallel-subdirs.mak:
+$(top_srcdir)/common/parallel-subdirs.mak $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -822,6 +832,8 @@
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 .PHONY: independent-subdirs $(SUBDIRS)
 
diff --git a/sys/ximage/Makefile.in b/sys/ximage/Makefile.in
index b8e317e..176650d 100644
--- a/sys/ximage/Makefile.in
+++ b/sys/ximage/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = sys/ximage
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS)
 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 \
@@ -119,6 +127,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -226,6 +236,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -548,7 +559,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu sys/ximage/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu sys/ximage/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -873,6 +883,8 @@
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/sys/ximage/ximage.c b/sys/ximage/ximage.c
index 0f4044c..7b92601 100644
--- a/sys/ximage/ximage.c
+++ b/sys/ximage/ximage.c
@@ -23,20 +23,20 @@
 
 #include "ximagesink.h"
 
-GST_DEBUG_CATEGORY (gst_debug_ximagepool);
-GST_DEBUG_CATEGORY (gst_debug_ximagesink);
+GST_DEBUG_CATEGORY (gst_debug_x_image_pool);
+GST_DEBUG_CATEGORY (gst_debug_x_image_sink);
 GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE);
 
 static gboolean
 plugin_init (GstPlugin * plugin)
 {
   if (!gst_element_register (plugin, "ximagesink",
-          GST_RANK_SECONDARY, GST_TYPE_XIMAGESINK))
+          GST_RANK_SECONDARY, GST_TYPE_X_IMAGE_SINK))
     return FALSE;
 
-  GST_DEBUG_CATEGORY_INIT (gst_debug_ximagesink, "ximagesink", 0,
+  GST_DEBUG_CATEGORY_INIT (gst_debug_x_image_sink, "ximagesink", 0,
       "ximagesink element");
-  GST_DEBUG_CATEGORY_INIT (gst_debug_ximagepool, "ximagepool", 0,
+  GST_DEBUG_CATEGORY_INIT (gst_debug_x_image_pool, "ximagepool", 0,
       "ximagepool object");
 
   GST_DEBUG_CATEGORY_GET (GST_CAT_PERFORMANCE, "GST_PERFORMANCE");
diff --git a/sys/ximage/ximagepool.c b/sys/ximage/ximagepool.c
index 64d4687..9e55393 100644
--- a/sys/ximage/ximagepool.c
+++ b/sys/ximage/ximagepool.c
@@ -32,8 +32,8 @@
 #include <gst/video/gstvideometa.h>
 #include <gst/video/gstvideopool.h>
 
-GST_DEBUG_CATEGORY_EXTERN (gst_debug_ximagepool);
-#define GST_CAT_DEFAULT gst_debug_ximagepool
+GST_DEBUG_CATEGORY_EXTERN (gst_debug_x_image_pool);
+#define GST_CAT_DEFAULT gst_debug_x_image_pool
 
 /* X11 stuff */
 static gboolean error_caught = FALSE;
@@ -419,7 +419,7 @@
 /* This function checks that it is actually really possible to create an image
    using XShm */
 gboolean
-gst_ximagesink_check_xshm_calls (GstXImageSink * ximagesink,
+gst_x_image_sink_check_xshm_calls (GstXImageSink * ximagesink,
     GstXContext * xcontext)
 {
   XImage *ximage;
@@ -672,7 +672,7 @@
 {
   GstXImageBufferPool *pool;
 
-  g_return_val_if_fail (GST_IS_XIMAGESINK (ximagesink), NULL);
+  g_return_val_if_fail (GST_IS_X_IMAGE_SINK (ximagesink), NULL);
 
   pool = g_object_new (GST_TYPE_XIMAGE_BUFFER_POOL, NULL);
   pool->sink = gst_object_ref (ximagesink);
diff --git a/sys/ximage/ximagepool.h b/sys/ximage/ximagepool.h
index 41c388c..2e7e604 100644
--- a/sys/ximage/ximagepool.h
+++ b/sys/ximage/ximagepool.h
@@ -105,7 +105,7 @@
 
 GstBufferPool * gst_ximage_buffer_pool_new     (GstXImageSink * ximagesink);
 
-gboolean gst_ximagesink_check_xshm_calls (GstXImageSink * ximagesink,
+gboolean gst_x_image_sink_check_xshm_calls (GstXImageSink * ximagesink,
         GstXContext * xcontext);
 
 G_END_DECLS
diff --git a/sys/ximage/ximagesink.c b/sys/ximage/ximagesink.c
index c7cd4a6..3e6e838 100644
--- a/sys/ximage/ximagesink.c
+++ b/sys/ximage/ximagesink.c
@@ -118,9 +118,9 @@
 /* for XkbKeycodeToKeysym */
 #include <X11/XKBlib.h>
 
-GST_DEBUG_CATEGORY_EXTERN (gst_debug_ximagesink);
+GST_DEBUG_CATEGORY_EXTERN (gst_debug_x_image_sink);
 GST_DEBUG_CATEGORY_EXTERN (GST_CAT_PERFORMANCE);
-#define GST_CAT_DEFAULT gst_debug_ximagesink
+#define GST_CAT_DEFAULT gst_debug_x_image_sink
 
 typedef struct
 {
@@ -134,11 +134,12 @@
 
 #define MWM_HINTS_DECORATIONS   (1L << 1)
 
-static void gst_ximagesink_reset (GstXImageSink * ximagesink);
-static void gst_ximagesink_xwindow_update_geometry (GstXImageSink * ximagesink);
-static void gst_ximagesink_expose (GstVideoOverlay * overlay);
+static void gst_x_image_sink_reset (GstXImageSink * ximagesink);
+static void gst_x_image_sink_xwindow_update_geometry (GstXImageSink *
+    ximagesink);
+static void gst_x_image_sink_expose (GstVideoOverlay * overlay);
 
-static GstStaticPadTemplate gst_ximagesink_sink_template_factory =
+static GstStaticPadTemplate gst_x_image_sink_sink_template_factory =
 GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
@@ -171,14 +172,15 @@
 /*          Object typing & Creation           */
 /*                                             */
 /* =========================================== */
-static void gst_ximagesink_navigation_init (GstNavigationInterface * iface);
-static void gst_ximagesink_video_overlay_init (GstVideoOverlayInterface *
+static void gst_x_image_sink_navigation_init (GstNavigationInterface * iface);
+static void gst_x_image_sink_video_overlay_init (GstVideoOverlayInterface *
     iface);
-#define gst_ximagesink_parent_class parent_class
-G_DEFINE_TYPE_WITH_CODE (GstXImageSink, gst_ximagesink, GST_TYPE_VIDEO_SINK,
-    G_IMPLEMENT_INTERFACE (GST_TYPE_NAVIGATION, gst_ximagesink_navigation_init);
+#define gst_x_image_sink_parent_class parent_class
+G_DEFINE_TYPE_WITH_CODE (GstXImageSink, gst_x_image_sink, GST_TYPE_VIDEO_SINK,
+    G_IMPLEMENT_INTERFACE (GST_TYPE_NAVIGATION,
+        gst_x_image_sink_navigation_init);
     G_IMPLEMENT_INTERFACE (GST_TYPE_VIDEO_OVERLAY,
-        gst_ximagesink_video_overlay_init));
+        gst_x_image_sink_video_overlay_init));
 
 /* ============================================================= */
 /*                                                               */
@@ -190,10 +192,10 @@
 
 /* We are called with the x_lock taken */
 static void
-gst_ximagesink_xwindow_draw_borders (GstXImageSink * ximagesink,
+gst_x_image_sink_xwindow_draw_borders (GstXImageSink * ximagesink,
     GstXWindow * xwindow, GstVideoRectangle rect)
 {
-  g_return_if_fail (GST_IS_XIMAGESINK (ximagesink));
+  g_return_if_fail (GST_IS_X_IMAGE_SINK (ximagesink));
   g_return_if_fail (xwindow != NULL);
 
   XSetForeground (ximagesink->xcontext->disp, xwindow->gc,
@@ -226,7 +228,7 @@
 
 /* This function puts a GstXImageBuffer on a GstXImageSink's window */
 static gboolean
-gst_ximagesink_ximage_put (GstXImageSink * ximagesink, GstBuffer * ximage)
+gst_x_image_sink_ximage_put (GstXImageSink * ximagesink, GstBuffer * ximage)
 {
   GstXImageMemory *mem;
   GstVideoCropMeta *crop;
@@ -295,7 +297,7 @@
   g_mutex_lock (&ximagesink->x_lock);
 
   if (draw_border) {
-    gst_ximagesink_xwindow_draw_borders (ximagesink, ximagesink->xwindow,
+    gst_x_image_sink_xwindow_draw_borders (ximagesink, ximagesink->xwindow,
         result);
     ximagesink->draw_border = FALSE;
   }
@@ -330,13 +332,13 @@
 }
 
 static gboolean
-gst_ximagesink_xwindow_decorate (GstXImageSink * ximagesink,
+gst_x_image_sink_xwindow_decorate (GstXImageSink * ximagesink,
     GstXWindow * window)
 {
   Atom hints_atom = None;
   MotifWmHints *hints;
 
-  g_return_val_if_fail (GST_IS_XIMAGESINK (ximagesink), FALSE);
+  g_return_val_if_fail (GST_IS_X_IMAGE_SINK (ximagesink), FALSE);
   g_return_val_if_fail (window != NULL, FALSE);
 
   g_mutex_lock (&ximagesink->x_lock);
@@ -367,7 +369,7 @@
 }
 
 static void
-gst_ximagesink_xwindow_set_title (GstXImageSink * ximagesink,
+gst_x_image_sink_xwindow_set_title (GstXImageSink * ximagesink,
     GstXWindow * xwindow, const gchar * media_title)
 {
   if (media_title) {
@@ -417,12 +419,13 @@
 
 /* This function handles a GstXWindow creation */
 static GstXWindow *
-gst_ximagesink_xwindow_new (GstXImageSink * ximagesink, gint width, gint height)
+gst_x_image_sink_xwindow_new (GstXImageSink * ximagesink, gint width,
+    gint height)
 {
   GstXWindow *xwindow = NULL;
   XGCValues values;
 
-  g_return_val_if_fail (GST_IS_XIMAGESINK (ximagesink), NULL);
+  g_return_val_if_fail (GST_IS_X_IMAGE_SINK (ximagesink), NULL);
 
   xwindow = g_new0 (GstXWindow, 1);
 
@@ -441,7 +444,7 @@
   XSetWindowBackgroundPixmap (ximagesink->xcontext->disp, xwindow->win, None);
 
   /* set application name as a title */
-  gst_ximagesink_xwindow_set_title (ximagesink, xwindow, NULL);
+  gst_x_image_sink_xwindow_set_title (ximagesink, xwindow, NULL);
 
   if (ximagesink->handle_events) {
     Atom wm_delete;
@@ -467,7 +470,7 @@
 
   g_mutex_unlock (&ximagesink->x_lock);
 
-  gst_ximagesink_xwindow_decorate (ximagesink, xwindow);
+  gst_x_image_sink_xwindow_decorate (ximagesink, xwindow);
 
   gst_video_overlay_got_window_handle (GST_VIDEO_OVERLAY (ximagesink),
       xwindow->win);
@@ -477,11 +480,11 @@
 
 /* This function destroys a GstXWindow */
 static void
-gst_ximagesink_xwindow_destroy (GstXImageSink * ximagesink,
+gst_x_image_sink_xwindow_destroy (GstXImageSink * ximagesink,
     GstXWindow * xwindow)
 {
   g_return_if_fail (xwindow != NULL);
-  g_return_if_fail (GST_IS_XIMAGESINK (ximagesink));
+  g_return_if_fail (GST_IS_X_IMAGE_SINK (ximagesink));
 
   g_mutex_lock (&ximagesink->x_lock);
 
@@ -501,12 +504,12 @@
 }
 
 static void
-gst_ximagesink_xwindow_update_geometry (GstXImageSink * ximagesink)
+gst_x_image_sink_xwindow_update_geometry (GstXImageSink * ximagesink)
 {
   XWindowAttributes attr;
   gboolean reconfigure;
 
-  g_return_if_fail (GST_IS_XIMAGESINK (ximagesink));
+  g_return_if_fail (GST_IS_X_IMAGE_SINK (ximagesink));
 
   /* Update the window geometry */
   g_mutex_lock (&ximagesink->x_lock);
@@ -532,10 +535,11 @@
 }
 
 static void
-gst_ximagesink_xwindow_clear (GstXImageSink * ximagesink, GstXWindow * xwindow)
+gst_x_image_sink_xwindow_clear (GstXImageSink * ximagesink,
+    GstXWindow * xwindow)
 {
   g_return_if_fail (xwindow != NULL);
-  g_return_if_fail (GST_IS_XIMAGESINK (ximagesink));
+  g_return_if_fail (GST_IS_X_IMAGE_SINK (ximagesink));
 
   g_mutex_lock (&ximagesink->x_lock);
 
@@ -554,14 +558,14 @@
    GstEvent that will be sent upstream in the pipeline to handle interactivity
    and navigation.*/
 static void
-gst_ximagesink_handle_xevents (GstXImageSink * ximagesink)
+gst_x_image_sink_handle_xevents (GstXImageSink * ximagesink)
 {
   XEvent e;
   guint pointer_x = 0, pointer_y = 0;
   gboolean pointer_moved = FALSE;
   gboolean exposed = FALSE, configured = FALSE;
 
-  g_return_if_fail (GST_IS_XIMAGESINK (ximagesink));
+  g_return_if_fail (GST_IS_X_IMAGE_SINK (ximagesink));
 
   /* Then we get all pointer motion events, only the last position is
      interesting. */
@@ -661,7 +665,7 @@
         break;
       case ConfigureNotify:
         g_mutex_unlock (&ximagesink->x_lock);
-        gst_ximagesink_xwindow_update_geometry (ximagesink);
+        gst_x_image_sink_xwindow_update_geometry (ximagesink);
         g_mutex_lock (&ximagesink->x_lock);
         configured = TRUE;
         break;
@@ -674,7 +678,7 @@
     g_mutex_unlock (&ximagesink->x_lock);
     g_mutex_unlock (&ximagesink->flow_lock);
 
-    gst_ximagesink_expose (GST_VIDEO_OVERLAY (ximagesink));
+    gst_x_image_sink_expose (GST_VIDEO_OVERLAY (ximagesink));
 
     g_mutex_lock (&ximagesink->flow_lock);
     g_mutex_lock (&ximagesink->x_lock);
@@ -696,7 +700,7 @@
               ("Output window was closed"), (NULL));
 
           g_mutex_unlock (&ximagesink->x_lock);
-          gst_ximagesink_xwindow_destroy (ximagesink, ximagesink->xwindow);
+          gst_x_image_sink_xwindow_destroy (ximagesink, ximagesink->xwindow);
           ximagesink->xwindow = NULL;
           g_mutex_lock (&ximagesink->x_lock);
         }
@@ -712,16 +716,16 @@
 }
 
 static gpointer
-gst_ximagesink_event_thread (GstXImageSink * ximagesink)
+gst_x_image_sink_event_thread (GstXImageSink * ximagesink)
 {
-  g_return_val_if_fail (GST_IS_XIMAGESINK (ximagesink), NULL);
+  g_return_val_if_fail (GST_IS_X_IMAGE_SINK (ximagesink), NULL);
 
   GST_OBJECT_LOCK (ximagesink);
   while (ximagesink->running) {
     GST_OBJECT_UNLOCK (ximagesink);
 
     if (ximagesink->xwindow) {
-      gst_ximagesink_handle_xevents (ximagesink);
+      gst_x_image_sink_handle_xevents (ximagesink);
     }
     /* FIXME: do we want to align this with the framerate or anything else? */
     g_usleep (G_USEC_PER_SEC / 20);
@@ -734,7 +738,7 @@
 }
 
 static void
-gst_ximagesink_manage_event_thread (GstXImageSink * ximagesink)
+gst_x_image_sink_manage_event_thread (GstXImageSink * ximagesink)
 {
   GThread *thread = NULL;
 
@@ -751,7 +755,7 @@
           ximagesink->handle_expose, ximagesink->handle_events);
       ximagesink->running = TRUE;
       ximagesink->event_thread = g_thread_try_new ("ximagesink-events",
-          (GThreadFunc) gst_ximagesink_event_thread, ximagesink, NULL);
+          (GThreadFunc) gst_x_image_sink_event_thread, ximagesink, NULL);
     }
   } else {
     if (ximagesink->event_thread) {
@@ -775,7 +779,7 @@
 /* This function calculates the pixel aspect ratio based on the properties
  * in the xcontext structure and stores it there. */
 static void
-gst_ximagesink_calculate_pixel_aspect_ratio (GstXContext * xcontext)
+gst_x_image_sink_calculate_pixel_aspect_ratio (GstXContext * xcontext)
 {
   static const gint par[][2] = {
     {1, 1},                     /* regular screen */
@@ -835,7 +839,7 @@
    here that caps for supported format are generated without any window or
    image creation */
 static GstXContext *
-gst_ximagesink_xcontext_get (GstXImageSink * ximagesink)
+gst_x_image_sink_xcontext_get (GstXImageSink * ximagesink)
 {
   GstXContext *xcontext = NULL;
   XPixmapFormatValues *px_formats = NULL;
@@ -844,7 +848,7 @@
   GstVideoFormat vformat;
   guint32 alpha_mask;
 
-  g_return_val_if_fail (GST_IS_XIMAGESINK (ximagesink), NULL);
+  g_return_val_if_fail (GST_IS_X_IMAGE_SINK (ximagesink), NULL);
 
   xcontext = g_new0 (GstXContext, 1);
 
@@ -876,7 +880,7 @@
   GST_DEBUG_OBJECT (ximagesink, "X reports %dx%d pixels and %d mm x %d mm",
       xcontext->width, xcontext->height, xcontext->widthmm, xcontext->heightmm);
 
-  gst_ximagesink_calculate_pixel_aspect_ratio (xcontext);
+  gst_x_image_sink_calculate_pixel_aspect_ratio (xcontext);
 
   /* We get supported pixmap formats at supported depth */
   px_formats = XListPixmapFormats (xcontext->disp, &nb_formats);
@@ -905,7 +909,7 @@
   /* Search for XShm extension support */
 #ifdef HAVE_XSHM
   if (XShmQueryExtension (xcontext->disp) &&
-      gst_ximagesink_check_xshm_calls (ximagesink, xcontext)) {
+      gst_x_image_sink_check_xshm_calls (ximagesink, xcontext)) {
     xcontext->use_xshm = TRUE;
     GST_DEBUG ("ximagesink is using XShm extension");
   } else
@@ -966,11 +970,11 @@
 /* This function cleans the X context. Closing the Display and unrefing the
    caps for supported formats. */
 static void
-gst_ximagesink_xcontext_clear (GstXImageSink * ximagesink)
+gst_x_image_sink_xcontext_clear (GstXImageSink * ximagesink)
 {
   GstXContext *xcontext;
 
-  g_return_if_fail (GST_IS_XIMAGESINK (ximagesink));
+  g_return_if_fail (GST_IS_X_IMAGE_SINK (ximagesink));
 
   GST_OBJECT_LOCK (ximagesink);
   if (ximagesink->xcontext == NULL) {
@@ -1006,13 +1010,13 @@
 /* Element stuff */
 
 static GstCaps *
-gst_ximagesink_getcaps (GstBaseSink * bsink, GstCaps * filter)
+gst_x_image_sink_getcaps (GstBaseSink * bsink, GstCaps * filter)
 {
   GstXImageSink *ximagesink;
   GstCaps *caps;
   int i;
 
-  ximagesink = GST_XIMAGESINK (bsink);
+  ximagesink = GST_X_IMAGE_SINK (bsink);
 
   g_mutex_lock (&ximagesink->x_lock);
   if (ximagesink->xcontext) {
@@ -1094,7 +1098,7 @@
 }
 
 static GstBufferPool *
-gst_ximagesink_create_pool (GstXImageSink * ximagesink, GstCaps * caps,
+gst_x_image_sink_create_pool (GstXImageSink * ximagesink, GstCaps * caps,
     gsize size, gint min)
 {
   static GstAllocationParams params = { 0, 15, 0, 0, };
@@ -1122,7 +1126,7 @@
 }
 
 static gboolean
-gst_ximagesink_setcaps (GstBaseSink * bsink, GstCaps * caps)
+gst_x_image_sink_setcaps (GstBaseSink * bsink, GstCaps * caps)
 {
   GstXImageSink *ximagesink;
   GstStructure *structure;
@@ -1130,7 +1134,7 @@
   GstBufferPool *newpool, *oldpool;
   const GValue *par;
 
-  ximagesink = GST_XIMAGESINK (bsink);
+  ximagesink = GST_X_IMAGE_SINK (bsink);
 
   if (!ximagesink->xcontext)
     return FALSE;
@@ -1183,7 +1187,7 @@
 
   g_mutex_lock (&ximagesink->flow_lock);
   if (!ximagesink->xwindow) {
-    ximagesink->xwindow = gst_ximagesink_xwindow_new (ximagesink,
+    ximagesink->xwindow = gst_x_image_sink_xwindow_new (ximagesink,
         GST_VIDEO_SINK_WIDTH (ximagesink), GST_VIDEO_SINK_HEIGHT (ximagesink));
   }
 
@@ -1193,7 +1197,7 @@
   ximagesink->draw_border = TRUE;
 
   /* create a new internal pool for the new configuration */
-  newpool = gst_ximagesink_create_pool (ximagesink, caps, info.size, 2);
+  newpool = gst_x_image_sink_create_pool (ximagesink, caps, info.size, 2);
 
   /* we don't activate the internal pool yet as it may not be needed */
   oldpool = ximagesink->pool;
@@ -1233,19 +1237,19 @@
 }
 
 static GstStateChangeReturn
-gst_ximagesink_change_state (GstElement * element, GstStateChange transition)
+gst_x_image_sink_change_state (GstElement * element, GstStateChange transition)
 {
   GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
   GstXImageSink *ximagesink;
   GstXContext *xcontext = NULL;
 
-  ximagesink = GST_XIMAGESINK (element);
+  ximagesink = GST_X_IMAGE_SINK (element);
 
   switch (transition) {
     case GST_STATE_CHANGE_NULL_TO_READY:
       /* Initializing the XContext */
       if (ximagesink->xcontext == NULL) {
-        xcontext = gst_ximagesink_xcontext_get (ximagesink);
+        xcontext = gst_x_image_sink_xcontext_get (ximagesink);
         if (xcontext == NULL) {
           ret = GST_STATE_CHANGE_FAILURE;
           goto beach;
@@ -1262,12 +1266,12 @@
       g_mutex_lock (&ximagesink->x_lock);
       XSynchronize (ximagesink->xcontext->disp, ximagesink->synchronous);
       g_mutex_unlock (&ximagesink->x_lock);
-      gst_ximagesink_manage_event_thread (ximagesink);
+      gst_x_image_sink_manage_event_thread (ximagesink);
       break;
     case GST_STATE_CHANGE_READY_TO_PAUSED:
       g_mutex_lock (&ximagesink->flow_lock);
       if (ximagesink->xwindow)
-        gst_ximagesink_xwindow_clear (ximagesink, ximagesink->xwindow);
+        gst_x_image_sink_xwindow_clear (ximagesink, ximagesink->xwindow);
       g_mutex_unlock (&ximagesink->flow_lock);
       break;
     case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
@@ -1292,7 +1296,7 @@
       g_mutex_unlock (&ximagesink->flow_lock);
       break;
     case GST_STATE_CHANGE_READY_TO_NULL:
-      gst_ximagesink_reset (ximagesink);
+      gst_x_image_sink_reset (ximagesink);
       break;
     default:
       break;
@@ -1303,12 +1307,12 @@
 }
 
 static void
-gst_ximagesink_get_times (GstBaseSink * bsink, GstBuffer * buf,
+gst_x_image_sink_get_times (GstBaseSink * bsink, GstBuffer * buf,
     GstClockTime * start, GstClockTime * end)
 {
   GstXImageSink *ximagesink;
 
-  ximagesink = GST_XIMAGESINK (bsink);
+  ximagesink = GST_X_IMAGE_SINK (bsink);
 
   if (GST_BUFFER_TIMESTAMP_IS_VALID (buf)) {
     *start = GST_BUFFER_TIMESTAMP (buf);
@@ -1325,14 +1329,14 @@
 }
 
 static GstFlowReturn
-gst_ximagesink_show_frame (GstVideoSink * vsink, GstBuffer * buf)
+gst_x_image_sink_show_frame (GstVideoSink * vsink, GstBuffer * buf)
 {
   GstFlowReturn res;
   GstXImageSink *ximagesink;
   GstXImageMemory *mem;
   GstBuffer *to_put = NULL;
 
-  ximagesink = GST_XIMAGESINK (vsink);
+  ximagesink = GST_X_IMAGE_SINK (vsink);
 
   if (gst_buffer_n_memory (buf) == 1
       && (mem = (GstXImageMemory *) gst_buffer_peek_memory (buf, 0))
@@ -1383,7 +1387,7 @@
     gst_video_frame_unmap (&src);
   }
 
-  if (!gst_ximagesink_ximage_put (ximagesink, to_put))
+  if (!gst_x_image_sink_ximage_put (ximagesink, to_put))
     goto no_window;
 
 done:
@@ -1429,9 +1433,9 @@
 }
 
 static gboolean
-gst_ximagesink_event (GstBaseSink * sink, GstEvent * event)
+gst_x_image_sink_event (GstBaseSink * sink, GstEvent * event)
 {
-  GstXImageSink *ximagesink = GST_XIMAGESINK (sink);
+  GstXImageSink *ximagesink = GST_X_IMAGE_SINK (sink);
 
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_TAG:{
@@ -1443,7 +1447,7 @@
 
       if (title) {
         GST_DEBUG_OBJECT (ximagesink, "got tags, title='%s'", title);
-        gst_ximagesink_xwindow_set_title (ximagesink, ximagesink->xwindow,
+        gst_x_image_sink_xwindow_set_title (ximagesink, ximagesink->xwindow,
             title);
 
         g_free (title);
@@ -1457,9 +1461,9 @@
 }
 
 static gboolean
-gst_ximagesink_propose_allocation (GstBaseSink * bsink, GstQuery * query)
+gst_x_image_sink_propose_allocation (GstBaseSink * bsink, GstQuery * query)
 {
-  GstXImageSink *ximagesink = GST_XIMAGESINK (bsink);
+  GstXImageSink *ximagesink = GST_X_IMAGE_SINK (bsink);
   GstBufferPool *pool = NULL;
   GstCaps *caps;
   guint size;
@@ -1476,7 +1480,7 @@
     if (!gst_video_info_from_caps (&info, caps))
       goto invalid_caps;
 
-    pool = gst_ximagesink_create_pool (ximagesink, caps, info.size, 0);
+    pool = gst_x_image_sink_create_pool (ximagesink, caps, info.size, 0);
 
     /* the normal size of a frame */
     size = info.size;
@@ -1517,16 +1521,14 @@
 
 /* Interfaces stuff */
 static void
-gst_ximagesink_navigation_send_event (GstNavigation * navigation,
+gst_x_image_sink_navigation_send_event (GstNavigation * navigation,
     GstStructure * structure)
 {
-  GstXImageSink *ximagesink = GST_XIMAGESINK (navigation);
-  GstEvent *event;
+  GstXImageSink *ximagesink = GST_X_IMAGE_SINK (navigation);
+  GstEvent *event = NULL;
   gint x_offset, y_offset;
   gdouble x, y;
-  GstPad *pad = NULL;
-
-  event = gst_event_new_navigation (structure);
+  gboolean handled = FALSE;
 
   /* We are not converting the pointer coordinates as there's no hardware
      scaling done here. The only possible scaling is done by videoscale and
@@ -1556,26 +1558,31 @@
     gst_structure_set (structure, "pointer_y", G_TYPE_DOUBLE, y, NULL);
   }
 
-  pad = gst_pad_get_peer (GST_VIDEO_SINK_PAD (ximagesink));
+  event = gst_event_new_navigation (structure);
+  if (event) {
+    gst_event_ref (event);
+    handled = gst_pad_push_event (GST_VIDEO_SINK_PAD (ximagesink), event);
 
-  if (GST_IS_PAD (pad) && GST_IS_EVENT (event)) {
-    gst_pad_send_event (pad, event);
+    if (!handled)
+      gst_element_post_message (GST_ELEMENT_CAST (ximagesink),
+          gst_navigation_message_new_event (GST_OBJECT_CAST (ximagesink),
+              event));
 
-    gst_object_unref (pad);
+    gst_event_unref (event);
   }
 }
 
 static void
-gst_ximagesink_navigation_init (GstNavigationInterface * iface)
+gst_x_image_sink_navigation_init (GstNavigationInterface * iface)
 {
-  iface->send_event = gst_ximagesink_navigation_send_event;
+  iface->send_event = gst_x_image_sink_navigation_send_event;
 }
 
 static void
-gst_ximagesink_set_window_handle (GstVideoOverlay * overlay, guintptr id)
+gst_x_image_sink_set_window_handle (GstVideoOverlay * overlay, guintptr id)
 {
   XID xwindow_id = id;
-  GstXImageSink *ximagesink = GST_XIMAGESINK (overlay);
+  GstXImageSink *ximagesink = GST_X_IMAGE_SINK (overlay);
   GstXWindow *xwindow = NULL;
   XWindowAttributes attr;
 
@@ -1592,7 +1599,7 @@
 
   /* If the element has not initialized the X11 context try to do so */
   if (!ximagesink->xcontext &&
-      !(ximagesink->xcontext = gst_ximagesink_xcontext_get (ximagesink))) {
+      !(ximagesink->xcontext = gst_x_image_sink_xcontext_get (ximagesink))) {
     g_mutex_unlock (&ximagesink->flow_lock);
     /* we have thrown a GST_ELEMENT_ERROR now */
     return;
@@ -1600,7 +1607,7 @@
 
   /* If a window is there already we destroy it */
   if (ximagesink->xwindow) {
-    gst_ximagesink_xwindow_destroy (ximagesink, ximagesink->xwindow);
+    gst_x_image_sink_xwindow_destroy (ximagesink, ximagesink->xwindow);
     ximagesink->xwindow = NULL;
   }
 
@@ -1609,7 +1616,7 @@
     /* If no width/height caps nego did not happen window will be created
        during caps nego then */
     if (GST_VIDEO_SINK_WIDTH (ximagesink) && GST_VIDEO_SINK_HEIGHT (ximagesink)) {
-      xwindow = gst_ximagesink_xwindow_new (ximagesink,
+      xwindow = gst_x_image_sink_xwindow_new (ximagesink,
           GST_VIDEO_SINK_WIDTH (ximagesink),
           GST_VIDEO_SINK_HEIGHT (ximagesink));
     }
@@ -1642,19 +1649,19 @@
 }
 
 static void
-gst_ximagesink_expose (GstVideoOverlay * overlay)
+gst_x_image_sink_expose (GstVideoOverlay * overlay)
 {
-  GstXImageSink *ximagesink = GST_XIMAGESINK (overlay);
+  GstXImageSink *ximagesink = GST_X_IMAGE_SINK (overlay);
 
-  gst_ximagesink_xwindow_update_geometry (ximagesink);
-  gst_ximagesink_ximage_put (ximagesink, NULL);
+  gst_x_image_sink_xwindow_update_geometry (ximagesink);
+  gst_x_image_sink_ximage_put (ximagesink, NULL);
 }
 
 static void
-gst_ximagesink_set_event_handling (GstVideoOverlay * overlay,
+gst_x_image_sink_set_event_handling (GstVideoOverlay * overlay,
     gboolean handle_events)
 {
-  GstXImageSink *ximagesink = GST_XIMAGESINK (overlay);
+  GstXImageSink *ximagesink = GST_X_IMAGE_SINK (overlay);
 
   ximagesink->handle_events = handle_events;
 
@@ -1687,11 +1694,11 @@
 }
 
 static void
-gst_ximagesink_video_overlay_init (GstVideoOverlayInterface * iface)
+gst_x_image_sink_video_overlay_init (GstVideoOverlayInterface * iface)
 {
-  iface->set_window_handle = gst_ximagesink_set_window_handle;
-  iface->expose = gst_ximagesink_expose;
-  iface->handle_events = gst_ximagesink_set_event_handling;
+  iface->set_window_handle = gst_x_image_sink_set_window_handle;
+  iface->expose = gst_x_image_sink_expose;
+  iface->handle_events = gst_x_image_sink_set_event_handling;
 }
 
 /* =========================================== */
@@ -1701,14 +1708,14 @@
 /* =========================================== */
 
 static void
-gst_ximagesink_set_property (GObject * object, guint prop_id,
+gst_x_image_sink_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec)
 {
   GstXImageSink *ximagesink;
 
-  g_return_if_fail (GST_IS_XIMAGESINK (object));
+  g_return_if_fail (GST_IS_X_IMAGE_SINK (object));
 
-  ximagesink = GST_XIMAGESINK (object);
+  ximagesink = GST_X_IMAGE_SINK (object);
 
   switch (prop_id) {
     case PROP_DISPLAY:
@@ -1748,13 +1755,13 @@
     }
       break;
     case PROP_HANDLE_EVENTS:
-      gst_ximagesink_set_event_handling (GST_VIDEO_OVERLAY (ximagesink),
+      gst_x_image_sink_set_event_handling (GST_VIDEO_OVERLAY (ximagesink),
           g_value_get_boolean (value));
-      gst_ximagesink_manage_event_thread (ximagesink);
+      gst_x_image_sink_manage_event_thread (ximagesink);
       break;
     case PROP_HANDLE_EXPOSE:
       ximagesink->handle_expose = g_value_get_boolean (value);
-      gst_ximagesink_manage_event_thread (ximagesink);
+      gst_x_image_sink_manage_event_thread (ximagesink);
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -1763,14 +1770,14 @@
 }
 
 static void
-gst_ximagesink_get_property (GObject * object, guint prop_id,
+gst_x_image_sink_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec)
 {
   GstXImageSink *ximagesink;
 
-  g_return_if_fail (GST_IS_XIMAGESINK (object));
+  g_return_if_fail (GST_IS_X_IMAGE_SINK (object));
 
-  ximagesink = GST_XIMAGESINK (object);
+  ximagesink = GST_X_IMAGE_SINK (object);
 
   switch (prop_id) {
     case PROP_DISPLAY:
@@ -1811,7 +1818,7 @@
 }
 
 static void
-gst_ximagesink_reset (GstXImageSink * ximagesink)
+gst_x_image_sink_reset (GstXImageSink * ximagesink)
 {
   GThread *thread;
 
@@ -1839,23 +1846,23 @@
   }
 
   if (ximagesink->xwindow) {
-    gst_ximagesink_xwindow_clear (ximagesink, ximagesink->xwindow);
-    gst_ximagesink_xwindow_destroy (ximagesink, ximagesink->xwindow);
+    gst_x_image_sink_xwindow_clear (ximagesink, ximagesink->xwindow);
+    gst_x_image_sink_xwindow_destroy (ximagesink, ximagesink->xwindow);
     ximagesink->xwindow = NULL;
   }
   g_mutex_unlock (&ximagesink->flow_lock);
 
-  gst_ximagesink_xcontext_clear (ximagesink);
+  gst_x_image_sink_xcontext_clear (ximagesink);
 }
 
 static void
-gst_ximagesink_finalize (GObject * object)
+gst_x_image_sink_finalize (GObject * object)
 {
   GstXImageSink *ximagesink;
 
-  ximagesink = GST_XIMAGESINK (object);
+  ximagesink = GST_X_IMAGE_SINK (object);
 
-  gst_ximagesink_reset (ximagesink);
+  gst_x_image_sink_reset (ximagesink);
 
   if (ximagesink->display_name) {
     g_free (ximagesink->display_name);
@@ -1874,7 +1881,7 @@
 }
 
 static void
-gst_ximagesink_init (GstXImageSink * ximagesink)
+gst_x_image_sink_init (GstXImageSink * ximagesink)
 {
   ximagesink->display_name = NULL;
   ximagesink->xcontext = NULL;
@@ -1901,7 +1908,7 @@
 }
 
 static void
-gst_ximagesink_class_init (GstXImageSinkClass * klass)
+gst_x_image_sink_class_init (GstXImageSinkClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
@@ -1913,9 +1920,9 @@
   gstbasesink_class = (GstBaseSinkClass *) klass;
   videosink_class = (GstVideoSinkClass *) klass;
 
-  gobject_class->finalize = gst_ximagesink_finalize;
-  gobject_class->set_property = gst_ximagesink_set_property;
-  gobject_class->get_property = gst_ximagesink_get_property;
+  gobject_class->finalize = gst_x_image_sink_finalize;
+  gobject_class->set_property = gst_x_image_sink_set_property;
+  gobject_class->get_property = gst_x_image_sink_get_property;
 
   g_object_class_install_property (gobject_class, PROP_DISPLAY,
       g_param_spec_string ("display", "Display", "X Display name",
@@ -1969,16 +1976,16 @@
       "A standard X based videosink", "Julien Moutte <julien@moutte.net>");
 
   gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_ximagesink_sink_template_factory));
+      gst_static_pad_template_get (&gst_x_image_sink_sink_template_factory));
 
-  gstelement_class->change_state = gst_ximagesink_change_state;
+  gstelement_class->change_state = gst_x_image_sink_change_state;
 
-  gstbasesink_class->get_caps = GST_DEBUG_FUNCPTR (gst_ximagesink_getcaps);
-  gstbasesink_class->set_caps = GST_DEBUG_FUNCPTR (gst_ximagesink_setcaps);
-  gstbasesink_class->get_times = GST_DEBUG_FUNCPTR (gst_ximagesink_get_times);
+  gstbasesink_class->get_caps = GST_DEBUG_FUNCPTR (gst_x_image_sink_getcaps);
+  gstbasesink_class->set_caps = GST_DEBUG_FUNCPTR (gst_x_image_sink_setcaps);
+  gstbasesink_class->get_times = GST_DEBUG_FUNCPTR (gst_x_image_sink_get_times);
   gstbasesink_class->propose_allocation =
-      GST_DEBUG_FUNCPTR (gst_ximagesink_propose_allocation);
-  gstbasesink_class->event = GST_DEBUG_FUNCPTR (gst_ximagesink_event);
+      GST_DEBUG_FUNCPTR (gst_x_image_sink_propose_allocation);
+  gstbasesink_class->event = GST_DEBUG_FUNCPTR (gst_x_image_sink_event);
 
-  videosink_class->show_frame = GST_DEBUG_FUNCPTR (gst_ximagesink_show_frame);
+  videosink_class->show_frame = GST_DEBUG_FUNCPTR (gst_x_image_sink_show_frame);
 }
diff --git a/sys/ximage/ximagesink.h b/sys/ximage/ximagesink.h
index 8ca6fe9..cc9c222 100644
--- a/sys/ximage/ximagesink.h
+++ b/sys/ximage/ximagesink.h
@@ -17,8 +17,8 @@
  * Boston, MA 02110-1301, USA.
  */
 
-#ifndef __GST_XIMAGESINK_H__
-#define __GST_XIMAGESINK_H__
+#ifndef __GST_X_IMAGE_SINK_H__
+#define __GST_X_IMAGE_SINK_H__
 
 #include <gst/video/gstvideosink.h>
 
@@ -42,16 +42,16 @@
 #include <gst/video/video.h>
 
 G_BEGIN_DECLS
-#define GST_TYPE_XIMAGESINK \
-  (gst_ximagesink_get_type())
-#define GST_XIMAGESINK(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_XIMAGESINK, GstXImageSink))
-#define GST_XIMAGESINK_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_XIMAGESINK, GstXImageSinkClass))
-#define GST_IS_XIMAGESINK(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_XIMAGESINK))
-#define GST_IS_XIMAGESINK_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_XIMAGESINK))
+#define GST_TYPE_X_IMAGE_SINK \
+  (gst_x_image_sink_get_type())
+#define GST_X_IMAGE_SINK(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_X_IMAGE_SINK, GstXImageSink))
+#define GST_X_IMAGE_SINK_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_X_IMAGE_SINK, GstXImageSinkClass))
+#define GST_IS_X_IMAGE_SINK(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_X_IMAGE_SINK))
+#define GST_IS_X_IMAGE_SINK_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_X_IMAGE_SINK))
 
 typedef struct _GstXContext GstXContext;
 typedef struct _GstXWindow GstXWindow;
@@ -204,7 +204,7 @@
   GstVideoSinkClass parent_class;
 };
 
-GType gst_ximagesink_get_type (void);
+GType gst_x_image_sink_get_type (void);
 
 G_END_DECLS
-#endif /* __GST_XIMAGESINK_H__ */
+#endif /* __GST_X_IMAGE_SINK_H__ */
diff --git a/sys/xvimage/Makefile.in b/sys/xvimage/Makefile.in
index a498e8a..98cb436 100644
--- a/sys/xvimage/Makefile.in
+++ b/sys/xvimage/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = sys/xvimage
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS)
 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 \
@@ -119,6 +127,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -228,6 +238,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -551,7 +562,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu sys/xvimage/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu sys/xvimage/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -892,6 +902,8 @@
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-pluginLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/sys/xvimage/xvcontext.c b/sys/xvimage/xvcontext.c
index 1af70b2..6994db3 100644
--- a/sys/xvimage/xvcontext.c
+++ b/sys/xvimage/xvcontext.c
@@ -33,9 +33,9 @@
 /* for XkbKeycodeToKeysym */
 #include <X11/XKBlib.h>
 
-GST_DEBUG_CATEGORY_EXTERN (gst_debug_xvcontext);
+GST_DEBUG_CATEGORY_EXTERN (gst_debug_xv_context);
 GST_DEBUG_CATEGORY_EXTERN (GST_CAT_PERFORMANCE);
-#define GST_CAT_DEFAULT gst_debug_xvcontext
+#define GST_CAT_DEFAULT gst_debug_xv_context
 
 void
 gst_xvcontext_config_clear (GstXvContextConfig * config)
diff --git a/sys/xvimage/xvimage.c b/sys/xvimage/xvimage.c
index e8851f1..5f2e208 100644
--- a/sys/xvimage/xvimage.c
+++ b/sys/xvimage/xvimage.c
@@ -23,23 +23,23 @@
 
 #include "xvimagesink.h"
 
-GST_DEBUG_CATEGORY (gst_debug_xvcontext);
-GST_DEBUG_CATEGORY (gst_debug_xvimagepool);
-GST_DEBUG_CATEGORY (gst_debug_xvimagesink);
+GST_DEBUG_CATEGORY (gst_debug_xv_context);
+GST_DEBUG_CATEGORY (gst_debug_xv_image_pool);
+GST_DEBUG_CATEGORY (gst_debug_xv_image_sink);
 GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE);
 
 static gboolean
 plugin_init (GstPlugin * plugin)
 {
   if (!gst_element_register (plugin, "xvimagesink",
-          GST_RANK_PRIMARY, GST_TYPE_XVIMAGESINK))
+          GST_RANK_PRIMARY, GST_TYPE_XV_IMAGE_SINK))
     return FALSE;
 
-  GST_DEBUG_CATEGORY_INIT (gst_debug_xvcontext, "xcontext", 0,
+  GST_DEBUG_CATEGORY_INIT (gst_debug_xv_context, "xcontext", 0,
       "xcontext miniobject");
-  GST_DEBUG_CATEGORY_INIT (gst_debug_xvimagesink, "xvimagesink", 0,
+  GST_DEBUG_CATEGORY_INIT (gst_debug_xv_image_sink, "xvimagesink", 0,
       "xvimagesink element");
-  GST_DEBUG_CATEGORY_INIT (gst_debug_xvimagepool, "xvimagepool", 0,
+  GST_DEBUG_CATEGORY_INIT (gst_debug_xv_image_pool, "xvimagepool", 0,
       "xvimagepool object");
 
   GST_DEBUG_CATEGORY_GET (GST_CAT_PERFORMANCE, "GST_PERFORMANCE");
diff --git a/sys/xvimage/xvimagepool.c b/sys/xvimage/xvimagepool.c
index 2e0d172..bde949c 100644
--- a/sys/xvimage/xvimagepool.c
+++ b/sys/xvimage/xvimagepool.c
@@ -34,8 +34,8 @@
 #include <gst/video/gstvideopool.h>
 
 
-GST_DEBUG_CATEGORY_EXTERN (gst_debug_xvimagepool);
-#define GST_CAT_DEFAULT gst_debug_xvimagepool
+GST_DEBUG_CATEGORY_EXTERN (gst_debug_xv_image_pool);
+#define GST_CAT_DEFAULT gst_debug_xv_image_pool
 
 /* bufferpool */
 static void gst_xvimage_buffer_pool_finalize (GObject * object);
diff --git a/sys/xvimage/xvimagesink.c b/sys/xvimage/xvimagesink.c
index 9c3b54f..bc9f6bf 100644
--- a/sys/xvimage/xvimagesink.c
+++ b/sys/xvimage/xvimagesink.c
@@ -133,9 +133,9 @@
 /* for XkbKeycodeToKeysym */
 #include <X11/XKBlib.h>
 
-GST_DEBUG_CATEGORY_EXTERN (gst_debug_xvimagesink);
+GST_DEBUG_CATEGORY_EXTERN (gst_debug_xv_image_sink);
 GST_DEBUG_CATEGORY_EXTERN (GST_CAT_PERFORMANCE);
-#define GST_CAT_DEFAULT gst_debug_xvimagesink
+#define GST_CAT_DEFAULT gst_debug_xv_image_sink
 
 typedef struct
 {
@@ -149,15 +149,15 @@
 
 #define MWM_HINTS_DECORATIONS   (1L << 1)
 
-static gboolean gst_xvimagesink_open (GstXvImageSink * xvimagesink);
-static void gst_xvimagesink_close (GstXvImageSink * xvimagesink);
-static void gst_xvimagesink_xwindow_update_geometry (GstXvImageSink *
+static gboolean gst_xv_image_sink_open (GstXvImageSink * xvimagesink);
+static void gst_xv_image_sink_close (GstXvImageSink * xvimagesink);
+static void gst_xv_image_sink_xwindow_update_geometry (GstXvImageSink *
     xvimagesink);
-static void gst_xvimagesink_expose (GstVideoOverlay * overlay);
+static void gst_xv_image_sink_expose (GstVideoOverlay * overlay);
 
 /* Default template - initiated with class struct to allow gst-register to work
    without X running */
-static GstStaticPadTemplate gst_xvimagesink_sink_template_factory =
+static GstStaticPadTemplate gst_xv_image_sink_sink_template_factory =
 GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
@@ -200,19 +200,19 @@
 /*          Object typing & Creation           */
 /*                                             */
 /* =========================================== */
-static void gst_xvimagesink_navigation_init (GstNavigationInterface * iface);
-static void gst_xvimagesink_video_overlay_init (GstVideoOverlayInterface *
+static void gst_xv_image_sink_navigation_init (GstNavigationInterface * iface);
+static void gst_xv_image_sink_video_overlay_init (GstVideoOverlayInterface *
     iface);
-static void gst_xvimagesink_colorbalance_init (GstColorBalanceInterface *
+static void gst_xv_image_sink_colorbalance_init (GstColorBalanceInterface *
     iface);
-#define gst_xvimagesink_parent_class parent_class
-G_DEFINE_TYPE_WITH_CODE (GstXvImageSink, gst_xvimagesink, GST_TYPE_VIDEO_SINK,
+#define gst_xv_image_sink_parent_class parent_class
+G_DEFINE_TYPE_WITH_CODE (GstXvImageSink, gst_xv_image_sink, GST_TYPE_VIDEO_SINK,
     G_IMPLEMENT_INTERFACE (GST_TYPE_NAVIGATION,
-        gst_xvimagesink_navigation_init);
+        gst_xv_image_sink_navigation_init);
     G_IMPLEMENT_INTERFACE (GST_TYPE_VIDEO_OVERLAY,
-        gst_xvimagesink_video_overlay_init);
+        gst_xv_image_sink_video_overlay_init);
     G_IMPLEMENT_INTERFACE (GST_TYPE_COLOR_BALANCE,
-        gst_xvimagesink_colorbalance_init));
+        gst_xv_image_sink_colorbalance_init));
 
 
 /* ============================================================= */
@@ -225,7 +225,8 @@
 /* This function puts a GstXvImage on a GstXvImageSink's window. Returns FALSE
  * if no window was available  */
 static gboolean
-gst_xvimagesink_xvimage_put (GstXvImageSink * xvimagesink, GstBuffer * xvimage)
+gst_xv_image_sink_xvimage_put (GstXvImageSink * xvimagesink,
+    GstBuffer * xvimage)
 {
   GstXvImageMemory *mem;
   GstVideoCropMeta *crop;
@@ -315,7 +316,7 @@
 }
 
 static void
-gst_xvimagesink_xwindow_set_title (GstXvImageSink * xvimagesink,
+gst_xv_image_sink_xwindow_set_title (GstXvImageSink * xvimagesink,
     GstXWindow * xwindow, const gchar * media_title)
 {
   if (media_title) {
@@ -348,20 +349,20 @@
 /* This function handles a GstXWindow creation
  * The width and height are the actual pixel size on the display */
 static GstXWindow *
-gst_xvimagesink_xwindow_new (GstXvImageSink * xvimagesink,
+gst_xv_image_sink_xwindow_new (GstXvImageSink * xvimagesink,
     gint width, gint height)
 {
   GstXWindow *xwindow = NULL;
   GstXvContext *context;
 
-  g_return_val_if_fail (GST_IS_XVIMAGESINK (xvimagesink), NULL);
+  g_return_val_if_fail (GST_IS_XV_IMAGE_SINK (xvimagesink), NULL);
 
   context = xvimagesink->context;
 
   xwindow = gst_xvcontext_create_xwindow (context, width, height);
 
   /* set application name as a title */
-  gst_xvimagesink_xwindow_set_title (xvimagesink, xwindow, NULL);
+  gst_xv_image_sink_xwindow_set_title (xvimagesink, xwindow, NULL);
 
   gst_xwindow_set_event_handling (xwindow, xvimagesink->handle_events);
 
@@ -372,9 +373,9 @@
 }
 
 static void
-gst_xvimagesink_xwindow_update_geometry (GstXvImageSink * xvimagesink)
+gst_xv_image_sink_xwindow_update_geometry (GstXvImageSink * xvimagesink)
 {
-  g_return_if_fail (GST_IS_XVIMAGESINK (xvimagesink));
+  g_return_if_fail (GST_IS_XV_IMAGE_SINK (xvimagesink));
 
   /* Update the window geometry */
   g_mutex_lock (&xvimagesink->flow_lock);
@@ -386,11 +387,11 @@
 /* This function commits our internal colorbalance settings to our grabbed Xv
    port. If the context is not initialized yet it simply returns */
 static void
-gst_xvimagesink_update_colorbalance (GstXvImageSink * xvimagesink)
+gst_xv_image_sink_update_colorbalance (GstXvImageSink * xvimagesink)
 {
   GstXvContext *context;
 
-  g_return_if_fail (GST_IS_XVIMAGESINK (xvimagesink));
+  g_return_if_fail (GST_IS_XV_IMAGE_SINK (xvimagesink));
 
   /* If we haven't initialized the X context we can't update anything */
   if ((context = xvimagesink->context) == NULL)
@@ -404,14 +405,14 @@
    and navigation. It will also listen for configure events on the window to
    trigger caps renegotiation so on the fly software scaling can work. */
 static void
-gst_xvimagesink_handle_xevents (GstXvImageSink * xvimagesink)
+gst_xv_image_sink_handle_xevents (GstXvImageSink * xvimagesink)
 {
   XEvent e;
   guint pointer_x = 0, pointer_y = 0;
   gboolean pointer_moved = FALSE;
   gboolean exposed = FALSE, configured = FALSE;
 
-  g_return_if_fail (GST_IS_XVIMAGESINK (xvimagesink));
+  g_return_if_fail (GST_IS_XV_IMAGE_SINK (xvimagesink));
 
   /* Handle Interaction, produces navigation events */
 
@@ -517,7 +518,7 @@
         g_mutex_unlock (&xvimagesink->context->lock);
         g_mutex_unlock (&xvimagesink->flow_lock);
 
-        gst_xvimagesink_xwindow_update_geometry (xvimagesink);
+        gst_xv_image_sink_xwindow_update_geometry (xvimagesink);
 
         g_mutex_lock (&xvimagesink->flow_lock);
         g_mutex_lock (&xvimagesink->context->lock);
@@ -532,7 +533,7 @@
     g_mutex_unlock (&xvimagesink->context->lock);
     g_mutex_unlock (&xvimagesink->flow_lock);
 
-    gst_xvimagesink_expose (GST_VIDEO_OVERLAY (xvimagesink));
+    gst_xv_image_sink_expose (GST_VIDEO_OVERLAY (xvimagesink));
 
     g_mutex_lock (&xvimagesink->flow_lock);
     g_mutex_lock (&xvimagesink->context->lock);
@@ -570,16 +571,16 @@
 }
 
 static gpointer
-gst_xvimagesink_event_thread (GstXvImageSink * xvimagesink)
+gst_xv_image_sink_event_thread (GstXvImageSink * xvimagesink)
 {
-  g_return_val_if_fail (GST_IS_XVIMAGESINK (xvimagesink), NULL);
+  g_return_val_if_fail (GST_IS_XV_IMAGE_SINK (xvimagesink), NULL);
 
   GST_OBJECT_LOCK (xvimagesink);
   while (xvimagesink->running) {
     GST_OBJECT_UNLOCK (xvimagesink);
 
     if (xvimagesink->xwindow) {
-      gst_xvimagesink_handle_xevents (xvimagesink);
+      gst_xv_image_sink_handle_xevents (xvimagesink);
     }
     /* FIXME: do we want to align this with the framerate or anything else? */
     g_usleep (G_USEC_PER_SEC / 20);
@@ -592,7 +593,7 @@
 }
 
 static void
-gst_xvimagesink_manage_event_thread (GstXvImageSink * xvimagesink)
+gst_xv_image_sink_manage_event_thread (GstXvImageSink * xvimagesink)
 {
   GThread *thread = NULL;
 
@@ -609,7 +610,7 @@
           xvimagesink->handle_expose, xvimagesink->handle_events);
       xvimagesink->running = TRUE;
       xvimagesink->event_thread = g_thread_try_new ("xvimagesink-events",
-          (GThreadFunc) gst_xvimagesink_event_thread, xvimagesink, NULL);
+          (GThreadFunc) gst_xv_image_sink_event_thread, xvimagesink, NULL);
     }
   } else {
     if (xvimagesink->event_thread) {
@@ -632,12 +633,12 @@
 /* Element stuff */
 
 static GstCaps *
-gst_xvimagesink_getcaps (GstBaseSink * bsink, GstCaps * filter)
+gst_xv_image_sink_getcaps (GstBaseSink * bsink, GstCaps * filter)
 {
   GstXvImageSink *xvimagesink;
   GstCaps *caps;
 
-  xvimagesink = GST_XVIMAGESINK (bsink);
+  xvimagesink = GST_XV_IMAGE_SINK (bsink);
 
   if (xvimagesink->context) {
     if (filter)
@@ -660,7 +661,7 @@
 }
 
 static GstBufferPool *
-gst_xvimagesink_create_pool (GstXvImageSink * xvimagesink, GstCaps * caps,
+gst_xv_image_sink_create_pool (GstXvImageSink * xvimagesink, GstCaps * caps,
     gsize size, gint min)
 {
   GstBufferPool *pool;
@@ -685,7 +686,7 @@
 }
 
 static gboolean
-gst_xvimagesink_setcaps (GstBaseSink * bsink, GstCaps * caps)
+gst_xv_image_sink_setcaps (GstBaseSink * bsink, GstCaps * caps)
 {
   GstXvImageSink *xvimagesink;
   GstXvContext *context;
@@ -696,7 +697,7 @@
   gint display_par_n, display_par_d;    /* display's PAR */
   guint num, den;
 
-  xvimagesink = GST_XVIMAGESINK (bsink);
+  xvimagesink = GST_XV_IMAGE_SINK (bsink);
   context = xvimagesink->context;
 
   GST_DEBUG_OBJECT (xvimagesink,
@@ -787,7 +788,7 @@
 
   g_mutex_lock (&xvimagesink->flow_lock);
   if (!xvimagesink->xwindow) {
-    xvimagesink->xwindow = gst_xvimagesink_xwindow_new (xvimagesink,
+    xvimagesink->xwindow = gst_xv_image_sink_xwindow_new (xvimagesink,
         GST_VIDEO_SINK_WIDTH (xvimagesink),
         GST_VIDEO_SINK_HEIGHT (xvimagesink));
   }
@@ -799,7 +800,7 @@
   xvimagesink->redraw_border = TRUE;
 
   /* create a new pool for the new configuration */
-  newpool = gst_xvimagesink_create_pool (xvimagesink, caps, info.size, 2);
+  newpool = gst_xv_image_sink_create_pool (xvimagesink, caps, info.size, 2);
 
   /* we don't activate the internal pool yet as it may not be needed */
   oldpool = xvimagesink->pool;
@@ -841,16 +842,16 @@
 }
 
 static GstStateChangeReturn
-gst_xvimagesink_change_state (GstElement * element, GstStateChange transition)
+gst_xv_image_sink_change_state (GstElement * element, GstStateChange transition)
 {
   GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
   GstXvImageSink *xvimagesink;
 
-  xvimagesink = GST_XVIMAGESINK (element);
+  xvimagesink = GST_XV_IMAGE_SINK (element);
 
   switch (transition) {
     case GST_STATE_CHANGE_NULL_TO_READY:
-      if (!gst_xvimagesink_open (xvimagesink))
+      if (!gst_xv_image_sink_open (xvimagesink))
         goto error;
       break;
     case GST_STATE_CHANGE_READY_TO_PAUSED:
@@ -879,7 +880,7 @@
       g_mutex_unlock (&xvimagesink->flow_lock);
       break;
     case GST_STATE_CHANGE_READY_TO_NULL:
-      gst_xvimagesink_close (xvimagesink);
+      gst_xv_image_sink_close (xvimagesink);
       break;
     default:
       break;
@@ -893,12 +894,12 @@
 }
 
 static void
-gst_xvimagesink_get_times (GstBaseSink * bsink, GstBuffer * buf,
+gst_xv_image_sink_get_times (GstBaseSink * bsink, GstBuffer * buf,
     GstClockTime * start, GstClockTime * end)
 {
   GstXvImageSink *xvimagesink;
 
-  xvimagesink = GST_XVIMAGESINK (bsink);
+  xvimagesink = GST_XV_IMAGE_SINK (bsink);
 
   if (GST_BUFFER_TIMESTAMP_IS_VALID (buf)) {
     *start = GST_BUFFER_TIMESTAMP (buf);
@@ -915,14 +916,14 @@
 }
 
 static GstFlowReturn
-gst_xvimagesink_show_frame (GstVideoSink * vsink, GstBuffer * buf)
+gst_xv_image_sink_show_frame (GstVideoSink * vsink, GstBuffer * buf)
 {
   GstFlowReturn res;
   GstXvImageSink *xvimagesink;
   GstBuffer *to_put = NULL;
   GstMemory *mem;
 
-  xvimagesink = GST_XVIMAGESINK (vsink);
+  xvimagesink = GST_XV_IMAGE_SINK (vsink);
 
   if (gst_buffer_n_memory (buf) == 1 && (mem = gst_buffer_peek_memory (buf, 0))
       && gst_xvimage_memory_is_from_context (mem, xvimagesink->context)) {
@@ -972,7 +973,7 @@
     gst_video_frame_unmap (&src);
   }
 
-  if (!gst_xvimagesink_xvimage_put (xvimagesink, to_put))
+  if (!gst_xv_image_sink_xvimage_put (xvimagesink, to_put))
     goto no_window;
 
 done:
@@ -1018,9 +1019,9 @@
 }
 
 static gboolean
-gst_xvimagesink_event (GstBaseSink * sink, GstEvent * event)
+gst_xv_image_sink_event (GstBaseSink * sink, GstEvent * event)
 {
-  GstXvImageSink *xvimagesink = GST_XVIMAGESINK (sink);
+  GstXvImageSink *xvimagesink = GST_XV_IMAGE_SINK (sink);
 
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_TAG:{
@@ -1032,7 +1033,7 @@
 
       if (title) {
         GST_DEBUG_OBJECT (xvimagesink, "got tags, title='%s'", title);
-        gst_xvimagesink_xwindow_set_title (xvimagesink, xvimagesink->xwindow,
+        gst_xv_image_sink_xwindow_set_title (xvimagesink, xvimagesink->xwindow,
             title);
 
         g_free (title);
@@ -1046,9 +1047,9 @@
 }
 
 static gboolean
-gst_xvimagesink_propose_allocation (GstBaseSink * bsink, GstQuery * query)
+gst_xv_image_sink_propose_allocation (GstBaseSink * bsink, GstQuery * query)
 {
-  GstXvImageSink *xvimagesink = GST_XVIMAGESINK (bsink);
+  GstXvImageSink *xvimagesink = GST_XV_IMAGE_SINK (bsink);
   GstBufferPool *pool = NULL;
   GstCaps *caps;
   guint size;
@@ -1066,7 +1067,7 @@
       goto invalid_caps;
 
     GST_DEBUG_OBJECT (xvimagesink, "create new pool");
-    pool = gst_xvimagesink_create_pool (xvimagesink, caps, info.size, 0);
+    pool = gst_xv_image_sink_create_pool (xvimagesink, caps, info.size, 0);
 
     /* the normal size of a frame */
     size = info.size;
@@ -1107,95 +1108,91 @@
 
 /* Interfaces stuff */
 static void
-gst_xvimagesink_navigation_send_event (GstNavigation * navigation,
+gst_xv_image_sink_navigation_send_event (GstNavigation * navigation,
     GstStructure * structure)
 {
-  GstXvImageSink *xvimagesink = GST_XVIMAGESINK (navigation);
-  GstPad *peer;
+  GstXvImageSink *xvimagesink = GST_XV_IMAGE_SINK (navigation);
   gboolean handled = FALSE;
   GstEvent *event = NULL;
 
-  if ((peer = gst_pad_get_peer (GST_VIDEO_SINK_PAD (xvimagesink)))) {
-    GstVideoRectangle src = { 0, };
-    GstVideoRectangle dst = { 0, };
-    GstVideoRectangle result;
-    gdouble x, y, xscale = 1.0, yscale = 1.0;
-    GstXWindow *xwindow;
+  GstVideoRectangle src = { 0, };
+  GstVideoRectangle dst = { 0, };
+  GstVideoRectangle result;
+  gdouble x, y, xscale = 1.0, yscale = 1.0;
+  GstXWindow *xwindow;
 
-    /* We take the flow_lock while we look at the window */
-    g_mutex_lock (&xvimagesink->flow_lock);
+  /* We take the flow_lock while we look at the window */
+  g_mutex_lock (&xvimagesink->flow_lock);
 
-    if (!(xwindow = xvimagesink->xwindow)) {
-      g_mutex_unlock (&xvimagesink->flow_lock);
-      return;
-    }
-
-    if (xvimagesink->keep_aspect) {
-      /* We get the frame position using the calculated geometry from _setcaps
-         that respect pixel aspect ratios */
-      src.w = GST_VIDEO_SINK_WIDTH (xvimagesink);
-      src.h = GST_VIDEO_SINK_HEIGHT (xvimagesink);
-      dst.w = xwindow->render_rect.w;
-      dst.h = xwindow->render_rect.h;
-
-      gst_video_sink_center_rect (src, dst, &result, TRUE);
-      result.x += xwindow->render_rect.x;
-      result.y += xwindow->render_rect.y;
-    } else {
-      memcpy (&result, &xwindow->render_rect, sizeof (GstVideoRectangle));
-    }
-
+  if (!(xwindow = xvimagesink->xwindow)) {
     g_mutex_unlock (&xvimagesink->flow_lock);
+    return;
+  }
 
-    /* We calculate scaling using the original video frames geometry to include
-       pixel aspect ratio scaling. */
-    xscale = (gdouble) xvimagesink->video_width / result.w;
-    yscale = (gdouble) xvimagesink->video_height / result.h;
+  if (xvimagesink->keep_aspect) {
+    /* We get the frame position using the calculated geometry from _setcaps
+       that respect pixel aspect ratios */
+    src.w = GST_VIDEO_SINK_WIDTH (xvimagesink);
+    src.h = GST_VIDEO_SINK_HEIGHT (xvimagesink);
+    dst.w = xwindow->render_rect.w;
+    dst.h = xwindow->render_rect.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_video_sink_center_rect (src, dst, &result, TRUE);
+    result.x += xwindow->render_rect.x;
+    result.y += xwindow->render_rect.y;
+  } else {
+    memcpy (&result, &xwindow->render_rect, sizeof (GstVideoRectangle));
+  }
 
-    event = gst_event_new_navigation (structure);
+  g_mutex_unlock (&xvimagesink->flow_lock);
+
+  /* We calculate scaling using the original video frames geometry to include
+     pixel aspect ratio scaling. */
+  xscale = (gdouble) xvimagesink->video_width / result.w;
+  yscale = (gdouble) xvimagesink->video_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);
+  }
+
+  event = gst_event_new_navigation (structure);
+  if (event) {
     gst_event_ref (event);
-    handled = gst_pad_send_event (peer, event);
-    gst_object_unref (peer);
-  }
+    handled = gst_pad_push_event (GST_VIDEO_SINK_PAD (xvimagesink), event);
 
-  if (!handled && event) {
-    gst_element_post_message ((GstElement *) xvimagesink,
-        gst_navigation_message_new_event ((GstObject *) xvimagesink, event));
-  }
+    if (!handled)
+      gst_element_post_message ((GstElement *) xvimagesink,
+          gst_navigation_message_new_event ((GstObject *) xvimagesink, event));
 
-  if (event)
     gst_event_unref (event);
+  }
 }
 
 static void
-gst_xvimagesink_navigation_init (GstNavigationInterface * iface)
+gst_xv_image_sink_navigation_init (GstNavigationInterface * iface)
 {
-  iface->send_event = gst_xvimagesink_navigation_send_event;
+  iface->send_event = gst_xv_image_sink_navigation_send_event;
 }
 
 static void
-gst_xvimagesink_set_window_handle (GstVideoOverlay * overlay, guintptr id)
+gst_xv_image_sink_set_window_handle (GstVideoOverlay * overlay, guintptr id)
 {
   XID xwindow_id = id;
-  GstXvImageSink *xvimagesink = GST_XVIMAGESINK (overlay);
+  GstXvImageSink *xvimagesink = GST_XV_IMAGE_SINK (overlay);
   GstXWindow *xwindow = NULL;
   GstXvContext *context;
 
-  g_return_if_fail (GST_IS_XVIMAGESINK (xvimagesink));
+  g_return_if_fail (GST_IS_XV_IMAGE_SINK (xvimagesink));
 
   g_mutex_lock (&xvimagesink->flow_lock);
 
@@ -1216,7 +1213,7 @@
 
   context = xvimagesink->context;
 
-  gst_xvimagesink_update_colorbalance (xvimagesink);
+  gst_xv_image_sink_update_colorbalance (xvimagesink);
 
   /* If a window is there already we destroy it */
   if (xvimagesink->xwindow) {
@@ -1231,7 +1228,7 @@
     if (GST_VIDEO_SINK_WIDTH (xvimagesink)
         && GST_VIDEO_SINK_HEIGHT (xvimagesink)) {
       xwindow =
-          gst_xvimagesink_xwindow_new (xvimagesink,
+          gst_xv_image_sink_xwindow_new (xvimagesink,
           GST_VIDEO_SINK_WIDTH (xvimagesink),
           GST_VIDEO_SINK_HEIGHT (xvimagesink));
     }
@@ -1247,20 +1244,20 @@
 }
 
 static void
-gst_xvimagesink_expose (GstVideoOverlay * overlay)
+gst_xv_image_sink_expose (GstVideoOverlay * overlay)
 {
-  GstXvImageSink *xvimagesink = GST_XVIMAGESINK (overlay);
+  GstXvImageSink *xvimagesink = GST_XV_IMAGE_SINK (overlay);
 
   GST_DEBUG ("doing expose");
-  gst_xvimagesink_xwindow_update_geometry (xvimagesink);
-  gst_xvimagesink_xvimage_put (xvimagesink, NULL);
+  gst_xv_image_sink_xwindow_update_geometry (xvimagesink);
+  gst_xv_image_sink_xvimage_put (xvimagesink, NULL);
 }
 
 static void
-gst_xvimagesink_set_event_handling (GstVideoOverlay * overlay,
+gst_xv_image_sink_set_event_handling (GstVideoOverlay * overlay,
     gboolean handle_events)
 {
-  GstXvImageSink *xvimagesink = GST_XVIMAGESINK (overlay);
+  GstXvImageSink *xvimagesink = GST_XV_IMAGE_SINK (overlay);
 
   g_mutex_lock (&xvimagesink->flow_lock);
   xvimagesink->handle_events = handle_events;
@@ -1270,10 +1267,10 @@
 }
 
 static void
-gst_xvimagesink_set_render_rectangle (GstVideoOverlay * overlay, gint x, gint y,
-    gint width, gint height)
+gst_xv_image_sink_set_render_rectangle (GstVideoOverlay * overlay, gint x,
+    gint y, gint width, gint height)
 {
-  GstXvImageSink *xvimagesink = GST_XVIMAGESINK (overlay);
+  GstXvImageSink *xvimagesink = GST_XV_IMAGE_SINK (overlay);
 
   g_mutex_lock (&xvimagesink->flow_lock);
   if (G_LIKELY (xvimagesink->xwindow))
@@ -1283,20 +1280,20 @@
 }
 
 static void
-gst_xvimagesink_video_overlay_init (GstVideoOverlayInterface * iface)
+gst_xv_image_sink_video_overlay_init (GstVideoOverlayInterface * iface)
 {
-  iface->set_window_handle = gst_xvimagesink_set_window_handle;
-  iface->expose = gst_xvimagesink_expose;
-  iface->handle_events = gst_xvimagesink_set_event_handling;
-  iface->set_render_rectangle = gst_xvimagesink_set_render_rectangle;
+  iface->set_window_handle = gst_xv_image_sink_set_window_handle;
+  iface->expose = gst_xv_image_sink_expose;
+  iface->handle_events = gst_xv_image_sink_set_event_handling;
+  iface->set_render_rectangle = gst_xv_image_sink_set_render_rectangle;
 }
 
 static const GList *
-gst_xvimagesink_colorbalance_list_channels (GstColorBalance * balance)
+gst_xv_image_sink_colorbalance_list_channels (GstColorBalance * balance)
 {
-  GstXvImageSink *xvimagesink = GST_XVIMAGESINK (balance);
+  GstXvImageSink *xvimagesink = GST_XV_IMAGE_SINK (balance);
 
-  g_return_val_if_fail (GST_IS_XVIMAGESINK (xvimagesink), NULL);
+  g_return_val_if_fail (GST_IS_XV_IMAGE_SINK (xvimagesink), NULL);
 
   if (xvimagesink->context)
     return xvimagesink->context->channels_list;
@@ -1305,12 +1302,12 @@
 }
 
 static void
-gst_xvimagesink_colorbalance_set_value (GstColorBalance * balance,
+gst_xv_image_sink_colorbalance_set_value (GstColorBalance * balance,
     GstColorBalanceChannel * channel, gint value)
 {
-  GstXvImageSink *xvimagesink = GST_XVIMAGESINK (balance);
+  GstXvImageSink *xvimagesink = GST_XV_IMAGE_SINK (balance);
 
-  g_return_if_fail (GST_IS_XVIMAGESINK (xvimagesink));
+  g_return_if_fail (GST_IS_XV_IMAGE_SINK (xvimagesink));
   g_return_if_fail (channel->label != NULL);
 
   xvimagesink->config.cb_changed = TRUE;
@@ -1332,17 +1329,17 @@
     return;
   }
 
-  gst_xvimagesink_update_colorbalance (xvimagesink);
+  gst_xv_image_sink_update_colorbalance (xvimagesink);
 }
 
 static gint
-gst_xvimagesink_colorbalance_get_value (GstColorBalance * balance,
+gst_xv_image_sink_colorbalance_get_value (GstColorBalance * balance,
     GstColorBalanceChannel * channel)
 {
-  GstXvImageSink *xvimagesink = GST_XVIMAGESINK (balance);
+  GstXvImageSink *xvimagesink = GST_XV_IMAGE_SINK (balance);
   gint value = 0;
 
-  g_return_val_if_fail (GST_IS_XVIMAGESINK (xvimagesink), 0);
+  g_return_val_if_fail (GST_IS_XV_IMAGE_SINK (xvimagesink), 0);
   g_return_val_if_fail (channel->label != NULL, 0);
 
   if (g_ascii_strcasecmp (channel->label, "XV_HUE") == 0) {
@@ -1365,23 +1362,23 @@
 }
 
 static GstColorBalanceType
-gst_xvimagesink_colorbalance_get_balance_type (GstColorBalance * balance)
+gst_xv_image_sink_colorbalance_get_balance_type (GstColorBalance * balance)
 {
   return GST_COLOR_BALANCE_HARDWARE;
 }
 
 static void
-gst_xvimagesink_colorbalance_init (GstColorBalanceInterface * iface)
+gst_xv_image_sink_colorbalance_init (GstColorBalanceInterface * iface)
 {
-  iface->list_channels = gst_xvimagesink_colorbalance_list_channels;
-  iface->set_value = gst_xvimagesink_colorbalance_set_value;
-  iface->get_value = gst_xvimagesink_colorbalance_get_value;
-  iface->get_balance_type = gst_xvimagesink_colorbalance_get_balance_type;
+  iface->list_channels = gst_xv_image_sink_colorbalance_list_channels;
+  iface->set_value = gst_xv_image_sink_colorbalance_set_value;
+  iface->get_value = gst_xv_image_sink_colorbalance_get_value;
+  iface->get_balance_type = gst_xv_image_sink_colorbalance_get_balance_type;
 }
 
 #if 0
 static const GList *
-gst_xvimagesink_probe_get_properties (GstPropertyProbe * probe)
+gst_xv_image_sink_probe_get_properties (GstPropertyProbe * probe)
 {
   GObjectClass *klass = G_OBJECT_GET_CLASS (probe);
   static GList *list = NULL;
@@ -1402,10 +1399,10 @@
 }
 
 static void
-gst_xvimagesink_probe_probe_property (GstPropertyProbe * probe,
+gst_xv_image_sink_probe_probe_property (GstPropertyProbe * probe,
     guint prop_id, const GParamSpec * pspec)
 {
-  GstXvImageSink *xvimagesink = GST_XVIMAGESINK (probe);
+  GstXvImageSink *xvimagesink = GST_XV_IMAGE_SINK (probe);
 
   switch (prop_id) {
     case PROP_DEVICE:
@@ -1416,7 +1413,7 @@
           "probing device list and get capabilities");
       if (!xvimagesink->context) {
         GST_DEBUG_OBJECT (xvimagesink, "generating context");
-        xvimagesink->context = gst_xvimagesink_context_get (xvimagesink);
+        xvimagesink->context = gst_xv_image_sink_context_get (xvimagesink);
       }
       break;
     default:
@@ -1426,10 +1423,10 @@
 }
 
 static gboolean
-gst_xvimagesink_probe_needs_probe (GstPropertyProbe * probe,
+gst_xv_image_sink_probe_needs_probe (GstPropertyProbe * probe,
     guint prop_id, const GParamSpec * pspec)
 {
-  GstXvImageSink *xvimagesink = GST_XVIMAGESINK (probe);
+  GstXvImageSink *xvimagesink = GST_XV_IMAGE_SINK (probe);
   gboolean ret = FALSE;
 
   switch (prop_id) {
@@ -1452,10 +1449,10 @@
 }
 
 static GValueArray *
-gst_xvimagesink_probe_get_values (GstPropertyProbe * probe,
+gst_xv_image_sink_probe_get_values (GstPropertyProbe * probe,
     guint prop_id, const GParamSpec * pspec)
 {
-  GstXvImageSink *xvimagesink = GST_XVIMAGESINK (probe);
+  GstXvImageSink *xvimagesink = GST_XV_IMAGE_SINK (probe);
   GValueArray *array = NULL;
 
   if (G_UNLIKELY (!xvimagesink->context)) {
@@ -1530,13 +1527,13 @@
 }
 
 static void
-gst_xvimagesink_property_probe_interface_init (GstPropertyProbeInterface *
+gst_xv_image_sink_property_probe_interface_init (GstPropertyProbeInterface *
     iface)
 {
-  iface->get_properties = gst_xvimagesink_probe_get_properties;
-  iface->probe_property = gst_xvimagesink_probe_probe_property;
-  iface->needs_probe = gst_xvimagesink_probe_needs_probe;
-  iface->get_values = gst_xvimagesink_probe_get_values;
+  iface->get_properties = gst_xv_image_sink_probe_get_properties;
+  iface->probe_property = gst_xv_image_sink_probe_probe_property;
+  iface->needs_probe = gst_xv_image_sink_probe_needs_probe;
+  iface->get_values = gst_xv_image_sink_probe_get_values;
 }
 #endif
 
@@ -1547,35 +1544,35 @@
 /* =========================================== */
 
 static void
-gst_xvimagesink_set_property (GObject * object, guint prop_id,
+gst_xv_image_sink_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec)
 {
   GstXvImageSink *xvimagesink;
 
-  g_return_if_fail (GST_IS_XVIMAGESINK (object));
+  g_return_if_fail (GST_IS_XV_IMAGE_SINK (object));
 
-  xvimagesink = GST_XVIMAGESINK (object);
+  xvimagesink = GST_XV_IMAGE_SINK (object);
 
   switch (prop_id) {
     case PROP_HUE:
       xvimagesink->config.hue = g_value_get_int (value);
       xvimagesink->config.cb_changed = TRUE;
-      gst_xvimagesink_update_colorbalance (xvimagesink);
+      gst_xv_image_sink_update_colorbalance (xvimagesink);
       break;
     case PROP_CONTRAST:
       xvimagesink->config.contrast = g_value_get_int (value);
       xvimagesink->config.cb_changed = TRUE;
-      gst_xvimagesink_update_colorbalance (xvimagesink);
+      gst_xv_image_sink_update_colorbalance (xvimagesink);
       break;
     case PROP_BRIGHTNESS:
       xvimagesink->config.brightness = g_value_get_int (value);
       xvimagesink->config.cb_changed = TRUE;
-      gst_xvimagesink_update_colorbalance (xvimagesink);
+      gst_xv_image_sink_update_colorbalance (xvimagesink);
       break;
     case PROP_SATURATION:
       xvimagesink->config.saturation = g_value_get_int (value);
       xvimagesink->config.cb_changed = TRUE;
-      gst_xvimagesink_update_colorbalance (xvimagesink);
+      gst_xv_image_sink_update_colorbalance (xvimagesink);
       break;
     case PROP_DISPLAY:
       g_free (xvimagesink->config.display_name);
@@ -1604,16 +1601,16 @@
       xvimagesink->keep_aspect = g_value_get_boolean (value);
       break;
     case PROP_HANDLE_EVENTS:
-      gst_xvimagesink_set_event_handling (GST_VIDEO_OVERLAY (xvimagesink),
+      gst_xv_image_sink_set_event_handling (GST_VIDEO_OVERLAY (xvimagesink),
           g_value_get_boolean (value));
-      gst_xvimagesink_manage_event_thread (xvimagesink);
+      gst_xv_image_sink_manage_event_thread (xvimagesink);
       break;
     case PROP_DEVICE:
       xvimagesink->config.adaptor_nr = atoi (g_value_get_string (value));
       break;
     case PROP_HANDLE_EXPOSE:
       xvimagesink->handle_expose = g_value_get_boolean (value);
-      gst_xvimagesink_manage_event_thread (xvimagesink);
+      gst_xv_image_sink_manage_event_thread (xvimagesink);
       break;
     case PROP_DOUBLE_BUFFER:
       xvimagesink->double_buffer = g_value_get_boolean (value);
@@ -1634,14 +1631,14 @@
 }
 
 static void
-gst_xvimagesink_get_property (GObject * object, guint prop_id,
+gst_xv_image_sink_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec)
 {
   GstXvImageSink *xvimagesink;
 
-  g_return_if_fail (GST_IS_XVIMAGESINK (object));
+  g_return_if_fail (GST_IS_XV_IMAGE_SINK (object));
 
-  xvimagesink = GST_XVIMAGESINK (object);
+  xvimagesink = GST_XV_IMAGE_SINK (object);
 
   switch (prop_id) {
     case PROP_HUE:
@@ -1723,7 +1720,7 @@
 }
 
 static gboolean
-gst_xvimagesink_open (GstXvImageSink * xvimagesink)
+gst_xv_image_sink_open (GstXvImageSink * xvimagesink)
 {
   GError *error = NULL;
 
@@ -1750,8 +1747,8 @@
   /* call XSynchronize with the current value of synchronous */
   gst_xvcontext_set_synchronous (xvimagesink->context,
       xvimagesink->synchronous);
-  gst_xvimagesink_update_colorbalance (xvimagesink);
-  gst_xvimagesink_manage_event_thread (xvimagesink);
+  gst_xv_image_sink_update_colorbalance (xvimagesink);
+  gst_xv_image_sink_manage_event_thread (xvimagesink);
 
   return TRUE;
 
@@ -1765,7 +1762,7 @@
 }
 
 static void
-gst_xvimagesink_close (GstXvImageSink * xvimagesink)
+gst_xv_image_sink_close (GstXvImageSink * xvimagesink)
 {
   GThread *thread;
   GstXvContext *context;
@@ -1819,13 +1816,13 @@
  * We use mutexes and don't reset stuff to NULL here so let's register
  * as a finalize. */
 static void
-gst_xvimagesink_finalize (GObject * object)
+gst_xv_image_sink_finalize (GObject * object)
 {
   GstXvImageSink *xvimagesink;
 
-  xvimagesink = GST_XVIMAGESINK (object);
+  xvimagesink = GST_XV_IMAGE_SINK (object);
 
-  gst_xvimagesink_close (xvimagesink);
+  gst_xv_image_sink_close (xvimagesink);
 
   gst_xvcontext_config_clear (&xvimagesink->config);
 
@@ -1840,7 +1837,7 @@
 }
 
 static void
-gst_xvimagesink_init (GstXvImageSink * xvimagesink)
+gst_xv_image_sink_init (GstXvImageSink * xvimagesink)
 {
   xvimagesink->config.display_name = NULL;
   xvimagesink->config.adaptor_nr = 0;
@@ -1878,7 +1875,7 @@
 }
 
 static void
-gst_xvimagesink_class_init (GstXvImageSinkClass * klass)
+gst_xv_image_sink_class_init (GstXvImageSinkClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
@@ -1892,8 +1889,8 @@
 
   parent_class = g_type_class_peek_parent (klass);
 
-  gobject_class->set_property = gst_xvimagesink_set_property;
-  gobject_class->get_property = gst_xvimagesink_get_property;
+  gobject_class->set_property = gst_xv_image_sink_set_property;
+  gobject_class->get_property = gst_xv_image_sink_get_property;
 
   g_object_class_install_property (gobject_class, PROP_CONTRAST,
       g_param_spec_int ("contrast", "Contrast", "The contrast of the video",
@@ -2008,24 +2005,26 @@
           "Height of the window", 0, G_MAXUINT64, 0,
           G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
 
-  gobject_class->finalize = gst_xvimagesink_finalize;
+  gobject_class->finalize = gst_xv_image_sink_finalize;
 
   gst_element_class_set_static_metadata (gstelement_class,
       "Video sink", "Sink/Video",
       "A Xv based videosink", "Julien Moutte <julien@moutte.net>");
 
   gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_xvimagesink_sink_template_factory));
+      gst_static_pad_template_get (&gst_xv_image_sink_sink_template_factory));
 
   gstelement_class->change_state =
-      GST_DEBUG_FUNCPTR (gst_xvimagesink_change_state);
+      GST_DEBUG_FUNCPTR (gst_xv_image_sink_change_state);
 
-  gstbasesink_class->get_caps = GST_DEBUG_FUNCPTR (gst_xvimagesink_getcaps);
-  gstbasesink_class->set_caps = GST_DEBUG_FUNCPTR (gst_xvimagesink_setcaps);
-  gstbasesink_class->get_times = GST_DEBUG_FUNCPTR (gst_xvimagesink_get_times);
+  gstbasesink_class->get_caps = GST_DEBUG_FUNCPTR (gst_xv_image_sink_getcaps);
+  gstbasesink_class->set_caps = GST_DEBUG_FUNCPTR (gst_xv_image_sink_setcaps);
+  gstbasesink_class->get_times =
+      GST_DEBUG_FUNCPTR (gst_xv_image_sink_get_times);
   gstbasesink_class->propose_allocation =
-      GST_DEBUG_FUNCPTR (gst_xvimagesink_propose_allocation);
-  gstbasesink_class->event = GST_DEBUG_FUNCPTR (gst_xvimagesink_event);
+      GST_DEBUG_FUNCPTR (gst_xv_image_sink_propose_allocation);
+  gstbasesink_class->event = GST_DEBUG_FUNCPTR (gst_xv_image_sink_event);
 
-  videosink_class->show_frame = GST_DEBUG_FUNCPTR (gst_xvimagesink_show_frame);
+  videosink_class->show_frame =
+      GST_DEBUG_FUNCPTR (gst_xv_image_sink_show_frame);
 }
diff --git a/sys/xvimage/xvimagesink.h b/sys/xvimage/xvimagesink.h
index aefb667..1177903 100644
--- a/sys/xvimage/xvimagesink.h
+++ b/sys/xvimage/xvimagesink.h
@@ -17,8 +17,8 @@
  * Boston, MA 02110-1301, USA.
  */
 
-#ifndef __GST_XVIMAGESINK_H__
-#define __GST_XVIMAGESINK_H__
+#ifndef __GST_XV_IMAGE_SINK_H__
+#define __GST_XV_IMAGE_SINK_H__
 
 #include <gst/video/gstvideosink.h>
 
@@ -26,16 +26,16 @@
 #include <gst/video/video.h>
 
 G_BEGIN_DECLS
-#define GST_TYPE_XVIMAGESINK \
-  (gst_xvimagesink_get_type())
-#define GST_XVIMAGESINK(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_XVIMAGESINK, GstXvImageSink))
-#define GST_XVIMAGESINK_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_XVIMAGESINK, GstXvImageSinkClass))
-#define GST_IS_XVIMAGESINK(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_XVIMAGESINK))
-#define GST_IS_XVIMAGESINK_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_XVIMAGESINK))
+#define GST_TYPE_XV_IMAGE_SINK \
+  (gst_xv_image_sink_get_type())
+#define GST_XV_IMAGE_SINK(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_XV_IMAGE_SINK, GstXvImageSink))
+#define GST_XV_IMAGE_SINK_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_XV_IMAGE_SINK, GstXvImageSinkClass))
+#define GST_IS_XV_IMAGE_SINK(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_XV_IMAGE_SINK))
+#define GST_IS_XV_IMAGE_SINK_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_XV_IMAGE_SINK))
 
 typedef struct _GstXvImageSink GstXvImageSink;
 typedef struct _GstXvImageSinkClass GstXvImageSinkClass;
@@ -127,7 +127,7 @@
   GstVideoSinkClass parent_class;
 };
 
-GType gst_xvimagesink_get_type (void);
+GType gst_xv_image_sink_get_type (void);
 
 G_END_DECLS
-#endif /* __GST_XVIMAGESINK_H__ */
+#endif /* __GST_XV_IMAGE_SINK_H__ */
diff --git a/test-driver b/test-driver
index d306056..8e575b0 100755
--- a/test-driver
+++ b/test-driver
@@ -3,7 +3,7 @@
 
 scriptversion=2013-07-13.22; # UTC
 
-# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -106,11 +106,14 @@
 # Test script is run here.
 "$@" >$log_file 2>&1
 estatus=$?
+
 if test $enable_hard_errors = no && test $estatus -eq 99; then
-  estatus=1
+  tweaked_estatus=1
+else
+  tweaked_estatus=$estatus
 fi
 
-case $estatus:$expect_failure in
+case $tweaked_estatus:$expect_failure in
   0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
   0:*)   col=$grn res=PASS  recheck=no  gcopy=no;;
   77:*)  col=$blu res=SKIP  recheck=no  gcopy=yes;;
@@ -119,6 +122,12 @@
   *:*)   col=$red res=FAIL  recheck=yes gcopy=yes;;
 esac
 
+# Report the test outcome and exit status in the logs, so that one can
+# know whether the test passed or failed simply by looking at the '.log'
+# file, without the need of also peaking into the corresponding '.trs'
+# file (automake bug#11814).
+echo "$res $test_name (exit status: $estatus)" >>$log_file
+
 # Report outcome to console.
 echo "${col}${res}${std}: $test_name"
 
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 126eec6..ee837a7 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,7 +89,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 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 \
@@ -116,6 +125,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -174,6 +184,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -525,7 +536,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -820,6 +830,8 @@
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/tests/check/Makefile.in b/tests/check/Makefile.in
index 192f276..53fb044 100644
--- a/tests/check/Makefile.in
+++ b/tests/check/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,9 +90,6 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-DIST_COMMON = $(top_srcdir)/common/check.mak $(srcdir)/Makefile.in \
-	$(srcdir)/Makefile.am $(top_srcdir)/depcomp $(noinst_HEADERS) \
-	$(top_srcdir)/test-driver
 check_PROGRAMS = generic/clock-selection$(EXEEXT) \
 	generic/states$(EXEEXT) libs/libsabi$(EXEEXT) \
 	libs/allocators$(EXEEXT) libs/audio$(EXEEXT) \
@@ -145,6 +152,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -1065,6 +1074,8 @@
 TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
 TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
 	$(TEST_LOG_FLAGS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/common/check.mak \
+	$(top_srcdir)/depcomp $(top_srcdir)/test-driver
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -1869,7 +1880,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/check/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/check/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -1878,7 +1888,7 @@
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/common/check.mak:
+$(top_srcdir)/common/check.mak $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -3351,7 +3361,7 @@
 	if test -n "$$am__remaking_logs"; then \
 	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
 	       "recursion detected" >&2; \
-	else \
+	elif test -n "$$redo_logs"; then \
 	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
 	fi; \
 	if $(am__make_dryrun); then :; else \
@@ -4109,6 +4119,8 @@
 	mostlyclean-libtool pdf pdf-am ps ps-am recheck tags tags-am \
 	uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # keep target around, since it's referenced in the modules' Makefiles
 clean-local-check:
diff --git a/tests/check/elements/appsink.c b/tests/check/elements/appsink.c
index 519525f..1c9feed 100644
--- a/tests/check/elements/appsink.c
+++ b/tests/check/elements/appsink.c
@@ -313,6 +313,41 @@
 
 GST_END_TEST;
 
+GST_START_TEST (test_segment)
+{
+  GstElement *sink;
+  GstSegment segment;
+  GstBuffer *buffer;
+  GstSample *pulled_preroll;
+  GstSample *pulled_sample;
+
+  sink = setup_appsink ();
+
+  gst_segment_init (&segment, GST_FORMAT_TIME);
+  segment.start = 2 * GST_SECOND;
+  fail_unless (gst_pad_push_event (mysrcpad, gst_event_new_segment (&segment)));
+
+  ASSERT_SET_STATE (sink, GST_STATE_PLAYING, GST_STATE_CHANGE_ASYNC);
+
+  buffer = gst_buffer_new_and_alloc (4);
+  fail_unless (gst_pad_push (mysrcpad, buffer) == GST_FLOW_OK);
+
+  g_signal_emit_by_name (sink, "pull-preroll", &pulled_preroll);
+  fail_unless (gst_segment_is_equal (&segment,
+          gst_sample_get_segment (pulled_preroll)));
+  gst_sample_unref (pulled_preroll);
+
+  g_signal_emit_by_name (sink, "pull-sample", &pulled_sample);
+  fail_unless (gst_segment_is_equal (&segment,
+          gst_sample_get_segment (pulled_sample)));
+  gst_sample_unref (pulled_sample);
+
+  ASSERT_SET_STATE (sink, GST_STATE_NULL, GST_STATE_CHANGE_SUCCESS);
+  cleanup_appsink (sink);
+}
+
+GST_END_TEST;
+
 static Suite *
 appsink_suite (void)
 {
@@ -326,6 +361,7 @@
   tcase_add_test (tc_chain, test_notify1);
   tcase_add_test (tc_chain, test_buffer_list_fallback);
   tcase_add_test (tc_chain, test_buffer_list_fallback_signal);
+  tcase_add_test (tc_chain, test_segment);
 
   return s;
 }
diff --git a/tests/check/generic/states.c b/tests/check/generic/states.c
index 7f12056..bb63579 100644
--- a/tests/check/generic/states.c
+++ b/tests/check/generic/states.c
@@ -207,7 +207,7 @@
 static Suite *
 states_suite (void)
 {
-  Suite *s = suite_create ("states");
+  Suite *s = suite_create ("states_base");
   TCase *tc_chain = tcase_create ("general");
 
   suite_add_tcase (s, tc_chain);
diff --git a/tests/check/libs/audiodecoder.c b/tests/check/libs/audiodecoder.c
index bfcb333..3f210b7 100644
--- a/tests/check/libs/audiodecoder.c
+++ b/tests/check/libs/audiodecoder.c
@@ -443,6 +443,60 @@
 
 GST_END_TEST;
 
+
+/* make sure that the segment event is pushed before the gap */
+GST_START_TEST (audiodecoder_first_data_is_gap)
+{
+  GstSegment segment;
+  GList *events_iter;
+
+  setup_audiodecodertester (NULL, NULL);
+
+  gst_pad_set_active (mysrcpad, TRUE);
+  gst_element_set_state (dec, GST_STATE_PLAYING);
+  gst_pad_set_active (mysinkpad, TRUE);
+
+  send_startup_events ();
+
+  /* push a new segment */
+  gst_segment_init (&segment, GST_FORMAT_TIME);
+  fail_unless (gst_pad_push_event (mysrcpad, gst_event_new_segment (&segment)));
+
+  /* push a gap */
+  fail_unless (gst_pad_push_event (mysrcpad, gst_event_new_gap (0,
+              GST_SECOND)));
+  events_iter = events;
+  /* make sure the usual events have been received */
+  {
+    GstEvent *sstart = events_iter->data;
+    fail_unless (GST_EVENT_TYPE (sstart) == GST_EVENT_STREAM_START);
+    events_iter = g_list_next (events_iter);
+  }
+  {
+    GstEvent *caps_event = events_iter->data;
+    fail_unless (GST_EVENT_TYPE (caps_event) == GST_EVENT_CAPS);
+    events_iter = g_list_next (events_iter);
+  }
+  {
+    GstEvent *segment_event = events_iter->data;
+    fail_unless (GST_EVENT_TYPE (segment_event) == GST_EVENT_SEGMENT);
+    events_iter = g_list_next (events_iter);
+  }
+
+  /* Make sure the gap was pushed */
+  {
+    GstEvent *gap = events_iter->data;
+    fail_unless (GST_EVENT_TYPE (gap) == GST_EVENT_GAP);
+    events_iter = g_list_next (events_iter);
+  }
+  fail_unless (events_iter == NULL);
+
+  cleanup_audiodecodertest ();
+}
+
+GST_END_TEST;
+
+
 static void
 _audiodecoder_flush_events (gboolean send_buffers)
 {
@@ -884,6 +938,231 @@
 
 GST_END_TEST;
 
+static GstTagList *
+pad_get_sticky_tags (GstPad * pad, GstTagScope scope)
+{
+  GstTagList *tags = NULL;
+  GstEvent *event;
+  guint i = 0;
+
+  do {
+    event = gst_pad_get_sticky_event (pad, GST_EVENT_TAG, i++);
+    if (event == NULL)
+      break;
+    gst_event_parse_tag (event, &tags);
+    if (scope == gst_tag_list_get_scope (tags))
+      tags = gst_tag_list_ref (tags);
+    else
+      tags = NULL;
+    gst_event_unref (event);
+  }
+  while (tags == NULL);
+
+  return tags;
+}
+
+#define tag_list_peek_string(list,tag,p_s) \
+    gst_tag_list_peek_string_index(list,tag,0,p_s)
+
+/* Check tag transformations and updates */
+GST_START_TEST (audiodecoder_tag_handling)
+{
+  GstTagList *global_tags;
+  GstTagList *tags;
+  GstSegment segment;
+  const gchar *s = NULL;
+  guint u = 0;
+
+  setup_audiodecodertester (NULL, NULL);
+
+  gst_pad_set_active (mysrcpad, TRUE);
+  gst_element_set_state (dec, GST_STATE_PLAYING);
+  gst_pad_set_active (mysinkpad, TRUE);
+
+  send_startup_events ();
+
+  /* push a new segment */
+  gst_segment_init (&segment, GST_FORMAT_TIME);
+  fail_unless (gst_pad_push_event (mysrcpad, gst_event_new_segment (&segment)));
+
+  /* =======================================================================
+   * SCENARIO 0: global tags passthrough; check upstream/decoder tag merging
+   * ======================================================================= */
+
+  /* push some global tags (these should be passed through and not messed with) */
+  global_tags = gst_tag_list_new (GST_TAG_TITLE, "Global", NULL);
+  gst_tag_list_set_scope (global_tags, GST_TAG_SCOPE_GLOBAL);
+  fail_unless (gst_pad_push_event (mysrcpad,
+          gst_event_new_tag (gst_tag_list_ref (global_tags))));
+
+  /* create some (upstream) stream tags */
+  tags = gst_tag_list_new (GST_TAG_AUDIO_CODEC, "Upstream Codec",
+      GST_TAG_DESCRIPTION, "Upstream Description", NULL);
+  gst_tag_list_set_scope (tags, GST_TAG_SCOPE_STREAM);
+  fail_unless (gst_pad_push_event (mysrcpad, gst_event_new_tag (tags)));
+  tags = NULL;
+
+  /* decoder tags: override/add AUDIO_CODEC, BITRATE and MAXIMUM_BITRATE */
+  {
+    GstTagList *decoder_tags;
+
+    decoder_tags = gst_tag_list_new (GST_TAG_AUDIO_CODEC, "Decoder Codec",
+        GST_TAG_BITRATE, 250000, GST_TAG_MAXIMUM_BITRATE, 255000, NULL);
+    gst_audio_decoder_merge_tags (GST_AUDIO_DECODER (dec),
+        decoder_tags, GST_TAG_MERGE_REPLACE);
+    gst_tag_list_unref (decoder_tags);
+  }
+
+  /* push buffer (this will call gst_audio_decoder_merge_tags with the above) */
+  fail_unless (gst_pad_push (mysrcpad, create_test_buffer (0)) == GST_FLOW_OK);
+  gst_buffer_unref (buffers->data);
+  buffers = g_list_delete_link (buffers, buffers);
+
+  /* check global tags: should not have been tampered with */
+  tags = pad_get_sticky_tags (mysinkpad, GST_TAG_SCOPE_GLOBAL);
+  fail_unless (tags != NULL);
+  GST_INFO ("global tags: %" GST_PTR_FORMAT, tags);
+  fail_unless (gst_tag_list_is_equal (tags, global_tags));
+
+  /* check merged stream tags */
+  tags = pad_get_sticky_tags (mysinkpad, GST_TAG_SCOPE_STREAM);
+  fail_unless (tags != NULL);
+  GST_INFO ("stream tags: %" GST_PTR_FORMAT, tags);
+  /* upstream audio codec should've been replaced with audiodecoder one */
+  fail_unless (tag_list_peek_string (tags, GST_TAG_AUDIO_CODEC, &s));
+  fail_unless_equals_string (s, "Decoder Codec");
+  /* no upstream bitrate, so audiodecoder one should've been added */
+  fail_unless (gst_tag_list_get_uint (tags, GST_TAG_BITRATE, &u));
+  fail_unless_equals_int (u, 250000);
+  /* no upstream maximum-bitrate, so audiodecoder one should've been added */
+  fail_unless (gst_tag_list_get_uint (tags, GST_TAG_MAXIMUM_BITRATE, &u));
+  fail_unless_equals_int (u, 255000);
+  fail_unless (gst_tag_list_get_tag_size (tags, GST_TAG_AUDIO_CODEC) == 1);
+  fail_unless (gst_tag_list_get_tag_size (tags, GST_TAG_BITRATE) == 1);
+  fail_unless (gst_tag_list_get_tag_size (tags, GST_TAG_MAXIMUM_BITRATE) == 1);
+  /* upstream description should've been maintained */
+  fail_unless (gst_tag_list_get_tag_size (tags, GST_TAG_DESCRIPTION) == 1);
+  /* and that should be all: AUDIO_CODEC, DESCRIPTION, BITRATE, MAX BITRATE */
+  fail_unless_equals_int (gst_tag_list_n_tags (tags), 4);
+  gst_tag_list_unref (tags);
+  s = NULL;
+
+  /* ===================================================================
+   * SCENARIO 1: upstream sends updated tags, decoder tags stay the same
+   * =================================================================== */
+
+  /* push same upstream stream tags again */
+  tags = gst_tag_list_new (GST_TAG_AUDIO_CODEC, "Upstream Codec",
+      GST_TAG_DESCRIPTION, "Upstream Description", NULL);
+  fail_unless (gst_pad_push_event (mysrcpad, gst_event_new_tag (tags)));
+  tags = NULL;
+
+  /* decoder tags are still:
+   * audio-codec = "Decoder Codec", bitrate=250000, maximum-bitrate=255000 */
+
+  /* check possibly updated merged stream tags, should be same as before */
+  tags = pad_get_sticky_tags (mysinkpad, GST_TAG_SCOPE_STREAM);
+  fail_unless (tags != NULL);
+  GST_INFO ("stream tags: %" GST_PTR_FORMAT, tags);
+  /* upstream audio codec still be the one merge-replaced by the subclass */
+  fail_unless (tag_list_peek_string (tags, GST_TAG_AUDIO_CODEC, &s));
+  fail_unless_equals_string (s, "Decoder Codec");
+  /* no upstream bitrate, so audiodecoder one should've been added */
+  fail_unless (gst_tag_list_get_uint (tags, GST_TAG_BITRATE, &u));
+  fail_unless_equals_int (u, 250000);
+  fail_unless (gst_tag_list_get_tag_size (tags, GST_TAG_AUDIO_CODEC) == 1);
+  fail_unless (gst_tag_list_get_tag_size (tags, GST_TAG_BITRATE) == 1);
+  fail_unless (gst_tag_list_get_tag_size (tags, GST_TAG_MAXIMUM_BITRATE) == 1);
+  /* upstream description should've been maintained */
+  fail_unless (gst_tag_list_get_tag_size (tags, GST_TAG_DESCRIPTION) == 1);
+  /* and that should be all: AUDIO_CODEC, DESCRIPTION, BITRATE, MAX BITRATE */
+  fail_unless_equals_int (gst_tag_list_n_tags (tags), 4);
+  gst_tag_list_unref (tags);
+  s = NULL;
+
+  /* =============================================================
+   * SCENARIO 2: decoder updates tags, upstream tags stay the same
+   * ============================================================= */
+
+  /* new decoder tags: override AUDIO_CODEC, update/add BITRATE,
+   * no MAXIMUM_BITRATE this time (which means it should not appear
+   * any longer in the output tags now) (bitrate is a different value now) */
+  {
+    GstTagList *decoder_tags;
+
+    decoder_tags = gst_tag_list_new (GST_TAG_AUDIO_CODEC, "Decoder Codec",
+        GST_TAG_BITRATE, 275000, NULL);
+    gst_audio_decoder_merge_tags (GST_AUDIO_DECODER (dec),
+        decoder_tags, GST_TAG_MERGE_REPLACE);
+    gst_tag_list_unref (decoder_tags);
+  }
+
+  /* push another buffer to make decoder update tags */
+  fail_unless (gst_pad_push (mysrcpad, create_test_buffer (2)) == GST_FLOW_OK);
+  gst_buffer_unref (buffers->data);
+  buffers = g_list_delete_link (buffers, buffers);
+
+  /* check updated merged stream tags, the decoder bits should be different */
+  tags = pad_get_sticky_tags (mysinkpad, GST_TAG_SCOPE_STREAM);
+  fail_unless (tags != NULL);
+  GST_INFO ("stream tags: %" GST_PTR_FORMAT, tags);
+  /* upstream audio codec still replaced by the subclass's (wasn't updated) */
+  fail_unless (tag_list_peek_string (tags, GST_TAG_AUDIO_CODEC, &s));
+  fail_unless_equals_string (s, "Decoder Codec");
+  /* no upstream bitrate, so audiodecoder one should've been added, was updated */
+  fail_unless (gst_tag_list_get_uint (tags, GST_TAG_BITRATE, &u));
+  fail_unless_equals_int (u, 275000);
+  /* no upstream maximum-bitrate, and audiodecoder removed it now */
+  fail_unless (!gst_tag_list_get_uint (tags, GST_TAG_MAXIMUM_BITRATE, &u));
+  fail_unless (gst_tag_list_get_tag_size (tags, GST_TAG_AUDIO_CODEC) == 1);
+  fail_unless (gst_tag_list_get_tag_size (tags, GST_TAG_BITRATE) == 1);
+  /* upstream description should've been maintained */
+  fail_unless (gst_tag_list_get_tag_size (tags, GST_TAG_DESCRIPTION) == 1);
+  /* and that should be all, just AUDIO_CODEC, DESCRIPTION, BITRATE */
+  fail_unless_equals_int (gst_tag_list_n_tags (tags), 3);
+  gst_tag_list_unref (tags);
+  s = NULL;
+
+  /* =================================================================
+   * SCENARIO 3: stream-start event should clear upstream tags
+   * ================================================================= */
+
+  /* also tests if the stream-start event clears the upstream tags */
+  fail_unless (gst_pad_push_event (mysrcpad, gst_event_new_stream_start ("x")));
+
+  /* push another buffer to make decoder update tags */
+  fail_unless (gst_pad_push (mysrcpad, create_test_buffer (3)) == GST_FLOW_OK);
+  gst_buffer_unref (buffers->data);
+  buffers = g_list_delete_link (buffers, buffers);
+
+  /* check updated merged stream tags, should be just decoder tags now */
+  tags = pad_get_sticky_tags (mysinkpad, GST_TAG_SCOPE_STREAM);
+  fail_unless (tags != NULL);
+  GST_INFO ("stream tags: %" GST_PTR_FORMAT, tags);
+  fail_unless (tag_list_peek_string (tags, GST_TAG_AUDIO_CODEC, &s));
+  fail_unless_equals_string (s, "Decoder Codec");
+  fail_unless (gst_tag_list_get_uint (tags, GST_TAG_BITRATE, &u));
+  fail_unless_equals_int (u, 275000);
+  /* no upstream maximum-bitrate, and audiodecoder removed it now */
+  fail_unless (!gst_tag_list_get_uint (tags, GST_TAG_MAXIMUM_BITRATE, &u));
+  fail_unless (gst_tag_list_get_tag_size (tags, GST_TAG_AUDIO_CODEC) == 1);
+  fail_unless (gst_tag_list_get_tag_size (tags, GST_TAG_BITRATE) == 1);
+  /* no more description tag since no more upstream tags */
+  fail_unless (gst_tag_list_get_tag_size (tags, GST_TAG_DESCRIPTION) == 0);
+  /* and that should be all, just AUDIO_CODEC, BITRATE */
+  fail_unless_equals_int (gst_tag_list_n_tags (tags), 2);
+  gst_tag_list_unref (tags);
+  s = NULL;
+
+  /* clean up */
+  fail_unless (gst_pad_push_event (mysrcpad, gst_event_new_eos ()));
+  fail_unless (buffers == NULL);
+
+  cleanup_audiodecodertest ();
+  gst_tag_list_unref (global_tags);
+}
+
+GST_END_TEST;
 
 static Suite *
 gst_audiodecoder_suite (void)
@@ -899,8 +1178,10 @@
   tcase_add_test (tc, audiodecoder_negotiation_with_buffer);
   tcase_add_test (tc, audiodecoder_negotiation_with_gap_event);
   tcase_add_test (tc, audiodecoder_delayed_negotiation_with_gap_event);
+  tcase_add_test (tc, audiodecoder_first_data_is_gap);
   tcase_add_test (tc, audiodecoder_buffer_after_segment);
   tcase_add_test (tc, audiodecoder_output_too_many_frames);
+  tcase_add_test (tc, audiodecoder_tag_handling);
 
   tcase_add_test (tc, audiodecoder_query_caps_with_fixed_caps_peer);
   tcase_add_test (tc, audiodecoder_query_caps_with_range_caps_peer);
diff --git a/tests/check/libs/rtp.c b/tests/check/libs/rtp.c
index 164a2f6..77b3d19 100644
--- a/tests/check/libs/rtp.c
+++ b/tests/check/libs/rtp.c
@@ -796,6 +796,164 @@
 
 GST_END_TEST;
 
+
+GST_START_TEST (test_rtcp_validate_with_padding)
+{
+  /* Compound packet with padding in the last packet. Padding is included in
+   * the length of the last packet. */
+  guint8 rtcp_pkt[] = {
+    0x80, 0xC9, 0x00, 0x07, /* Type RR, length = 7 */
+    0x97, 0x6d, 0x21, 0x6a,
+    0x4d, 0x16, 0xaf, 0x14,
+    0x10, 0x1f, 0xd9, 0x91,
+    0x0f, 0xb7, 0x50, 0x88,
+    0x3b, 0x79, 0x31, 0x50,
+    0xbe, 0x19, 0x12, 0xa8,
+    0xbb, 0xce, 0x9e, 0x3e,
+    0xA0, 0xCA, 0x00, 0x0A, /* P=1, Type SDES, length = 10 (includes padding) */
+    0x97, 0x6d, 0x21, 0x6a,
+    0x01, 0x0F, 0x00, 0x00, /* Type 1 (CNAME), length 15 */
+    0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00,
+    0x00, 0x02, 0x09, 0x00, /* Type 2 (NAME), length 9 */
+    0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, /* Type 0 (no length, 2 unused bytes) */
+    0x00, 0x00, 0x00, 0x04  /* RTCP padding */
+  };
+
+  fail_unless (gst_rtcp_buffer_validate_data (rtcp_pkt, sizeof (rtcp_pkt)));
+}
+GST_END_TEST;
+
+GST_START_TEST (test_rtcp_validate_with_padding_wrong_padlength)
+{
+  /* Compound packet with padding in the last packet. Padding is included in
+   * the length of the last packet. */
+  guint8 rtcp_pkt[] = {
+    0x80, 0xC9, 0x00, 0x07, /* Type RR, length = 7 */
+    0x97, 0x6d, 0x21, 0x6a,
+    0x4d, 0x16, 0xaf, 0x14,
+    0x10, 0x1f, 0xd9, 0x91,
+    0x0f, 0xb7, 0x50, 0x88,
+    0x3b, 0x79, 0x31, 0x50,
+    0xbe, 0x19, 0x12, 0xa8,
+    0xbb, 0xce, 0x9e, 0x3e,
+    0xA0, 0xCA, 0x00, 0x0A, /* P=1, Type SDES, length = 10 (includes padding) */
+    0x97, 0x6d, 0x21, 0x6a,
+    0x01, 0x0F, 0x00, 0x00, /* Type 1 (CNAME), length 15 */
+    0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00,
+    0x00, 0x02, 0x09, 0x00, /* Type 2 (NAME), length 9 */
+    0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, /* Type 0 (no length, 2 unused bytes) */
+    0x00, 0x00, 0x00, 0x03  /* RTCP padding (wrong length) */
+  };
+
+  fail_if (gst_rtcp_buffer_validate_data (rtcp_pkt, sizeof (rtcp_pkt)));
+}
+GST_END_TEST;
+
+GST_START_TEST (test_rtcp_validate_with_padding_excluded_from_length)
+{
+  /* Compound packet with padding in the last packet. Padding is not included
+   * in the length. */
+  guint8 rtcp_pkt[] = {
+    0x80, 0xC9, 0x00, 0x07, /* Type RR, length = 7 */
+    0x97, 0x6d, 0x21, 0x6a,
+    0x4d, 0x16, 0xaf, 0x14,
+    0x10, 0x1f, 0xd9, 0x91,
+    0x0f, 0xb7, 0x50, 0x88,
+    0x3b, 0x79, 0x31, 0x50,
+    0xbe, 0x19, 0x12, 0xa8,
+    0xbb, 0xce, 0x9e, 0x3e,
+    0xA0, 0xCA, 0x00, 0x09, /* P=1, Type SDES, length = 9 (excludes padding) */
+    0x97, 0x6d, 0x21, 0x6a,
+    0x01, 0x0F, 0x00, 0x00, /* Type 1 (CNAME), length 15 */
+    0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00,
+    0x00, 0x02, 0x09, 0x00, /* Type 2 (NAME), length 9 */
+    0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, /* Type 0 (no length, 2 unused bytes) */
+    0x00, 0x00, 0x00, 0x04  /* RTCP padding */
+  };
+
+  fail_if (gst_rtcp_buffer_validate_data (rtcp_pkt, sizeof (rtcp_pkt)));
+}
+GST_END_TEST;
+
+GST_START_TEST (test_rtcp_validate_with_padding_set_in_first_packet)
+{
+  /* Compound packet with padding in the last packet but with the pad
+     bit set on first packet */
+  guint8 rtcp_pkt[] = {
+    0xA0, 0xC9, 0x00, 0x07, /* P=1, Type RR, length = 7 */
+    0x97, 0x6d, 0x21, 0x6a,
+    0x4d, 0x16, 0xaf, 0x14,
+    0x10, 0x1f, 0xd9, 0x91,
+    0x0f, 0xb7, 0x50, 0x88,
+    0x3b, 0x79, 0x31, 0x50,
+    0xbe, 0x19, 0x12, 0xa8,
+    0xbb, 0xce, 0x9e, 0x3e,
+    0x80, 0xCA, 0x00, 0x0a, /* Type SDES, length = 10 (include padding) */
+    0x97, 0x6d, 0x21, 0x6a,
+    0x01, 0x0F, 0x00, 0x00, /* Type 1 (CNAME), length 15 */
+    0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00,
+    0x00, 0x02, 0x09, 0x00, /* Type 2 (NAME), length 9 */
+    0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, /* Type 0 (no length, 2 unused bytes) */
+    0x00, 0x00, 0x00, 0x04  /* RTCP padding */
+  };
+
+  fail_if (gst_rtcp_buffer_validate_data (rtcp_pkt, sizeof (rtcp_pkt)));
+}
+GST_END_TEST;
+
+GST_START_TEST (test_rtcp_validate_reduced_without_padding)
+{
+  /* Reduced size packet without padding */
+  guint8 rtcp_pkt[] = {
+    0x80, 0xcd, 0x00, 0x07, /* Type FB, length = 8 */
+    0x97, 0x6d, 0x21, 0x6a,
+    0x4d, 0x16, 0xaf, 0x14,
+    0x10, 0x1f, 0xd9, 0x91,
+    0x0f, 0xb7, 0x50, 0x88,
+    0x3b, 0x79, 0x31, 0x50,
+    0xbe, 0x19, 0x12, 0xa8,
+    0xbb, 0xce, 0x9e, 0x3e,
+  };
+
+  fail_unless (gst_rtcp_buffer_validate_data_reduced (rtcp_pkt, sizeof (rtcp_pkt)));
+}
+GST_END_TEST;
+
+GST_START_TEST (test_rtcp_validate_reduced_with_padding)
+{
+  /* Reduced size packet with padding. */
+  guint8 rtcp_pkt[] = {
+    0xA0, 0xcd, 0x00, 0x08, /* P=1, Type FB, length = 8 */
+    0x97, 0x6d, 0x21, 0x6a,
+    0x4d, 0x16, 0xaf, 0x14,
+    0x10, 0x1f, 0xd9, 0x91,
+    0x0f, 0xb7, 0x50, 0x88,
+    0x3b, 0x79, 0x31, 0x50,
+    0xbe, 0x19, 0x12, 0xa8,
+    0xbb, 0xce, 0x9e, 0x3e,
+    0x00, 0x00, 0x00, 0x04  /* RTCP padding */
+  };
+
+  fail_if (gst_rtcp_buffer_validate_data_reduced (rtcp_pkt, sizeof (rtcp_pkt)));
+}
+GST_END_TEST;
+
 GST_START_TEST (test_rtp_ntp64_extension)
 {
   GstBuffer *buf;
@@ -1027,6 +1185,12 @@
 
   tcase_add_test (tc_chain, test_rtcp_buffer);
   tcase_add_test (tc_chain, test_rtcp_reduced_buffer);
+  tcase_add_test (tc_chain, test_rtcp_validate_with_padding);
+  tcase_add_test (tc_chain, test_rtcp_validate_with_padding_wrong_padlength);
+  tcase_add_test (tc_chain, test_rtcp_validate_with_padding_excluded_from_length);
+  tcase_add_test (tc_chain, test_rtcp_validate_with_padding_set_in_first_packet);
+  tcase_add_test (tc_chain, test_rtcp_validate_reduced_without_padding);
+  tcase_add_test (tc_chain, test_rtcp_validate_reduced_with_padding);
   tcase_add_test (tc_chain, test_rtp_ntp64_extension);
   tcase_add_test (tc_chain, test_rtp_ntp56_extension);
 
diff --git a/tests/check/libs/videodecoder.c b/tests/check/libs/videodecoder.c
index bd3531f..1fc9f36 100644
--- a/tests/check/libs/videodecoder.c
+++ b/tests/check/libs/videodecoder.c
@@ -680,6 +680,57 @@
 
 GST_END_TEST;
 
+/* make sure that the segment event is pushed before the gap */
+GST_START_TEST (videodecoder_first_data_is_gap)
+{
+  GstSegment segment;
+  GList *events_iter;
+
+  setup_videodecodertester (NULL, NULL);
+
+  gst_pad_set_active (mysrcpad, TRUE);
+  gst_element_set_state (dec, GST_STATE_PLAYING);
+  gst_pad_set_active (mysinkpad, TRUE);
+
+  send_startup_events ();
+
+  /* push a new segment */
+  gst_segment_init (&segment, GST_FORMAT_TIME);
+  fail_unless (gst_pad_push_event (mysrcpad, gst_event_new_segment (&segment)));
+
+  /* push a gap */
+  fail_unless (gst_pad_push_event (mysrcpad, gst_event_new_gap (0,
+              GST_SECOND)));
+  events_iter = events;
+  /* make sure the usual events have been received */
+  {
+    GstEvent *sstart = events_iter->data;
+    fail_unless (GST_EVENT_TYPE (sstart) == GST_EVENT_STREAM_START);
+    events_iter = g_list_next (events_iter);
+  }
+  {
+    GstEvent *caps_event = events_iter->data;
+    fail_unless (GST_EVENT_TYPE (caps_event) == GST_EVENT_CAPS);
+    events_iter = g_list_next (events_iter);
+  }
+  {
+    GstEvent *segment_event = events_iter->data;
+    fail_unless (GST_EVENT_TYPE (segment_event) == GST_EVENT_SEGMENT);
+    events_iter = g_list_next (events_iter);
+  }
+
+  /* Make sure the gap was pushed */
+  {
+    GstEvent *gap = events_iter->data;
+    fail_unless (GST_EVENT_TYPE (gap) == GST_EVENT_GAP);
+    events_iter = g_list_next (events_iter);
+  }
+  fail_unless (events_iter == NULL);
+
+  cleanup_videodecodertest ();
+}
+
+GST_END_TEST;
 
 GST_START_TEST (videodecoder_backwards_playback)
 {
@@ -1041,6 +1092,7 @@
   tcase_add_test (tc, videodecoder_playback_with_events);
   tcase_add_test (tc, videodecoder_playback_first_frames_not_decoded);
   tcase_add_test (tc, videodecoder_buffer_after_segment);
+  tcase_add_test (tc, videodecoder_first_data_is_gap);
 
   tcase_add_test (tc, videodecoder_backwards_playback);
   tcase_add_test (tc, videodecoder_backwards_buffer_after_segment);
diff --git a/tests/examples/Makefile.in b/tests/examples/Makefile.in
index 94ba095..412a406 100644
--- a/tests/examples/Makefile.in
+++ b/tests/examples/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -19,7 +19,17 @@
 # descending into all subdirectories a second time, but only after the first
 # (parallel) run has finished, so it should go right through the second time.
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -83,8 +93,6 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-DIST_COMMON = $(top_srcdir)/common/parallel-subdirs.mak \
-	$(srcdir)/Makefile.in $(srcdir)/Makefile.am
 subdir = tests/examples
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -122,6 +130,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -180,6 +189,8 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/common/parallel-subdirs.mak
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -519,7 +530,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/examples/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/examples/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -528,7 +538,7 @@
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/common/parallel-subdirs.mak:
+$(top_srcdir)/common/parallel-subdirs.mak $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -815,6 +825,8 @@
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 .PHONY: independent-subdirs $(SUBDIRS)
 
diff --git a/tests/examples/app/Makefile.in b/tests/examples/app/Makefile.in
index 57dd51b..bd7a1c1 100644
--- a/tests/examples/app/Makefile.in
+++ b/tests/examples/app/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -84,8 +94,6 @@
 	appsrc-seekable$(EXEEXT) appsink-src$(EXEEXT) \
 	appsink-src2$(EXEEXT)
 subdir = tests/examples/app
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 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 \
@@ -122,6 +130,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -249,6 +258,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -589,7 +599,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/examples/app/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/examples/app/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -990,6 +999,8 @@
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/tests/examples/audio/Makefile.in b/tests/examples/audio/Makefile.in
index 39c608e..c93b501 100644
--- a/tests/examples/audio/Makefile.in
+++ b/tests/examples/audio/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 target_triplet = @target@
 noinst_PROGRAMS = $(am__EXEEXT_1)
 subdir = tests/examples/audio
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 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 \
@@ -119,6 +127,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -206,6 +215,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -524,7 +534,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/examples/audio/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/examples/audio/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -830,6 +839,8 @@
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/tests/examples/dynamic/Makefile.in b/tests/examples/dynamic/Makefile.in
index 6f93e9d..12a9800 100644
--- a/tests/examples/dynamic/Makefile.in
+++ b/tests/examples/dynamic/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -82,8 +92,6 @@
 noinst_PROGRAMS = addstream$(EXEEXT) codec-select$(EXEEXT) \
 	sprinkle$(EXEEXT) sprinkle2$(EXEEXT) sprinkle3$(EXEEXT)
 subdir = tests/examples/dynamic
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 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 \
@@ -120,6 +128,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -222,6 +231,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -547,7 +557,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/examples/dynamic/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/examples/dynamic/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -910,6 +919,8 @@
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/tests/examples/encoding/Makefile.in b/tests/examples/encoding/Makefile.in
index 6bb2d79..934b8c0 100644
--- a/tests/examples/encoding/Makefile.in
+++ b/tests/examples/encoding/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 target_triplet = @target@
 noinst_PROGRAMS = $(am__EXEEXT_1)
 subdir = tests/examples/encoding
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 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 \
@@ -119,6 +127,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -198,6 +207,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -523,7 +533,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/examples/encoding/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/examples/encoding/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -797,6 +806,8 @@
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/tests/examples/fft/Makefile.in b/tests/examples/fft/Makefile.in
index f79d1e1..3c1619d 100644
--- a/tests/examples/fft/Makefile.in
+++ b/tests/examples/fft/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 target_triplet = @target@
 noinst_PROGRAMS = fftrange$(EXEEXT)
 subdir = tests/examples/fft
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 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 \
@@ -119,6 +127,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -196,6 +205,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -512,7 +522,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/examples/fft/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/examples/fft/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -799,6 +808,8 @@
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/tests/examples/gio/Makefile.in b/tests/examples/gio/Makefile.in
index 45a2893..80bc3f2 100644
--- a/tests/examples/gio/Makefile.in
+++ b/tests/examples/gio/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 target_triplet = @target@
 @HAVE_GTK_TRUE@noinst_PROGRAMS = giosrc-mounting$(EXEEXT)
 subdir = tests/examples/gio
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 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 \
@@ -119,6 +127,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -199,6 +208,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -512,7 +522,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/examples/gio/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/examples/gio/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -799,6 +808,8 @@
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/tests/examples/overlay/Makefile.in b/tests/examples/overlay/Makefile.in
index 904a7b2..4e49c72 100644
--- a/tests/examples/overlay/Makefile.in
+++ b/tests/examples/overlay/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -84,8 +94,6 @@
 @HAVE_QT_MOC_TRUE@@USE_X_TRUE@am__append_3 = qtgv-videooverlay
 noinst_PROGRAMS = $(am__EXEEXT_4)
 subdir = tests/examples/overlay
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 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 \
@@ -122,6 +130,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -259,6 +268,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -593,7 +603,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/examples/overlay/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/examples/overlay/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -958,6 +967,8 @@
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 @HAVE_QT_MOC_TRUE@@USE_X_TRUE@moc_%.cpp:%.h
 @HAVE_QT_MOC_TRUE@@USE_X_TRUE@	$(AM_V_GEN)$(QT_MOC) $< -o $@
diff --git a/tests/examples/playback/Makefile.in b/tests/examples/playback/Makefile.in
index 9df67e9..96b5213 100644
--- a/tests/examples/playback/Makefile.in
+++ b/tests/examples/playback/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 target_triplet = @target@
 noinst_PROGRAMS = playback-test$(EXEEXT)
 subdir = tests/examples/playback
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 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 \
@@ -119,6 +127,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -195,6 +204,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -511,7 +521,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/examples/playback/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/examples/playback/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -784,6 +793,8 @@
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/tests/examples/playback/playback-test.c b/tests/examples/playback/playback-test.c
index a2927b3..74c04e2 100644
--- a/tests/examples/playback/playback-test.c
+++ b/tests/examples/playback/playback-test.c
@@ -1180,6 +1180,7 @@
         str = gst_tag_list_to_string (tags);
         g_print ("video %d: %s\n", i, str);
         g_free (str);
+        gst_tag_list_unref (tags);
       }
       /* find good name for the label */
       name = g_strdup_printf ("video %d", i + 1);
@@ -1199,6 +1200,7 @@
         str = gst_tag_list_to_string (tags);
         g_print ("audio %d: %s\n", i, str);
         g_free (str);
+        gst_tag_list_unref (tags);
       }
       /* find good name for the label */
       name = g_strdup_printf ("audio %d", i + 1);
@@ -1228,6 +1230,7 @@
         if (value && G_VALUE_HOLDS_STRING (value)) {
           name = g_strdup_printf ("text %s", g_value_get_string (value));
         }
+        gst_tag_list_unref (tags);
       }
       /* find good name for the label if we didn't use a tag */
       if (name == NULL)
@@ -1317,6 +1320,7 @@
     gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (app->vis_combo), name);
   }
   gtk_combo_box_set_active (GTK_COMBO_BOX (app->vis_combo), 0);
+  gst_plugin_feature_list_free (list);
 }
 
 static void
@@ -3381,7 +3385,7 @@
   g_list_free (app->paths);
   g_list_foreach (app->sub_paths, (GFunc) g_free, NULL);
   g_list_free (app->sub_paths);
-
+  g_array_free (app->vis_entries, TRUE);
   g_print ("free pipeline\n");
   gst_object_unref (app->pipeline);
 }
@@ -3411,7 +3415,7 @@
     g_print ("Error initializing: %s\n", err->message);
     exit (1);
   }
-
+  g_option_context_free (ctx);
   GST_DEBUG_CATEGORY_INIT (playback_debug, "playback-test", 0,
       "playback example");
 
diff --git a/tests/examples/playrec/Makefile.in b/tests/examples/playrec/Makefile.in
index c8d3499..55b1f0f 100644
--- a/tests/examples/playrec/Makefile.in
+++ b/tests/examples/playrec/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 target_triplet = @target@
 noinst_PROGRAMS = playrec$(EXEEXT)
 subdir = tests/examples/playrec
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 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 \
@@ -119,6 +127,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -195,6 +204,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -508,7 +518,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/examples/playrec/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/examples/playrec/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -795,6 +804,8 @@
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/tests/examples/seek/Makefile.in b/tests/examples/seek/Makefile.in
index e8896f8..8e1fa5f 100644
--- a/tests/examples/seek/Makefile.in
+++ b/tests/examples/seek/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 target_triplet = @target@
 noinst_PROGRAMS = $(am__EXEEXT_2)
 subdir = tests/examples/seek
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 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 \
@@ -119,6 +127,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -217,6 +226,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -535,7 +545,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/examples/seek/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/examples/seek/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -823,6 +832,8 @@
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/tests/examples/seek/jsseek.c b/tests/examples/seek/jsseek.c
index d3f88e0..72bca95 100644
--- a/tests/examples/seek/jsseek.c
+++ b/tests/examples/seek/jsseek.c
@@ -1814,6 +1814,7 @@
         str = gst_tag_list_to_string (tags);
         g_print ("video %d: %s\n", i, str);
         g_free (str);
+        gst_tag_list_unref (tags);
       }
       /* find good name for the label */
       name = g_strdup_printf ("video %d", i + 1);
@@ -1831,6 +1832,7 @@
         str = gst_tag_list_to_string (tags);
         g_print ("audio %d: %s\n", i, str);
         g_free (str);
+        gst_tag_list_unref (tags);
       }
       /* find good name for the label */
       name = g_strdup_printf ("audio %d", i + 1);
@@ -1858,6 +1860,7 @@
         if (value && G_VALUE_HOLDS_STRING (value)) {
           name = g_strdup_printf ("text %s", g_value_get_string (value));
         }
+        gst_tag_list_unref (tags);
       }
       /* find good name for the label if we didn't use a tag */
       if (name == NULL)
@@ -1944,6 +1947,7 @@
     gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (vis_combo), name);
   }
   gtk_combo_box_set_active (GTK_COMBO_BOX (vis_combo), 0);
+  gst_plugin_feature_list_free (list);
 }
 
 static void
@@ -2676,7 +2680,7 @@
     g_print ("Error initializing: %s\n", err->message);
     exit (1);
   }
-
+  g_option_context_free (ctx);
   GST_DEBUG_CATEGORY_INIT (seek_debug, "seek", 0, "seek example");
 
   if (argc != 3) {
@@ -3019,6 +3023,7 @@
   gst_element_set_state (pipeline, GST_STATE_NULL);
 
   g_print ("free pipeline\n");
+  g_array_free (vis_entries, TRUE);
   gst_object_unref (pipeline);
 
   g_list_foreach (paths, (GFunc) g_free, NULL);
diff --git a/tests/examples/snapshot/Makefile.in b/tests/examples/snapshot/Makefile.in
index be47704..68e8a02 100644
--- a/tests/examples/snapshot/Makefile.in
+++ b/tests/examples/snapshot/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@
 target_triplet = @target@
 noinst_PROGRAMS = $(am__EXEEXT_2)
 subdir = tests/examples/snapshot
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 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 \
@@ -119,6 +127,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -193,6 +202,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -506,7 +516,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/examples/snapshot/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/examples/snapshot/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -779,6 +788,8 @@
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/tests/files/Makefile.in b/tests/files/Makefile.in
index 3aed20b..571d841 100644
--- a/tests/files/Makefile.in
+++ b/tests/files/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,7 +89,6 @@
 host_triplet = @host@
 target_triplet = @target@
 subdir = tests/files
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 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 \
@@ -116,6 +125,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -140,6 +150,7 @@
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -458,7 +469,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/files/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/files/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -633,6 +643,8 @@
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/tests/icles/Makefile.in b/tests/icles/Makefile.in
index f4aaef2..eecbd87 100644
--- a/tests/icles/Makefile.in
+++ b/tests/icles/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -87,8 +97,6 @@
 	test-effect-switch$(EXEEXT) test-overlay-blending$(EXEEXT) \
 	test-reverseplay$(EXEEXT)
 subdir = tests/icles
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 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 \
@@ -125,6 +133,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -367,6 +376,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -777,7 +787,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/icles/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/icles/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -1404,6 +1413,8 @@
 	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
 	uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/tests/icles/playback/Makefile.in b/tests/icles/playback/Makefile.in
index a85a630..6671681 100644
--- a/tests/icles/playback/Makefile.in
+++ b/tests/icles/playback/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -83,8 +93,6 @@
 	test3$(EXEEXT) test4$(EXEEXT) test5$(EXEEXT) test6$(EXEEXT) \
 	test7$(EXEEXT)
 subdir = tests/icles/playback
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp
 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 \
@@ -121,6 +129,7 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -241,6 +250,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -567,7 +577,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/icles/playback/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tests/icles/playback/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -987,6 +996,8 @@
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/tools/Makefile.in b/tools/Makefile.in
index b01d41a..1545507 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -84,8 +94,6 @@
 	gst-discoverer-@GST_API_VERSION@$(EXEEXT) \
 	gst-play-@GST_API_VERSION@$(EXEEXT)
 subdir = tools
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/depcomp $(noinst_HEADERS)
 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 \
@@ -122,6 +130,8 @@
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -261,6 +271,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -589,7 +600,6 @@
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu tools/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -962,6 +972,8 @@
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-binPROGRAMS uninstall-man uninstall-man1
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/tools/gst-device-monitor.c b/tools/gst-device-monitor.c
index 3388d95..c4a1d5e 100644
--- a/tools/gst-device-monitor.c
+++ b/tools/gst-device-monitor.c
@@ -42,11 +42,23 @@
 
 static gboolean bus_msg_handler (GstBus * bus, GstMessage * msg, gpointer data);
 
+static gboolean
+print_structure_field (GQuark field_id, const GValue * value,
+    gpointer user_data)
+{
+  if (G_VALUE_HOLDS_STRING (value))
+    g_print ("\n\t\t%s = %s", g_quark_to_string (field_id),
+        g_value_get_string (value));
+
+  return TRUE;
+}
+
 static void
 device_added (GstDevice * device)
 {
-  gchar *device_class, *caps_str, *name;
+  gchar *device_class, *str, *name;
   GstCaps *caps;
+  GstStructure *props;
   guint i, size = 0;
 
   caps = gst_device_get_caps (device);
@@ -55,17 +67,23 @@
 
   name = gst_device_get_display_name (device);
   device_class = gst_device_get_device_class (device);
+  props = gst_device_get_properties (device);
 
   g_print ("\nDevice found:\n\n");
   g_print ("\tname  : %s\n", name);
   g_print ("\tclass : %s\n", device_class);
   for (i = 0; i < size; ++i) {
     GstStructure *s = gst_caps_get_structure (caps, i);
-    caps_str = gst_structure_to_string (s);
-    g_print ("\t%s %s\n", (i == 0) ? "caps  :" : "       ", caps_str);
-    g_free (caps_str);
+    str = gst_structure_to_string (s);
+    g_print ("\t%s %s\n", (i == 0) ? "caps  :" : "       ", str);
+    g_free (str);
   }
-
+  if (props) {
+    g_print ("\tproperties:");
+    gst_structure_foreach (props, print_structure_field, NULL);
+    gst_structure_free (props);
+    g_print ("\n");
+  }
   g_print ("\n");
 
   g_free (name);
diff --git a/tools/gst-discoverer.c b/tools/gst-discoverer.c
index 045332d..16468ae 100644
--- a/tools/gst-discoverer.c
+++ b/tools/gst-discoverer.c
@@ -381,9 +381,16 @@
 static void
 print_info (GstDiscovererInfo * info, GError * err)
 {
-  GstDiscovererResult result = gst_discoverer_info_get_result (info);
+  GstDiscovererResult result;
   GstDiscovererStreamInfo *sinfo;
 
+  if (!info) {
+    g_print ("Could not discover URI\n");
+    g_print (" %s\n", err->message);
+    return;
+  }
+
+  result = gst_discoverer_info_get_result (info);
   g_print ("Done discovering %s\n", gst_discoverer_info_get_uri (info));
   switch (result) {
     case GST_DISCOVERER_OK:
@@ -555,6 +562,8 @@
 
   if (!g_option_context_parse (ctx, &argc, &argv, &err)) {
     g_print ("Error initializing: %s\n", err->message);
+    g_option_context_free (ctx);
+    g_clear_error (&err);
     exit (1);
   }
 
@@ -568,6 +577,7 @@
   dc = gst_discoverer_new (timeout * GST_SECOND, &err);
   if (G_UNLIKELY (dc == NULL)) {
     g_print ("Error initializing: %s\n", err->message);
+    g_clear_error (&err);
     exit (1);
   }
 
diff --git a/tools/gst-play.c b/tools/gst-play.c
index 8b299a0..15c9aa2 100644
--- a/tools/gst-play.c
+++ b/tools/gst-play.c
@@ -391,7 +391,7 @@
     {
       GstNavigationMessageType mtype = gst_navigation_message_get_type (msg);
       if (mtype == GST_NAVIGATION_MESSAGE_EVENT) {
-        GstEvent *ev;
+        GstEvent *ev = NULL;
 
         if (gst_navigation_message_parse_event (msg, &ev)) {
           GstNavigationEventType e_type = gst_navigation_event_get_type (ev);
@@ -439,6 +439,8 @@
               break;
           }
         }
+        if (ev)
+          gst_event_unref (ev);
       }
       break;
     }
@@ -639,7 +641,7 @@
     while ((entry = g_dir_read_name (dir))) {
       gchar *path;
 
-      path = g_strconcat (filename, G_DIR_SEPARATOR_S, entry, NULL);
+      path = g_build_filename (filename, entry, NULL);
       files = g_list_insert_sorted (files, path, compare);
     }
 
@@ -706,7 +708,7 @@
 {
   GstQuery *query;
   gboolean seekable = FALSE;
-  gint64 dur = -1, pos = -1;
+  gint64 dur = -1, pos = -1, step;
 
   g_return_if_fail (percent >= -1.0 && percent <= 1.0);
 
@@ -725,7 +727,11 @@
   if (!seekable || dur <= 0)
     goto seek_failed;
 
-  pos = pos + dur * percent;
+  step = dur * percent;
+  if (ABS (step) < GST_SECOND)
+    step = (percent < 0) ? -GST_SECOND : GST_SECOND;
+
+  pos = pos + step;
   if (pos > dur) {
     if (!play_next (play)) {
       g_print ("\n%s\n", _("Reached end of play list."));
diff --git a/win32/common/_stdint.h b/win32/common/_stdint.h
index 37f8164..61abb12 100644
--- a/win32/common/_stdint.h
+++ b/win32/common/_stdint.h
@@ -1,8 +1,8 @@
 #ifndef _GST_PLUGINS_BASE__STDINT_H
 #define _GST_PLUGINS_BASE__STDINT_H 1
 #ifndef _GENERATED_STDINT_H
-#define _GENERATED_STDINT_H "gst-plugins-base 1.5.2"
-/* generated using gnu compiler Debian clang version 3.7.0-svn239806-1+b1 (trunk) (based on LLVM 3.7.0) */
+#define _GENERATED_STDINT_H "gst-plugins-base 1.5.90"
+/* generated using gnu compiler gcc-5 (Debian 5.2.1-15) 5.2.1 20150808 */
 #define _STDINT_HAVE_STDINT_H 1
 #include <stdint.h>
 #endif
diff --git a/win32/common/config.h b/win32/common/config.h
index 458bcc3..0e2946d 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -87,7 +87,7 @@
 #define GST_PACKAGE_ORIGIN "Unknown package origin"
 
 /* GStreamer package release date/time for plugins as YYYY-MM-DD */
-#define GST_PACKAGE_RELEASE_DATETIME "2015-06-24"
+#define GST_PACKAGE_RELEASE_DATETIME "2015-08-19"
 
 /* Define if static plugins should be built */
 #undef GST_PLUGIN_BUILD_STATIC
@@ -337,7 +337,7 @@
 #define PACKAGE_NAME "GStreamer Base Plug-ins"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GStreamer Base Plug-ins 1.5.2"
+#define PACKAGE_STRING "GStreamer Base Plug-ins 1.5.90"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gst-plugins-base"
@@ -346,7 +346,7 @@
 #undef PACKAGE_URL
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.5.2"
+#define PACKAGE_VERSION "1.5.90"
 
 /* directory where plugins are located */
 #ifdef _DEBUG
@@ -380,7 +380,7 @@
 #undef USE_TREMOLO
 
 /* Version number of package */
-#define VERSION "1.5.2"
+#define VERSION "1.5.90"
 
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
diff --git a/win32/common/libgstaudio.def b/win32/common/libgstaudio.def
index d481b92..93031a0 100644
--- a/win32/common/libgstaudio.def
+++ b/win32/common/libgstaudio.def
@@ -67,6 +67,7 @@
 	gst_audio_decoder_set_plc
 	gst_audio_decoder_set_plc_aware
 	gst_audio_decoder_set_tolerance
+	gst_audio_decoder_set_use_default_pad_acceptcaps
 	gst_audio_downmix_meta_api_get_type
 	gst_audio_downmix_meta_get_info
 	gst_audio_encoder_allocate_output_buffer
diff --git a/win32/common/libgstvideo.def b/win32/common/libgstvideo.def
index 0537370..39b031f 100644
--- a/win32/common/libgstvideo.def
+++ b/win32/common/libgstvideo.def
@@ -55,6 +55,7 @@
 	gst_video_alpha_mode_get_type
 	gst_video_blend
 	gst_video_blend_scale_linear_RGBA
+	gst_video_buffer_flags_get_type
 	gst_video_buffer_pool_get_type
 	gst_video_buffer_pool_new
 	gst_video_calculate_display_ratio
@@ -128,6 +129,7 @@
 	gst_video_decoder_set_needs_format
 	gst_video_decoder_set_output_state
 	gst_video_decoder_set_packetized
+	gst_video_decoder_set_use_default_pad_acceptcaps
 	gst_video_dither_flags_get_type
 	gst_video_dither_free
 	gst_video_dither_line
@@ -170,7 +172,9 @@
 	gst_video_format_to_string
 	gst_video_frame_copy
 	gst_video_frame_copy_plane
+	gst_video_frame_flags_get_type
 	gst_video_frame_map
+	gst_video_frame_map_flags_get_type
 	gst_video_frame_map_id
 	gst_video_frame_unmap
 	gst_video_gamma_mode_get_type
@@ -180,9 +184,13 @@
 	gst_video_guess_framerate
 	gst_video_info_align
 	gst_video_info_convert
+	gst_video_info_copy
+	gst_video_info_free
 	gst_video_info_from_caps
+	gst_video_info_get_type
 	gst_video_info_init
 	gst_video_info_is_equal
+	gst_video_info_new
 	gst_video_info_set_format
 	gst_video_info_to_caps
 	gst_video_interlace_mode_from_string
@@ -259,6 +267,7 @@
 	gst_video_resampler_method_get_type
 	gst_video_scaler_2d
 	gst_video_scaler_combine_packed_YUV
+	gst_video_scaler_flags_get_type
 	gst_video_scaler_free
 	gst_video_scaler_get_coeff
 	gst_video_scaler_get_max_taps
diff --git a/win32/common/video-enumtypes.c b/win32/common/video-enumtypes.c
index 9263cb4..e82b178 100644
--- a/win32/common/video-enumtypes.c
+++ b/win32/common/video-enumtypes.c
@@ -14,6 +14,8 @@
 #include "video-tile.h"
 #include "video-converter.h"
 #include "video-resampler.h"
+#include "video-frame.h"
+#include "video-scaler.h"
 
 /* enumerations from "video-format.h" */
 GType
@@ -803,3 +805,93 @@
   }
   return g_define_type_id__volatile;
 }
+
+/* enumerations from "video-frame.h" */
+GType
+gst_video_frame_flags_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GFlagsValue values[] = {
+      {GST_VIDEO_FRAME_FLAG_NONE, "GST_VIDEO_FRAME_FLAG_NONE", "none"},
+      {GST_VIDEO_FRAME_FLAG_INTERLACED, "GST_VIDEO_FRAME_FLAG_INTERLACED",
+          "interlaced"},
+      {GST_VIDEO_FRAME_FLAG_TFF, "GST_VIDEO_FRAME_FLAG_TFF", "tff"},
+      {GST_VIDEO_FRAME_FLAG_RFF, "GST_VIDEO_FRAME_FLAG_RFF", "rff"},
+      {GST_VIDEO_FRAME_FLAG_ONEFIELD, "GST_VIDEO_FRAME_FLAG_ONEFIELD",
+          "onefield"},
+      {GST_VIDEO_FRAME_FLAG_MULTIPLE_VIEW, "GST_VIDEO_FRAME_FLAG_MULTIPLE_VIEW",
+          "multiple-view"},
+      {GST_VIDEO_FRAME_FLAG_FIRST_IN_BUNDLE,
+          "GST_VIDEO_FRAME_FLAG_FIRST_IN_BUNDLE", "first-in-bundle"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_flags_register_static ("GstVideoFrameFlags", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
+gst_video_buffer_flags_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GFlagsValue values[] = {
+      {GST_VIDEO_BUFFER_FLAG_INTERLACED, "GST_VIDEO_BUFFER_FLAG_INTERLACED",
+          "interlaced"},
+      {GST_VIDEO_BUFFER_FLAG_TFF, "GST_VIDEO_BUFFER_FLAG_TFF", "tff"},
+      {GST_VIDEO_BUFFER_FLAG_RFF, "GST_VIDEO_BUFFER_FLAG_RFF", "rff"},
+      {GST_VIDEO_BUFFER_FLAG_ONEFIELD, "GST_VIDEO_BUFFER_FLAG_ONEFIELD",
+          "onefield"},
+      {GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW,
+          "GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW", "multiple-view"},
+      {GST_VIDEO_BUFFER_FLAG_FIRST_IN_BUNDLE,
+          "GST_VIDEO_BUFFER_FLAG_FIRST_IN_BUNDLE", "first-in-bundle"},
+      {GST_VIDEO_BUFFER_FLAG_LAST, "GST_VIDEO_BUFFER_FLAG_LAST", "last"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_flags_register_static ("GstVideoBufferFlags", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
+gst_video_frame_map_flags_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GFlagsValue values[] = {
+      {GST_VIDEO_FRAME_MAP_FLAG_NO_REF, "GST_VIDEO_FRAME_MAP_FLAG_NO_REF",
+          "no-ref"},
+      {GST_VIDEO_FRAME_MAP_FLAG_LAST, "GST_VIDEO_FRAME_MAP_FLAG_LAST", "last"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_flags_register_static ("GstVideoFrameMapFlags", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+/* enumerations from "video-scaler.h" */
+GType
+gst_video_scaler_flags_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GFlagsValue values[] = {
+      {GST_VIDEO_SCALER_FLAG_NONE, "GST_VIDEO_SCALER_FLAG_NONE", "none"},
+      {GST_VIDEO_SCALER_FLAG_INTERLACED, "GST_VIDEO_SCALER_FLAG_INTERLACED",
+          "interlaced"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_flags_register_static ("GstVideoScalerFlags", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
diff --git a/win32/common/video-enumtypes.h b/win32/common/video-enumtypes.h
index 986fe1b..090e7ee 100644
--- a/win32/common/video-enumtypes.h
+++ b/win32/common/video-enumtypes.h
@@ -89,6 +89,18 @@
 #define GST_TYPE_VIDEO_RESAMPLER_METHOD (gst_video_resampler_method_get_type())
 GType gst_video_resampler_flags_get_type (void);
 #define GST_TYPE_VIDEO_RESAMPLER_FLAGS (gst_video_resampler_flags_get_type())
+
+/* enumerations from "video-frame.h" */
+GType gst_video_frame_flags_get_type (void);
+#define GST_TYPE_VIDEO_FRAME_FLAGS (gst_video_frame_flags_get_type())
+GType gst_video_buffer_flags_get_type (void);
+#define GST_TYPE_VIDEO_BUFFER_FLAGS (gst_video_buffer_flags_get_type())
+GType gst_video_frame_map_flags_get_type (void);
+#define GST_TYPE_VIDEO_FRAME_MAP_FLAGS (gst_video_frame_map_flags_get_type())
+
+/* enumerations from "video-scaler.h" */
+GType gst_video_scaler_flags_get_type (void);
+#define GST_TYPE_VIDEO_SCALER_FLAGS (gst_video_scaler_flags_get_type())
 G_END_DECLS
 
 #endif /* __GST_VIDEO_ENUM_TYPES_H__ */