Merge tag 'upstream/1.1.3' into debian-experimental

Upstream version 1.1.3
diff --git a/ChangeLog b/ChangeLog
index 4030fdb..ee9ff0e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,594 @@
-=== release 1.1.2 ===
+=== release 1.1.3 ===
 
-2013-07-11  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+2013-07-29  Sebastian Dröge <sebastian.droege@collabora.co.uk>
 
 	* configure.ac:
-	  releasing 1.1.2
+	  releasing 1.1.3
+
+2013-07-29 12:11:38 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* ext/ogg/gstoggdemux.c:
+	  oggdemux: Don't swap start/stop for negative rates in the SEGMENT query
+
+2013-07-29 11:40:57 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst-libs/gst/tag/gsttagdemux.c:
+	  tagdemux: Properly implement seeking if tagdemux is driving the pipeline
+	  https://bugzilla.gnome.org/show_bug.cgi?id=705062
+
+2013-07-29 10:46:01 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* ext/ogg/gstoggdemux.c:
+	  oggdemux: Implement SEGMENT query
+
+2013-07-28 23:38:06 +0200  Matej Knopp <matej.knopp@gmail.com>
+
+	* gst/videorate/gstvideorate.c:
+	  videorate: ignore GAP event
+	  videorate automatically fills gaps with the previous frames.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=705048
+
+2013-07-28 23:38:17 +0200  Matej Knopp <matej.knopp@gmail.com>
+
+	* gst/audiorate/gstaudiorate.c:
+	  audiorate: ignore GAP event
+	  audiorate automatically fills gaps with silence.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=705048
+
+2013-07-28 13:52:28 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst/tcp/gstmultisocketsink.c:
+	  multisocketsink: Fix handling of partial writes and WOULD_BLOCK errors
+
+2013-07-28 13:23:41 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst/tcp/gstmultifdsink.c:
+	  multifdsink: Update current time after every write
+	  Each write will update the last_activity_time and otherwise we would
+	  compare against a too old current time and immediately timeout because
+	  current time is smaller than last activity time (overflow).
+
+2013-07-28 13:20:48 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst/tcp/gstmultihandlesink.c:
+	  multihandlesink: Update current time after every write
+	  Each write will update the last_activity_time and otherwise we would
+	  compare against a too old current time and immediately timeout because
+	  current time is smaller than last activity time (overflow).
+
+2013-07-27 12:16:15 +0200  Edward Hervey <edward@collabora.com>
+
+	* gst-libs/gst/pbutils/descriptions.c:
+	  pbutils: Add description for teletext
+
+2013-07-26 14:28:41 +0200  Matej Knopp <matej.knopp@gmail.com>
+
+	* gst-libs/gst/audio/gstaudiodecoder.c:
+	  audiodecoder: do not leak input caps
+	  https://bugzilla.gnome.org/show_bug.cgi?id=704926
+
+2012-11-02 10:04:16 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* gst/videotestsrc/gstvideotestsrc.c:
+	  videotestsrc: Initialize GstVideoInfo in ::start()
+	  Otherwise we end up with bogus values and races
+
+2012-11-02 10:03:38 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* gst/videotestsrc/gstvideotestsrc.c:
+	  videotestsrc: Don't error on not-negotiated
+	  Base classes will handle re-negotiation if needed, but emitting an
+	  error message will make applications stop.
+
+2012-09-12 12:41:01 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+	* ext/libvisual/gstaudiovisualizer.c:
+	* ext/pango/gstbasetextoverlay.c:
+	* gst/encoding/gststreamsplitter.c:
+	* gst/playback/gststreamsynchronizer.c:
+	  ext/gst: Ensure default query/event handlers are used
+	  And in some cases, just remove our implementation that does nothing
+
+2013-07-26 11:02:32 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* docs/libs/gst-plugins-base-libs-sections.txt:
+	* gst-libs/gst/app/gstappsrc.c:
+	* gst-libs/gst/app/gstappsrc.h:
+	  appsrc: Also provide function API for current-level-bytes and integrate into the docs
+
+2013-07-26 15:00:44 +0900  Changbok Chea <changbok.chea@lge.com>
+
+	* gst-libs/gst/app/gstappsrc.c:
+	* win32/common/libgstapp.def:
+	  appsrc: Add "current-level-bytes" property
+	  https://bugzilla.gnome.org/show_bug.cgi?id=704774
+
+2013-07-25 20:03:50 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* docs/libs/gst-plugins-base-libs-sections.txt:
+	* gst-libs/gst/pbutils/codec-utils.c:
+	* gst-libs/gst/pbutils/codec-utils.h:
+	* win32/common/libgstpbutils.def:
+	  codec-utils: add a gst_codec_utils_aac_get_index_from_sample_rate
+	  It maps a sample rate to a well known AAC sample rate index.
+
+2013-07-26 10:22:32 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	* gst-libs/gst/video/gstvideoencoder.c:
+	  videodecoder/encoder: Call reset() always between start() and stop() and never outside
+
+2013-07-25 14:25:08 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	* gst-libs/gst/video/gstvideoencoder.c:
+	  videoencoder/decoder: Call reset() before start() too
+
+2013-07-25 11:56:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/typefind/gsttypefindfunctions.c:
+	  typefinding: don't detect mp3 based on just a few bits
+	  Remove dodgy code that detects mp3 with as little as
+	  a valid frame sync at the beginning. This was only used
+	  in some unit tests in -good where there were only a few
+	  bytes after the id3 tag. We now require at least two
+	  frame headers.
+	  Fixes mis-dection of text files with UTF-16 LE BOM as mp3.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=681368
+
+2013-07-25 14:11:28 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst-libs/gst/audio/gstaudiodecoder.h:
+	* gst-libs/gst/video/gstvideodecoder.h:
+	  audio/videodecoder: Rename variable in macro from dec to __dec
+	  Otherwise it might shadow another variable in the outside scope
+	  and cause interesting side effects.
+
+2013-07-25 13:31:07 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* ext/theora/gsttheoraenc.c:
+	  theoraenc: Clean up handling of reset/flushing/start/stop
+
+2013-07-25 13:29:22 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* ext/theora/gsttheoradec.c:
+	  theoradec: Clean up handling of reset/flushing/start/stop
+
+2013-07-25 10:53:14 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst-libs/gst/video/gstvideoencoder.c:
+	  videoencoder: There's no point in resetting the encoder when the caps change
+	  The subclass will be called with set_format() and there it can drain
+	  if necessary and reset whatever is necessary. This is the same behaviour
+	  as for the video decoder.
+
+2013-07-25 10:46:04 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst-libs/gst/video/gstvideoencoder.c:
+	  videoencoder: Reset internal state and segments on FLUSH_STOP
+	  https://bugzilla.gnome.org/show_bug.cgi?id=656007
+
+2013-07-25 10:42:56 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst-libs/gst/video/gstvideoencoder.c:
+	  videoencoder: Refactor GstVideoEncoder::reset() handling a bit
+	  Let gst_video_encoder_reset() call it as would be intuitive and
+	  only call it indirectly from gst_video_encoder_drain(). Now it
+	  actually makes sense.
+
+2013-07-25 10:20:01 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	  videodecoder: Refactor GstVideoDecoder::reset() handling a bit
+	  Let gst_video_decoder_reset() call it as would be intuitive and
+	  only call it indirectly from gst_video_decoder_flush(). Now it
+	  actually makes sense.
+
+2013-07-24 09:24:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	  videodecoder: Take DTS as PTS for keyframes as a last resort if we can't calculate any PTS
+	  https://bugzilla.gnome.org/show_bug.cgi?id=704193
+
+2013-07-23 13:42:40 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst/playback/gstplaysink.c:
+	  playsink: Remove two unused variables
+
+2013-07-23 13:38:33 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst/playback/gstsubtitleoverlay.c:
+	* gst/playback/gstsubtitleoverlay.h:
+	  subtitleoverlay: Remove some more unneeded segment tracking
+
+2013-07-23 13:36:09 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst/playback/gstplaysinkconvertbin.c:
+	* gst/playback/gstplaysinkconvertbin.h:
+	  playsinkconvertbin: Remove obsolete segment tracking
+	  This is now all handled automatically with sticky events.
+
+2013-07-23 12:40:57 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst/playback/gstplaybin2.c:
+	  playbin: Ensure that everything in a GstSourceGroup gets the same group-id
+	  Including streams from external subtitle files. If not everything implements
+	  the group-ids playbin invents its own.
+
+2013-07-23 12:35:46 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst/playback/gstplaysink.c:
+	  playsink: Fix handling of colorbalance element if the sink does not implement it
+
+2013-07-23 11:13:19 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst/playback/gstplaysink.c:
+	  playsink: Improve segment handling in the custom flushing for subtitle stream switches
+	  This code needs a lot more work to be improved for 1.0.
+
+2013-07-23 11:11:33 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst/playback/gstsubtitleoverlay.c:
+	  subtitleoverlay: Segment events are sticky now and propagated automatically when needed
+
+2013-07-23 09:14:23 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst/encoding/gststreamcombiner.c:
+	  streamcombiner: Proxy all sink events downstream
+	  Thanks to Mathieu Duponchelle for noticing this regression
+	  introduced with the last change.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=704706
+
+2013-07-22 15:24:50 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst-libs/gst/tag/gsttagdemux.c:
+	  tagdemux: Add support for group-id in the stream-start event
+
+2013-07-22 15:24:29 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* ext/ogg/gstoggdemux.c:
+	* ext/ogg/gstoggdemux.h:
+	* ext/ogg/gstoggmux.c:
+	  ogg: Add support for group-id in the stream-start event
+
+2013-07-22 13:15:09 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst/playback/gststreamsynchronizer.c:
+	* gst/playback/gststreamsynchronizer.h:
+	  streamsynchronizer: Implement grouping of streams via the group-id
+	  https://bugzilla.gnome.org/show_bug.cgi?id=704427
+	  https://bugzilla.gnome.org/show_bug.cgi?id=704408
+
+2013-07-22 08:08:27 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst/encoding/gststreamcombiner.c:
+	  streamcombiner: Fix locking
+	  We have to hold the streams-lock when iterating over all pads,
+	  also the stream-lock of the pad is already locked when we receive
+	  EOS.
+	  Call gst_pad_event_default() for the correct default handling of
+	  events.
+
+2013-07-22 00:48:54 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
+
+	* gst/encoding/Makefile.am:
+	* gst/encoding/gststreamcombiner.c:
+	* gst/encoding/gststreamcombinerpad.h:
+	* gst/encoding/gststreamsplitter.c:
+	  encoding: fix EOS handling in streamsplitter / combiner.
+	  This commit adds a streamcombinerpad with an is_eos field.
+	  When streamcombiner receives an EOS on one of its pads, it
+	  forwards it all its other pads are EOS.
+	  This commit also removes the notion of "stream-switching-eos".
+
+2013-07-19 10:47:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst-libs/gst/video/video-info.c:
+	  video-info: respect stride alignment
+	  Increase the left padding so that we don't cause stride alignments later when we
+	  apply the padding.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=694299
+
+2013-07-19 10:43:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst-libs/gst/video/video-info.c:
+	  Revert "video: respect stride alignment when calculating planes offsets"
+	  This reverts commit 28e1dadbfaa403679e69f8173d1aa2c7500fd556.
+	  Incrementing the offset to make the plane aligned causes the image to be
+	  incompatible with what Xv expects. Rather that forcing a memcpy in the
+	  xvimagesink we would like to do adjust the left padding instead.
+
+2013-07-18 14:13:33 +0200  Arnaud Vrac <avrac@freebox.fr>
+
+	* gst-libs/gst/video/video-info.c:
+	  video: respect stride alignment when calculating planes offsets
+	  https://bugzilla.gnome.org/show_bug.cgi?id=694299
+
+2013-07-18 07:45:47 +0200  Edward Hervey <edward@collabora.com>
+
+	* gst-libs/gst/tag/gstid3tag.c:
+	  id3: Use debug category and show FIXMEs
+	  Allows spotting faster un-parsed tags
+
+2013-07-17 11:42:48 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst-libs/gst/video/gstvideometa.c:
+	  videometa: Add docs to the region of interest meta functions
+
+2013-07-17 09:04:47 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/subparse/samiparse.c:
+	  subparse: use g_strdup() and friends
+	  Fixes build issue on windows, but is also better seeing that
+	  these string are going to get freed with g_free() and not free().
+
+2013-07-15 22:27:20 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/tag/gsttagdemux.c:
+	  tagdemux: Put the modified time back in the time part of the segment
+	  https://bugzilla.gnome.org/show_bug.cgi?id=704301
+
+2013-07-16 18:50:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* tests/check/elements/videoscale.c:
+	  tests: fix videoscale test after video format addition
+
+2013-07-16 18:42:19 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* configure.ac:
+	  configure: remove obsolete libxml checks
+	  https://bugzilla.gnome.org/show_bug.cgi?id=693056
+
+2013-07-16 18:30:50 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+	* gst/subparse/gstsubparse.c:
+	* gst/subparse/samiparse.c:
+	  subparse: don't leak parse context for sami and qttext
+	  In gst_sub_parse_dispose() parser_type will be UNKNOWN,
+	  so these deinit calls were never executed. And we should
+	  clean up the parser state in the downwards state change
+	  anyway.
+
+2013-05-28 16:56:28 +0900  Young-Ho Cha <ganadist@gmail.com>
+
+	* tests/check/elements/subparse.c:
+	  tests: update sami parser testcases
+	  Remove libxml dependency for sami parser
+	  and add more testcases.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=693056
+
+2013-05-25 17:10:14 +0900  Young-Ho Cha <ganadist@gmail.com>
+
+	* gst/subparse/Makefile.am:
+	* gst/subparse/gstsubparse.c:
+	* gst/subparse/samiparse.c:
+	  subparse: remove libxml dependency for sami parser and re-enable sami parser
+	  To celebrate 2013.gnome.asia, updated sami parser for gstreamer 1.x. :D
+	  Remove conditional block for check libxml usage and
+	  implement a simple html markup parser for the sami
+	  parser.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=693056
+
+2013-07-16 16:54:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst-libs/gst/video/gstvideometa.c:
+	  meta: fix ROI meta getter
+
+2013-07-16 12:21:44 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst/playback/gstplaybin2.c:
+	  playbin: Don't prefer decoders for which we found a matching sink
+	  It doesn't make much sense.
+
+2013-07-16 11:47:59 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst-libs/gst/video/video-format.c:
+	* gst-libs/gst/video/video-format.h:
+	* gst-libs/gst/video/video-info.c:
+	  video: Add support for NV24 color format
+	  This is semi-planar 4:4:4 YUV.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=703259
+
+2013-07-16 11:22:35 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst/playback/gstplaybin2.c:
+	  playbin: Also consider possible converters for raw streams when selecting compatible sink/source combinations
+	  https://bugzilla.gnome.org/show_bug.cgi?id=704285
+
+2013-07-16 10:09:27 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* docs/libs/gst-plugins-base-libs-sections.txt:
+	* gst-libs/gst/video/gstvideometa.c:
+	* gst-libs/gst/video/gstvideometa.h:
+	* win32/common/libgstvideo.def:
+	  videometa: Add to the docs and make function names more consistent with others
+
+2013-07-16 10:04:00 +0200  Miguel Casas-Sanchez <miguelecasassanchez@gmail.com>
+
+	* gst-libs/gst/video/gstvideometa.c:
+	* gst-libs/gst/video/gstvideometa.h:
+	  videometa: Add Region Of Interest meta
+	  https://bugzilla.gnome.org/show_bug.cgi?id=704070
+
+2013-07-16 09:30:33 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst/playback/gstplaybin2.c:
+	  playbin: Fix sorting for decoder factories for which we didn't find a compatible sink
+	  They might just need some converters for raw audio/video.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=704285
+
+2013-07-15 17:09:16 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/riff/riff-media.c:
+	  riff-media: Add 'png ' fourcc
+	  On top of mpng, MPNG, PNG, there is also png it seems
+	  https://bugzilla.gnome.org/show_bug.cgi?id=704291
+
+2013-07-15 15:23:17 +0200  Benjamin Gaignard <benjamin.gaignard@linaro.org>
+
+	* gst-libs/gst/allocators/gstdmabuf.c:
+	* gst-libs/gst/allocators/gstdmabuf.h:
+	  allocators: dmabuf: allow testing allocator type
+	  In decide_allocation function some element may when to test the proposed allocator.
+	  For example like this:
+	  if (gst_query_get_n_allocation_params (query) > 0) {
+	  GstAllocator * allocator;
+	  GstAllocationParams params;
+	  gst_query_parse_nth_allocation_param (query, 0, &allocator, &params);
+	  if (g_strcmp0(allocator->mem_type, GST_ALLOCATOR_DMABUF) == 0)
+	  GST_DEBUG("got dmabuf allocator");
+	  else
+	  GST_DEBUG("got an other allocator");
+	  }
+	  https://bugzilla.gnome.org/show_bug.cgi?id=703659
+
+2013-07-14 01:42:52 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
+
+	* ext/ogg/gstoggdemux.c:
+	  oggdemux: Make bisecting fully accurate
+	  When bisecting after an earliest time has been found, we need
+	  to only consider the stream for which the earliest time was found.
+	  Before, the following scenario could be and was encountered:
+	  a) Find the earliest time for stream X
+	  b) bisect and find a page which granuletime is indeed < target, but
+	  contains another stream.
+	  c) decide to seek at the wrong offset, sometimes inferior to
+	  the real one, in which case the error was undected or
+	  d) the offset was superior, and thus the actual target keyframe was
+	  not processed, and packets were skipped waiting
+	  for a granulepos.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=700537
+
+2013-07-13 20:45:01 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
+
+	* ext/ogg/gstoggdemux.c:
+	  Revert "oggdemux: fix seeking with negative rate with skeleton"
+	  This reverts commit b41cd0428956f3ade9b428149e38be8e788556fe.
+
+2013-07-15 09:10:30 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst/playback/gstplaybin2.c:
+	  playbin: Don't print a warning when setting a sink to NULL
+	  https://bugzilla.gnome.org/show_bug.cgi?id=704194
+
+2013-07-14 18:11:59 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst-libs/gst/rtsp/gstrtspconnection.c:
+	  rtspconnection: Create a new write GSource after removing it
+	  After removal, a GSource is destroyed and can never be attached
+	  again to a main context. We need to create a new one instead.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=704198
+
+2013-07-12 12:05:37 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* gst/playback/gstplaybin2.c:
+	  playbin: Properly destroy and set to NULL sinks that don't work
+
+2013-07-08 23:49:39 +0200  Alban Browaeys <prahal@yahoo.com>
+
+	* gst/playback/gstplaybin2.c:
+	  playbin: Fix logic to detect if a stream-change is currently pending
+	  Fixes duration reporting in gapless playback between files.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=585969
+
+2013-07-12 09:37:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+	* gst-libs/gst/video/gstvideometa.h:
+	  videometa: fix header formatting
+
+2013-07-10 13:27:21 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
+
+	* gst-libs/gst/riff/riff-media.c:
+	  riff: Provide correct media type for XSub
+	  Xsub (fourcc DXSB) is a subpicture stream used for embeded
+	  subtitles on divx files. This provides a correct media type
+	  for them instead of just video/x-avi-unknown.
+
+2013-07-11 16:57:11 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* configure.ac:
+	  Back to development
+
+=== release 1.1.2 ===
+
+2013-07-11 15:30:23 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* ChangeLog:
+	* NEWS:
+	* RELEASE:
+	* configure.ac:
+	* 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-ivorbisdec.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:
+	  Release 1.1.2
+
+2013-07-11 15:29:57 +0200  Sebastian Dröge <slomo@circular-chaos.org>
+
+	* po/af.po:
+	* po/az.po:
+	* po/bg.po:
+	* po/ca.po:
+	* po/cs.po:
+	* po/da.po:
+	* po/de.po:
+	* po/el.po:
+	* po/en_GB.po:
+	* po/eo.po:
+	* po/es.po:
+	* po/eu.po:
+	* po/fi.po:
+	* po/fr.po:
+	* po/gl.po:
+	* po/hu.po:
+	* po/id.po:
+	* po/it.po:
+	* po/ja.po:
+	* po/lt.po:
+	* po/lv.po:
+	* po/nb.po:
+	* po/nl.po:
+	* po/or.po:
+	* po/pl.po:
+	* po/pt_BR.po:
+	* po/ro.po:
+	* po/ru.po:
+	* po/sk.po:
+	* po/sl.po:
+	* po/sq.po:
+	* po/sr.po:
+	* po/sv.po:
+	* po/tr.po:
+	* po/uk.po:
+	* po/vi.po:
+	* po/zh_CN.po:
+	  Update .po files
 
 2013-07-10 17:16:14 +0200  Sebastian Dröge <slomo@circular-chaos.org>
 
diff --git a/NEWS b/NEWS
index bc0bee2..14e1a34 100644
--- a/NEWS
+++ b/NEWS
@@ -1,2 +1,2 @@
-This is GStreamer Base Plugins 1.1.2
+This is GStreamer Base Plugins 1.1.3
 
diff --git a/RELEASE b/RELEASE
index f6a1829..5218dbe 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,5 +1,5 @@
 
-Release notes for GStreamer Base Plugins 1.1.2
+Release notes for GStreamer Base Plugins 1.1.3
 
 
 The GStreamer team is proud to announce a new bug-fix release
@@ -63,26 +63,22 @@
 
 Bugs fixed in this release
      
-      * 696300 : H264 video is playing too fast because of invalid PTS:
-      * 698562 : rtpbuffer: broken language bindings for gst_rtp_buffer_get_payload
-      * 700967 : playbin: sink messages are not received in the bus
-      * 701798 : rtspsrc: Regression with connections to certain live stream
-      * 701924 : tests: add playbin test for autoplugging of decoder-sink combination based on capsfeatures
-      * 701943 : playbin: unit tests fail
-      * 701997 : [regression] playbin: loses audio clock and hangs when switching songs after about-to-finish
-      * 702195 : playbin: Emit {audio,text,video}-changed signals when pads are removed
-      * 702215 : pbutils: descriptions: Allow smart codec tag handling
-      * 702465 : playsink: Fix the block diagram of deinterlace bin.
-      * 702467 : audiobasesrc: missing calls to gst_buffer_unmap
-      * 702545 : tags: xmp: adding tags is very slow
-      * 702652 : rtspconnection: tunneled connections do not work
-      * 702840 : queue2 does not work with use-buffering=true
-      * 703088 : rtspsrc parse error race condition
-      * 703119 : rtpbasepayload leaks the segment event
-      * 703196 : videoencoder: Send all pending events with type < CAPS before sending caps.
-      * 703256 : typefind: Fix low probability typefinding for video/mpeg on small amount of data
-      * 703477 : audioresample: disable NEON code path for 16-bit integer
-      * 703684 : POTFILES.in is out of date
+      * 643202 : encodebin: streamcombiner not completely implemented
+      * 585969 : playbin: Position/Duration information mismatch on track change
+      * 681368 : typefinding: CSV file is detected as MP3
+      * 700537 : oggdemux: Drops frames because it needs a keyframe after a seek
+      * 702380 : basertppayload: provide a GstBufferPool for output rtp buffers
+      * 703259 : video: Add support for NV24 video format
+      * 703659 : allocators: dmabuf: allow testing allocator type
+      * 704070 : video: Add Region Of Interest (roi) meta
+      * 704194 : playbin: glib warning when setting sink properties to NULL
+      * 704198 : rtspconnection: Removes child sources and adds them again later
+      * 704285 : playbin: incorrect sorting of decoders when autoplugging
+      * 704427 : streamsynchronizer: Assumes that a different stream-id on one stream means a new stream-group (problem when switching streams)
+      * 704706 : streamcombiner: Must proxy all sink events
+      * 704774 : appsrc: add " current-level-bytes " property
+      * 705048 : audiorate, videorate: drop GAP event
+      * 705062 : tagdemux: push mode code doesn't handle seeks
 
 ==== Download ====
 
@@ -119,20 +115,19 @@
         
 Contributors to this release
     
-      * Branko Subasic
-      * Brendan Long
-      * Carlos Rafael Giani
+      * Alban Browaeys
+      * Arnaud Vrac
+      * Benjamin Gaignard
+      * Changbok Chea
       * Edward Hervey
-      * Jonas Holmberg
-      * Marcin Lewandowski
+      * Matej Knopp
       * Mathieu Duponchelle
-      * Ognyan Tonchev
-      * Patricia Muscalu
-      * Piotr Drąg
+      * Miguel Casas-Sanchez
+      * Olivier Crête
+      * Reynaldo H. Verdejo Pinochet
       * Sebastian Dröge
-      * Sreerenj Balachandran
-      * Thibault Saunier
       * Tim-Philipp Müller
       * Vincent Penquerc'h
       * Wim Taymans
+      * Young-Ho Cha
  
\ No newline at end of file
diff --git a/config.h.in b/config.h.in
index f7a5a92..bde4392 100644
--- a/config.h.in
+++ b/config.h.in
@@ -53,9 +53,6 @@
 /* system wide data directory */
 #undef GST_DATADIR
 
-/* set to disable libxml2-dependent code in subparse */
-#undef GST_DISABLE_XML
-
 /* Extra platform specific plugin suffix */
 #undef GST_EXTRA_MODULE_SUFFIX
 
diff --git a/configure b/configure
index 313c266..720393d 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.1.2.
+# Generated by GNU Autoconf 2.69 for GStreamer Base Plug-ins 1.1.3.
 #
 # 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.1.2'
-PACKAGE_STRING='GStreamer Base Plug-ins 1.1.2'
+PACKAGE_VERSION='1.1.3'
+PACKAGE_STRING='GStreamer Base Plug-ins 1.1.3'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
 PACKAGE_URL=''
 
@@ -709,8 +709,6 @@
 ZLIB_CFLAGS
 USE_ISO_CODES_FALSE
 USE_ISO_CODES_TRUE
-USE_XML_FALSE
-USE_XML_TRUE
 USE_PLUGIN_VOLUME_FALSE
 USE_PLUGIN_VOLUME_TRUE
 USE_PLUGIN_VIDEOSCALE_FALSE
@@ -818,8 +816,6 @@
 GLIB_REQ
 HAVE_SYS_SOCKET_H_FALSE
 HAVE_SYS_SOCKET_H_TRUE
-HAVE_LIBXML_HTML_FALSE
-HAVE_LIBXML_HTML_TRUE
 LIBM
 ENABLE_PLUGIN_DOCS_FALSE
 ENABLE_PLUGIN_DOCS_TRUE
@@ -1772,7 +1768,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.1.2 to adapt to many kinds of systems.
+\`configure' configures GStreamer Base Plug-ins 1.1.3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1848,7 +1844,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GStreamer Base Plug-ins 1.1.2:";;
+     short | recursive ) echo "Configuration of GStreamer Base Plug-ins 1.1.3:";;
    esac
   cat <<\_ACEOF
 
@@ -2137,7 +2133,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GStreamer Base Plug-ins configure 1.1.2
+GStreamer Base Plug-ins configure 1.1.3
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2910,7 +2906,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.1.2, which was
+It was created by GStreamer Base Plug-ins $as_me 1.1.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3889,7 +3885,7 @@
 
 # Define the identity of the package.
  PACKAGE='gst-plugins-base'
- VERSION='1.1.2'
+ VERSION='1.1.3'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4058,9 +4054,9 @@
 
 
 
-  PACKAGE_VERSION_MAJOR=$(echo 1.1.2 | cut -d'.' -f1)
-  PACKAGE_VERSION_MINOR=$(echo 1.1.2 | cut -d'.' -f2)
-  PACKAGE_VERSION_MICRO=$(echo 1.1.2 | cut -d'.' -f3)
+  PACKAGE_VERSION_MAJOR=$(echo 1.1.3 | cut -d'.' -f1)
+  PACKAGE_VERSION_MINOR=$(echo 1.1.3 | cut -d'.' -f2)
+  PACKAGE_VERSION_MICRO=$(echo 1.1.3 | cut -d'.' -f3)
 
 
 
@@ -4071,7 +4067,7 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
 $as_echo_n "checking nano version... " >&6; }
 
-  NANO=$(echo 1.1.2 | cut -d'.' -f4)
+  NANO=$(echo 1.1.3 | cut -d'.' -f4)
 
   if test x"$NANO" = x || test "x$NANO" = "x0" ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -8655,10 +8651,10 @@
 done
 
 
-  GST_CURRENT=102
+  GST_CURRENT=103
   GST_REVISION=0
-  GST_AGE=102
-  GST_LIBVERSION=102:0:102
+  GST_AGE=103
+  GST_LIBVERSION=103:0:103
 
 
 
@@ -12983,7 +12979,7 @@
 
 
 
-GST_REQ=1.1.2
+GST_REQ=1.1.3
 
 
 
@@ -22279,46 +22275,6 @@
 done
 
 
-ac_cppflags_save="$CPPFLAGS"
-CPPFLAGS="`$PKG_CONFIG --cflags libxml-2.0`"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-
-#include <libxml/HTMLparser.h>
-
-int
-main ()
-{
-
-#ifndef LIBXML_HTML_ENABLED
-#error libxml2 has no HTML support
-#endif /* LIBXML_HTML_ENABLED */
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-  HAVE_LIBXML_HTML="yes"
-
-else
-
-  HAVE_LIBXML_HTML="no"
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-CPPFLAGS="$ac_cppflags_save"
- if test "x$HAVE_LIBXML_HTML" = "xyes"; then
-  HAVE_LIBXML_HTML_TRUE=
-  HAVE_LIBXML_HTML_FALSE='#'
-else
-  HAVE_LIBXML_HTML_TRUE='#'
-  HAVE_LIBXML_HTML_FALSE=
-fi
-
-
 for ac_header in sys/socket.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default
@@ -26724,32 +26680,6 @@
 
 
 
- if false; then
-  USE_XML_TRUE=
-  USE_XML_FALSE='#'
-else
-  USE_XML_TRUE='#'
-  USE_XML_FALSE=
-fi
-
-
-$as_echo "#define GST_DISABLE_XML 1" >>confdefs.h
-
-
-if test "x$HAVE_LIBXML_HTML" != "xyes"; then
-
-  GST_PLUGINS_SELECTED=`echo " $GST_PLUGINS_SELECTED " | $SED -e 's/ subparse / /'`
-   if false; then
-  USE_PLUGIN_SUBPARSE_TRUE=
-  USE_PLUGIN_SUBPARSE_FALSE='#'
-else
-  USE_PLUGIN_SUBPARSE_TRUE='#'
-  USE_PLUGIN_SUBPARSE_FALSE=
-fi
-
-
-fi
-
 # Check whether --enable-iso-codes was given.
 if test "${enable_iso_codes+set}" = set; then :
   enableval=$enable_iso_codes; case "${enableval}" in
@@ -31737,7 +31667,6 @@
     -e 's/.* HAVE_FGETPOS$/#define HAVE_FGETPOS 1/' \
     -e 's/.* HAVE_FSETPOS$/#define HAVE_FSETPOS 1/' \
     -e 's/.* HAVE_ISO_CODES$/#undef HAVE_ISO_CODES/' \
-    -e 's/.* HAVE_LIBXML2$/#define HAVE_LIBXML2 1/' \
     -e 's/.* HAVE_PROCESS_H$/#define HAVE_PROCESS_H 1/' \
     -e 's/.* HAVE_STDLIB_H$/#define HAVE_STDLIB_H 1/' \
     -e 's/.* HAVE_STRING_H$/#define HAVE_STRING_H 1/' \
@@ -32023,10 +31952,6 @@
   as_fn_error $? "conditional \"ENABLE_PLUGIN_DOCS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${HAVE_LIBXML_HTML_TRUE}" && test -z "${HAVE_LIBXML_HTML_FALSE}"; then
-  as_fn_error $? "conditional \"HAVE_LIBXML_HTML\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 if test -z "${HAVE_SYS_SOCKET_H_TRUE}" && test -z "${HAVE_SYS_SOCKET_H_FALSE}"; then
   as_fn_error $? "conditional \"HAVE_SYS_SOCKET_H\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -32139,14 +32064,6 @@
   as_fn_error $? "conditional \"USE_PLUGIN_VOLUME\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${USE_XML_TRUE}" && test -z "${USE_XML_FALSE}"; then
-  as_fn_error $? "conditional \"USE_XML\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${USE_PLUGIN_SUBPARSE_TRUE}" && test -z "${USE_PLUGIN_SUBPARSE_FALSE}"; then
-  as_fn_error $? "conditional \"USE_PLUGIN_SUBPARSE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 if test -z "${USE_ISO_CODES_TRUE}" && test -z "${USE_ISO_CODES_FALSE}"; then
   as_fn_error $? "conditional \"USE_ISO_CODES\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -32636,7 +32553,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.1.2, which was
+This file was extended by GStreamer Base Plug-ins $as_me 1.1.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -32702,7 +32619,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.1.2
+GStreamer Base Plug-ins config.status 1.1.3
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index 3e65948..a967e26 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.1.2],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-base])
+AC_INIT([GStreamer Base Plug-ins],[1.1.3],[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, 102, 0, 102)
+AS_LIBTOOL(GST, 103, 0, 103)
 
 dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.1.2
+GST_REQ=1.1.3
 
 dnl *** autotools stuff ****
 
@@ -175,23 +175,6 @@
 dnl these are used by the speex resampler code
 AC_CHECK_HEADERS([xmmintrin.h emmintrin.h])
 
-ac_cppflags_save="$CPPFLAGS"
-CPPFLAGS="`$PKG_CONFIG --cflags libxml-2.0`"
-AC_COMPILE_IFELSE([
-  AC_LANG_PROGRAM([[
-#include <libxml/HTMLparser.h>
-]],[[
-#ifndef LIBXML_HTML_ENABLED
-#error libxml2 has no HTML support
-#endif /* LIBXML_HTML_ENABLED */
-]])], [
-  HAVE_LIBXML_HTML="yes"
-], [
-  HAVE_LIBXML_HTML="no"
-])
-CPPFLAGS="$ac_cppflags_save"
-AM_CONDITIONAL(HAVE_LIBXML_HTML, test "x$HAVE_LIBXML_HTML" = "xyes")
-
 dnl used in gst/tcp
 AC_CHECK_HEADERS([sys/socket.h],
   [HAVE_SYS_SOCKET_H="yes"], [HAVE_SYS_SOCKET_H="no"], [AC_INCLUDES_DEFAULT])
@@ -451,15 +434,6 @@
 AG_GST_CHECK_PLUGIN(videoscale)
 AG_GST_CHECK_PLUGIN(volume)
 
-dnl FIXME 0.11: check for libxml, split subparse and move libxml parts to ext/
-AM_CONDITIONAL(USE_XML, false)
-AC_DEFINE([GST_DISABLE_XML], [1], [set to disable libxml2-dependent code in subparse])
-
-dnl disable plug-ins that require libxml2's HTML support if it is not available
-if test "x$HAVE_LIBXML_HTML" != "xyes"; then
-  AG_GST_DISABLE_PLUGIN(subparse)
-fi
-
 dnl iso-codes is optional, used by libgsttag
 AC_ARG_ENABLE(iso-codes,
 AS_HELP_STRING([--enable-iso-codes],[use iso-codes if installed]),
@@ -973,7 +947,6 @@
     -e 's/.* HAVE_FGETPOS$/#define HAVE_FGETPOS 1/' \
     -e 's/.* HAVE_FSETPOS$/#define HAVE_FSETPOS 1/' \
     -e 's/.* HAVE_ISO_CODES$/#undef HAVE_ISO_CODES/' \
-    -e 's/.* HAVE_LIBXML2$/#define HAVE_LIBXML2 1/' \
     -e 's/.* HAVE_PROCESS_H$/#define HAVE_PROCESS_H 1/' \
     -e 's/.* HAVE_STDLIB_H$/#define HAVE_STDLIB_H 1/' \
     -e 's/.* HAVE_STRING_H$/#define HAVE_STRING_H 1/' \
diff --git a/docs/libs/gst-plugins-base-libs-sections.txt b/docs/libs/gst-plugins-base-libs-sections.txt
index 8df3533..c2bc9ee 100644
--- a/docs/libs/gst-plugins-base-libs-sections.txt
+++ b/docs/libs/gst-plugins-base-libs-sections.txt
@@ -28,6 +28,7 @@
 gst_app_src_get_stream_type
 gst_app_src_set_max_bytes
 gst_app_src_get_max_bytes
+gst_app_src_get_current_level_bytes
 gst_app_src_get_emit_signals
 gst_app_src_set_emit_signals
 GstAppSrcCallbacks
@@ -1994,6 +1995,7 @@
 <INCLUDE>gst/pbutils/codec-utils.h</INCLUDE>
 <SUBSECTION>
 gst_codec_utils_aac_get_sample_rate_from_index
+gst_codec_utils_aac_get_index_from_sample_rate
 gst_codec_utils_aac_get_profile
 gst_codec_utils_aac_get_level
 gst_codec_utils_aac_caps_set_level_and_profile
@@ -2342,6 +2344,11 @@
 GstVideoCropMeta
 gst_buffer_add_video_crop_meta
 gst_buffer_get_video_crop_meta
+GstVideoRegionOfInterestMeta
+gst_buffer_add_video_region_of_interest_meta
+gst_buffer_add_video_region_of_interest_meta_id
+gst_buffer_get_video_region_of_interest_meta
+gst_buffer_get_video_region_of_interest_meta_id
 GstVideoGLTextureUpload
 GstVideoGLTextureUploadMeta
 gst_buffer_add_video_gl_texture_upload_meta
diff --git a/docs/libs/html/api-index-full.html b/docs/libs/html/api-index-full.html
index 12bac45..9b3502d 100644
--- a/docs/libs/html/api-index-full.html
+++ b/docs/libs/html/api-index-full.html
@@ -123,6 +123,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-base-libs-appsrc.html#gst-app-src-get-current-level-bytes" title="gst_app_src_get_current_level_bytes ()">gst_app_src_get_current_level_bytes</a>, function in <a class="link" href="gst-plugins-base-libs-appsrc.html" title="appsrc">appsrc</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gst-plugins-base-libs-appsrc.html#gst-app-src-get-emit-signals" title="gst_app_src_get_emit_signals ()">gst_app_src_get_emit_signals</a>, function in <a class="link" href="gst-plugins-base-libs-appsrc.html" title="appsrc">appsrc</a>
 </dt>
 <dd></dd>
@@ -1273,6 +1277,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-index-from-sample-rate" title="gst_codec_utils_aac_get_index_from_sample_rate ()">gst_codec_utils_aac_get_index_from_sample_rate</a>, function in <a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html" title="gstpbutilscodecutils">gstpbutilscodecutils</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-level" title="gst_codec_utils_aac_get_level ()">gst_codec_utils_aac_get_level</a>, function in <a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html" title="gstpbutilscodecutils">gstpbutilscodecutils</a>
 </dt>
 <dd></dd>
diff --git a/docs/libs/html/compiling.html b/docs/libs/html/compiling.html
index 6668bb6..f819f2d 100644
--- a/docs/libs/html/compiling.html
+++ b/docs/libs/html/compiling.html
@@ -31,7 +31,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp9259904"></a><h2>Compiling against the base plugins libraries</h2>
+<a name="idp3438896"></a><h2>Compiling against the base plugins libraries</h2>
 <p>
 To compile against these libraries, you need to tell the compiler where to 
 find the header files and libraries. This is done with the
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 04eeeb4..5718f59 100644
--- a/docs/libs/html/gst-plugins-base-libs-1.0.devhelp2
+++ b/docs/libs/html/gst-plugins-base-libs-1.0.devhelp2
@@ -118,6 +118,7 @@
     <keyword type="function" name="gst_app_src_get_stream_type ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-get-stream-type"/>
     <keyword type="function" name="gst_app_src_set_max_bytes ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-set-max-bytes"/>
     <keyword type="function" name="gst_app_src_get_max_bytes ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-get-max-bytes"/>
+    <keyword type="function" name="gst_app_src_get_current_level_bytes ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-get-current-level-bytes" since="1.2"/>
     <keyword type="function" name="gst_app_src_get_emit_signals ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-get-emit-signals"/>
     <keyword type="function" name="gst_app_src_set_emit_signals ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-set-emit-signals"/>
     <keyword type="struct" name="GstAppSrcCallbacks" link="gst-plugins-base-libs-appsrc.html#GstAppSrcCallbacks"/>
@@ -206,9 +207,9 @@
     <keyword type="function" name="gst_buffer_add_audio_downmix_meta ()" link="gst-plugins-base-libs-gstaudiometa.html#gst-buffer-add-audio-downmix-meta"/>
     <keyword type="macro" name="gst_buffer_get_audio_downmix_meta()" link="gst-plugins-base-libs-gstaudiometa.html#gst-buffer-get-audio-downmix-meta"/>
     <keyword type="function" name="gst_buffer_get_audio_downmix_meta_for_channels ()" link="gst-plugins-base-libs-gstaudiometa.html#gst-buffer-get-audio-downmix-meta-for-channels"/>
-    <keyword type="" name="Using GstAudioCdSrc-based elements in applications" link="gst-plugins-base-libs-gstaudiocdsrc.html#idp6759040"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-gstaudiocdsrc.html#idp9687648"/>
-    <keyword type="" name="Tracks and Table of Contents (TOC)" link="gst-plugins-base-libs-gstaudiocdsrc.html#idp9692768"/>
+    <keyword type="" name="Using GstAudioCdSrc-based elements in applications" link="gst-plugins-base-libs-gstaudiocdsrc.html#idp6447824"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-gstaudiocdsrc.html#idp6426672"/>
+    <keyword type="" name="Tracks and Table of Contents (TOC)" link="gst-plugins-base-libs-gstaudiocdsrc.html#idp40816"/>
     <keyword type="struct" name="struct GstAudioCdSrc" link="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrc-struct"/>
     <keyword type="struct" name="struct GstAudioCdSrcClass" link="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrcClass"/>
     <keyword type="struct" name="struct GstAudioCdSrcTrack" link="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrcTrack"/>
@@ -358,7 +359,7 @@
     <keyword type="function" name="gst_audio_buffer_reorder_channels ()" link="gst-plugins-base-libs-gstaudiochannels.html#gst-audio-buffer-reorder-channels"/>
     <keyword type="function" name="gst_audio_reorder_channels ()" link="gst-plugins-base-libs-gstaudiochannels.html#gst-audio-reorder-channels"/>
     <keyword type="function" name="gst_audio_get_channel_reorder_map ()" link="gst-plugins-base-libs-gstaudiochannels.html#gst-audio-get-channel-reorder-map"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-gstaudioringbuffer.html#idp14121408"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-gstaudioringbuffer.html#idp14237648"/>
     <keyword type="struct" name="struct GstAudioRingBuffer" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer-struct"/>
     <keyword type="struct" name="struct GstAudioRingBufferClass" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferClass"/>
     <keyword type="struct" name="struct GstAudioRingBufferSpec" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferSpec"/>
@@ -399,7 +400,7 @@
     <keyword type="function" name="gst_audio_ring_buffer_set_timestamp ()" link="gst-plugins-base-libs-gstaudioringbuffer.html#gst-audio-ring-buffer-set-timestamp"/>
     <keyword type="function" name="gst_audio_iec61937_frame_size ()" link="gst-plugins-base-libs-gstaudioiec61937.html#gst-audio-iec61937-frame-size"/>
     <keyword type="function" name="gst_audio_iec61937_payload ()" link="gst-plugins-base-libs-gstaudioiec61937.html#gst-audio-iec61937-payload"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-gststreamvolume.html#idp13908656"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-gststreamvolume.html#idp14090832"/>
     <keyword type="struct" name="GstStreamVolume" link="gst-plugins-base-libs-gststreamvolume.html#GstStreamVolume-struct"/>
     <keyword type="enum" name="enum GstStreamVolumeFormat" link="gst-plugins-base-libs-gststreamvolume.html#GstStreamVolumeFormat"/>
     <keyword type="function" name="gst_stream_volume_get_volume ()" link="gst-plugins-base-libs-gststreamvolume.html#gst-stream-volume-get-volume"/>
@@ -454,7 +455,7 @@
     <keyword type="function" name="gst_riff_parse_strf_vids ()" link="gst-plugins-base-libs-gstriff.html#gst-riff-parse-strf-vids"/>
     <keyword type="function" name="gst_riff_parse_strh ()" link="gst-plugins-base-libs-gstriff.html#gst-riff-parse-strh"/>
     <keyword type="function" name="gst_riff_read_chunk ()" link="gst-plugins-base-libs-gstriff.html#gst-riff-read-chunk"/>
-    <keyword type="" name="Usage" link="gst-plugins-base-libs-gstrtpbaseaudiopayload.html#idp15980400"/>
+    <keyword type="" name="Usage" link="gst-plugins-base-libs-gstrtpbaseaudiopayload.html#idp16118160"/>
     <keyword type="struct" name="struct GstRTPBaseAudioPayload" link="gst-plugins-base-libs-gstrtpbaseaudiopayload.html#GstRTPBaseAudioPayload-struct"/>
     <keyword type="struct" name="struct GstRTPBaseAudioPayloadClass" link="gst-plugins-base-libs-gstrtpbaseaudiopayload.html#GstRTPBaseAudioPayloadClass"/>
     <keyword type="function" name="gst_rtp_base_audio_payload_set_frame_based ()" link="gst-plugins-base-libs-gstrtpbaseaudiopayload.html#gst-rtp-base-audio-payload-set-frame-based"/>
@@ -494,7 +495,7 @@
     <keyword type="property" name="The &quot;ssrc&quot; property" link="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload--ssrc"/>
     <keyword type="property" name="The &quot;timestamp&quot; property" link="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload--timestamp"/>
     <keyword type="property" name="The &quot;timestamp-offset&quot; property" link="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload--timestamp-offset"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-gstrtpbuffer.html#idp17196608"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-gstrtpbuffer.html#idp17085760"/>
     <keyword type="macro" name="GST_RTP_VERSION" link="gst-plugins-base-libs-gstrtpbuffer.html#GST-RTP-VERSION:CAPS"/>
     <keyword type="function" name="gst_rtp_buffer_allocate_data ()" link="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-allocate-data"/>
     <keyword type="function" name="gst_rtp_buffer_new_take_data ()" link="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-new-take-data"/>
@@ -544,7 +545,7 @@
     <keyword type="function" name="gst_rtp_buffer_get_extension_twobytes_header ()" link="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-get-extension-twobytes-header"/>
     <keyword type="function" name="gst_rtp_buffer_add_extension_onebyte_header ()" link="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-add-extension-onebyte-header"/>
     <keyword type="function" name="gst_rtp_buffer_add_extension_twobytes_header ()" link="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-add-extension-twobytes-header"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-gstrtcpbuffer.html#idp17276416"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-gstrtcpbuffer.html#idp17823360"/>
     <keyword type="macro" name="GST_RTCP_VERSION" link="gst-plugins-base-libs-gstrtcpbuffer.html#GST-RTCP-VERSION:CAPS"/>
     <keyword type="macro" name="GST_RTCP_MAX_SDES" link="gst-plugins-base-libs-gstrtcpbuffer.html#GST-RTCP-MAX-SDES:CAPS"/>
     <keyword type="macro" name="GST_RTCP_MAX_BYE_SSRC_COUNT" link="gst-plugins-base-libs-gstrtcpbuffer.html#GST-RTCP-MAX-BYE-SSRC-COUNT:CAPS"/>
@@ -612,7 +613,7 @@
     <keyword type="function" name="gst_rtcp_unix_to_ntp ()" link="gst-plugins-base-libs-gstrtcpbuffer.html#gst-rtcp-unix-to-ntp"/>
     <keyword type="function" name="gst_rtcp_sdes_name_to_type ()" link="gst-plugins-base-libs-gstrtcpbuffer.html#gst-rtcp-sdes-name-to-type"/>
     <keyword type="function" name="gst_rtcp_sdes_type_to_name ()" link="gst-plugins-base-libs-gstrtcpbuffer.html#gst-rtcp-sdes-type-to-name"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-gstrtppayloads.html#idp17830112"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-gstrtppayloads.html#idp33952"/>
     <keyword type="enum" name="enum GstRTPPayload" link="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayload"/>
     <keyword type="macro" name="GST_RTP_PAYLOAD_IS_DYNAMIC()" link="gst-plugins-base-libs-gstrtppayloads.html#GST-RTP-PAYLOAD-IS-DYNAMIC:CAPS"/>
     <keyword type="struct" name="struct GstRTPPayloadInfo" link="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayloadInfo"/>
@@ -683,7 +684,7 @@
     <keyword type="function" name="gst_rtsp_options_from_text ()" link="gst-plugins-base-libs-gstrtspdefs.html#gst-rtsp-options-from-text" since="1.1.1"/>
     <keyword type="function" name="gst_rtsp_find_header_field ()" link="gst-plugins-base-libs-gstrtspdefs.html#gst-rtsp-find-header-field"/>
     <keyword type="function" name="gst_rtsp_find_method ()" link="gst-plugins-base-libs-gstrtspdefs.html#gst-rtsp-find-method"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-gstrtspextension.html#idp15921088"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-gstrtspextension.html#idp9112128"/>
     <keyword type="struct" name="GstRTSPExtension" link="gst-plugins-base-libs-gstrtspextension.html#GstRTSPExtension"/>
     <keyword type="struct" name="struct GstRTSPExtensionInterface" link="gst-plugins-base-libs-gstrtspextension.html#GstRTSPExtensionInterface"/>
     <keyword type="enum" name="enum GstRTSPMsgType" link="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMsgType"/>
@@ -743,7 +744,7 @@
     <keyword type="function" name="gst_rtsp_url_set_port ()" link="gst-plugins-base-libs-gstrtspurl.html#gst-rtsp-url-set-port"/>
     <keyword type="function" name="gst_rtsp_url_get_port ()" link="gst-plugins-base-libs-gstrtspurl.html#gst-rtsp-url-get-port"/>
     <keyword type="function" name="gst_rtsp_url_decode_path_components ()" link="gst-plugins-base-libs-gstrtspurl.html#gst-rtsp-url-decode-path-components"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-gstsdpmessage.html#idp25117568"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-gstsdpmessage.html#idp25163008"/>
     <keyword type="enum" name="enum GstSDPResult" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult"/>
     <keyword type="struct" name="GstSDPOrigin" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPOrigin"/>
     <keyword type="struct" name="GstSDPConnection" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPConnection"/>
@@ -877,7 +878,7 @@
     <keyword type="function" name="gst_sdp_media_replace_attribute ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-replace-attribute" since="1.2"/>
     <keyword type="function" name="gst_sdp_media_remove_attribute ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-remove-attribute" since="1.2"/>
     <keyword type="function" name="gst_sdp_media_add_attribute ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-add-attribute"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-gsttag.html#idp16950320"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-gsttag.html#idp18620592"/>
     <keyword type="macro" name="GST_TAG_MUSICBRAINZ_TRACKID" link="gst-plugins-base-libs-gsttag.html#GST-TAG-MUSICBRAINZ-TRACKID:CAPS"/>
     <keyword type="macro" name="GST_TAG_MUSICBRAINZ_ARTISTID" link="gst-plugins-base-libs-gsttag.html#GST-TAG-MUSICBRAINZ-ARTISTID:CAPS"/>
     <keyword type="macro" name="GST_TAG_MUSICBRAINZ_ALBUMID" link="gst-plugins-base-libs-gsttag.html#GST-TAG-MUSICBRAINZ-ALBUMID:CAPS"/>
@@ -915,7 +916,7 @@
     <keyword type="function" name="gst_tag_freeform_string_to_utf8 ()" link="gst-plugins-base-libs-gsttag.html#gst-tag-freeform-string-to-utf8"/>
     <keyword type="function" name="gst_tag_parse_extended_comment ()" link="gst-plugins-base-libs-gsttag.html#gst-tag-parse-extended-comment"/>
     <keyword type="enum" name="enum GstTagImageType" link="gst-plugins-base-libs-gsttag.html#GstTagImageType"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-gsttagvorbis.html#idp22820896"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-gsttagvorbis.html#idp23023744"/>
     <keyword type="function" name="gst_tag_from_vorbis_tag ()" link="gst-plugins-base-libs-gsttagvorbis.html#gst-tag-from-vorbis-tag"/>
     <keyword type="function" name="gst_tag_to_vorbis_tag ()" link="gst-plugins-base-libs-gsttagvorbis.html#gst-tag-to-vorbis-tag"/>
     <keyword type="function" name="gst_vorbis_tag_add ()" link="gst-plugins-base-libs-gsttagvorbis.html#gst-vorbis-tag-add"/>
@@ -923,7 +924,7 @@
     <keyword type="function" name="gst_tag_list_from_vorbiscomment ()" link="gst-plugins-base-libs-gsttagvorbis.html#gst-tag-list-from-vorbiscomment"/>
     <keyword type="function" name="gst_tag_list_from_vorbiscomment_buffer ()" link="gst-plugins-base-libs-gsttagvorbis.html#gst-tag-list-from-vorbiscomment-buffer"/>
     <keyword type="function" name="gst_tag_list_to_vorbiscomment_buffer ()" link="gst-plugins-base-libs-gsttagvorbis.html#gst-tag-list-to-vorbiscomment-buffer"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-gsttagid3.html#idp15937472"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-gsttagid3.html#idp22054960"/>
     <keyword type="function" name="gst_tag_id3_genre_count ()" link="gst-plugins-base-libs-gsttagid3.html#gst-tag-id3-genre-count"/>
     <keyword type="function" name="gst_tag_id3_genre_get ()" link="gst-plugins-base-libs-gsttagid3.html#gst-tag-id3-genre-get"/>
     <keyword type="function" name="gst_tag_list_new_from_id3v1 ()" link="gst-plugins-base-libs-gsttagid3.html#gst-tag-list-new-from-id3v1"/>
@@ -940,21 +941,21 @@
     <keyword type="function" name="gst_tag_list_from_xmp_buffer ()" link="gst-plugins-base-libs-gsttagxmp.html#gst-tag-list-from-xmp-buffer"/>
     <keyword type="function" name="gst_tag_list_to_xmp_buffer ()" link="gst-plugins-base-libs-gsttagxmp.html#gst-tag-list-to-xmp-buffer"/>
     <keyword type="function" name="gst_tag_xmp_list_schemas ()" link="gst-plugins-base-libs-gsttagxmp.html#gst-tag-xmp-list-schemas"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-gsttagxmpwriter.html#idp23002640"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-gsttagxmpwriter.html#idp16088048"/>
     <keyword type="function" name="gst_tag_xmp_writer_add_all_schemas ()" link="gst-plugins-base-libs-gsttagxmpwriter.html#gst-tag-xmp-writer-add-all-schemas"/>
     <keyword type="function" name="gst_tag_xmp_writer_add_schema ()" link="gst-plugins-base-libs-gsttagxmpwriter.html#gst-tag-xmp-writer-add-schema"/>
     <keyword type="function" name="gst_tag_xmp_writer_has_schema ()" link="gst-plugins-base-libs-gsttagxmpwriter.html#gst-tag-xmp-writer-has-schema"/>
     <keyword type="function" name="gst_tag_xmp_writer_remove_schema ()" link="gst-plugins-base-libs-gsttagxmpwriter.html#gst-tag-xmp-writer-remove-schema"/>
     <keyword type="function" name="gst_tag_xmp_writer_remove_all_schemas ()" link="gst-plugins-base-libs-gsttagxmpwriter.html#gst-tag-xmp-writer-remove-all-schemas"/>
     <keyword type="function" name="gst_tag_xmp_writer_tag_list_to_xmp_buffer ()" link="gst-plugins-base-libs-gsttagxmpwriter.html#gst-tag-xmp-writer-tag-list-to-xmp-buffer"/>
-    <keyword type="" name="Deriving from GstTagDemux" link="gst-plugins-base-libs-gsttagdemux.html#idp7471744"/>
+    <keyword type="" name="Deriving from GstTagDemux" link="gst-plugins-base-libs-gsttagdemux.html#idp6587744"/>
     <keyword type="struct" name="struct GstTagDemux" link="gst-plugins-base-libs-gsttagdemux.html#GstTagDemux"/>
     <keyword type="struct" name="struct GstTagDemuxClass" link="gst-plugins-base-libs-gsttagdemux.html#GstTagDemuxClass"/>
     <keyword type="enum" name="enum GstTagDemuxResult" link="gst-plugins-base-libs-gsttagdemux.html#GstTagDemuxResult"/>
-    <keyword type="" name="Deriving from GstTagMux" link="gst-plugins-base-libs-gsttagmux.html#idp6228784"/>
+    <keyword type="" name="Deriving from GstTagMux" link="gst-plugins-base-libs-gsttagmux.html#idp5936432"/>
     <keyword type="struct" name="struct GstTagMux" link="gst-plugins-base-libs-gsttagmux.html#GstTagMux"/>
     <keyword type="struct" name="struct GstTagMuxClass" link="gst-plugins-base-libs-gsttagmux.html#GstTagMuxClass"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-gsttaglanguagecodes.html#idp19612304"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-gsttaglanguagecodes.html#idp23972304"/>
     <keyword type="function" name="gst_tag_get_language_codes ()" link="gst-plugins-base-libs-gsttaglanguagecodes.html#gst-tag-get-language-codes"/>
     <keyword type="function" name="gst_tag_get_language_name ()" link="gst-plugins-base-libs-gsttaglanguagecodes.html#gst-tag-get-language-name"/>
     <keyword type="macro" name="gst_tag_get_language_code()" link="gst-plugins-base-libs-gsttaglanguagecodes.html#gst-tag-get-language-code"/>
@@ -970,7 +971,7 @@
     <keyword type="function" name="gst_tag_get_license_jurisdiction ()" link="gst-plugins-base-libs-gsttaglicenses.html#gst-tag-get-license-jurisdiction"/>
     <keyword type="function" name="gst_tag_get_license_version ()" link="gst-plugins-base-libs-gsttaglicenses.html#gst-tag-get-license-version"/>
     <keyword type="function" name="gst_tag_get_licenses ()" link="gst-plugins-base-libs-gsttaglicenses.html#gst-tag-get-licenses"/>
-    <keyword type="" name="Linking to this library" link="gst-plugins-base-libs-gstpbutils.html#idp6729328"/>
+    <keyword type="" name="Linking to this library" link="gst-plugins-base-libs-gstpbutils.html#idp15386848"/>
     <keyword type="function" name="gst_pb_utils_init ()" link="gst-plugins-base-libs-gstpbutils.html#gst-pb-utils-init"/>
     <keyword type="macro" name="GST_PLUGINS_BASE_VERSION_MAJOR" link="gst-plugins-base-libs-gstpluginsbaseversion.html#GST-PLUGINS-BASE-VERSION-MAJOR:CAPS"/>
     <keyword type="macro" name="GST_PLUGINS_BASE_VERSION_MINOR" link="gst-plugins-base-libs-gstpluginsbaseversion.html#GST-PLUGINS-BASE-VERSION-MINOR:CAPS"/>
@@ -979,8 +980,9 @@
     <keyword type="macro" name="GST_CHECK_PLUGINS_BASE_VERSION()" link="gst-plugins-base-libs-gstpluginsbaseversion.html#GST-CHECK-PLUGINS-BASE-VERSION:CAPS"/>
     <keyword type="function" name="gst_plugins_base_version ()" link="gst-plugins-base-libs-gstpluginsbaseversion.html#gst-plugins-base-version"/>
     <keyword type="function" name="gst_plugins_base_version_string ()" link="gst-plugins-base-libs-gstpluginsbaseversion.html#gst-plugins-base-version-string"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-gstpbutilscodecutils.html#idp23255856"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-gstpbutilscodecutils.html#idp22801920"/>
     <keyword type="function" name="gst_codec_utils_aac_get_sample_rate_from_index ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-sample-rate-from-index"/>
+    <keyword type="function" name="gst_codec_utils_aac_get_index_from_sample_rate ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-index-from-sample-rate"/>
     <keyword type="function" name="gst_codec_utils_aac_get_profile ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-profile"/>
     <keyword type="function" name="gst_codec_utils_aac_get_level ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-level"/>
     <keyword type="function" name="gst_codec_utils_aac_caps_set_level_and_profile ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-caps-set-level-and-profile"/>
@@ -991,7 +993,7 @@
     <keyword type="function" name="gst_codec_utils_mpeg4video_get_profile ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-mpeg4video-get-profile"/>
     <keyword type="function" name="gst_codec_utils_mpeg4video_get_level ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-mpeg4video-get-level"/>
     <keyword type="function" name="gst_codec_utils_mpeg4video_caps_set_level_and_profile ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-mpeg4video-caps-set-level-and-profile"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-gstpbutilsdescriptions.html#idp19644144"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-gstpbutilsdescriptions.html#idp24177888"/>
     <keyword type="function" name="gst_pb_utils_get_source_description ()" link="gst-plugins-base-libs-gstpbutilsdescriptions.html#gst-pb-utils-get-source-description"/>
     <keyword type="function" name="gst_pb_utils_get_sink_description ()" link="gst-plugins-base-libs-gstpbutilsdescriptions.html#gst-pb-utils-get-sink-description"/>
     <keyword type="function" name="gst_pb_utils_get_decoder_description ()" link="gst-plugins-base-libs-gstpbutilsdescriptions.html#gst-pb-utils-get-decoder-description"/>
@@ -999,7 +1001,7 @@
     <keyword type="function" name="gst_pb_utils_get_element_description ()" link="gst-plugins-base-libs-gstpbutilsdescriptions.html#gst-pb-utils-get-element-description"/>
     <keyword type="function" name="gst_pb_utils_add_codec_description_to_tag_list ()" link="gst-plugins-base-libs-gstpbutilsdescriptions.html#gst-pb-utils-add-codec-description-to-tag-list"/>
     <keyword type="function" name="gst_pb_utils_get_codec_description ()" link="gst-plugins-base-libs-gstpbutilsdescriptions.html#gst-pb-utils-get-codec-description"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-gstpbutilsmissingplugins.html#idp23298112"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-gstpbutilsmissingplugins.html#idp23306896"/>
     <keyword type="function" name="gst_missing_plugin_message_get_installer_detail ()" link="gst-plugins-base-libs-gstpbutilsmissingplugins.html#gst-missing-plugin-message-get-installer-detail"/>
     <keyword type="function" name="gst_missing_plugin_message_get_description ()" link="gst-plugins-base-libs-gstpbutilsmissingplugins.html#gst-missing-plugin-message-get-description"/>
     <keyword type="function" name="gst_is_missing_plugin_message ()" link="gst-plugins-base-libs-gstpbutilsmissingplugins.html#gst-is-missing-plugin-message"/>
@@ -1013,7 +1015,7 @@
     <keyword type="function" name="gst_missing_element_installer_detail_new ()" link="gst-plugins-base-libs-gstpbutilsmissingplugins.html#gst-missing-element-installer-detail-new"/>
     <keyword type="function" name="gst_missing_decoder_installer_detail_new ()" link="gst-plugins-base-libs-gstpbutilsmissingplugins.html#gst-missing-decoder-installer-detail-new"/>
     <keyword type="function" name="gst_missing_encoder_installer_detail_new ()" link="gst-plugins-base-libs-gstpbutilsmissingplugins.html#gst-missing-encoder-installer-detail-new"/>
-    <keyword type="" name="Overview" link="gst-plugins-base-libs-gstpbutilsinstallplugins.html#idp22449248"/>
+    <keyword type="" name="Overview" link="gst-plugins-base-libs-gstpbutilsinstallplugins.html#idp23786864"/>
     <keyword type="enum" name="enum GstInstallPluginsReturn" link="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsReturn"/>
     <keyword type="function" name="GstInstallPluginsResultFunc ()" link="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsResultFunc"/>
     <keyword type="function" name="gst_install_plugins_async ()" link="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-async"/>
@@ -1089,9 +1091,9 @@
     <keyword type="signal" name="The &quot;finished&quot; signal" link="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer-finished"/>
     <keyword type="signal" name="The &quot;source-setup&quot; signal" link="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer-source-setup"/>
     <keyword type="signal" name="The &quot;starting&quot; signal" link="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer-starting"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-encoding-profile.html#idp27908240"/>
-    <keyword type="" name="Example: Creating a profile" link="gst-plugins-base-libs-encoding-profile.html#idp27915808"/>
-    <keyword type="" name="Example: Listing categories, targets and profiles" link="gst-plugins-base-libs-encoding-profile.html#idp27918800"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-encoding-profile.html#idp27878192"/>
+    <keyword type="" name="Example: Creating a profile" link="gst-plugins-base-libs-encoding-profile.html#idp27885760"/>
+    <keyword type="" name="Example: Listing categories, targets and profiles" link="gst-plugins-base-libs-encoding-profile.html#idp27888752"/>
     <keyword type="struct" name="GstEncodingProfile" link="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile-struct"/>
     <keyword type="macro" name="gst_encoding_profile_unref()" link="gst-plugins-base-libs-encoding-profile.html#gst-encoding-profile-unref"/>
     <keyword type="macro" name="gst_encoding_profile_ref()" link="gst-plugins-base-libs-encoding-profile.html#gst-encoding-profile-ref"/>
@@ -1148,7 +1150,7 @@
     <keyword type="function" name="gst_encoding_target_load_from_file ()" link="gst-plugins-base-libs-encoding-profile.html#gst-encoding-target-load-from-file"/>
     <keyword type="function" name="gst_encoding_list_all_targets ()" link="gst-plugins-base-libs-encoding-profile.html#gst-encoding-list-all-targets"/>
     <keyword type="function" name="gst_encoding_list_available_categories ()" link="gst-plugins-base-libs-encoding-profile.html#gst-encoding-list-available-categories"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-gstvideo.html#idp31156624"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-gstvideo.html#idp31232528"/>
     <keyword type="function" name="gst_video_calculate_display_ratio ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-calculate-display-ratio"/>
     <keyword type="function" name="GstVideoConvertSampleCallback ()" link="gst-plugins-base-libs-gstvideo.html#GstVideoConvertSampleCallback"/>
     <keyword type="function" name="gst_video_convert_sample ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-convert-sample"/>
@@ -1310,7 +1312,7 @@
     <keyword type="function" name="gst_buffer_add_video_gl_texture_upload_meta ()" link="gst-plugins-base-libs-gstvideometa.html#gst-buffer-add-video-gl-texture-upload-meta"/>
     <keyword type="macro" name="gst_buffer_get_video_gl_texture_upload_meta()" link="gst-plugins-base-libs-gstvideometa.html#gst-buffer-get-video-gl-texture-upload-meta"/>
     <keyword type="function" name="gst_video_gl_texture_upload_meta_upload ()" link="gst-plugins-base-libs-gstvideometa.html#gst-video-gl-texture-upload-meta-upload"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-gstvideooverlaycomposition.html#idp28150768"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-gstvideooverlaycomposition.html#idp31035040"/>
     <keyword type="struct" name="GstVideoOverlayComposition" link="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition"/>
     <keyword type="function" name="gst_video_overlay_composition_new ()" link="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-new"/>
     <keyword type="function" name="gst_video_overlay_composition_ref ()" link="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-ref"/>
@@ -1346,10 +1348,10 @@
     <keyword type="function" name="gst_video_overlay_rectangle_get_flags ()" link="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-get-flags"/>
     <keyword type="function" name="gst_video_overlay_rectangle_get_global_alpha ()" link="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-get-global-alpha"/>
     <keyword type="function" name="gst_video_overlay_rectangle_set_global_alpha ()" link="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-set-global-alpha"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-gstvideofilter.html#idp30025936"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-gstvideofilter.html#idp7120416"/>
     <keyword type="struct" name="struct GstVideoFilter" link="gst-plugins-base-libs-gstvideofilter.html#GstVideoFilter-struct"/>
     <keyword type="struct" name="struct GstVideoFilterClass" link="gst-plugins-base-libs-gstvideofilter.html#GstVideoFilterClass"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-gstvideosink.html#idp22507344"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-gstvideosink.html#idp23235824"/>
     <keyword type="struct" name="struct GstVideoSink" link="gst-plugins-base-libs-gstvideosink.html#GstVideoSink-struct"/>
     <keyword type="struct" name="struct GstVideoSinkClass" link="gst-plugins-base-libs-gstvideosink.html#GstVideoSinkClass"/>
     <keyword type="struct" name="struct GstVideoRectangle" link="gst-plugins-base-libs-gstvideosink.html#GstVideoRectangle"/>
@@ -1358,7 +1360,7 @@
     <keyword type="macro" name="GST_VIDEO_SINK_WIDTH()" link="gst-plugins-base-libs-gstvideosink.html#GST-VIDEO-SINK-WIDTH:CAPS"/>
     <keyword type="function" name="gst_video_sink_center_rect ()" link="gst-plugins-base-libs-gstvideosink.html#gst-video-sink-center-rect"/>
     <keyword type="property" name="The &quot;show-preroll-frame&quot; property" link="gst-plugins-base-libs-gstvideosink.html#GstVideoSink--show-preroll-frame"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-gstcolorbalance.html#idp28056816"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-gstcolorbalance.html#idp23732448"/>
     <keyword type="struct" name="GstColorBalance" link="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalance-struct"/>
     <keyword type="struct" name="struct GstColorBalanceInterface" link="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalanceInterface"/>
     <keyword type="enum" name="enum GstColorBalanceType" link="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalanceType"/>
@@ -1368,7 +1370,7 @@
     <keyword type="function" name="gst_color_balance_value_changed ()" link="gst-plugins-base-libs-gstcolorbalance.html#gst-color-balance-value-changed"/>
     <keyword type="function" name="gst_color_balance_get_balance_type ()" link="gst-plugins-base-libs-gstcolorbalance.html#gst-color-balance-get-balance-type"/>
     <keyword type="signal" name="The &quot;value-changed&quot; signal" link="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalance-value-changed"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-gstcolorbalancechannel.html#idp30072288"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-gstcolorbalancechannel.html#idp27645392"/>
     <keyword type="struct" name="struct GstColorBalanceChannel" link="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel-struct"/>
     <keyword type="struct" name="struct GstColorBalanceChannelClass" link="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannelClass"/>
     <keyword type="signal" name="The &quot;value-changed&quot; signal" link="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel-value-changed"/>
@@ -1382,10 +1384,10 @@
     <keyword type="function" name="gst_video_orientation_set_hflip ()" link="gst-plugins-base-libs-gstvideoorientation.html#gst-video-orientation-set-hflip"/>
     <keyword type="function" name="gst_video_orientation_set_vcenter ()" link="gst-plugins-base-libs-gstvideoorientation.html#gst-video-orientation-set-vcenter"/>
     <keyword type="function" name="gst_video_orientation_set_vflip ()" link="gst-plugins-base-libs-gstvideoorientation.html#gst-video-orientation-set-vflip"/>
-    <keyword type="" name="" link="gst-plugins-base-libs-gstvideooverlay.html#idp23504864"/>
-    <keyword type="" name="Two basic usage scenarios" link="gst-plugins-base-libs-gstvideooverlay.html#idp24790736"/>
-    <keyword type="" name="GstVideoOverlay and Gtk+" link="gst-plugins-base-libs-gstvideooverlay.html#idp24802896"/>
-    <keyword type="" name="GstVideoOverlay and Qt" link="gst-plugins-base-libs-gstvideooverlay.html#idp30676032"/>
+    <keyword type="" name="" link="gst-plugins-base-libs-gstvideooverlay.html#idp31182992"/>
+    <keyword type="" name="Two basic usage scenarios" link="gst-plugins-base-libs-gstvideooverlay.html#idp31193104"/>
+    <keyword type="" name="GstVideoOverlay and Gtk+" link="gst-plugins-base-libs-gstvideooverlay.html#idp30697296"/>
+    <keyword type="" name="GstVideoOverlay and Qt" link="gst-plugins-base-libs-gstvideooverlay.html#idp30702496"/>
     <keyword type="struct" name="GstVideoOverlay" link="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay-struct"/>
     <keyword type="struct" name="struct GstVideoOverlayInterface" link="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlayInterface"/>
     <keyword type="function" name="gst_video_overlay_got_window_handle ()" link="gst-plugins-base-libs-gstvideooverlay.html#gst-video-overlay-got-window-handle"/>
@@ -1852,6 +1854,7 @@
     <keyword type="constant" name="GST_VIDEO_FORMAT_GBR_10BE" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-GBR-10BE:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_FORMAT_GBR_10LE" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-GBR-10LE:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_FORMAT_NV16" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-NV16:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_FORMAT_NV24" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-NV24:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_CHROMA_SITE_UNKNOWN" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-CHROMA-SITE-UNKNOWN:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_CHROMA_SITE_NONE" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-CHROMA-SITE-NONE:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_CHROMA_SITE_H_COSITED" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-CHROMA-SITE-H-COSITED:CAPS"/>
diff --git a/docs/libs/html/gst-plugins-base-libs-appsrc.html b/docs/libs/html/gst-plugins-base-libs-appsrc.html
index 16ef13b..e167575 100644
--- a/docs/libs/html/gst-plugins-base-libs-appsrc.html
+++ b/docs/libs/html/gst-plugins-base-libs-appsrc.html
@@ -60,6 +60,7 @@
 <span class="returnvalue">void</span>                <a class="link" href="gst-plugins-base-libs-appsrc.html#gst-app-src-set-max-bytes" title="gst_app_src_set_max_bytes ()">gst_app_src_set_max_bytes</a>           (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base/html/gst-plugins-base-plugins-appsrc.html#GstAppSrc"><span class="type">GstAppSrc</span></a> *appsrc</code></em>,
                                                          <em class="parameter"><code><span class="type">guint64</span> max</code></em>);
 <span class="returnvalue">guint64</span>             <a class="link" href="gst-plugins-base-libs-appsrc.html#gst-app-src-get-max-bytes" title="gst_app_src_get_max_bytes ()">gst_app_src_get_max_bytes</a>           (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base/html/gst-plugins-base-plugins-appsrc.html#GstAppSrc"><span class="type">GstAppSrc</span></a> *appsrc</code></em>);
+<span class="returnvalue">guint64</span>             <a class="link" href="gst-plugins-base-libs-appsrc.html#gst-app-src-get-current-level-bytes" title="gst_app_src_get_current_level_bytes ()">gst_app_src_get_current_level_bytes</a> (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base/html/gst-plugins-base-plugins-appsrc.html#GstAppSrc"><span class="type">GstAppSrc</span></a> *appsrc</code></em>);
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gst-plugins-base-libs-appsrc.html#gst-app-src-get-emit-signals" title="gst_app_src_get_emit_signals ()">gst_app_src_get_emit_signals</a>        (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base/html/gst-plugins-base-plugins-appsrc.html#GstAppSrc"><span class="type">GstAppSrc</span></a> *appsrc</code></em>);
 <span class="returnvalue">void</span>                <a class="link" href="gst-plugins-base-libs-appsrc.html#gst-app-src-set-emit-signals" title="gst_app_src_set_emit_signals ()">gst_app_src_set_emit_signals</a>        (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base/html/gst-plugins-base-plugins-appsrc.html#GstAppSrc"><span class="type">GstAppSrc</span></a> *appsrc</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> emit</code></em>);
@@ -474,6 +475,32 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="gst-app-src-get-current-level-bytes"></a><h3>gst_app_src_get_current_level_bytes ()</h3>
+<pre class="programlisting"><span class="returnvalue">guint64</span>             gst_app_src_get_current_level_bytes (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base/html/gst-plugins-base-plugins-appsrc.html#GstAppSrc"><span class="type">GstAppSrc</span></a> *appsrc</code></em>);</pre>
+<p>
+Get the number of currently queued bytes inside <em class="parameter"><code>appsrc</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>appsrc</code></em> :</span></p></td>
+<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base/html/gst-plugins-base-plugins-appsrc.html#GstAppSrc"><span class="type">GstAppSrc</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The number of currently queued bytes.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
 <a name="gst-app-src-get-emit-signals"></a><h3>gst_app_src_get_emit_signals ()</h3>
 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_app_src_get_emit_signals        (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base/html/gst-plugins-base-plugins-appsrc.html#GstAppSrc"><span class="type">GstAppSrc</span></a> *appsrc</code></em>);</pre>
 <p>
diff --git a/docs/libs/html/gst-plugins-base-libs-encoding-profile.html b/docs/libs/html/gst-plugins-base-libs-encoding-profile.html
index c623021..d9222cb 100644
--- a/docs/libs/html/gst-plugins-base-libs-encoding-profile.html
+++ b/docs/libs/html/gst-plugins-base-libs-encoding-profile.html
@@ -189,7 +189,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp27908240"></a><p>
+<a name="idp27878192"></a><p>
 Functions to create and handle encoding profiles.
 </p>
 <p>
@@ -219,7 +219,7 @@
 </p>
 <hr>
 <div class="refsect2">
-<a name="idp27915808"></a><h3>Example: Creating a profile</h3>
+<a name="idp27885760"></a><h3>Example: Creating a profile</h3>
 <p>
 </p>
 <div class="informalexample">
@@ -290,7 +290,7 @@
 </p>
 <hr>
 <div class="refsect2">
-<a name="idp27918800"></a><h3>Example: Listing categories, targets and profiles</h3>
+<a name="idp27888752"></a><h3>Example: Listing categories, targets and profiles</h3>
 <p>
 </p>
 <div class="informalexample">
diff --git a/docs/libs/html/gst-plugins-base-libs-gstaudiocdsrc.html b/docs/libs/html/gst-plugins-base-libs-gstaudiocdsrc.html
index 4a7d4e9..e8251ad 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstaudiocdsrc.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstaudiocdsrc.html
@@ -92,7 +92,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp6759040"></a><h3>Using GstAudioCdSrc-based elements in applications</h3>
+<a name="idp6447824"></a><h3>Using GstAudioCdSrc-based elements in applications</h3>
 <p>
 GstAudioCdSrc registers two <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a>s of its own, namely
 the "track" format and the "sector" format. Applications will usually
@@ -118,7 +118,7 @@
 setting a new cdda://n+1 URI on playbin (as setting a new URI on playbin
 involves closing and re-opening the CD device, which is much much slower).
 </p>
-<div class="refsect2"><a name="idp9687648"></a></div>
+<div class="refsect2"><a name="idp6426672"></a></div>
 <p>
 CDDA sources will automatically emit a number of tags, details about which
 can be found in the libgsttag documentation. Those tags are:
@@ -131,7 +131,7 @@
 </p>
 <hr>
 <div class="refsect2">
-<a name="idp9692768"></a><h3>Tracks and Table of Contents (TOC)</h3>
+<a name="idp40816"></a><h3>Tracks and Table of Contents (TOC)</h3>
 <p>
 Applications will be informed of the available tracks via a TOC message
 on the pipeline's <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBus.html"><span class="type">GstBus</span></a>. The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstToc.html#GstToc"><span class="type">GstToc</span></a> will contain a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstToc.html#GstTocEntry"><span class="type">GstTocEntry</span></a> for
diff --git a/docs/libs/html/gst-plugins-base-libs-gstaudioringbuffer.html b/docs/libs/html/gst-plugins-base-libs-gstaudioringbuffer.html
index 7152370..fabcd2c 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstaudioringbuffer.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstaudioringbuffer.html
@@ -130,7 +130,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp14121408"></a><p>
+<a name="idp14237648"></a><p>
 This object is the base class for audio ringbuffers used by the base
 audio source and sink classes.
 </p>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstcolorbalance.html b/docs/libs/html/gst-plugins-base-libs-gstcolorbalance.html
index 3ffdd65..e65e6c8 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstcolorbalance.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstcolorbalance.html
@@ -77,7 +77,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp28056816"></a><p>
+<a name="idp23732448"></a><p>
 This interface is implemented by elements which can perform some color
 balance operation on video frames they process. For example, modifying
 the brightness, contrast, hue or saturation.
diff --git a/docs/libs/html/gst-plugins-base-libs-gstcolorbalancechannel.html b/docs/libs/html/gst-plugins-base-libs-gstcolorbalancechannel.html
index eabeb1f..61eea3c 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstcolorbalancechannel.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstcolorbalancechannel.html
@@ -67,7 +67,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp30072288"></a><p>The <a class="link" href="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel"><span class="type">GstColorBalanceChannel</span></a> object represents a parameter
+<a name="idp27645392"></a><p>The <a class="link" href="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel"><span class="type">GstColorBalanceChannel</span></a> object represents a parameter
 for modifying the color balance implemented by an element providing the
 <a class="link" href="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalance"><span class="type">GstColorBalance</span></a> interface. For example, Hue or Saturation.
 </p>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstpbutils.html b/docs/libs/html/gst-plugins-base-libs-gstpbutils.html
index b99291e..fa3d689 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstpbutils.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstpbutils.html
@@ -48,7 +48,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp6729328"></a><h3>Linking to this library</h3>
+<a name="idp15386848"></a><h3>Linking to this library</h3>
 <p>
 libgstpbutils is a general utility library for plugins and applications.
 It currently provides the
diff --git a/docs/libs/html/gst-plugins-base-libs-gstpbutilscodecutils.html b/docs/libs/html/gst-plugins-base-libs-gstpbutilscodecutils.html
index d72015c..5b379af 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstpbutilscodecutils.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstpbutilscodecutils.html
@@ -42,6 +42,8 @@
 
 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-sample-rate-from-index" title="gst_codec_utils_aac_get_sample_rate_from_index ()">gst_codec_utils_aac_get_sample_rate_from_index</a>
                                                         (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> sr_idx</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                <a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-index-from-sample-rate" title="gst_codec_utils_aac_get_index_from_sample_rate ()">gst_codec_utils_aac_get_index_from_sample_rate</a>
+                                                        (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> rate</code></em>);
 const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       <a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-profile" title="gst_codec_utils_aac_get_profile ()">gst_codec_utils_aac_get_profile</a>     (<em class="parameter"><code>const <span class="type">guint8</span> *audio_config</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);
 const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       <a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-level" title="gst_codec_utils_aac_get_level ()">gst_codec_utils_aac_get_level</a>       (<em class="parameter"><code>const <span class="type">guint8</span> *audio_config</code></em>,
@@ -78,7 +80,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp23255856"></a><p>
+<a name="idp22801920"></a><p>
 Provides codec-specific ulility functions such as functions to provide the
 codec profile and level in human-readable string form from header data.
 </p>
@@ -116,6 +118,32 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="gst-codec-utils-aac-get-index-from-sample-rate"></a><h3>gst_codec_utils_aac_get_index_from_sample_rate ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                gst_codec_utils_aac_get_index_from_sample_rate
+                                                        (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> rate</code></em>);</pre>
+<p>
+Translates the sample rate to the index corresponding to it in AAC spec.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>rate</code></em> :</span></p></td>
+<td>Sample rate</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The AAC index for this sample rate, -1 if the rate is not a
+valid AAC sample rate.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
 <a name="gst-codec-utils-aac-get-profile"></a><h3>gst_codec_utils_aac_get_profile ()</h3>
 <pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       gst_codec_utils_aac_get_profile     (<em class="parameter"><code>const <span class="type">guint8</span> *audio_config</code></em>,
                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstpbutilsdescriptions.html b/docs/libs/html/gst-plugins-base-libs-gstpbutilsdescriptions.html
index 8b3ad29..1050f80 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstpbutilsdescriptions.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstpbutilsdescriptions.html
@@ -62,7 +62,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp19644144"></a><p>
+<a name="idp24177888"></a><p>
 The above functions provide human-readable strings for media formats
 and decoder/demuxer/depayloader/encoder/muxer/payloader elements for use
 in error dialogs or other messages shown to users.
diff --git a/docs/libs/html/gst-plugins-base-libs-gstpbutilsinstallplugins.html b/docs/libs/html/gst-plugins-base-libs-gstpbutilsinstallplugins.html
index c6a1bbb..bd13024 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstpbutilsinstallplugins.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstpbutilsinstallplugins.html
@@ -67,7 +67,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp22449248"></a><h3>Overview</h3>
+<a name="idp23786864"></a><h3>Overview</h3>
 <p>
 Using this API, applications can request the installation of missing
 GStreamer plugins. These may be missing decoders/demuxers or encoders/muxers
diff --git a/docs/libs/html/gst-plugins-base-libs-gstpbutilsmissingplugins.html b/docs/libs/html/gst-plugins-base-libs-gstpbutilsmissingplugins.html
index 11ea5cd..ba50515 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstpbutilsmissingplugins.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstpbutilsmissingplugins.html
@@ -74,7 +74,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp23298112"></a><p>
+<a name="idp23306896"></a><p>
 Functions to create, recognise and parse missing-plugins messages for
 applications and elements.
 </p>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstpluginsbaseversion.html b/docs/libs/html/gst-plugins-base-libs-gstpluginsbaseversion.html
index 642927e..36274d2 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstpluginsbaseversion.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstpluginsbaseversion.html
@@ -88,7 +88,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 (3)
 </pre>
 <p>
 The micro version of GStreamer's gst-plugins-base libraries at compile time.
diff --git a/docs/libs/html/gst-plugins-base-libs-gstrtcpbuffer.html b/docs/libs/html/gst-plugins-base-libs-gstrtcpbuffer.html
index 168e9cf..1739017 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstrtcpbuffer.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstrtcpbuffer.html
@@ -178,7 +178,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp17276416"></a><p>
+<a name="idp17823360"></a><p>
 The GstRTPCBuffer helper functions makes it easy to parse and create regular 
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> objects that contain compound RTCP packets. These buffers are typically
 of 'application/x-rtcp' <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>.
diff --git a/docs/libs/html/gst-plugins-base-libs-gstrtpbaseaudiopayload.html b/docs/libs/html/gst-plugins-base-libs-gstrtpbaseaudiopayload.html
index c861bdf..98754c0 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstrtpbaseaudiopayload.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstrtpbaseaudiopayload.html
@@ -110,7 +110,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp15980400"></a><h3>Usage</h3>
+<a name="idp16118160"></a><h3>Usage</h3>
 <p>
 To use this base class, your child element needs to call either
 <a class="link" href="gst-plugins-base-libs-gstrtpbaseaudiopayload.html#gst-rtp-base-audio-payload-set-frame-based" title="gst_rtp_base_audio_payload_set_frame_based ()"><code class="function">gst_rtp_base_audio_payload_set_frame_based()</code></a> or
diff --git a/docs/libs/html/gst-plugins-base-libs-gstrtpbuffer.html b/docs/libs/html/gst-plugins-base-libs-gstrtpbuffer.html
index c074d80..78dc266 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstrtpbuffer.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstrtpbuffer.html
@@ -154,7 +154,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp17196608"></a><p>
+<a name="idp17085760"></a><p>
 The GstRTPBuffer helper functions makes it easy to parse and create regular 
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> objects that contain RTP payloads. These buffers are typically of
 'application/x-rtp' <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>.
diff --git a/docs/libs/html/gst-plugins-base-libs-gstrtppayloads.html b/docs/libs/html/gst-plugins-base-libs-gstrtppayloads.html
index c5a6650..a60ae43 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstrtppayloads.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstrtppayloads.html
@@ -53,7 +53,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp17830112"></a><p>
+<a name="idp33952"></a><p>
 The GstRTPPayloads helper functions makes it easy to deal with static and dynamic
 payloads. Its main purpose is to retrieve properties such as the default clock-rate 
 and get session bandwidth information.
diff --git a/docs/libs/html/gst-plugins-base-libs-gstrtspextension.html b/docs/libs/html/gst-plugins-base-libs-gstrtspextension.html
index 43a181e..b87b1e3 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstrtspextension.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstrtspextension.html
@@ -49,7 +49,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp15921088"></a><p>
+<a name="idp9112128"></a><p>
  This interface is implemented e.g. by the Windows Media Streaming RTSP
  exentension (rtspwms) and the RealMedia RTSP extension (rtspreal).
 </p>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstsdpmessage.html b/docs/libs/html/gst-plugins-base-libs-gstsdpmessage.html
index 9532faf..436e8ae 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstsdpmessage.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstsdpmessage.html
@@ -313,7 +313,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp25117568"></a><p>
+<a name="idp25163008"></a><p>
 The GstSDPMessage helper functions makes it easy to parse and create SDP
 messages.
 </p>
diff --git a/docs/libs/html/gst-plugins-base-libs-gststreamvolume.html b/docs/libs/html/gst-plugins-base-libs-gststreamvolume.html
index 585992a..f23919e 100644
--- a/docs/libs/html/gst-plugins-base-libs-gststreamvolume.html
+++ b/docs/libs/html/gst-plugins-base-libs-gststreamvolume.html
@@ -86,7 +86,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp13908656"></a><p>
+<a name="idp14090832"></a><p>
 This interface is implemented by elements that provide a stream volume. Examples for
 such elements are <span class="type">volume</span> and <span class="type">playbin</span>.
 </p>
diff --git a/docs/libs/html/gst-plugins-base-libs-gsttag.html b/docs/libs/html/gst-plugins-base-libs-gsttag.html
index dca18e7..5b28650 100644
--- a/docs/libs/html/gst-plugins-base-libs-gsttag.html
+++ b/docs/libs/html/gst-plugins-base-libs-gsttag.html
@@ -90,7 +90,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp16950320"></a><p>
+<a name="idp18620592"></a><p>
 Contains additional standardized GStreamer tag definitions for plugins
 and applications, and functions to register them with the GStreamer
 tag system.
diff --git a/docs/libs/html/gst-plugins-base-libs-gsttagdemux.html b/docs/libs/html/gst-plugins-base-libs-gsttagdemux.html
index 4627c1c..95ac91b 100644
--- a/docs/libs/html/gst-plugins-base-libs-gsttagdemux.html
+++ b/docs/libs/html/gst-plugins-base-libs-gsttagdemux.html
@@ -51,7 +51,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp7471744"></a><h3>Deriving from GstTagDemux</h3>
+<a name="idp6587744"></a><h3>Deriving from GstTagDemux</h3>
 <p>
 Provides a base class for demuxing tags at the beginning or end of a
 stream and handles things like typefinding, querying, seeking, and
diff --git a/docs/libs/html/gst-plugins-base-libs-gsttagid3.html b/docs/libs/html/gst-plugins-base-libs-gsttagid3.html
index 8912989..9478166 100644
--- a/docs/libs/html/gst-plugins-base-libs-gsttagid3.html
+++ b/docs/libs/html/gst-plugins-base-libs-gsttagid3.html
@@ -61,7 +61,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp15937472"></a><p>
+<a name="idp22054960"></a><p>
 Contains various utility functions for plugins to parse or create
 ID3 tags and map ID3v2 identifiers to and from GStreamer identifiers.
 </p>
diff --git a/docs/libs/html/gst-plugins-base-libs-gsttaglanguagecodes.html b/docs/libs/html/gst-plugins-base-libs-gsttaglanguagecodes.html
index 4fd0d84..1e26c20 100644
--- a/docs/libs/html/gst-plugins-base-libs-gsttaglanguagecodes.html
+++ b/docs/libs/html/gst-plugins-base-libs-gsttaglanguagecodes.html
@@ -56,7 +56,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp19612304"></a><p>
+<a name="idp23972304"></a><p>
 Provides helper functions to convert between the various ISO-639 language
 codes, and to map language codes to language names.
 </p>
diff --git a/docs/libs/html/gst-plugins-base-libs-gsttagmux.html b/docs/libs/html/gst-plugins-base-libs-gsttagmux.html
index 9fb05f5..ee95931 100644
--- a/docs/libs/html/gst-plugins-base-libs-gsttagmux.html
+++ b/docs/libs/html/gst-plugins-base-libs-gsttagmux.html
@@ -50,7 +50,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp6228784"></a><h3>Deriving from GstTagMux</h3>
+<a name="idp5936432"></a><h3>Deriving from GstTagMux</h3>
 <p>
 Provides a base class for adding tags at the beginning or end of a
 stream.
diff --git a/docs/libs/html/gst-plugins-base-libs-gsttagvorbis.html b/docs/libs/html/gst-plugins-base-libs-gsttagvorbis.html
index 5ebacda..5ea8d26 100644
--- a/docs/libs/html/gst-plugins-base-libs-gsttagvorbis.html
+++ b/docs/libs/html/gst-plugins-base-libs-gsttagvorbis.html
@@ -71,7 +71,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp22820896"></a><p>
+<a name="idp23023744"></a><p>
 Contains various utility functions for plugins to parse or create
 vorbiscomments and map them to and from <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#GstTagList"><span class="type">GstTagList</span></a>s.
 </p>
diff --git a/docs/libs/html/gst-plugins-base-libs-gsttagxmpwriter.html b/docs/libs/html/gst-plugins-base-libs-gsttagxmpwriter.html
index 592deca..851a669 100644
--- a/docs/libs/html/gst-plugins-base-libs-gsttagxmpwriter.html
+++ b/docs/libs/html/gst-plugins-base-libs-gsttagxmpwriter.html
@@ -57,7 +57,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp23002640"></a><p>
+<a name="idp16088048"></a><p>
 This interface is implemented by elements that are able to do XMP serialization. Examples for
 such elements are <span class="type">jifmux</span> and <span class="type">qtmux</span>.
 </p>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstvideo.html b/docs/libs/html/gst-plugins-base-libs-gstvideo.html
index a33368f..05e00af 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstvideo.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstvideo.html
@@ -327,7 +327,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp31156624"></a><p>
+<a name="idp31232528"></a><p>
 This library contains some helper functions and includes the
 videosink and videofilter base classes.
 </p>
@@ -939,6 +939,7 @@
   GST_VIDEO_FORMAT_GBR_10BE,
   GST_VIDEO_FORMAT_GBR_10LE,
   GST_VIDEO_FORMAT_NV16,
+  GST_VIDEO_FORMAT_NV24,
 } GstVideoFormat;
 </pre>
 <p>
@@ -1210,6 +1211,11 @@
 <td>planar 4:2:2 YUV with interleaved UV plane
 </td>
 </tr>
+<tr>
+<td><p><a name="GST-VIDEO-FORMAT-NV24:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_NV24</code></span></p></td>
+<td>planar 4:4:4 YUV with interleaved UV plane
+</td>
+</tr>
 </tbody>
 </table></div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstvideofilter.html b/docs/libs/html/gst-plugins-base-libs-gstvideofilter.html
index 34e7a8d..a58121b 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstvideofilter.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstvideofilter.html
@@ -62,7 +62,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp30025936"></a><p>
+<a name="idp7120416"></a><p>
 Provides useful functions and a base class for video filters.
 </p>
 <p>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstvideooverlay.html b/docs/libs/html/gst-plugins-base-libs-gstvideooverlay.html
index 5059685..2352495 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstvideooverlay.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstvideooverlay.html
@@ -77,7 +77,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp23504864"></a><p>
+<a name="idp31182992"></a><p>
 The <a class="link" href="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay"><span class="type">GstVideoOverlay</span></a> interface is used for 2 main purposes :
 </p>
 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
@@ -191,7 +191,7 @@
 </p>
 <hr>
 <div class="refsect2">
-<a name="idp24790736"></a><h3>Two basic usage scenarios</h3>
+<a name="idp31193104"></a><h3>Two basic usage scenarios</h3>
 <p>
 There are two basic usage scenarios: in the simplest case, the application
 knows exactly what particular element is used for video output, which is
@@ -236,7 +236,7 @@
 </p>
 <hr>
 <div class="refsect2">
-<a name="idp24802896"></a><h3>GstVideoOverlay and Gtk+</h3>
+<a name="idp30697296"></a><h3>GstVideoOverlay and Gtk+</h3>
 <p>
 </p>
 <div class="informalexample">
@@ -447,7 +447,7 @@
 </p>
 <hr>
 <div class="refsect2">
-<a name="idp30676032"></a><h3>GstVideoOverlay and Qt</h3>
+<a name="idp30702496"></a><h3>GstVideoOverlay and Qt</h3>
 <p>
 </p>
 <div class="informalexample">
diff --git a/docs/libs/html/gst-plugins-base-libs-gstvideooverlaycomposition.html b/docs/libs/html/gst-plugins-base-libs-gstvideooverlaycomposition.html
index 1666c45..83f5346 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstvideooverlaycomposition.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstvideooverlaycomposition.html
@@ -134,7 +134,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp28150768"></a><p>
+<a name="idp31035040"></a><p>
 Functions to create and handle overlay compositions on video buffers.
 </p>
 <p>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstvideosink.html b/docs/libs/html/gst-plugins-base-libs-gstvideosink.html
index fcf9963..18acb47 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstvideosink.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstvideosink.html
@@ -78,7 +78,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp22507344"></a><p>
+<a name="idp23235824"></a><p>
 Provides useful functions and a base class for video sinks. 
 </p>
 <p>
diff --git a/docs/libs/html/index.html b/docs/libs/html/index.html
index 521d3eb..e189c90 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.1.2)
+      for GStreamer Base Library 1.0 (1.1.3)
       <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 c47a2df..83d1323 100644
--- a/docs/libs/html/index.sgml
+++ b/docs/libs/html/index.sgml
@@ -27,6 +27,7 @@
 <ANCHOR id="gst-app-src-get-stream-type" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-appsrc.html#gst-app-src-get-stream-type">
 <ANCHOR id="gst-app-src-set-max-bytes" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-appsrc.html#gst-app-src-set-max-bytes">
 <ANCHOR id="gst-app-src-get-max-bytes" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-appsrc.html#gst-app-src-get-max-bytes">
+<ANCHOR id="gst-app-src-get-current-level-bytes" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-appsrc.html#gst-app-src-get-current-level-bytes">
 <ANCHOR id="gst-app-src-get-emit-signals" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-appsrc.html#gst-app-src-get-emit-signals">
 <ANCHOR id="gst-app-src-set-emit-signals" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-appsrc.html#gst-app-src-set-emit-signals">
 <ANCHOR id="GstAppSrcCallbacks" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-appsrc.html#GstAppSrcCallbacks">
@@ -1439,6 +1440,7 @@
 <ANCHOR id="gst-plugins-base-libs-gstpbutilscodecutils.description" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstpbutilscodecutils.html#gst-plugins-base-libs-gstpbutilscodecutils.description">
 <ANCHOR id="gst-plugins-base-libs-gstpbutilscodecutils.details" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstpbutilscodecutils.html#gst-plugins-base-libs-gstpbutilscodecutils.details">
 <ANCHOR id="gst-codec-utils-aac-get-sample-rate-from-index" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-sample-rate-from-index">
+<ANCHOR id="gst-codec-utils-aac-get-index-from-sample-rate" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-index-from-sample-rate">
 <ANCHOR id="gst-codec-utils-aac-get-profile" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-profile">
 <ANCHOR id="gst-codec-utils-aac-get-level" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-level">
 <ANCHOR id="gst-codec-utils-aac-caps-set-level-and-profile" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-caps-set-level-and-profile">
@@ -1720,6 +1722,7 @@
 <ANCHOR id="GST-VIDEO-FORMAT-GBR-10BE:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-GBR-10BE:CAPS">
 <ANCHOR id="GST-VIDEO-FORMAT-GBR-10LE:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-GBR-10LE:CAPS">
 <ANCHOR id="GST-VIDEO-FORMAT-NV16:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-NV16:CAPS">
+<ANCHOR id="GST-VIDEO-FORMAT-NV24:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-NV24:CAPS">
 <ANCHOR id="GST-VIDEO-MAX-PLANES:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MAX-PLANES:CAPS">
 <ANCHOR id="GST-VIDEO-MAX-COMPONENTS:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MAX-COMPONENTS:CAPS">
 <ANCHOR id="GstVideoFormatInfo" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo">
diff --git a/docs/plugins/gst-plugins-base-plugins.args b/docs/plugins/gst-plugins-base-plugins.args
index 4dd9d16..f2f65e8 100644
--- a/docs/plugins/gst-plugins-base-plugins.args
+++ b/docs/plugins/gst-plugins-base-plugins.args
@@ -3759,6 +3759,16 @@
 </ARG>
 
 <ARG>
+<NAME>GstAppSrc::current-level-bytes</NAME>
+<TYPE>guint64</TYPE>
+<RANGE></RANGE>
+<FLAGS>r</FLAGS>
+<NICK>Current Level Bytes</NICK>
+<BLURB>The number of currently queued bytes.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>GstAudioResample::filter-length</NAME>
 <TYPE>gint</TYPE>
 <RANGE>>= 0</RANGE>
diff --git a/docs/plugins/html/ch01.html b/docs/plugins/html/ch01.html
index 4526f3d..4a78315 100644
--- a/docs/plugins/html/ch01.html
+++ b/docs/plugins/html/ch01.html
@@ -21,7 +21,7 @@
 </tr></table>
 <div class="chapter">
 <div class="titlepage"><div><div><h1 class="title">
-<a name="idp4161184"></a>gst-plugins-base Elements</h1></div></div></div>
+<a name="idp286512"></a>gst-plugins-base Elements</h1></div></div></div>
 <div class="toc"><dl class="toc">
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-adder.html">adder</a></span><span class="refpurpose"> — Add N audio channels together</span>
diff --git a/docs/plugins/html/ch02.html b/docs/plugins/html/ch02.html
index c8e5e2c..0512266 100644
--- a/docs/plugins/html/ch02.html
+++ b/docs/plugins/html/ch02.html
@@ -21,7 +21,7 @@
 </tr></table>
 <div class="chapter">
 <div class="titlepage"><div><div><h1 class="title">
-<a name="idp33008"></a>gst-plugins-base Plugins</h1></div></div></div>
+<a name="idp34224"></a>gst-plugins-base Plugins</h1></div></div></div>
 <div class="toc"><dl class="toc">
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-plugin-adder.html">adder</a></span><span class="refpurpose">Adds multiple streams</span>
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 b49b45f..6ffbdb5 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-1.0.devhelp2
+++ b/docs/plugins/html/gst-plugins-base-plugins-1.0.devhelp2
@@ -79,13 +79,13 @@
     </sub>
   </chapters>
   <functions>
-    <keyword type="" name="Example launch line" link="gst-plugins-base-plugins-adder.html#idp7801184"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-adder.html#idp7846608"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-adder.html#idm28800"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-base-plugins-adder.html#idp6872368"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-adder.html#idp2584864"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-adder.html#idm37296"/>
     <keyword type="struct" name="struct GstAdder" link="gst-plugins-base-plugins-adder.html#GstAdder-struct"/>
     <keyword type="property" name="The &quot;caps&quot; property" link="gst-plugins-base-plugins-adder.html#GstAdder--caps"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-appsrc.html#idp7349808"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-appsrc.html#idp7357216"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-appsrc.html#idp5191904"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-appsrc.html#idp5199392"/>
     <keyword type="struct" name="struct GstAppSrc" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"/>
     <keyword type="property" name="The &quot;block&quot; property" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc--block"/>
     <keyword type="property" name="The &quot;caps&quot; property" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc--caps"/>
@@ -98,13 +98,14 @@
     <keyword type="property" name="The &quot;stream-type&quot; property" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc--stream-type"/>
     <keyword type="property" name="The &quot;emit-signals&quot; property" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc--emit-signals"/>
     <keyword type="property" name="The &quot;min-percent&quot; property" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc--min-percent"/>
+    <keyword type="property" name="The &quot;current-level-bytes&quot; property" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc--current-level-bytes"/>
     <keyword type="signal" name="The &quot;end-of-stream&quot; signal" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc-end-of-stream"/>
     <keyword type="signal" name="The &quot;enough-data&quot; signal" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc-enough-data"/>
     <keyword type="signal" name="The &quot;need-data&quot; signal" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc-need-data"/>
     <keyword type="signal" name="The &quot;push-buffer&quot; signal" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc-push-buffer"/>
     <keyword type="signal" name="The &quot;seek-data&quot; signal" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc-seek-data"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-appsink.html#idp9818032"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-appsink.html#idp9825440"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-appsink.html#idp9813632"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-appsink.html#idp9820016"/>
     <keyword type="struct" name="struct GstAppSink" link="gst-plugins-base-plugins-appsink.html#GstAppSink-struct"/>
     <keyword type="property" name="The &quot;caps&quot; property" link="gst-plugins-base-plugins-appsink.html#GstAppSink--caps"/>
     <keyword type="property" name="The &quot;drop&quot; property" link="gst-plugins-base-plugins-appsink.html#GstAppSink--drop"/>
@@ -120,29 +121,29 @@
     <keyword type="signal" name="The &quot;pull-buffer-list&quot; signal" link="gst-plugins-base-plugins-appsink.html#GstAppSink-pull-buffer-list"/>
     <keyword type="signal" name="The &quot;new-sample&quot; signal" link="gst-plugins-base-plugins-appsink.html#GstAppSink-new-sample"/>
     <keyword type="signal" name="The &quot;pull-sample&quot; signal" link="gst-plugins-base-plugins-appsink.html#GstAppSink-pull-sample"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-alsasink.html#idp2878016"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-alsasink.html#idp7880096"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-alsasink.html#idp7604112"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-alsasink.html#idp9361312"/>
     <keyword type="struct" name="struct GstAlsaSink" link="gst-plugins-base-plugins-alsasink.html#GstAlsaSink-struct"/>
     <keyword type="property" name="The &quot;device&quot; property" link="gst-plugins-base-plugins-alsasink.html#GstAlsaSink--device"/>
     <keyword type="property" name="The &quot;device-name&quot; property" link="gst-plugins-base-plugins-alsasink.html#GstAlsaSink--device-name"/>
     <keyword type="property" name="The &quot;card-name&quot; property" link="gst-plugins-base-plugins-alsasink.html#GstAlsaSink--card-name"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-alsasrc.html#idp9242800"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-alsasrc.html#idp7726080"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-alsasrc.html#idp8832032"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-alsasrc.html#idp5912608"/>
     <keyword type="struct" name="struct GstAlsaSrc" link="gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc-struct"/>
     <keyword type="property" name="The &quot;device&quot; property" link="gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc--device"/>
     <keyword type="property" name="The &quot;device-name&quot; property" link="gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc--device-name"/>
     <keyword type="property" name="The &quot;card-name&quot; property" link="gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc--card-name"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-base-plugins-audioconvert.html#idp7648304"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-audioconvert.html#idp7960336"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-audioconvert.html#idp7768080"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-base-plugins-audioconvert.html#idp8427584"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-audioconvert.html#idp8491680"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-audioconvert.html#idp2762880"/>
     <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"/>
     <keyword type="property" name="The &quot;dithering&quot; property" link="gst-plugins-base-plugins-audioconvert.html#GstAudioConvert--dithering"/>
     <keyword type="property" name="The &quot;noise-shaping&quot; property" link="gst-plugins-base-plugins-audioconvert.html#GstAudioConvert--noise-shaping"/>
-    <keyword type="" name="Example pipelines" link="gst-plugins-base-plugins-audiorate.html#idp5250128"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-audiorate.html#idp10216224"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-audiorate.html#idp10223568"/>
+    <keyword type="" name="Example pipelines" link="gst-plugins-base-plugins-audiorate.html#idp5388480"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-audiorate.html#idp10055728"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-audiorate.html#idp10063184"/>
     <keyword type="struct" name="struct GstAudioRate" link="gst-plugins-base-plugins-audiorate.html#GstAudioRate-struct"/>
     <keyword type="property" name="The &quot;add&quot; property" link="gst-plugins-base-plugins-audiorate.html#GstAudioRate--add"/>
     <keyword type="property" name="The &quot;drop&quot; property" link="gst-plugins-base-plugins-audiorate.html#GstAudioRate--drop"/>
@@ -151,17 +152,17 @@
     <keyword type="property" name="The &quot;silent&quot; property" link="gst-plugins-base-plugins-audiorate.html#GstAudioRate--silent"/>
     <keyword type="property" name="The &quot;tolerance&quot; property" link="gst-plugins-base-plugins-audiorate.html#GstAudioRate--tolerance"/>
     <keyword type="property" name="The &quot;skip-to-first&quot; property" link="gst-plugins-base-plugins-audiorate.html#GstAudioRate--skip-to-first"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-base-plugins-audioresample.html#idp6328192"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-audioresample.html#idp8103808"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-audioresample.html#idp8111216"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-base-plugins-audioresample.html#idp6887856"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-audioresample.html#idp5771920"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-audioresample.html#idp7931088"/>
     <keyword type="struct" name="struct GstAudioResample" link="gst-plugins-base-plugins-audioresample.html#GstAudioResample-struct"/>
     <keyword type="property" name="The &quot;filter-length&quot; property" link="gst-plugins-base-plugins-audioresample.html#GstAudioResample--filter-length"/>
     <keyword type="property" name="The &quot;quality&quot; property" link="gst-plugins-base-plugins-audioresample.html#GstAudioResample--quality"/>
     <keyword type="property" name="The &quot;sinc-filter-auto-threshold&quot; property" link="gst-plugins-base-plugins-audioresample.html#GstAudioResample--sinc-filter-auto-threshold"/>
     <keyword type="property" name="The &quot;sinc-filter-mode&quot; property" link="gst-plugins-base-plugins-audioresample.html#GstAudioResample--sinc-filter-mode"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-base-plugins-audiotestsrc.html#idp5968320"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-audiotestsrc.html#idp5971904"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-audiotestsrc.html#idp10301776"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-base-plugins-audiotestsrc.html#idp6637312"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-audiotestsrc.html#idp6640896"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-audiotestsrc.html#idp10296624"/>
     <keyword type="struct" name="struct GstAudioTestSrc" link="gst-plugins-base-plugins-audiotestsrc.html#GstAudioTestSrc-struct"/>
     <keyword type="enum" name="enum GstAudioTestSrcWave" link="gst-plugins-base-plugins-audiotestsrc.html#GstAudioTestSrcWave"/>
     <keyword type="property" name="The &quot;freq&quot; property" link="gst-plugins-base-plugins-audiotestsrc.html#GstAudioTestSrc--freq"/>
@@ -172,8 +173,8 @@
     <keyword type="property" name="The &quot;wave&quot; property" link="gst-plugins-base-plugins-audiotestsrc.html#GstAudioTestSrc--wave"/>
     <keyword type="property" name="The &quot;can-activate-pull&quot; property" link="gst-plugins-base-plugins-audiotestsrc.html#GstAudioTestSrc--can-activate-pull"/>
     <keyword type="property" name="The &quot;can-activate-push&quot; property" link="gst-plugins-base-plugins-audiotestsrc.html#GstAudioTestSrc--can-activate-push"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-cdparanoiasrc.html#idp5621568"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-cdparanoiasrc.html#idp10407536"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-cdparanoiasrc.html#idp9590464"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-cdparanoiasrc.html#idp8358448"/>
     <keyword type="struct" name="struct GstCdParanoiaSrc" link="gst-plugins-base-plugins-cdparanoiasrc.html#GstCdParanoiaSrc-struct"/>
     <keyword type="property" name="The &quot;generic-device&quot; property" link="gst-plugins-base-plugins-cdparanoiasrc.html#GstCdParanoiaSrc--generic-device"/>
     <keyword type="property" name="The &quot;paranoia-mode&quot; property" link="gst-plugins-base-plugins-cdparanoiasrc.html#GstCdParanoiaSrc--paranoia-mode"/>
@@ -182,12 +183,12 @@
     <keyword type="property" name="The &quot;cache-size&quot; property" link="gst-plugins-base-plugins-cdparanoiasrc.html#GstCdParanoiaSrc--cache-size"/>
     <keyword type="signal" name="The &quot;transport-error&quot; signal" link="gst-plugins-base-plugins-cdparanoiasrc.html#GstCdParanoiaSrc-transport-error"/>
     <keyword type="signal" name="The &quot;uncorrected-error&quot; signal" link="gst-plugins-base-plugins-cdparanoiasrc.html#GstCdParanoiaSrc-uncorrected-error"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-clockoverlay.html#idp7607776"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-clockoverlay.html#idp5742224"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-clockoverlay.html#idp2743056"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-clockoverlay.html#idp5648800"/>
     <keyword type="struct" name="struct GstClockOverlay" link="gst-plugins-base-plugins-clockoverlay.html#GstClockOverlay-struct"/>
     <keyword type="property" name="The &quot;time-format&quot; property" link="gst-plugins-base-plugins-clockoverlay.html#GstClockOverlay--time-format"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-decodebin.html#idp10766176"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-decodebin.html#idp10773696"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-decodebin.html#idp10772208"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-decodebin.html#idp10779728"/>
     <keyword type="struct" name="struct GstDecodeBin" link="gst-plugins-base-plugins-decodebin.html#GstDecodeBin-struct"/>
     <keyword type="property" name="The &quot;threaded&quot; property" link="gst-plugins-base-plugins-decodebin.html#GstDecodeBin--threaded"/>
     <keyword type="property" name="The &quot;sink-caps&quot; property" link="gst-plugins-base-plugins-decodebin.html#GstDecodeBin--sink-caps"/>
@@ -211,9 +212,9 @@
     <keyword type="signal" name="The &quot;autoplug-sort&quot; signal" link="gst-plugins-base-plugins-decodebin.html#GstDecodeBin-autoplug-sort"/>
     <keyword type="signal" name="The &quot;drained&quot; signal" link="gst-plugins-base-plugins-decodebin.html#GstDecodeBin-drained"/>
     <keyword type="signal" name="The &quot;autoplug-query&quot; signal" link="gst-plugins-base-plugins-decodebin.html#GstDecodeBin-autoplug-query"/>
-    <keyword type="" name="Features" link="gst-plugins-base-plugins-encodebin.html#idp8826560"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-encodebin.html#idp9039232"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-encodebin.html#idp8701792"/>
+    <keyword type="" name="Features" link="gst-plugins-base-plugins-encodebin.html#idp9748240"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-encodebin.html#idp11048160"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-encodebin.html#idp11055568"/>
     <keyword type="struct" name="GstEncodeBin" link="gst-plugins-base-plugins-encodebin.html#GstEncodeBin-struct"/>
     <keyword type="property" name="The &quot;audio-jitter-tolerance&quot; property" link="gst-plugins-base-plugins-encodebin.html#GstEncodeBin--audio-jitter-tolerance"/>
     <keyword type="property" name="The &quot;avoid-reencoding&quot; property" link="gst-plugins-base-plugins-encodebin.html#GstEncodeBin--avoid-reencoding"/>
@@ -224,35 +225,35 @@
     <keyword type="property" name="The &quot;flags&quot; property" link="gst-plugins-base-plugins-encodebin.html#GstEncodeBin--flags"/>
     <keyword type="signal" name="The &quot;request-pad&quot; signal" link="gst-plugins-base-plugins-encodebin.html#GstEncodeBin-request-pad"/>
     <keyword type="signal" name="The &quot;request-profile-pad&quot; signal" link="gst-plugins-base-plugins-encodebin.html#GstEncodeBin-request-profile-pad"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-base-plugins-videoconvert.html#idp7520288"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-videoconvert.html#idp7807632"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-videoconvert.html#idp5980992"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-base-plugins-videoconvert.html#idp9316272"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-videoconvert.html#idp8048448"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-videoconvert.html#idp7288800"/>
     <keyword type="struct" name="struct GstVideoConvert" link="gst-plugins-base-plugins-videoconvert.html#GstVideoConvert-struct"/>
     <keyword type="property" name="The &quot;dither&quot; property" link="gst-plugins-base-plugins-videoconvert.html#GstVideoConvert--dither"/>
-    <keyword type="" name="Example pipelines" link="gst-plugins-base-plugins-giosink.html#idp8734832"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-giosink.html#idp8739392"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-giosink.html#idp5842064"/>
+    <keyword type="" name="Example pipelines" link="gst-plugins-base-plugins-giosink.html#idp11153888"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-giosink.html#idp11158448"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-giosink.html#idp11572016"/>
     <keyword type="struct" name="struct GstGioSink" link="gst-plugins-base-plugins-giosink.html#GstGioSink-struct"/>
     <keyword type="property" name="The &quot;location&quot; property" link="gst-plugins-base-plugins-giosink.html#GstGioSink--location"/>
     <keyword type="property" name="The &quot;file&quot; property" link="gst-plugins-base-plugins-giosink.html#GstGioSink--file"/>
-    <keyword type="" name="Example launch lines" link="gst-plugins-base-plugins-giosrc.html#idp11099136"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-giosrc.html#idp11103696"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-giosrc.html#idp5509536"/>
+    <keyword type="" name="Example launch lines" link="gst-plugins-base-plugins-giosrc.html#idp5840560"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-giosrc.html#idp5845120"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-giosrc.html#idp11751728"/>
     <keyword type="struct" name="struct GstGioSrc" link="gst-plugins-base-plugins-giosrc.html#GstGioSrc-struct"/>
     <keyword type="property" name="The &quot;location&quot; property" link="gst-plugins-base-plugins-giosrc.html#GstGioSrc--location"/>
     <keyword type="property" name="The &quot;file&quot; property" link="gst-plugins-base-plugins-giosrc.html#GstGioSrc--file"/>
-    <keyword type="" name="Example code" link="gst-plugins-base-plugins-giostreamsink.html#idp11110736"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-giostreamsink.html#idp11114880"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-giostreamsink.html#idp6626096"/>
+    <keyword type="" name="Example code" link="gst-plugins-base-plugins-giostreamsink.html#idp8087664"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-giostreamsink.html#idp6182880"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-giostreamsink.html#idp10985712"/>
     <keyword type="struct" name="struct GstGioStreamSink" link="gst-plugins-base-plugins-giostreamsink.html#GstGioStreamSink-struct"/>
     <keyword type="property" name="The &quot;stream&quot; property" link="gst-plugins-base-plugins-giostreamsink.html#GstGioStreamSink--stream"/>
-    <keyword type="" name="Example code" link="gst-plugins-base-plugins-giostreamsrc.html#idp9799504"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-giostreamsrc.html#idp9803616"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-giostreamsrc.html#idp6704976"/>
+    <keyword type="" name="Example code" link="gst-plugins-base-plugins-giostreamsrc.html#idp9549584"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-giostreamsrc.html#idp9553696"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-giostreamsrc.html#idp9328624"/>
     <keyword type="struct" name="struct GstGioStreamSrc" link="gst-plugins-base-plugins-giostreamsrc.html#GstGioStreamSrc-struct"/>
     <keyword type="property" name="The &quot;stream&quot; property" link="gst-plugins-base-plugins-giostreamsrc.html#GstGioStreamSrc--stream"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-multifdsink.html#idp11432720"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-multifdsink.html#idp11440128"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-multifdsink.html#idp11852944"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-multifdsink.html#idp11860352"/>
     <keyword type="struct" name="struct GstMultiFdSink" link="gst-plugins-base-plugins-multifdsink.html#GstMultiFdSink-struct"/>
     <keyword type="enum" name="enum GstRecoverPolicy" link="gst-plugins-base-plugins-multifdsink.html#GstRecoverPolicy"/>
     <keyword type="enum" name="enum GstSyncMethod" link="gst-plugins-base-plugins-multifdsink.html#GstSyncMethod"/>
@@ -290,8 +291,8 @@
     <keyword type="signal" name="The &quot;add-full&quot; signal" link="gst-plugins-base-plugins-multifdsink.html#GstMultiFdSink-add-full"/>
     <keyword type="signal" name="The &quot;remove-flush&quot; signal" link="gst-plugins-base-plugins-multifdsink.html#GstMultiFdSink-remove-flush"/>
     <keyword type="signal" name="The &quot;client-handle-removed&quot; signal" link="gst-plugins-base-plugins-multifdsink.html#GstMultiFdSink-client-handle-removed"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-multisocketsink.html#idp11997392"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-multisocketsink.html#idp12004960"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-multisocketsink.html#idp12484288"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-multisocketsink.html#idp12491856"/>
     <keyword type="struct" name="struct GstMultiSocketSink" link="gst-plugins-base-plugins-multisocketsink.html#GstMultiSocketSink-struct"/>
     <keyword type="enum" name="enum GstRecoverPolicy" link="gst-plugins-base-plugins-multisocketsink.html#GstRecoverPolicy"/>
     <keyword type="enum" name="enum GstSyncMethod" link="gst-plugins-base-plugins-multisocketsink.html#GstSyncMethod"/>
@@ -326,26 +327,26 @@
     <keyword type="signal" name="The &quot;remove&quot; signal" link="gst-plugins-base-plugins-multisocketsink.html#GstMultiSocketSink-remove"/>
     <keyword type="signal" name="The &quot;remove-flush&quot; signal" link="gst-plugins-base-plugins-multisocketsink.html#GstMultiSocketSink-remove-flush"/>
     <keyword type="signal" name="The &quot;client-handle-removed&quot; signal" link="gst-plugins-base-plugins-multisocketsink.html#GstMultiSocketSink-client-handle-removed"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-oggdemux.html#idp11870304"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-oggdemux.html#idp7632320"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-oggdemux.html#idp5981104"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-oggdemux.html#idp11177040"/>
     <keyword type="struct" name="struct GstOggDemux" link="gst-plugins-base-plugins-oggdemux.html#GstOggDemux-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-oggmux.html#idp12796224"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-oggmux.html#idp12789856"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-oggmux.html#idp12700528"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-oggmux.html#idp10662096"/>
     <keyword type="struct" name="struct GstOggMux" link="gst-plugins-base-plugins-oggmux.html#GstOggMux-struct"/>
     <keyword type="property" name="The &quot;max-delay&quot; property" link="gst-plugins-base-plugins-oggmux.html#GstOggMux--max-delay"/>
     <keyword type="property" name="The &quot;max-page-delay&quot; property" link="gst-plugins-base-plugins-oggmux.html#GstOggMux--max-page-delay"/>
     <keyword type="property" name="The &quot;max-tolerance&quot; property" link="gst-plugins-base-plugins-oggmux.html#GstOggMux--max-tolerance"/>
     <keyword type="property" name="The &quot;skeleton&quot; property" link="gst-plugins-base-plugins-oggmux.html#GstOggMux--skeleton"/>
-    <keyword type="" name="Usage" link="gst-plugins-base-plugins-playbin.html#idp12892944"/>
-    <keyword type="" name="Advanced Usage: specifying the audio and video sink" link="gst-plugins-base-plugins-playbin.html#idp12909056"/>
-    <keyword type="" name="Retrieving Tags and Other Meta Data" link="gst-plugins-base-plugins-playbin.html#idp12919616"/>
-    <keyword type="" name="Buffering" link="gst-plugins-base-plugins-playbin.html#idp12921728"/>
-    <keyword type="" name="Embedding the video window in your application" link="gst-plugins-base-plugins-playbin.html#idp12924496"/>
-    <keyword type="" name="Specifying which CD/DVD device to use" link="gst-plugins-base-plugins-playbin.html#idp12926464"/>
-    <keyword type="" name="Handling redirects" link="gst-plugins-base-plugins-playbin.html#idp12928032"/>
-    <keyword type="" name="Examples" link="gst-plugins-base-plugins-playbin.html#idp12929712"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-playbin.html#idp12934320"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-playbin.html#idp12941776"/>
+    <keyword type="" name="Usage" link="gst-plugins-base-plugins-playbin.html#idp12898976"/>
+    <keyword type="" name="Advanced Usage: specifying the audio and video sink" link="gst-plugins-base-plugins-playbin.html#idp12915088"/>
+    <keyword type="" name="Retrieving Tags and Other Meta Data" link="gst-plugins-base-plugins-playbin.html#idp12925648"/>
+    <keyword type="" name="Buffering" link="gst-plugins-base-plugins-playbin.html#idp12927760"/>
+    <keyword type="" name="Embedding the video window in your application" link="gst-plugins-base-plugins-playbin.html#idp12930528"/>
+    <keyword type="" name="Specifying which CD/DVD device to use" link="gst-plugins-base-plugins-playbin.html#idp12932496"/>
+    <keyword type="" name="Handling redirects" link="gst-plugins-base-plugins-playbin.html#idp12934064"/>
+    <keyword type="" name="Examples" link="gst-plugins-base-plugins-playbin.html#idp12935744"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-playbin.html#idp12940352"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-playbin.html#idp12947808"/>
     <keyword type="struct" name="struct GstPlayBin" link="gst-plugins-base-plugins-playbin.html#GstPlayBin-struct"/>
     <keyword type="enum" name="enum GstPlayFlags" link="gst-plugins-base-plugins-playbin.html#GstPlayFlags"/>
     <keyword type="property" name="The &quot;audio-sink&quot; property" link="gst-plugins-base-plugins-playbin.html#GstPlayBin--audio-sink"/>
@@ -394,44 +395,44 @@
     <keyword type="signal" name="The &quot;text-tags-changed&quot; signal" link="gst-plugins-base-plugins-playbin.html#GstPlayBin-text-tags-changed"/>
     <keyword type="signal" name="The &quot;video-changed&quot; signal" link="gst-plugins-base-plugins-playbin.html#GstPlayBin-video-changed"/>
     <keyword type="signal" name="The &quot;video-tags-changed&quot; signal" link="gst-plugins-base-plugins-playbin.html#GstPlayBin-video-tags-changed"/>
-    <keyword type="" name="Examples" link="gst-plugins-base-plugins-subtitleoverlay.html#idp8654688"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-subtitleoverlay.html#idp9123136"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-subtitleoverlay.html#idp13509520"/>
+    <keyword type="" name="Examples" link="gst-plugins-base-plugins-subtitleoverlay.html#idp6448960"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-subtitleoverlay.html#idp7705712"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-subtitleoverlay.html#idp12121328"/>
     <keyword type="struct" name="struct GstSubtitleOverlay" link="gst-plugins-base-plugins-subtitleoverlay.html#GstSubtitleOverlay-struct"/>
     <keyword type="property" name="The &quot;font-desc&quot; property" link="gst-plugins-base-plugins-subtitleoverlay.html#GstSubtitleOverlay--font-desc"/>
     <keyword type="property" name="The &quot;silent&quot; property" link="gst-plugins-base-plugins-subtitleoverlay.html#GstSubtitleOverlay--silent"/>
     <keyword type="property" name="The &quot;subtitle-encoding&quot; property" link="gst-plugins-base-plugins-subtitleoverlay.html#GstSubtitleOverlay--subtitle-encoding"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-base-plugins-tcpclientsrc.html#idp8489104"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-tcpclientsrc.html#idp11323856"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-tcpclientsrc.html#idp11331264"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-base-plugins-tcpclientsrc.html#idp11698720"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-tcpclientsrc.html#idp11701040"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-tcpclientsrc.html#idp10547200"/>
     <keyword type="struct" name="struct GstTCPClientSrc" link="gst-plugins-base-plugins-tcpclientsrc.html#GstTCPClientSrc-struct"/>
     <keyword type="property" name="The &quot;host&quot; property" link="gst-plugins-base-plugins-tcpclientsrc.html#GstTCPClientSrc--host"/>
     <keyword type="property" name="The &quot;port&quot; property" link="gst-plugins-base-plugins-tcpclientsrc.html#GstTCPClientSrc--port"/>
     <keyword type="property" name="The &quot;protocol&quot; property" link="gst-plugins-base-plugins-tcpclientsrc.html#GstTCPClientSrc--protocol"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-base-plugins-tcpclientsink.html#idp11316288"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-tcpclientsink.html#idp11318608"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-tcpclientsink.html#idp11771680"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-base-plugins-tcpclientsink.html#idp8698064"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-tcpclientsink.html#idp8700384"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-tcpclientsink.html#idp9118032"/>
     <keyword type="struct" name="struct GstTCPClientSink" link="gst-plugins-base-plugins-tcpclientsink.html#GstTCPClientSink-struct"/>
     <keyword type="property" name="The &quot;host&quot; property" link="gst-plugins-base-plugins-tcpclientsink.html#GstTCPClientSink--host"/>
     <keyword type="property" name="The &quot;port&quot; property" link="gst-plugins-base-plugins-tcpclientsink.html#GstTCPClientSink--port"/>
     <keyword type="property" name="The &quot;protocol&quot; property" link="gst-plugins-base-plugins-tcpclientsink.html#GstTCPClientSink--protocol"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-base-plugins-tcpserversrc.html#idp5468256"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-tcpserversrc.html#idp5470736"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-tcpserversrc.html#idp8248064"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-base-plugins-tcpserversrc.html#idp11680928"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-tcpserversrc.html#idp11683408"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-tcpserversrc.html#idp11690816"/>
     <keyword type="struct" name="struct GstTCPServerSrc" link="gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc-struct"/>
     <keyword type="property" name="The &quot;host&quot; property" link="gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc--host"/>
     <keyword type="property" name="The &quot;port&quot; property" link="gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc--port"/>
     <keyword type="property" name="The &quot;protocol&quot; property" link="gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc--protocol"/>
     <keyword type="property" name="The &quot;current-port&quot; property" link="gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc--current-port"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-base-plugins-tcpserversink.html#idp11055072"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-tcpserversink.html#idp11057552"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-tcpserversink.html#idp11064960"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-base-plugins-tcpserversink.html#idp5358864"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-tcpserversink.html#idp5785120"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-tcpserversink.html#idp12083008"/>
     <keyword type="struct" name="struct GstTCPServerSink" link="gst-plugins-base-plugins-tcpserversink.html#GstTCPServerSink-struct"/>
     <keyword type="property" name="The &quot;host&quot; property" link="gst-plugins-base-plugins-tcpserversink.html#GstTCPServerSink--host"/>
     <keyword type="property" name="The &quot;port&quot; property" link="gst-plugins-base-plugins-tcpserversink.html#GstTCPServerSink--port"/>
     <keyword type="property" name="The &quot;current-port&quot; property" link="gst-plugins-base-plugins-tcpserversink.html#GstTCPServerSink--current-port"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-textoverlay.html#idp13899520"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-textoverlay.html#idp13905904"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-textoverlay.html#idp13911360"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-textoverlay.html#idp13918768"/>
     <keyword type="struct" name="struct GstTextOverlay" link="gst-plugins-base-plugins-textoverlay.html#GstTextOverlay-struct"/>
     <keyword type="property" name="The &quot;deltax&quot; property" link="gst-plugins-base-plugins-textoverlay.html#GstTextOverlay--deltax"/>
     <keyword type="property" name="The &quot;deltay&quot; property" link="gst-plugins-base-plugins-textoverlay.html#GstTextOverlay--deltay"/>
@@ -453,8 +454,8 @@
     <keyword type="property" name="The &quot;color&quot; property" link="gst-plugins-base-plugins-textoverlay.html#GstTextOverlay--color"/>
     <keyword type="property" name="The &quot;xpos&quot; property" link="gst-plugins-base-plugins-textoverlay.html#GstTextOverlay--xpos"/>
     <keyword type="property" name="The &quot;ypos&quot; property" link="gst-plugins-base-plugins-textoverlay.html#GstTextOverlay--ypos"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-textrender.html#idp8226320"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-textrender.html#idp13148784"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-textrender.html#idp6871344"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-textrender.html#idp9509376"/>
     <keyword type="struct" name="struct GstTextRender" link="gst-plugins-base-plugins-textrender.html#GstTextRender-struct"/>
     <keyword type="property" name="The &quot;font-desc&quot; property" link="gst-plugins-base-plugins-textrender.html#GstTextRender--font-desc"/>
     <keyword type="property" name="The &quot;halignment&quot; property" link="gst-plugins-base-plugins-textrender.html#GstTextRender--halignment"/>
@@ -462,12 +463,12 @@
     <keyword type="property" name="The &quot;valignment&quot; property" link="gst-plugins-base-plugins-textrender.html#GstTextRender--valignment"/>
     <keyword type="property" name="The &quot;xpad&quot; property" link="gst-plugins-base-plugins-textrender.html#GstTextRender--xpad"/>
     <keyword type="property" name="The &quot;ypad&quot; property" link="gst-plugins-base-plugins-textrender.html#GstTextRender--ypad"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-theoradec.html#idp8796848"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-theoradec.html#idp13084176"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-theoradec.html#idp8241024"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-theoradec.html#idp11422576"/>
     <keyword type="struct" name="struct GstTheoraDec" link="gst-plugins-base-plugins-theoradec.html#GstTheoraDec-struct"/>
     <keyword type="property" name="The &quot;crop&quot; property" link="gst-plugins-base-plugins-theoradec.html#GstTheoraDec--crop"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-theoraenc.html#idp14229360"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-theoraenc.html#idp14236816"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-theoraenc.html#idp14189424"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-theoraenc.html#idp14196880"/>
     <keyword type="struct" name="struct GstTheoraEnc" link="gst-plugins-base-plugins-theoraenc.html#GstTheoraEnc-struct"/>
     <keyword type="property" name="The &quot;bitrate&quot; property" link="gst-plugins-base-plugins-theoraenc.html#GstTheoraEnc--bitrate"/>
     <keyword type="property" name="The &quot;border&quot; property" link="gst-plugins-base-plugins-theoraenc.html#GstTheoraEnc--border"/>
@@ -490,15 +491,15 @@
     <keyword type="property" name="The &quot;multipass-cache-file&quot; property" link="gst-plugins-base-plugins-theoraenc.html#GstTheoraEnc--multipass-cache-file"/>
     <keyword type="property" name="The &quot;multipass-mode&quot; property" link="gst-plugins-base-plugins-theoraenc.html#GstTheoraEnc--multipass-mode"/>
     <keyword type="property" name="The &quot;dup-on-gap&quot; property" link="gst-plugins-base-plugins-theoraenc.html#GstTheoraEnc--dup-on-gap"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-theoraparse.html#idp6488032"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-theoraparse.html#idp9325808"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-theoraparse.html#idp7946368"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-theoraparse.html#idp8528064"/>
     <keyword type="struct" name="struct GstTheoraParse" link="gst-plugins-base-plugins-theoraparse.html#GstTheoraParse-struct"/>
     <keyword type="property" name="The &quot;synchronization-points&quot; property" link="gst-plugins-base-plugins-theoraparse.html#GstTheoraParse--synchronization-points"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-timeoverlay.html#idp7579232"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-timeoverlay.html#idp11762016"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-timeoverlay.html#idp10202128"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-timeoverlay.html#idp9530960"/>
     <keyword type="struct" name="struct GstTimeOverlay" link="gst-plugins-base-plugins-timeoverlay.html#GstTimeOverlay-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-uridecodebin.html#idp14598736"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-uridecodebin.html#idp14606192"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-uridecodebin.html#idp14461360"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-uridecodebin.html#idp14468816"/>
     <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"/>
     <keyword type="property" name="The &quot;uri&quot; property" link="gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin--uri"/>
@@ -520,9 +521,9 @@
     <keyword type="signal" name="The &quot;autoplug-sort&quot; signal" link="gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin-autoplug-sort"/>
     <keyword type="signal" name="The &quot;source-setup&quot; signal" link="gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin-source-setup"/>
     <keyword type="signal" name="The &quot;autoplug-query&quot; signal" link="gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin-autoplug-query"/>
-    <keyword type="" name="Example pipelines" link="gst-plugins-base-plugins-videorate.html#idp14907152"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-videorate.html#idp14911280"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-videorate.html#idp14918736"/>
+    <keyword type="" name="Example pipelines" link="gst-plugins-base-plugins-videorate.html#idp14810464"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-videorate.html#idp14814592"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-videorate.html#idp14822048"/>
     <keyword type="struct" name="struct GstVideoRate" link="gst-plugins-base-plugins-videorate.html#GstVideoRate-struct"/>
     <keyword type="property" name="The &quot;drop&quot; property" link="gst-plugins-base-plugins-videorate.html#GstVideoRate--drop"/>
     <keyword type="property" name="The &quot;duplicate&quot; property" link="gst-plugins-base-plugins-videorate.html#GstVideoRate--duplicate"/>
@@ -534,9 +535,9 @@
     <keyword type="property" name="The &quot;average-period&quot; property" link="gst-plugins-base-plugins-videorate.html#GstVideoRate--average-period"/>
     <keyword type="property" name="The &quot;drop-only&quot; property" link="gst-plugins-base-plugins-videorate.html#GstVideoRate--drop-only"/>
     <keyword type="property" name="The &quot;max-rate&quot; property" link="gst-plugins-base-plugins-videorate.html#GstVideoRate--max-rate"/>
-    <keyword type="" name="Example pipelines" link="gst-plugins-base-plugins-videoscale.html#idp8570032"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-videoscale.html#idp11738816"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-videoscale.html#idp13368784"/>
+    <keyword type="" name="Example pipelines" link="gst-plugins-base-plugins-videoscale.html#idp7628944"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-videoscale.html#idp13289024"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-videoscale.html#idp13841488"/>
     <keyword type="struct" name="struct GstVideoScale" link="gst-plugins-base-plugins-videoscale.html#GstVideoScale-struct"/>
     <keyword type="enum" name="enum GstVideoScaleMethod" link="gst-plugins-base-plugins-videoscale.html#GstVideoScaleMethod"/>
     <keyword type="property" name="The &quot;method&quot; property" link="gst-plugins-base-plugins-videoscale.html#GstVideoScale--method"/>
@@ -545,9 +546,9 @@
     <keyword type="property" name="The &quot;envelope&quot; property" link="gst-plugins-base-plugins-videoscale.html#GstVideoScale--envelope"/>
     <keyword type="property" name="The &quot;sharpen&quot; property" link="gst-plugins-base-plugins-videoscale.html#GstVideoScale--sharpen"/>
     <keyword type="property" name="The &quot;sharpness&quot; property" link="gst-plugins-base-plugins-videoscale.html#GstVideoScale--sharpness"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-base-plugins-videotestsrc.html#idp14075232"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-videotestsrc.html#idp14077600"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-videotestsrc.html#idp14085056"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-base-plugins-videotestsrc.html#idp15269344"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-videotestsrc.html#idp15271712"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-videotestsrc.html#idp15279168"/>
     <keyword type="struct" name="struct GstVideoTestSrc" link="gst-plugins-base-plugins-videotestsrc.html#GstVideoTestSrc-struct"/>
     <keyword type="enum" name="enum GstVideoTestSrcPattern" link="gst-plugins-base-plugins-videotestsrc.html#GstVideoTestSrcPattern"/>
     <keyword type="property" name="The &quot;pattern&quot; property" link="gst-plugins-base-plugins-videotestsrc.html#GstVideoTestSrc--pattern"/>
@@ -570,17 +571,17 @@
     <keyword type="property" name="The &quot;background-color&quot; property" link="gst-plugins-base-plugins-videotestsrc.html#GstVideoTestSrc--background-color"/>
     <keyword type="property" name="The &quot;foreground-color&quot; property" link="gst-plugins-base-plugins-videotestsrc.html#GstVideoTestSrc--foreground-color"/>
     <keyword type="property" name="The &quot;horizontal-speed&quot; property" link="gst-plugins-base-plugins-videotestsrc.html#GstVideoTestSrc--horizontal-speed"/>
-    <keyword type="" name="Example launch line" link="gst-plugins-base-plugins-volume.html#idp5191648"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-volume.html#idp9559168"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-volume.html#idp14852496"/>
+    <keyword type="" name="Example launch line" link="gst-plugins-base-plugins-volume.html#idp8404672"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-volume.html#idp8625584"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-volume.html#idp14952560"/>
     <keyword type="struct" name="struct GstVolume" link="gst-plugins-base-plugins-volume.html#GstVolume-struct"/>
     <keyword type="property" name="The &quot;mute&quot; property" link="gst-plugins-base-plugins-volume.html#GstVolume--mute"/>
     <keyword type="property" name="The &quot;volume&quot; property" link="gst-plugins-base-plugins-volume.html#GstVolume--volume"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-vorbisdec.html#idp8788672"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-vorbisdec.html#idp9337440"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-vorbisdec.html#idp6944896"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-vorbisdec.html#idp6208672"/>
     <keyword type="struct" name="struct GstVorbisDec" link="gst-plugins-base-plugins-vorbisdec.html#GstVorbisDec-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-vorbisenc.html#idp9304416"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-vorbisenc.html#idp8059360"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-vorbisenc.html#idp8220832"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-vorbisenc.html#idp7862832"/>
     <keyword type="struct" name="struct GstVorbisEnc" link="gst-plugins-base-plugins-vorbisenc.html#GstVorbisEnc-struct"/>
     <keyword type="property" name="The &quot;bitrate&quot; property" link="gst-plugins-base-plugins-vorbisenc.html#GstVorbisEnc--bitrate"/>
     <keyword type="property" name="The &quot;last-message&quot; property" link="gst-plugins-base-plugins-vorbisenc.html#GstVorbisEnc--last-message"/>
@@ -588,14 +589,14 @@
     <keyword type="property" name="The &quot;max-bitrate&quot; property" link="gst-plugins-base-plugins-vorbisenc.html#GstVorbisEnc--max-bitrate"/>
     <keyword type="property" name="The &quot;min-bitrate&quot; property" link="gst-plugins-base-plugins-vorbisenc.html#GstVorbisEnc--min-bitrate"/>
     <keyword type="property" name="The &quot;quality&quot; property" link="gst-plugins-base-plugins-vorbisenc.html#GstVorbisEnc--quality"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-vorbisparse.html#idp5478112"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-vorbisparse.html#idp9630064"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-vorbisparse.html#idp7534128"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-vorbisparse.html#idp6248608"/>
     <keyword type="struct" name="struct GstVorbisParse" link="gst-plugins-base-plugins-vorbisparse.html#GstVorbisParse-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-vorbistag.html#idp10106256"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-vorbistag.html#idp6567808"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-vorbistag.html#idp9546640"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-vorbistag.html#idp6871008"/>
     <keyword type="struct" name="struct GstVorbisTag" link="gst-plugins-base-plugins-vorbistag.html#GstVorbisTag-struct"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-ximagesink.html#idp14432368"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-ximagesink.html#idp15979600"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-ximagesink.html#idp14974368"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-ximagesink.html#idp15213840"/>
     <keyword type="struct" name="struct GstXImageSink" link="gst-plugins-base-plugins-ximagesink.html#GstXImageSink-struct"/>
     <keyword type="property" name="The &quot;display&quot; property" link="gst-plugins-base-plugins-ximagesink.html#GstXImageSink--display"/>
     <keyword type="property" name="The &quot;pixel-aspect-ratio&quot; property" link="gst-plugins-base-plugins-ximagesink.html#GstXImageSink--pixel-aspect-ratio"/>
@@ -605,8 +606,8 @@
     <keyword type="property" name="The &quot;handle-expose&quot; property" link="gst-plugins-base-plugins-ximagesink.html#GstXImageSink--handle-expose"/>
     <keyword type="property" name="The &quot;window-height&quot; property" link="gst-plugins-base-plugins-ximagesink.html#GstXImageSink--window-height"/>
     <keyword type="property" name="The &quot;window-width&quot; property" link="gst-plugins-base-plugins-ximagesink.html#GstXImageSink--window-width"/>
-    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-xvimagesink.html#idp16153248"/>
-    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-xvimagesink.html#idp16160704"/>
+    <keyword type="" name="Element Information" link="gst-plugins-base-plugins-xvimagesink.html#idp15923760"/>
+    <keyword type="" name="Element Pads" link="gst-plugins-base-plugins-xvimagesink.html#idp16119888"/>
     <keyword type="struct" name="struct GstXvImageSink" link="gst-plugins-base-plugins-xvimagesink.html#GstXvImageSink-struct"/>
     <keyword type="property" name="The &quot;brightness&quot; property" link="gst-plugins-base-plugins-xvimagesink.html#GstXvImageSink--brightness"/>
     <keyword type="property" name="The &quot;contrast&quot; property" link="gst-plugins-base-plugins-xvimagesink.html#GstXvImageSink--contrast"/>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-adder.html b/docs/plugins/html/gst-plugins-base-plugins-adder.html
index b99c4f1..623d7de 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-adder.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-adder.html
@@ -81,7 +81,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp7801184"></a><h3>Example launch line</h3>
+<a name="idp6872368"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -102,7 +102,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp7846608"></a><h3>Element Information</h3>
+<a name="idp2584864"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -128,7 +128,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idm28800"></a><h3>Element Pads</h3>
+<a name="idm37296"></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-alsasink.html b/docs/plugins/html/gst-plugins-base-plugins-alsasink.html
index 040664b..0e44c56 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-alsasink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-alsasink.html
@@ -70,7 +70,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp2878016"></a><h3>Element Information</h3>
+<a name="idp7604112"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -96,7 +96,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp7880096"></a><h3>Element Pads</h3>
+<a name="idp9361312"></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 cbda592..2c0d0c5 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-alsasrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-alsasrc.html
@@ -71,7 +71,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9242800"></a><h3>Element Information</h3>
+<a name="idp8832032"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -97,7 +97,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp7726080"></a><h3>Element Pads</h3>
+<a name="idp5912608"></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 57879f6..5df7bd0 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-appsink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-appsink.html
@@ -104,7 +104,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9818032"></a><h3>Element Information</h3>
+<a name="idp9813632"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -130,7 +130,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp9825440"></a><h3>Element Pads</h3>
+<a name="idp9820016"></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 0a8b87c..e6cd3bf 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-appsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-appsrc.html
@@ -79,6 +79,7 @@
   "<a class="link" href="gst-plugins-base-plugins-appsrc.html#GstAppSrc--stream-type" title='The "stream-type" property'>stream-type</a>"              <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-appsrc.html#GstAppStreamType"><span class="type">GstAppStreamType</span></a>      : Read / Write
   "<a class="link" href="gst-plugins-base-plugins-appsrc.html#GstAppSrc--emit-signals" title='The "emit-signals" property'>emit-signals</a>"             <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
   "<a class="link" href="gst-plugins-base-plugins-appsrc.html#GstAppSrc--min-percent" title='The "min-percent" property'>min-percent</a>"              <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write
+  "<a class="link" href="gst-plugins-base-plugins-appsrc.html#GstAppSrc--current-level-bytes" title='The "current-level-bytes" property'>current-level-bytes</a>"      <span class="type">guint64</span>               : Read
 </pre>
 </div>
 <div class="refsect1">
@@ -106,7 +107,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp7349808"></a><h3>Element Information</h3>
+<a name="idp5191904"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -132,7 +133,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp7357216"></a><h3>Element Pads</h3>
+<a name="idp5199392"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -252,6 +253,13 @@
 <p>Allowed values: &lt;= 100</p>
 <p>Default value: 0</p>
 </div>
+<hr>
+<div class="refsect2">
+<a name="GstAppSrc--current-level-bytes"></a><h3>The <code class="literal">"current-level-bytes"</code> property</h3>
+<pre class="programlisting">  "current-level-bytes"      <span class="type">guint64</span>               : Read</pre>
+<p>The number of currently queued bytes.</p>
+<p>Default value: 0</p>
+</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-appsrc.signal-details"></a><h2>Signal Details</h2>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-audioconvert.html b/docs/plugins/html/gst-plugins-base-plugins-audioconvert.html
index f220e82..b0aa718 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-audioconvert.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-audioconvert.html
@@ -74,7 +74,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp7648304"></a><h3>Example launch line</h3>
+<a name="idp8427584"></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="idp7960336"></a><h3>Element Information</h3>
+<a name="idp8491680"></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="idp7768080"></a><h3>Element Pads</h3>
+<a name="idp2762880"></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-audiorate.html b/docs/plugins/html/gst-plugins-base-plugins-audiorate.html
index f8afc49..8abb253 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-audiorate.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-audiorate.html
@@ -103,7 +103,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp5250128"></a><h3>Example pipelines</h3>
+<a name="idp5388480"></a><h3>Example pipelines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -122,7 +122,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp10216224"></a><h3>Element Information</h3>
+<a name="idp10055728"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -148,7 +148,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp10223568"></a><h3>Element Pads</h3>
+<a name="idp10063184"></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-audioresample.html b/docs/plugins/html/gst-plugins-base-plugins-audioresample.html
index 2b012c7..1ea323d 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-audioresample.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-audioresample.html
@@ -82,7 +82,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp6328192"></a><h3>Example launch line</h3>
+<a name="idp6887856"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -101,7 +101,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp8103808"></a><h3>Element Information</h3>
+<a name="idp5771920"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -127,7 +127,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp8111216"></a><h3>Element Pads</h3>
+<a name="idp7931088"></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-audiotestsrc.html b/docs/plugins/html/gst-plugins-base-plugins-audiotestsrc.html
index 0496220..befec72 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-audiotestsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-audiotestsrc.html
@@ -78,7 +78,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp5968320"></a><h3>Example launch line</h3>
+<a name="idp6637312"></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="idp5971904"></a><h3>Element Information</h3>
+<a name="idp6640896"></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="idp10301776"></a><h3>Element Pads</h3>
+<a name="idp10296624"></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-cdparanoiasrc.html b/docs/plugins/html/gst-plugins-base-plugins-cdparanoiasrc.html
index 8a8dded..796977d 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-cdparanoiasrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-cdparanoiasrc.html
@@ -89,7 +89,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp5621568"></a><h3>Element Information</h3>
+<a name="idp9590464"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -115,7 +115,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp10407536"></a><h3>Element Pads</h3>
+<a name="idp8358448"></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-clockoverlay.html b/docs/plugins/html/gst-plugins-base-plugins-clockoverlay.html
index 9dd99be..f493e65 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-clockoverlay.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-clockoverlay.html
@@ -66,7 +66,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp7607776"></a><h3>Element Information</h3>
+<a name="idp2743056"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -92,7 +92,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp5742224"></a><h3>Element Pads</h3>
+<a name="idp5648800"></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-decodebin.html b/docs/plugins/html/gst-plugins-base-plugins-decodebin.html
index bca3cea..8258e42 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-decodebin.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-decodebin.html
@@ -111,7 +111,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp10766176"></a><h3>Element Information</h3>
+<a name="idp10772208"></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="idp10773696"></a><h3>Element Pads</h3>
+<a name="idp10779728"></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-encodebin.html b/docs/plugins/html/gst-plugins-base-plugins-encodebin.html
index 398c2fb..ca5891f 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-encodebin.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-encodebin.html
@@ -100,7 +100,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp8826560"></a><h3>Features</h3>
+<a name="idp9748240"></a><h3>Features</h3>
 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
 <li class="listitem">
 Automatic encoder and muxer selection based on elements available on the
@@ -165,7 +165,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9039232"></a><h3>Element Information</h3>
+<a name="idp11048160"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -191,7 +191,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp8701792"></a><h3>Element Pads</h3>
+<a name="idp11055568"></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-giosink.html b/docs/plugins/html/gst-plugins-base-plugins-giosink.html
index ddbf2ac..12b11a6 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-giosink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-giosink.html
@@ -101,7 +101,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp8734832"></a><h3>Example pipelines</h3>
+<a name="idp11153888"></a><h3>Example pipelines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -144,7 +144,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp8739392"></a><h3>Element Information</h3>
+<a name="idp11158448"></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="idp5842064"></a><h3>Element Pads</h3>
+<a name="idp11572016"></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 3a2db86..2076a34 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-giosrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-giosrc.html
@@ -95,7 +95,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp11099136"></a><h3>Example launch lines</h3>
+<a name="idp5840560"></a><h3>Example launch lines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -139,7 +139,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11103696"></a><h3>Element Information</h3>
+<a name="idp5845120"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -165,7 +165,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp5509536"></a><h3>Element Pads</h3>
+<a name="idp11751728"></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 db4e16a..3650a65 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-giostreamsink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-giostreamsink.html
@@ -74,7 +74,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp11110736"></a><h3>Example code</h3>
+<a name="idp8087664"></a><h3>Example code</h3>
 <p>
 The following example writes the received data to a <a href="http://library.gnome.org/devel/gio/unstable/GMemoryOutputStream.html"><span class="type">GMemoryOutputStream</span></a>.
 </p>
@@ -141,7 +141,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11114880"></a><h3>Element Information</h3>
+<a name="idp6182880"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -167,7 +167,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp6626096"></a><h3>Element Pads</h3>
+<a name="idp10985712"></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 9d018db..c8690d8 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-giostreamsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-giostreamsrc.html
@@ -75,7 +75,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp9799504"></a><h3>Example code</h3>
+<a name="idp9549584"></a><h3>Example code</h3>
 <p>
 The following example reads data from a <a href="http://library.gnome.org/devel/gio/unstable/GMemoryInputStream.html"><span class="type">GMemoryInputStream</span></a>.
 </p>
@@ -140,7 +140,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9803616"></a><h3>Element Information</h3>
+<a name="idp9553696"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -166,7 +166,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp6704976"></a><h3>Element Pads</h3>
+<a name="idp9328624"></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 4909679..7af84b7 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-multifdsink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-multifdsink.html
@@ -198,7 +198,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11432720"></a><h3>Element Information</h3>
+<a name="idp11852944"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -224,7 +224,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp11440128"></a><h3>Element Pads</h3>
+<a name="idp11860352"></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-multisocketsink.html b/docs/plugins/html/gst-plugins-base-plugins-multisocketsink.html
index ec295ac..a1379f1 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-multisocketsink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-multisocketsink.html
@@ -192,7 +192,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11997392"></a><h3>Element Information</h3>
+<a name="idp12484288"></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="idp12004960"></a><h3>Element Pads</h3>
+<a name="idp12491856"></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-oggdemux.html b/docs/plugins/html/gst-plugins-base-plugins-oggdemux.html
index 0f0dbf0..bd53410 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-oggdemux.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-oggdemux.html
@@ -57,7 +57,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11870304"></a><h3>Element Information</h3>
+<a name="idp5981104"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -83,7 +83,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp7632320"></a><h3>Element Pads</h3>
+<a name="idp11177040"></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-oggmux.html b/docs/plugins/html/gst-plugins-base-plugins-oggmux.html
index 1fa2f58..528fa4b 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-oggmux.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-oggmux.html
@@ -76,7 +76,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp12796224"></a><h3>Element Information</h3>
+<a name="idp12700528"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -102,7 +102,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp12789856"></a><h3>Element Pads</h3>
+<a name="idp10662096"></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-playbin.html b/docs/plugins/html/gst-plugins-base-plugins-playbin.html
index a0aabb2..0bc9c3e 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-playbin.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-playbin.html
@@ -165,7 +165,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp12892944"></a><h3>Usage</h3>
+<a name="idp12898976"></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>
@@ -213,7 +213,7 @@
 </p>
 <hr>
 <div class="refsect2">
-<a name="idp12909056"></a><h3>Advanced Usage: specifying the audio and video sink</h3>
+<a name="idp12915088"></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
@@ -254,7 +254,7 @@
 </p>
 <hr>
 <div class="refsect2">
-<a name="idp12919616"></a><h3>Retrieving Tags and Other Meta Data</h3>
+<a name="idp12925648"></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).
@@ -269,7 +269,7 @@
 </p>
 <hr>
 <div class="refsect2">
-<a name="idp12921728"></a><h3>Buffering</h3>
+<a name="idp12927760"></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
@@ -314,7 +314,7 @@
 </p>
 <hr>
 <div class="refsect2">
-<a name="idp12924496"></a><h3>Embedding the video window in your application</h3>
+<a name="idp12930528"></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
@@ -324,7 +324,7 @@
 </p>
 <hr>
 <div class="refsect2">
-<a name="idp12926464"></a><h3>Specifying which CD/DVD device to use</h3>
+<a name="idp12932496"></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,
@@ -340,7 +340,7 @@
 </p>
 <hr>
 <div class="refsect2">
-<a name="idp12928032"></a><h3>Handling redirects</h3>
+<a name="idp12934064"></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
@@ -353,7 +353,7 @@
 </p>
 <hr>
 <div class="refsect2">
-<a name="idp12929712"></a><h3>Examples</h3>
+<a name="idp12935744"></a><h3>Examples</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -399,7 +399,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp12934320"></a><h3>Element Information</h3>
+<a name="idp12940352"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -425,7 +425,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp12941776"></a><h3>Element Pads</h3>
+<a name="idp12947808"></a><h3>Element Pads</h3>
 </div>
 </div>
 <p>
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 3d09367..f89e791 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-adder.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-adder.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp8720832"></a><h2>Plugin Information</h2>
+<a name="idp6299568"></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.1.2</td>
+<td>1.1.3</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="idp5373168"></a><h2>Elements</h2>
+<a name="idp2668720"></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-alsa.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-alsa.html
index 75b5964..3daedd4 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-alsa.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-alsa.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp6244832"></a><h2>Plugin Information</h2>
+<a name="idp5899232"></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.1.2</td>
+<td>1.1.3</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="idp2755344"></a><h2>Elements</h2>
+<a name="idp6593472"></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-app.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-app.html
index 0b24543..0a1e335 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-app.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-app.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp15667312"></a><h2>Plugin Information</h2>
+<a name="idp6354608"></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.1.2</td>
+<td>1.1.3</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="idp9674448"></a><h2>Elements</h2>
+<a name="idp9367904"></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-audioconvert.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-audioconvert.html
index bc0caf4..b880ec0 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-audioconvert.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-audioconvert.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp16056592"></a><h2>Plugin Information</h2>
+<a name="idp10732704"></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.1.2</td>
+<td>1.1.3</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="idp6374128"></a><h2>Elements</h2>
+<a name="idp8946560"></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-audiorate.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-audiorate.html
index 9edc6dc..2ef8e32 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-audiorate.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-audiorate.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp6293968"></a><h2>Plugin Information</h2>
+<a name="idp6928496"></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.1.2</td>
+<td>1.1.3</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="idp5993456"></a><h2>Elements</h2>
+<a name="idp9557136"></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-audioresample.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-audioresample.html
index aa7405e..99b0803 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-audioresample.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-audioresample.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp11823392"></a><h2>Plugin Information</h2>
+<a name="idp7724768"></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.1.2</td>
+<td>1.1.3</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="idp6778640"></a><h2>Elements</h2>
+<a name="idp6970560"></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-audiotestsrc.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-audiotestsrc.html
index 5ec5b5f..8e32b19 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-audiotestsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-audiotestsrc.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp7941008"></a><h2>Plugin Information</h2>
+<a name="idp2654560"></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.1.2</td>
+<td>1.1.3</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="idp8074992"></a><h2>Elements</h2>
+<a name="idp9174816"></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-cdparanoia.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-cdparanoia.html
index 842ea5b..9552d03 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-cdparanoia.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-cdparanoia.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp8158608"></a><h2>Plugin Information</h2>
+<a name="idp8976944"></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.1.2</td>
+<td>1.1.3</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="idp2795056"></a><h2>Elements</h2>
+<a name="idp10729216"></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-encoding.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-encoding.html
index ff853df..71b0785 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-encoding.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-encoding.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp8199424"></a><h2>Plugin Information</h2>
+<a name="idp9077984"></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.1.2</td>
+<td>1.1.3</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="idp8801744"></a><h2>Elements</h2>
+<a name="idp8483376"></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-gio.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-gio.html
index 4775fbf..b69b116 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-gio.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-gio.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp6160192"></a><h2>Plugin Information</h2>
+<a name="idp14983440"></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.1.2</td>
+<td>1.1.3</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="idp7831568"></a><h2>Elements</h2>
+<a name="idp5659008"></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-libvisual.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-libvisual.html
index 1619964..1346134 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-libvisual.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-libvisual.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp15795808"></a><h2>Plugin Information</h2>
+<a name="idp15731424"></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.1.2</td>
+<td>1.1.3</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="idp9131104"></a><h2>Elements</h2>
+<a name="idp9044640"></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-ogg.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-ogg.html
index ea549f5..d3dcb41 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-ogg.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-ogg.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp8672000"></a><h2>Plugin Information</h2>
+<a name="idp15901632"></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.1.2</td>
+<td>1.1.3</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="idp7804304"></a><h2>Elements</h2>
+<a name="idp6935712"></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-pango.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-pango.html
index e6d950d..aac4cb0 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-pango.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-pango.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp10586688"></a><h2>Plugin Information</h2>
+<a name="idp6662016"></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.1.2</td>
+<td>1.1.3</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="idp8157056"></a><h2>Elements</h2>
+<a name="idp9213360"></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-playback.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-playback.html
index c9f0b57..f3742fe 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-playback.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-playback.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp15856448"></a><h2>Plugin Information</h2>
+<a name="idp9129968"></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.1.2</td>
+<td>1.1.3</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="idp9054656"></a><h2>Elements</h2>
+<a name="idp14421392"></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-subparse.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-subparse.html
index 101a399..60393f6 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-subparse.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-subparse.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp9544000"></a><h2>Plugin Information</h2>
+<a name="idp6202896"></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.1.2</td>
+<td>1.1.3</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="idp10556752"></a><h2>Elements</h2>
+<a name="idp8803424"></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-tcp.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-tcp.html
index 3b2c4e9..5f664a0 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-tcp.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-tcp.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp16303584"></a><h2>Plugin Information</h2>
+<a name="idp16613680"></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.1.2</td>
+<td>1.1.3</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="idp6300048"></a><h2>Elements</h2>
+<a name="idp5475552"></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-theora.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-theora.html
index 45f956e..8ea46be 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-theora.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-theora.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp14948416"></a><h2>Plugin Information</h2>
+<a name="idp8217632"></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.1.2</td>
+<td>1.1.3</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="idp8232224"></a><h2>Elements</h2>
+<a name="idp7608176"></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-typefindfunctions.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-typefindfunctions.html
index ce01d75..8cfb46b 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-typefindfunctions.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-typefindfunctions.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp16293136"></a><h2>Plugin Information</h2>
+<a name="idp15849520"></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.1.2</td>
+<td>1.1.3</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="idp5727872"></a><h2>Elements</h2>
+<a name="idp5829760"></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-videoconvert.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-videoconvert.html
index c3885ae..6c6aa9c 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-videoconvert.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-videoconvert.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp8535088"></a><h2>Plugin Information</h2>
+<a name="idp9540608"></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.1.2</td>
+<td>1.1.3</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="idp2921584"></a><h2>Elements</h2>
+<a name="idp8848304"></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 44a777e..c230d6e 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-videorate.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-videorate.html
@@ -29,7 +29,7 @@
 <td valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp7082112"></a><h2>Plugin Information</h2>
+<a name="idp8619392"></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.1.2</td>
+<td>1.1.3</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="idp14100336"></a><h2>Elements</h2>
+<a name="idp7704144"></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 94b4180..41dfca6 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 valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp8996432"></a><h2>Plugin Information</h2>
+<a name="idp9656864"></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.1.2</td>
+<td>1.1.3</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="idp6917168"></a><h2>Elements</h2>
+<a name="idp7567952"></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 8c6f1ec..2c33534 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 valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp16624304"></a><h2>Plugin Information</h2>
+<a name="idp5424592"></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.1.2</td>
+<td>1.1.3</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="idp8941904"></a><h2>Elements</h2>
+<a name="idp9622480"></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 76b813d..2fbcca5 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 valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp5762832"></a><h2>Plugin Information</h2>
+<a name="idp7717408"></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.1.2</td>
+<td>1.1.3</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="idp8645024"></a><h2>Elements</h2>
+<a name="idp14096320"></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 98ab12a..96c1d0d 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 valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp5690880"></a><h2>Plugin Information</h2>
+<a name="idp16053648"></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.1.2</td>
+<td>1.1.3</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="idp5373424"></a><h2>Elements</h2>
+<a name="idp7704864"></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 dc830b2..a823271 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 valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp5874976"></a><h2>Plugin Information</h2>
+<a name="idp9283264"></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.1.2</td>
+<td>1.1.3</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="idp14036528"></a><h2>Elements</h2>
+<a name="idp6810704"></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 f1225e4..536d395 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 valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="idp9094736"></a><h2>Plugin Information</h2>
+<a name="idp9704560"></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.1.2</td>
+<td>1.1.3</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="idp9760208"></a><h2>Elements</h2>
+<a name="idp9207776"></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-subtitleoverlay.html b/docs/plugins/html/gst-plugins-base-plugins-subtitleoverlay.html
index 22a096f..277e661 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-subtitleoverlay.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-subtitleoverlay.html
@@ -84,7 +84,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp8654688"></a><h3>Examples</h3>
+<a name="idp6448960"></a><h3>Examples</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -102,7 +102,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9123136"></a><h3>Element Information</h3>
+<a name="idp7705712"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -128,7 +128,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp13509520"></a><h3>Element Pads</h3>
+<a name="idp12121328"></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 5f3febd..6288e41 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-tcpclientsink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-tcpclientsink.html
@@ -68,7 +68,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp11316288"></a><h3>Example launch line</h3>
+<a name="idp8698064"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -92,7 +92,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11318608"></a><h3>Element Information</h3>
+<a name="idp8700384"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -118,7 +118,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp11771680"></a><h3>Element Pads</h3>
+<a name="idp9118032"></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 a2ab00a..955af96 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-tcpclientsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-tcpclientsrc.html
@@ -69,7 +69,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp8489104"></a><h3>Example launch line</h3>
+<a name="idp11698720"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -93,7 +93,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11323856"></a><h3>Element Information</h3>
+<a name="idp11701040"></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="idp11331264"></a><h3>Element Pads</h3>
+<a name="idp10547200"></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 cf76134..9af6dd5 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-tcpserversink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-tcpserversink.html
@@ -70,7 +70,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp11055072"></a><h3>Example launch line</h3>
+<a name="idp5358864"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -94,7 +94,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11057552"></a><h3>Element Information</h3>
+<a name="idp5785120"></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="idp11064960"></a><h3>Element Pads</h3>
+<a name="idp12083008"></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 32d48ae..e470983 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-tcpserversrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-tcpserversrc.html
@@ -70,7 +70,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp5468256"></a><h3>Example launch line</h3>
+<a name="idp11680928"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -94,7 +94,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp5470736"></a><h3>Element Information</h3>
+<a name="idp11683408"></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="idp8248064"></a><h3>Element Pads</h3>
+<a name="idp11690816"></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 8fc70e7..f6dd9aa 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-textoverlay.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-textoverlay.html
@@ -85,7 +85,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp13899520"></a><h3>Element Information</h3>
+<a name="idp13911360"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -111,7 +111,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp13905904"></a><h3>Element Pads</h3>
+<a name="idp13918768"></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 4ebaf44..2d3e7c8 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-textrender.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-textrender.html
@@ -70,7 +70,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp8226320"></a><h3>Element Information</h3>
+<a name="idp6871344"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -96,7 +96,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp13148784"></a><h3>Element Pads</h3>
+<a name="idp9509376"></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 f4edc3c..7dae3f5 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-theoradec.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-theoradec.html
@@ -66,7 +66,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp8796848"></a><h3>Element Information</h3>
+<a name="idp8241024"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -92,7 +92,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp13084176"></a><h3>Element Pads</h3>
+<a name="idp11422576"></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 c1767b2..d5effcc 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-theoraenc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-theoraenc.html
@@ -94,7 +94,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp14229360"></a><h3>Element Information</h3>
+<a name="idp14189424"></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="idp14236816"></a><h3>Element Pads</h3>
+<a name="idp14196880"></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-theoraparse.html b/docs/plugins/html/gst-plugins-base-plugins-theoraparse.html
index 340bd79..bf7723b 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-theoraparse.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-theoraparse.html
@@ -65,7 +65,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp6488032"></a><h3>Element Information</h3>
+<a name="idp7946368"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -91,7 +91,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp9325808"></a><h3>Element Pads</h3>
+<a name="idp8528064"></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 623693a..5c0d73a 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-timeoverlay.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-timeoverlay.html
@@ -58,7 +58,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp7579232"></a><h3>Element Information</h3>
+<a name="idp10202128"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -84,7 +84,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp11762016"></a><h3>Element Pads</h3>
+<a name="idp9530960"></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-uridecodebin.html b/docs/plugins/html/gst-plugins-base-plugins-uridecodebin.html
index 30fc8ea..64b18a8 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-uridecodebin.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-uridecodebin.html
@@ -104,7 +104,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp14598736"></a><h3>Element Information</h3>
+<a name="idp14461360"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -130,7 +130,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp14606192"></a><h3>Element Pads</h3>
+<a name="idp14468816"></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-videoconvert.html b/docs/plugins/html/gst-plugins-base-plugins-videoconvert.html
index edb86ba..7b9e880 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-videoconvert.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-videoconvert.html
@@ -70,7 +70,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp7520288"></a><h3>Example launch line</h3>
+<a name="idp9316272"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -88,7 +88,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp7807632"></a><h3>Element Information</h3>
+<a name="idp8048448"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -114,7 +114,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp5980992"></a><h3>Element Pads</h3>
+<a name="idp7288800"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -135,11 +135,11 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 </tbody>
 </table></div>
@@ -163,11 +163,11 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-videorate.html b/docs/plugins/html/gst-plugins-base-plugins-videorate.html
index 4113e05..008a571 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-videorate.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-videorate.html
@@ -115,7 +115,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp14907152"></a><h3>Example pipelines</h3>
+<a name="idp14810464"></a><h3>Example pipelines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -149,7 +149,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp14911280"></a><h3>Element Information</h3>
+<a name="idp14814592"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -175,7 +175,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp14918736"></a><h3>Element Pads</h3>
+<a name="idp14822048"></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-videoscale.html b/docs/plugins/html/gst-plugins-base-plugins-videoscale.html
index af697eb..e08dbf5 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-videoscale.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-videoscale.html
@@ -84,7 +84,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp8570032"></a><h3>Example pipelines</h3>
+<a name="idp7628944"></a><h3>Example pipelines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -120,7 +120,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp11738816"></a><h3>Element Information</h3>
+<a name="idp13289024"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -146,7 +146,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp13368784"></a><h3>Element Pads</h3>
+<a name="idp13841488"></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-videotestsrc.html b/docs/plugins/html/gst-plugins-base-plugins-videotestsrc.html
index 3f4a8e8..d4bf667 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-videotestsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-videotestsrc.html
@@ -92,7 +92,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp14075232"></a><h3>Example launch line</h3>
+<a name="idp15269344"></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="idp14077600"></a><h3>Element Information</h3>
+<a name="idp15271712"></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="idp14085056"></a><h3>Element Pads</h3>
+<a name="idp15279168"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -157,7 +157,7 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-volume.html b/docs/plugins/html/gst-plugins-base-plugins-volume.html
index c754277..35487cd 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-volume.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-volume.html
@@ -79,7 +79,7 @@
 <p>
 </p>
 <div class="refsect2">
-<a name="idp5191648"></a><h3>Example launch line</h3>
+<a name="idp8404672"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -99,7 +99,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9559168"></a><h3>Element Information</h3>
+<a name="idp8625584"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -125,7 +125,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp14852496"></a><h3>Element Pads</h3>
+<a name="idp14952560"></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 6f2eeef..65515cc 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-vorbisdec.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-vorbisdec.html
@@ -58,7 +58,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp8788672"></a><h3>Element Information</h3>
+<a name="idp6944896"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -84,7 +84,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp9337440"></a><h3>Element Pads</h3>
+<a name="idp6208672"></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 7e24afa..93eba36 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-vorbisenc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-vorbisenc.html
@@ -79,7 +79,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp9304416"></a><h3>Element Information</h3>
+<a name="idp8220832"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -105,7 +105,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp8059360"></a><h3>Element Pads</h3>
+<a name="idp7862832"></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-vorbisparse.html b/docs/plugins/html/gst-plugins-base-plugins-vorbisparse.html
index 39480e5..85e38a9 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-vorbisparse.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-vorbisparse.html
@@ -58,7 +58,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp5478112"></a><h3>Element Information</h3>
+<a name="idp7534128"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -84,7 +84,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp9630064"></a><h3>Element Pads</h3>
+<a name="idp6248608"></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 31ea540..798d721 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-vorbistag.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-vorbistag.html
@@ -66,7 +66,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp10106256"></a><h3>Element Information</h3>
+<a name="idp9546640"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -92,7 +92,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp6567808"></a><h3>Element Pads</h3>
+<a name="idp6871008"></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 2df0d1a..3454cac 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-ximagesink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-ximagesink.html
@@ -82,7 +82,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp14432368"></a><h3>Element Information</h3>
+<a name="idp14974368"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -108,7 +108,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp15979600"></a><h3>Element Pads</h3>
+<a name="idp15213840"></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 575aeb5..17777c2 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-xvimagesink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-xvimagesink.html
@@ -92,7 +92,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="idp16153248"></a><h3>Element Information</h3>
+<a name="idp15923760"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -118,7 +118,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="idp16160704"></a><h3>Element Pads</h3>
+<a name="idp16119888"></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 201f014..9e96466 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.1.2)
+      for GStreamer Base Plugins 1.0 (1.1.3)
       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>
diff --git a/docs/plugins/html/index.sgml b/docs/plugins/html/index.sgml
index 8dca2dd..7bd632a 100644
--- a/docs/plugins/html/index.sgml
+++ b/docs/plugins/html/index.sgml
@@ -32,6 +32,7 @@
 <ANCHOR id="GstAppSrc--stream-type" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsrc.html#GstAppSrc--stream-type">
 <ANCHOR id="GstAppSrc--emit-signals" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsrc.html#GstAppSrc--emit-signals">
 <ANCHOR id="GstAppSrc--min-percent" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsrc.html#GstAppSrc--min-percent">
+<ANCHOR id="GstAppSrc--current-level-bytes" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsrc.html#GstAppSrc--current-level-bytes">
 <ANCHOR id="gst-plugins-base-plugins-appsrc.signal-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsrc.html#gst-plugins-base-plugins-appsrc.signal-details">
 <ANCHOR id="GstAppSrc-end-of-stream" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsrc.html#GstAppSrc-end-of-stream">
 <ANCHOR id="GstAppSrc-enough-data" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-appsrc.html#GstAppSrc-enough-data">
diff --git a/docs/plugins/inspect/plugin-adder.xml b/docs/plugins/inspect/plugin-adder.xml
index 7321505..f1f62f4 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.1.2</version>
+  <version>1.1.3</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 09f42d4..3aeca1b 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.1.2</version>
+  <version>1.1.3</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 6017808..b7b89cd 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.1.2</version>
+  <version>1.1.3</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 bbf9386..1bbbc58 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.1.2</version>
+  <version>1.1.3</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 e451eab..3a0837c 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.1.2</version>
+  <version>1.1.3</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 93ce3c7..1477327 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.1.2</version>
+  <version>1.1.3</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 5d3f298..5ad35a6 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.1.2</version>
+  <version>1.1.3</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 afd15ee..8155336 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.1.2</version>
+  <version>1.1.3</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 b74a473..84eea28 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.1.2</version>
+  <version>1.1.3</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 4cbf869..604e9f0 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.1.2</version>
+  <version>1.1.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-ivorbisdec.xml b/docs/plugins/inspect/plugin-ivorbisdec.xml
index f269a9f..2196b4d 100644
--- a/docs/plugins/inspect/plugin-ivorbisdec.xml
+++ b/docs/plugins/inspect/plugin-ivorbisdec.xml
@@ -3,7 +3,7 @@
   <description>Vorbis Tremor decoder</description>
   <filename>../../ext/vorbis/.libs/libgstivorbisdec.so</filename>
   <basename>libgstivorbisdec.so</basename>
-  <version>1.1.2</version>
+  <version>1.1.3</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 7225445..1289fcf 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.1.2</version>
+  <version>1.1.3</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 6afe43e..34b437e 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.1.2</version>
+  <version>1.1.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-pango.xml b/docs/plugins/inspect/plugin-pango.xml
index 8b03666..a7e4179 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.1.2</version>
+  <version>1.1.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-playback.xml b/docs/plugins/inspect/plugin-playback.xml
index 2243a91..e9b5b9e 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.1.2</version>
+  <version>1.1.3</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 389fbab..d252eb0 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.1.2</version>
+  <version>1.1.3</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>application/x-subtitle; application/x-subtitle-dks; application/x-subtitle-tmplayer; application/x-subtitle-mpl2; application/x-subtitle-qttext</details>
+          <details>application/x-subtitle; application/x-subtitle-sami; application/x-subtitle-tmplayer; application/x-subtitle-mpl2; application/x-subtitle-dks; application/x-subtitle-qttext</details>
         </caps>
         <caps>
           <name>src</name>
diff --git a/docs/plugins/inspect/plugin-tcp.xml b/docs/plugins/inspect/plugin-tcp.xml
index 15c1e2c..1e52a74 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.1.2</version>
+  <version>1.1.3</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 232bf82..c5e3127 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.1.2</version>
+  <version>1.1.3</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 3a11972..3fa61f7 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.1.2</version>
+  <version>1.1.3</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 e8888b8..3c0060b 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.1.2</version>
+  <version>1.1.3</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, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-videorate.xml b/docs/plugins/inspect/plugin-videorate.xml
index 3e42e22..7b50883 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.1.2</version>
+  <version>1.1.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videoscale.xml b/docs/plugins/inspect/plugin-videoscale.xml
index 2234dbb..f6148a7 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.1.2</version>
+  <version>1.1.3</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 065379f..765cf1e 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.1.2</version>
+  <version>1.1.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
@@ -20,7 +20,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-bayer, format=(string){ bggr, rggb, grbg, gbrg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-bayer, format=(string){ bggr, rggb, grbg, gbrg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-volume.xml b/docs/plugins/inspect/plugin-volume.xml
index 6a2c6a0..0e8e077 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.1.2</version>
+  <version>1.1.3</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 77acba8..7e55657 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.1.2</version>
+  <version>1.1.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-ximagesink.xml b/docs/plugins/inspect/plugin-ximagesink.xml
index 7582ae5..3cdb971 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.1.2</version>
+  <version>1.1.3</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 5f46f92..5232e41 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.1.2</version>
+  <version>1.1.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/ext/libvisual/gstaudiovisualizer.c b/ext/libvisual/gstaudiovisualizer.c
index 65f0502..b34a5d6 100644
--- a/ext/libvisual/gstaudiovisualizer.c
+++ b/ext/libvisual/gstaudiovisualizer.c
@@ -81,8 +81,6 @@
 
 static gboolean gst_audio_visualizer_src_query (GstPad * pad,
     GstObject * parent, GstQuery * query);
-static gboolean gst_audio_visualizer_sink_query (GstPad * pad,
-    GstObject * parent, GstQuery * query);
 
 static GstStateChangeReturn gst_audio_visualizer_change_state (GstElement *
     element, GstStateChange transition);
@@ -584,8 +582,6 @@
       GST_DEBUG_FUNCPTR (gst_audio_visualizer_chain));
   gst_pad_set_event_function (scope->sinkpad,
       GST_DEBUG_FUNCPTR (gst_audio_visualizer_sink_event));
-  gst_pad_set_query_function (scope->sinkpad,
-      GST_DEBUG_FUNCPTR (gst_audio_visualizer_sink_query));
   gst_element_add_pad (GST_ELEMENT (scope), scope->sinkpad);
 
   pad_template =
@@ -1241,7 +1237,7 @@
       res = TRUE;
       break;
     default:
-      res = gst_pad_push_event (scope->sinkpad, event);
+      res = gst_pad_event_default (pad, parent, event);
       break;
   }
 
@@ -1266,9 +1262,6 @@
       res = gst_audio_visualizer_sink_setcaps (scope, caps);
       break;
     }
-    case GST_EVENT_FLUSH_START:
-      res = gst_pad_push_event (scope->srcpad, event);
-      break;
     case GST_EVENT_FLUSH_STOP:
       gst_audio_visualizer_reset (scope);
       res = gst_pad_push_event (scope->srcpad, event);
@@ -1284,7 +1277,7 @@
       break;
     }
     default:
-      res = gst_pad_push_event (scope->srcpad, event);
+      res = gst_pad_event_default (pad, parent, event);
       break;
   }
 
@@ -1350,20 +1343,6 @@
   return res;
 }
 
-static gboolean
-gst_audio_visualizer_sink_query (GstPad * pad, GstObject * parent,
-    GstQuery * query)
-{
-  gboolean res = FALSE;
-
-  switch (GST_QUERY_TYPE (query)) {
-    default:
-      res = gst_pad_query_default (pad, parent, query);
-      break;
-  }
-  return res;
-}
-
 static GstStateChangeReturn
 gst_audio_visualizer_change_state (GstElement * element,
     GstStateChange transition)
diff --git a/ext/ogg/gstoggdemux.c b/ext/ogg/gstoggdemux.c
index e86809c..4fbb697 100644
--- a/ext/ogg/gstoggdemux.c
+++ b/ext/ogg/gstoggdemux.c
@@ -354,7 +354,24 @@
       }
       break;
     }
+    case GST_QUERY_SEGMENT:{
+      GstFormat format;
+      gint64 start, stop;
 
+      format = ogg->segment.format;
+
+      start =
+          gst_segment_to_stream_time (&ogg->segment, format,
+          ogg->segment.start);
+      if ((stop = ogg->segment.stop) == -1)
+        stop = ogg->segment.duration;
+      else
+        stop = gst_segment_to_stream_time (&ogg->segment, format, stop);
+
+      gst_query_set_segment (query, ogg->segment.rate, format, start, stop);
+      res = TRUE;
+      break;
+    }
     default:
       res = gst_pad_query_default (pad, parent, query);
       break;
@@ -2596,6 +2613,7 @@
   /* first add the pads */
   for (i = 0; i < chain->streams->len; i++) {
     GstOggPad *pad;
+    GstEvent *ss_event;
     gchar *stream_id;
 
     pad = g_array_index (chain->streams, GstOggPad *, i);
@@ -2621,7 +2639,23 @@
     stream_id =
         gst_pad_create_stream_id_printf (GST_PAD (pad), GST_ELEMENT_CAST (ogg),
         "%08x", pad->map.serialno);
-    gst_pad_push_event (GST_PAD (pad), gst_event_new_stream_start (stream_id));
+    ss_event =
+        gst_pad_get_sticky_event (ogg->sinkpad, GST_EVENT_STREAM_START, 0);
+    if (ss_event) {
+      if (gst_event_parse_group_id (ss_event, &ogg->group_id))
+        ogg->have_group_id = TRUE;
+      else
+        ogg->have_group_id = FALSE;
+      gst_event_unref (ss_event);
+    } else if (!ogg->have_group_id) {
+      ogg->have_group_id = TRUE;
+      ogg->group_id = gst_util_group_id_next ();
+    }
+    ss_event = gst_event_new_stream_start (stream_id);
+    if (ogg->have_group_id)
+      gst_event_set_group_id (ss_event, ogg->group_id);
+
+    gst_pad_push_event (GST_PAD (pad), ss_event);
     g_free (stream_id);
 
     /* Set headers on caps */
@@ -2695,7 +2729,7 @@
 static gboolean
 do_binary_search (GstOggDemux * ogg, GstOggChain * chain, gint64 begin,
     gint64 end, gint64 begintime, gint64 endtime, gint64 target,
-    gint64 * offset)
+    gint64 * offset, gboolean only_serial_no, gint serialno)
 {
   gint64 best;
   GstFlowReturn ret;
@@ -2769,6 +2803,11 @@
           continue;
         }
 
+        /* Avoid seeking to an incorrect granuletime by only considering 
+           the stream for which we found the earliest time */
+        if (only_serial_no && ogg_page_serialno (&og) != serialno)
+          continue;
+
         /* get the stream */
         pad = gst_ogg_chain_get_stream (chain, ogg_page_serialno (&og));
         if (pad == NULL || pad->map.is_skeleton)
@@ -2886,8 +2925,8 @@
   gint64 total;
   gint64 result = 0;
   GstFlowReturn ret;
-  gint i, pending, len;
-  gboolean first_parsed_page = TRUE;
+  gint i, pending;
+  gint serialno = 0;
 
   position = segment->position;
 
@@ -2911,14 +2950,14 @@
   target = position - total + begintime;
 
   if (!do_binary_search (ogg, chain, begin, end, begintime, endtime, target,
-          &best))
+          &best, FALSE, 0))
     goto seek_error;
 
   /* second step: find pages for all streams, we use the keyframe_granule to keep
    * track of which ones we saw. If we have seen a page for each stream we can
    * calculate the positions of each keyframe. */
   GST_DEBUG_OBJECT (ogg, "find keyframes");
-  len = pending = chain->streams->len;
+  pending = chain->streams->len;
 
   /* figure out where the keyframes are */
   keytarget = target;
@@ -2952,32 +2991,6 @@
       continue;
     }
 
-    /* we only do this the first time we pass here */
-    if (first_parsed_page) {
-      /* Now that we have a time reference from the page, we can check
-       * whether all streams still have pages from here on.
-       *
-       * This would be more elegant before the loop, but getting the page from
-       * there without breaking anything would be more costly */
-      granule_time = gst_ogg_stream_get_end_time_for_granulepos (&pad->map,
-          granulepos);
-      for (i = 0; i < len; i++) {
-        GstOggPad *stream = g_array_index (chain->streams, GstOggPad *, i);
-
-        if (stream == pad)
-          /* we already know we have at least one page (the current one)
-           * for this stream */
-          continue;
-
-        if (granule_time > stream->map.total_time)
-          /* we won't encounter any more pages of this stream, so we don't
-           * try finding a key frame for it */
-          pending--;
-      }
-      first_parsed_page = FALSE;
-    }
-
-
     /* in reverse we want to go past the page with the lower timestamp */
     if (segment->rate < 0.0) {
       /* get time for this pad */
@@ -3012,8 +3025,10 @@
     /* collect smallest value */
     if (keyframe_time != -1) {
       keyframe_time += begintime;
-      if (keyframe_time < keytarget)
+      if (keyframe_time < keytarget) {
+        serialno = pad->map.serialno;
         keytarget = keyframe_time;
+      }
     }
 
   next:
@@ -3032,7 +3047,7 @@
 
     /* last step, seek to the location of the keyframe */
     if (!do_binary_search (ogg, chain, begin, end, begintime, endtime,
-            keytarget, &best))
+            keytarget, &best, TRUE, serialno))
       goto seek_error;
   } else {
     /* seek back to previous position */
@@ -4654,6 +4669,8 @@
       ogg->push_time_length = GST_CLOCK_TIME_NONE;
       ogg->push_time_offset = GST_CLOCK_TIME_NONE;
       ogg->push_state = PUSH_PLAYING;
+      ogg->have_group_id = FALSE;
+      ogg->group_id = G_MAXUINT;
 
       ogg->push_disable_seeking = FALSE;
       if (!ogg->pullmode) {
diff --git a/ext/ogg/gstoggdemux.h b/ext/ogg/gstoggdemux.h
index 307128f..1d6f8bf 100644
--- a/ext/ogg/gstoggdemux.h
+++ b/ext/ogg/gstoggdemux.h
@@ -134,6 +134,9 @@
   gboolean pullmode;
   gboolean running;
 
+  gboolean have_group_id;
+  guint group_id;
+
   gboolean need_chains;
   gboolean resync;
 
diff --git a/ext/ogg/gstoggmux.c b/ext/ogg/gstoggmux.c
index f1952e9..53da5a0 100644
--- a/ext/ogg/gstoggmux.c
+++ b/ext/ogg/gstoggmux.c
@@ -1942,7 +1942,8 @@
 {
   gchar s_id[32];
 
-  /* stream-start (FIXME: create id based on input ids) */
+  /* stream-start (FIXME: create id based on input ids) and
+   * also do something with the group id */
   g_snprintf (s_id, sizeof (s_id), "oggmux-%08x", g_random_int ());
   gst_pad_push_event (ogg_mux->srcpad, gst_event_new_stream_start (s_id));
 
diff --git a/ext/pango/gstbasetextoverlay.c b/ext/pango/gstbasetextoverlay.c
index ad6a05b..9dfbbc1 100644
--- a/ext/pango/gstbasetextoverlay.c
+++ b/ext/pango/gstbasetextoverlay.c
@@ -988,7 +988,7 @@
       break;
     }
     default:
-      ret = gst_pad_peer_query (overlay->video_sinkpad, query);
+      ret = gst_pad_query_default (pad, parent, query);
       break;
   }
 
diff --git a/ext/theora/gsttheoradec.c b/ext/theora/gsttheoradec.c
index 30f1db4..a68bef7 100644
--- a/ext/theora/gsttheoradec.c
+++ b/ext/theora/gsttheoradec.c
@@ -99,7 +99,6 @@
     const GValue * value, GParamSpec * pspec);
 
 static gboolean theora_dec_start (GstVideoDecoder * decoder);
-static gboolean theora_dec_stop (GstVideoDecoder * decoder);
 static gboolean theora_dec_set_format (GstVideoDecoder * decoder,
     GstVideoCodecState * state);
 static gboolean theora_dec_reset (GstVideoDecoder * decoder, gboolean hard);
@@ -184,7 +183,6 @@
       "Benjamin Otte <otte@gnome.org>, Wim Taymans <wim@fluendo.com>");
 
   video_decoder_class->start = GST_DEBUG_FUNCPTR (theora_dec_start);
-  video_decoder_class->stop = GST_DEBUG_FUNCPTR (theora_dec_stop);
   video_decoder_class->reset = GST_DEBUG_FUNCPTR (theora_dec_reset);
   video_decoder_class->set_format = GST_DEBUG_FUNCPTR (theora_dec_set_format);
   video_decoder_class->parse = GST_DEBUG_FUNCPTR (theora_dec_parse);
@@ -209,61 +207,51 @@
   gst_video_decoder_set_packetized (GST_VIDEO_DECODER (dec), FALSE);
 }
 
-static void
-gst_theora_dec_reset (GstTheoraDec * dec)
-{
-  dec->need_keyframe = TRUE;
-  dec->can_crop = FALSE;
-}
-
 static gboolean
 theora_dec_start (GstVideoDecoder * decoder)
 {
   GstTheoraDec *dec = GST_THEORA_DEC (decoder);
 
   GST_DEBUG_OBJECT (dec, "start");
-  th_info_clear (&dec->info);
-  th_comment_clear (&dec->comment);
   GST_DEBUG_OBJECT (dec, "Setting have_header to FALSE");
   dec->have_header = FALSE;
-  gst_theora_dec_reset (dec);
 
   return TRUE;
 }
 
 static gboolean
-theora_dec_stop (GstVideoDecoder * decoder)
+theora_dec_reset (GstVideoDecoder * decoder, gboolean hard)
 {
   GstTheoraDec *dec = GST_THEORA_DEC (decoder);
 
-  GST_DEBUG_OBJECT (dec, "stop");
-  th_info_clear (&dec->info);
-  th_comment_clear (&dec->comment);
-  th_setup_free (dec->setup);
-  dec->setup = NULL;
-  th_decode_free (dec->decoder);
-  dec->decoder = NULL;
-  gst_theora_dec_reset (dec);
-  if (dec->input_state) {
-    gst_video_codec_state_unref (dec->input_state);
-    dec->input_state = NULL;
-  }
-  if (dec->output_state) {
-    gst_video_codec_state_unref (dec->output_state);
-    dec->output_state = NULL;
+  dec->need_keyframe = TRUE;
+
+  if (hard) {
+    th_info_clear (&dec->info);
+    th_comment_clear (&dec->comment);
+    if (dec->setup) {
+      th_setup_free (dec->setup);
+      dec->setup = NULL;
+    }
+    if (dec->decoder) {
+      th_decode_free (dec->decoder);
+      dec->decoder = NULL;
+    }
+
+    if (dec->input_state) {
+      gst_video_codec_state_unref (dec->input_state);
+      dec->input_state = NULL;
+    }
+    if (dec->output_state) {
+      gst_video_codec_state_unref (dec->output_state);
+      dec->output_state = NULL;
+    }
+    dec->can_crop = FALSE;
   }
 
   return TRUE;
 }
 
-/* FIXME : Do we want to handle hard resets differently ? */
-static gboolean
-theora_dec_reset (GstVideoDecoder * bdec, gboolean hard)
-{
-  gst_theora_dec_reset (GST_THEORA_DEC (bdec));
-  return TRUE;
-}
-
 static GstFlowReturn
 theora_dec_parse (GstVideoDecoder * decoder,
     GstVideoCodecFrame * frame, GstAdapter * adapter, gboolean at_eos)
diff --git a/ext/theora/gsttheoraenc.c b/ext/theora/gsttheoraenc.c
index 37ca24b..061453f 100644
--- a/ext/theora/gsttheoraenc.c
+++ b/ext/theora/gsttheoraenc.c
@@ -177,6 +177,7 @@
 
 static gboolean theora_enc_start (GstVideoEncoder * enc);
 static gboolean theora_enc_stop (GstVideoEncoder * enc);
+static gboolean theora_enc_reset (GstVideoEncoder * enc, gboolean hard);
 static gboolean theora_enc_set_format (GstVideoEncoder * enc,
     GstVideoCodecState * state);
 static GstFlowReturn theora_enc_handle_frame (GstVideoEncoder * enc,
@@ -221,6 +222,7 @@
 
   gstvideo_encoder_class->start = GST_DEBUG_FUNCPTR (theora_enc_start);
   gstvideo_encoder_class->stop = GST_DEBUG_FUNCPTR (theora_enc_stop);
+  gstvideo_encoder_class->reset = GST_DEBUG_FUNCPTR (theora_enc_reset);
   gstvideo_encoder_class->set_format =
       GST_DEBUG_FUNCPTR (theora_enc_set_format);
   gstvideo_encoder_class->handle_frame =
@@ -355,9 +357,10 @@
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
-static void
-theora_enc_reset (GstTheoraEnc * enc)
+static gboolean
+theora_enc_reset (GstVideoEncoder * encoder, gboolean hard)
 {
+  GstTheoraEnc *enc = GST_THEORA_ENC (encoder);
   ogg_uint32_t keyframe_force;
   int rate_flags;
 
@@ -370,40 +373,56 @@
 
   if (enc->encoder)
     th_encode_free (enc->encoder);
-  enc->encoder = th_encode_alloc (&enc->info);
-  /* We ensure this function cannot fail. */
-  g_assert (enc->encoder != NULL);
-  th_encode_ctl (enc->encoder, TH_ENCCTL_SET_SPLEVEL, &enc->speed_level,
-      sizeof (enc->speed_level));
-  th_encode_ctl (enc->encoder, TH_ENCCTL_SET_VP3_COMPATIBLE,
-      &enc->vp3_compatible, sizeof (enc->vp3_compatible));
 
-  rate_flags = 0;
-  if (enc->drop_frames)
-    rate_flags |= TH_RATECTL_DROP_FRAMES;
-  if (enc->drop_frames)
-    rate_flags |= TH_RATECTL_CAP_OVERFLOW;
-  if (enc->drop_frames)
-    rate_flags |= TH_RATECTL_CAP_UNDERFLOW;
-  th_encode_ctl (enc->encoder, TH_ENCCTL_SET_RATE_FLAGS,
-      &rate_flags, sizeof (rate_flags));
+  if (!hard) {
+    enc->encoder = th_encode_alloc (&enc->info);
+    /* We ensure this function cannot fail. */
+    g_assert (enc->encoder != NULL);
+    th_encode_ctl (enc->encoder, TH_ENCCTL_SET_SPLEVEL, &enc->speed_level,
+        sizeof (enc->speed_level));
+    th_encode_ctl (enc->encoder, TH_ENCCTL_SET_VP3_COMPATIBLE,
+        &enc->vp3_compatible, sizeof (enc->vp3_compatible));
 
-  if (enc->rate_buffer) {
-    th_encode_ctl (enc->encoder, TH_ENCCTL_SET_RATE_BUFFER,
-        &enc->rate_buffer, sizeof (enc->rate_buffer));
+    rate_flags = 0;
+    if (enc->drop_frames)
+      rate_flags |= TH_RATECTL_DROP_FRAMES;
+    if (enc->drop_frames)
+      rate_flags |= TH_RATECTL_CAP_OVERFLOW;
+    if (enc->drop_frames)
+      rate_flags |= TH_RATECTL_CAP_UNDERFLOW;
+    th_encode_ctl (enc->encoder, TH_ENCCTL_SET_RATE_FLAGS,
+        &rate_flags, sizeof (rate_flags));
+
+    if (enc->rate_buffer) {
+      th_encode_ctl (enc->encoder, TH_ENCCTL_SET_RATE_BUFFER,
+          &enc->rate_buffer, sizeof (enc->rate_buffer));
+    } else {
+      /* FIXME */
+    }
+
+    keyframe_force = enc->keyframe_auto ?
+        enc->keyframe_force : enc->keyframe_freq;
+    th_encode_ctl (enc->encoder, TH_ENCCTL_SET_KEYFRAME_FREQUENCY_FORCE,
+        &keyframe_force, sizeof (keyframe_force));
+
+    /* Get placeholder data */
+    if (enc->multipass_cache_fd
+        && enc->multipass_mode == MULTIPASS_MODE_FIRST_PASS)
+      theora_enc_write_multipass_cache (enc, TRUE, FALSE);
   } else {
-    /* FIXME */
+    enc->encoder = NULL;
+    th_comment_clear (&enc->comment);
+    th_info_clear (&enc->info);
+
+    if (enc->input_state)
+      gst_video_codec_state_unref (enc->input_state);
+    enc->input_state = NULL;
+
+    enc->packetno = 0;
+    enc->initialised = FALSE;
   }
 
-  keyframe_force = enc->keyframe_auto ?
-      enc->keyframe_force : enc->keyframe_freq;
-  th_encode_ctl (enc->encoder, TH_ENCCTL_SET_KEYFRAME_FREQUENCY_FORCE,
-      &keyframe_force, sizeof (keyframe_force));
-
-  /* Get placeholder data */
-  if (enc->multipass_cache_fd
-      && enc->multipass_mode == MULTIPASS_MODE_FIRST_PASS)
-    theora_enc_write_multipass_cache (enc, TRUE, FALSE);
+  return TRUE;
 }
 
 static gboolean
@@ -414,10 +433,6 @@
   GST_DEBUG_OBJECT (benc, "start: init theora");
   enc = GST_THEORA_ENC (benc);
 
-  th_info_init (&enc->info);
-  th_comment_init (&enc->comment);
-  enc->packetno = 0;
-
   if (enc->multipass_mode >= MULTIPASS_MODE_FIRST_PASS) {
     GError *err = NULL;
 
@@ -453,14 +468,8 @@
   GST_DEBUG_OBJECT (benc, "stop: clearing theora state");
   enc = GST_THEORA_ENC (benc);
 
-  if (enc->encoder) {
-    th_encode_free (enc->encoder);
-    enc->encoder = NULL;
-  }
-  th_comment_clear (&enc->comment);
-  th_info_clear (&enc->info);
-
-  enc->initialised = FALSE;
+  /* Everything else is handled in reset() */
+  theora_enc_clear_multipass_cache (enc);
 
   return TRUE;
 }
@@ -587,7 +596,7 @@
       "keyframe_frequency_force is %d, granule shift is %d",
       enc->keyframe_force, enc->info.keyframe_granule_shift);
 
-  theora_enc_reset (enc);
+  theora_enc_reset (benc, FALSE);
   enc->initialised = TRUE;
 
   return TRUE;
diff --git a/gst-libs/gst/allocators/gstdmabuf.c b/gst-libs/gst/allocators/gstdmabuf.c
index 4a95f47..1c8abc4 100644
--- a/gst-libs/gst/allocators/gstdmabuf.c
+++ b/gst-libs/gst/allocators/gstdmabuf.c
@@ -56,8 +56,6 @@
   GMutex lock;
 } GstDmaBufMemory;
 
-#define ALLOCATOR_NAME "dmabuf"
-
 GST_DEBUG_CATEGORY_STATIC (dmabuf_debug);
 #define GST_CAT_DEFAULT dmabuf_debug
 
@@ -199,7 +197,7 @@
 {
   GstAllocator *alloc = GST_ALLOCATOR_CAST (allocator);
 
-  alloc->mem_type = ALLOCATOR_NAME;
+  alloc->mem_type = GST_ALLOCATOR_DMABUF;
   alloc->mem_map = gst_dmabuf_mem_map;
   alloc->mem_unmap = gst_dmabuf_mem_unmap;
   alloc->mem_share = gst_dmabuf_mem_share;
@@ -213,7 +211,7 @@
 {
   GstAllocator *allocator =
       g_object_new (dmabuf_mem_allocator_get_type (), NULL);
-  gst_allocator_register (ALLOCATOR_NAME, allocator);
+  gst_allocator_register (GST_ALLOCATOR_DMABUF, allocator);
 
   GST_DEBUG_CATEGORY_INIT (dmabuf_debug, "dmabuf", 0, "dmabuf memory");
 }
@@ -237,9 +235,9 @@
 
   g_once (&dmabuf_allocator_once, (GThreadFunc) gst_dmabuf_mem_init, NULL);
 
-  allocator = gst_allocator_find (ALLOCATOR_NAME);
+  allocator = gst_allocator_find (GST_ALLOCATOR_DMABUF);
   if (!allocator)
-    GST_WARNING ("No allocator named %s found", ALLOCATOR_NAME);
+    GST_WARNING ("No allocator named %s found", GST_ALLOCATOR_DMABUF);
   return allocator;
 }
 
@@ -319,9 +317,7 @@
 gboolean
 gst_is_dmabuf_memory (GstMemory * mem)
 {
-  g_return_val_if_fail (mem != NULL, FALSE);
-
-  return g_strcmp0 (mem->allocator->mem_type, ALLOCATOR_NAME) == 0;
+  return gst_memory_is_type (mem, GST_ALLOCATOR_DMABUF);
 }
 
 #else /* !HAVE_MMAP */
diff --git a/gst-libs/gst/allocators/gstdmabuf.h b/gst-libs/gst/allocators/gstdmabuf.h
index 1db233c..a4eca2a 100644
--- a/gst-libs/gst/allocators/gstdmabuf.h
+++ b/gst-libs/gst/allocators/gstdmabuf.h
@@ -23,6 +23,10 @@
 
 #include <gst/gst.h>
 
+G_BEGIN_DECLS
+
+#define GST_ALLOCATOR_DMABUF "dmabuf"
+
 GstAllocator * gst_dmabuf_allocator_obtain (void);
 
 GstMemory    * gst_dmabuf_allocator_alloc (GstAllocator * allocator, gint fd, gsize size);
@@ -31,4 +35,5 @@
 
 gboolean       gst_is_dmabuf_memory (GstMemory * mem);
 
+G_END_DECLS
 #endif /* __GST_DMABUF_H__ */
diff --git a/gst-libs/gst/app/gstappsrc.c b/gst-libs/gst/app/gstappsrc.c
index e8aa4f0..df17948 100644
--- a/gst-libs/gst/app/gstappsrc.c
+++ b/gst-libs/gst/app/gstappsrc.c
@@ -159,6 +159,7 @@
 #define DEFAULT_PROP_MAX_LATENCY   -1
 #define DEFAULT_PROP_EMIT_SIGNALS  TRUE
 #define DEFAULT_PROP_MIN_PERCENT   0
+#define DEFAULT_PROP_CURRENT_LEVEL_BYTES   0
 
 enum
 {
@@ -174,6 +175,7 @@
   PROP_MAX_LATENCY,
   PROP_EMIT_SIGNALS,
   PROP_MIN_PERCENT,
+  PROP_CURRENT_LEVEL_BYTES,
   PROP_LAST
 };
 
@@ -380,6 +382,20 @@
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   /**
+   * GstAppSrc::current-level-bytes:
+   *
+   * The number of currently queued bytes inside appsrc.
+   *
+   * Since: 1.2
+   */
+  g_object_class_install_property (gobject_class, PROP_CURRENT_LEVEL_BYTES,
+      g_param_spec_uint64 ("current-level-bytes", "Current Level Bytes",
+          "The number of currently queued bytes",
+          0, G_MAXUINT64, DEFAULT_PROP_CURRENT_LEVEL_BYTES,
+          G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+
+
+  /**
    * GstAppSrc::need-data:
    * @appsrc: the appsrc element that emitted the signal
    * @length: the amount of bytes needed.
@@ -677,6 +693,9 @@
     case PROP_MIN_PERCENT:
       g_value_set_uint (value, priv->min_percent);
       break;
+    case PROP_CURRENT_LEVEL_BYTES:
+      g_value_set_uint64 (value, gst_app_src_get_current_level_bytes (appsrc));
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -1299,6 +1318,35 @@
   return result;
 }
 
+/**
+ * gst_app_src_get_current_level_bytes:
+ * @appsrc: a #GstAppSrc
+ *
+ * Get the number of currently queued bytes inside @appsrc.
+ *
+ * Returns: The number of currently queued bytes.
+ *
+ * Since: 1.2
+ */
+guint64
+gst_app_src_get_current_level_bytes (GstAppSrc * appsrc)
+{
+  gint64 queued;
+  GstAppSrcPrivate *priv;
+
+  g_return_val_if_fail (GST_IS_APP_SRC (appsrc), -1);
+
+  priv = appsrc->priv;
+
+  GST_OBJECT_LOCK (appsrc);
+  queued = priv->queued_bytes;
+  GST_DEBUG_OBJECT (appsrc, "current level bytes is %" G_GUINT64_FORMAT,
+      queued);
+  GST_OBJECT_UNLOCK (appsrc);
+
+  return queued;
+}
+
 static void
 gst_app_src_set_latencies (GstAppSrc * appsrc, gboolean do_min, guint64 min,
     gboolean do_max, guint64 max)
diff --git a/gst-libs/gst/app/gstappsrc.h b/gst-libs/gst/app/gstappsrc.h
index 1194f37..d88c823 100644
--- a/gst-libs/gst/app/gstappsrc.h
+++ b/gst-libs/gst/app/gstappsrc.h
@@ -118,31 +118,33 @@
 #define GST_TYPE_APP_STREAM_TYPE (gst_app_stream_type_get_type ())
 GType gst_app_stream_type_get_type (void);
 
-void             gst_app_src_set_caps         (GstAppSrc *appsrc, const GstCaps *caps);
-GstCaps*         gst_app_src_get_caps         (GstAppSrc *appsrc);
+void             gst_app_src_set_caps                (GstAppSrc *appsrc, const GstCaps *caps);
+GstCaps*         gst_app_src_get_caps                (GstAppSrc *appsrc);
 
-void             gst_app_src_set_size         (GstAppSrc *appsrc, gint64 size);
-gint64           gst_app_src_get_size         (GstAppSrc *appsrc);
+void             gst_app_src_set_size                (GstAppSrc *appsrc, gint64 size);
+gint64           gst_app_src_get_size                (GstAppSrc *appsrc);
 
-void             gst_app_src_set_stream_type  (GstAppSrc *appsrc, GstAppStreamType type);
-GstAppStreamType gst_app_src_get_stream_type  (GstAppSrc *appsrc);
+void             gst_app_src_set_stream_type         (GstAppSrc *appsrc, GstAppStreamType type);
+GstAppStreamType gst_app_src_get_stream_type         (GstAppSrc *appsrc);
 
-void             gst_app_src_set_max_bytes    (GstAppSrc *appsrc, guint64 max);
-guint64          gst_app_src_get_max_bytes    (GstAppSrc *appsrc);
+void             gst_app_src_set_max_bytes           (GstAppSrc *appsrc, guint64 max);
+guint64          gst_app_src_get_max_bytes           (GstAppSrc *appsrc);
 
-void             gst_app_src_set_latency      (GstAppSrc *appsrc, guint64 min, guint64 max);
-void             gst_app_src_get_latency      (GstAppSrc *appsrc, guint64 *min, guint64 *max);
+guint64          gst_app_src_get_current_level_bytes (GstAppSrc *appsrc);
 
-void             gst_app_src_set_emit_signals (GstAppSrc *appsrc, gboolean emit);
-gboolean         gst_app_src_get_emit_signals (GstAppSrc *appsrc);
+void             gst_app_src_set_latency             (GstAppSrc *appsrc, guint64 min, guint64 max);
+void             gst_app_src_get_latency             (GstAppSrc *appsrc, guint64 *min, guint64 *max);
 
-GstFlowReturn    gst_app_src_push_buffer      (GstAppSrc *appsrc, GstBuffer *buffer);
-GstFlowReturn    gst_app_src_end_of_stream    (GstAppSrc *appsrc);
+void             gst_app_src_set_emit_signals        (GstAppSrc *appsrc, gboolean emit);
+gboolean         gst_app_src_get_emit_signals        (GstAppSrc *appsrc);
 
-void             gst_app_src_set_callbacks    (GstAppSrc * appsrc,
-                                               GstAppSrcCallbacks *callbacks,
-                                               gpointer user_data,
-                                               GDestroyNotify notify);
+GstFlowReturn    gst_app_src_push_buffer             (GstAppSrc *appsrc, GstBuffer *buffer);
+GstFlowReturn    gst_app_src_end_of_stream           (GstAppSrc *appsrc);
+
+void             gst_app_src_set_callbacks           (GstAppSrc * appsrc,
+                                                      GstAppSrcCallbacks *callbacks,
+                                                      gpointer user_data,
+                                                      GDestroyNotify notify);
 
 G_END_DECLS
 
diff --git a/gst-libs/gst/audio/gstaudiodecoder.c b/gst-libs/gst/audio/gstaudiodecoder.c
index c3e4af8..0da8356 100644
--- a/gst-libs/gst/audio/gstaudiodecoder.c
+++ b/gst-libs/gst/audio/gstaudiodecoder.c
@@ -472,10 +472,6 @@
     dec->priv->error_count = 0;
     gst_audio_decoder_clear_queues (dec);
 
-    gst_audio_info_init (&dec->priv->ctx.info);
-    memset (&dec->priv->ctx, 0, sizeof (dec->priv->ctx));
-    dec->priv->ctx.max_errors = GST_AUDIO_DECODER_MAX_ERRORS;
-
     if (dec->priv->taglist) {
       gst_tag_list_unref (dec->priv->taglist);
       dec->priv->taglist = NULL;
@@ -491,9 +487,13 @@
 
     if (dec->priv->ctx.allocator)
       gst_object_unref (dec->priv->ctx.allocator);
-    dec->priv->ctx.allocator = NULL;
 
     gst_caps_replace (&dec->priv->ctx.input_caps, NULL);
+
+    memset (&dec->priv->ctx, 0, sizeof (dec->priv->ctx));
+
+    gst_audio_info_init (&dec->priv->ctx.info);
+    dec->priv->ctx.max_errors = GST_AUDIO_DECODER_MAX_ERRORS;
   }
 
   g_queue_foreach (&dec->priv->frames, (GFunc) gst_buffer_unref, NULL);
diff --git a/gst-libs/gst/audio/gstaudiodecoder.h b/gst-libs/gst/audio/gstaudiodecoder.h
index 1ae488f..2a18696 100644
--- a/gst-libs/gst/audio/gstaudiodecoder.h
+++ b/gst-libs/gst/audio/gstaudiodecoder.h
@@ -129,8 +129,8 @@
 G_STMT_START {                                                              \
   gchar *__txt = _gst_element_error_printf text;                            \
   gchar *__dbg = _gst_element_error_printf debug;                           \
-  GstAudioDecoder *dec = GST_AUDIO_DECODER (el);                   \
-  ret = _gst_audio_decoder_error (dec, weight, GST_ ## domain ## _ERROR,    \
+  GstAudioDecoder *__dec = GST_AUDIO_DECODER (el);                   \
+  ret = _gst_audio_decoder_error (__dec, weight, GST_ ## domain ## _ERROR,    \
       GST_ ## domain ## _ERROR_ ## code, __txt, __dbg, __FILE__,            \
       GST_FUNCTION, __LINE__);                                              \
 } G_STMT_END
diff --git a/gst-libs/gst/pbutils/codec-utils.c b/gst-libs/gst/pbutils/codec-utils.c
index 1d2ba26..a34b3bc 100644
--- a/gst-libs/gst/pbutils/codec-utils.c
+++ b/gst-libs/gst/pbutils/codec-utils.c
@@ -45,6 +45,10 @@
 #define GST_SIMPLE_CAPS_HAS_FIELD(caps,field) \
     gst_structure_has_field(gst_caps_get_structure((caps),0),(field))
 
+static const guint aac_sample_rates[] = { 96000, 88200, 64000, 48000, 44100,
+  32000, 24000, 22050, 16000, 12000, 11025, 8000, 7350
+};
+
 static const gchar *
 digit_to_string (guint digit)
 {
@@ -71,10 +75,6 @@
 guint
 gst_codec_utils_aac_get_sample_rate_from_index (guint sr_idx)
 {
-  static const guint aac_sample_rates[] = { 96000, 88200, 64000, 48000, 44100,
-    32000, 24000, 22050, 16000, 12000, 11025, 8000, 7350
-  };
-
   if (G_LIKELY (sr_idx < G_N_ELEMENTS (aac_sample_rates)))
     return aac_sample_rates[sr_idx];
 
@@ -83,6 +83,28 @@
 }
 
 /**
+ * gst_codec_utils_aac_get_index_from_sample_rate:
+ * @rate: Sample rate
+ *
+ * Translates the sample rate to the index corresponding to it in AAC spec.
+ *
+ * Returns: The AAC index for this sample rate, -1 if the rate is not a
+ * valid AAC sample rate.
+ */
+gint
+gst_codec_utils_aac_get_index_from_sample_rate (guint rate)
+{
+  guint n;
+
+  for (n = 0; n < G_N_ELEMENTS (aac_sample_rates); n++)
+    if (aac_sample_rates[n] == rate)
+      return n;
+
+  GST_WARNING ("Invalid sample rate %u", rate);
+  return -1;
+}
+
+/**
  * gst_codec_utils_aac_get_profile:
  * @audio_config: a pointer to the AudioSpecificConfig as specified in the
  *                Elementary Stream Descriptor (esds) in ISO/IEC 14496-1 (see
diff --git a/gst-libs/gst/pbutils/codec-utils.h b/gst-libs/gst/pbutils/codec-utils.h
index d6a51cf..bbbe7aa 100644
--- a/gst-libs/gst/pbutils/codec-utils.h
+++ b/gst-libs/gst/pbutils/codec-utils.h
@@ -29,6 +29,7 @@
 /* AAC */
 
 guint         gst_codec_utils_aac_get_sample_rate_from_index (guint sr_idx);
+gint          gst_codec_utils_aac_get_index_from_sample_rate (guint rate);
 
 const gchar * gst_codec_utils_aac_get_profile (const guint8 * audio_config, guint len);
 
diff --git a/gst-libs/gst/pbutils/descriptions.c b/gst-libs/gst/pbutils/descriptions.c
index 9591f59..5008036 100644
--- a/gst-libs/gst/pbutils/descriptions.c
+++ b/gst-libs/gst/pbutils/descriptions.c
@@ -287,6 +287,7 @@
   /* non-audio/video/container formats */
   {"hdv/aux-v", "HDV AUX-V", 0, ""},
   {"hdv/aux-a", "HDV AUX-A", 0, ""},
+  {"private/teletext", "Teletext", 0, ""},
 
   /* formats with dynamic descriptions */
   {"audio/mpeg", NULL, FLAG_AUDIO, ""},
diff --git a/gst-libs/gst/riff/riff-media.c b/gst-libs/gst/riff/riff-media.c
index 2a0d6ed..38f22ec 100644
--- a/gst-libs/gst/riff/riff-media.c
+++ b/gst-libs/gst/riff/riff-media.c
@@ -770,6 +770,7 @@
     case GST_MAKE_FOURCC ('M', 'P', 'N', 'G'):
     case GST_MAKE_FOURCC ('m', 'p', 'n', 'g'):
     case GST_MAKE_FOURCC ('P', 'N', 'G', ' '):
+    case GST_MAKE_FOURCC ('p', 'n', 'g', ' '):
       caps = gst_caps_new_empty_simple ("image/png");
       if (codec_name)
         *codec_name = g_strdup ("PNG image");
@@ -877,6 +878,13 @@
 
       break;
 
+    case GST_MAKE_FOURCC ('D', 'X', 'S', 'B'):
+      caps = gst_caps_new_empty_simple ("subpicture/x-xsub");
+      if (codec_name)
+        *codec_name = g_strdup ("XSUB subpicture stream");
+
+      break;
+
     default:
       GST_WARNING ("Unknown video fourcc %" GST_FOURCC_FORMAT,
           GST_FOURCC_ARGS (codec_fcc));
diff --git a/gst-libs/gst/rtsp/gstrtspconnection.c b/gst-libs/gst/rtsp/gstrtspconnection.c
index 15813be..9041a33 100644
--- a/gst-libs/gst/rtsp/gstrtspconnection.c
+++ b/gst-libs/gst/rtsp/gstrtspconnection.c
@@ -2978,6 +2978,16 @@
         if (watch->write_added) {
           g_source_remove_child_source ((GSource *) watch, watch->writesrc);
           watch->write_added = FALSE;
+
+          /* Need to create a new source as once removed/destroyed sources
+           * can't be attached again later */
+          g_source_unref (watch->writesrc);
+          watch->writesrc =
+              g_pollable_output_stream_create_source (G_POLLABLE_OUTPUT_STREAM
+              (watch->conn->output_stream), NULL);
+          g_source_set_callback (watch->writesrc,
+              (GSourceFunc) gst_rtsp_source_dispatch_write, watch, NULL);
+          /* we add the write source when we actually have something to write */
         }
         break;
       }
diff --git a/gst-libs/gst/tag/gstid3tag.c b/gst-libs/gst/tag/gstid3tag.c
index 7b38062..c23ac9b 100644
--- a/gst-libs/gst/tag/gstid3tag.c
+++ b/gst-libs/gst/tag/gstid3tag.c
@@ -41,6 +41,12 @@
 #include <stdlib.h>
 #include <string.h>
 
+#include "id3v2.h"
+
+#ifndef GST_DISABLE_GST_DEBUG
+#define GST_CAT_DEFAULT id3v2_ensure_debug_category()
+#endif
+
 static const gchar genres[] =
     "Blues\000Classic Rock\000Country\000Dance\000Disco\000Funk\000Grunge\000"
     "Hip-Hop\000Jazz\000Metal\000New Age\000Oldies\000Other\000Pop\000R&B\000"
@@ -129,7 +135,7 @@
     i++;
   }
 
-  GST_INFO ("Cannot map ID3v2 tag '%c%c%c%c' to GStreamer tag",
+  GST_FIXME ("Cannot map ID3v2 tag '%c%c%c%c' to GStreamer tag",
       id3_tag[0], id3_tag[1], id3_tag[2], id3_tag[3]);
 
   return NULL;
@@ -193,7 +199,7 @@
     }
   }
 
-  GST_INFO ("Cannot map ID3v2 user tag '%s' of type '%s' to GStreamer tag",
+  GST_FIXME ("Cannot map ID3v2 user tag '%s' of type '%s' to GStreamer tag",
       id3_user_tag, type);
 
   return NULL;
diff --git a/gst-libs/gst/tag/gsttagdemux.c b/gst-libs/gst/tag/gsttagdemux.c
index 6233631..9b6c478 100644
--- a/gst-libs/gst/tag/gsttagdemux.c
+++ b/gst-libs/gst/tag/gsttagdemux.c
@@ -136,6 +136,8 @@
     GST_STATIC_CAPS ("ANY")
     );
 
+static void gst_tag_demux_element_loop (GstTagDemux * demux);
+
 static void gst_tag_demux_dispose (GObject * object);
 
 static GstFlowReturn gst_tag_demux_chain (GstPad * pad, GstObject * parent,
@@ -346,6 +348,9 @@
   GstCaps *old_caps = tagdemux->priv->src_caps;
 
   if (old_caps == NULL || !gst_caps_is_equal (new_caps, old_caps)) {
+    GstEvent *event;
+    guint group_id;
+    gboolean have_group_id;
     gchar *stream_id = gst_pad_create_stream_id (tagdemux->priv->srcpad,
         GST_ELEMENT_CAST (tagdemux), NULL);
 
@@ -354,8 +359,25 @@
     GST_DEBUG_OBJECT (tagdemux, "Changing src pad caps to %" GST_PTR_FORMAT,
         tagdemux->priv->src_caps);
 
-    gst_pad_push_event (tagdemux->priv->srcpad,
-        gst_event_new_stream_start (stream_id));
+    event =
+        gst_pad_get_sticky_event (tagdemux->priv->sinkpad,
+        GST_EVENT_STREAM_START, 0);
+    if (event) {
+      if (gst_event_parse_group_id (event, &group_id))
+        have_group_id = TRUE;
+      else
+        have_group_id = FALSE;
+      gst_event_unref (event);
+    } else {
+      have_group_id = TRUE;
+      group_id = gst_util_group_id_next ();
+    }
+
+    event = gst_event_new_stream_start (stream_id);
+    if (have_group_id)
+      gst_event_set_group_id (event, group_id);
+
+    gst_pad_push_event (tagdemux->priv->srcpad, event);
     g_free (stream_id);
     gst_pad_set_caps (tagdemux->priv->srcpad, tagdemux->priv->src_caps);
   } else {
@@ -758,6 +780,190 @@
 }
 
 static gboolean
+gst_tag_demux_seek_pull (GstTagDemux * tagdemux, GstEvent * event)
+{
+  GstSeekFlags flags;
+  GstSeekType start_type, stop_type;
+  GstFormat format;
+  gboolean flush;
+  gdouble rate;
+  gint64 start, stop;
+  GstSegment seeksegment = { 0, };
+
+  gst_event_parse_seek (event, &rate, &format, &flags, &start_type, &start,
+      &stop_type, &stop);
+
+  /* we can only seek on bytes */
+  if (format != GST_FORMAT_BYTES) {
+    GST_DEBUG_OBJECT (tagdemux, "Can only seek on BYTES");
+    return FALSE;
+  }
+
+  if (tagdemux->priv->state != GST_TAG_DEMUX_STREAMING) {
+    GST_DEBUG_OBJECT (tagdemux, "Can only seek if streaming already");
+    return FALSE;
+  }
+
+  switch (start_type) {
+    case GST_SEEK_TYPE_SET:
+      if (start == -1)
+        start = 0;
+      start += tagdemux->priv->strip_start;
+      break;
+    case GST_SEEK_TYPE_END:
+      /* Adjust the seek to be relative to the start of any end tag
+       * (note: 10 bytes before end is represented by stop=-10) */
+      if (start > 0)
+        start = 0;
+      start -= tagdemux->priv->strip_end;
+      break;
+    case GST_SEEK_TYPE_NONE:
+    default:
+      break;
+  }
+  switch (stop_type) {
+    case GST_SEEK_TYPE_SET:
+      if (stop != -1) {
+        /* -1 means the end of the file, pass it upstream intact */
+        stop += tagdemux->priv->strip_start;
+      }
+      break;
+    case GST_SEEK_TYPE_END:
+      /* Adjust the seek to be relative to the start of any end tag
+       * (note: 10 bytes before end is represented by stop=-10) */
+      if (stop > 0)
+        stop = 0;
+      stop -= tagdemux->priv->strip_end;
+      break;
+    case GST_SEEK_TYPE_NONE:
+    default:
+      break;
+  }
+
+  /* copy segment, we need this because we still need the old
+   * segment when we close the current segment. */
+  memcpy (&seeksegment, &tagdemux->priv->segment, sizeof (GstSegment));
+
+  GST_DEBUG_OBJECT (tagdemux, "configuring seek");
+  gst_segment_do_seek (&seeksegment, rate, format, flags,
+      start_type, start, stop_type, stop, NULL);
+
+  flush = ! !(flags & GST_SEEK_FLAG_FLUSH);
+
+  GST_DEBUG_OBJECT (tagdemux, "New segment %" GST_SEGMENT_FORMAT, &seeksegment);
+
+  if (flush) {
+    GST_DEBUG_OBJECT (tagdemux, "Starting flush");
+    gst_pad_push_event (tagdemux->priv->sinkpad, gst_event_new_flush_start ());
+    gst_pad_push_event (tagdemux->priv->srcpad, gst_event_new_flush_start ());
+  } else {
+    GST_DEBUG_OBJECT (tagdemux, "Non-flushing seek, pausing task");
+    gst_pad_pause_task (tagdemux->priv->sinkpad);
+  }
+
+  /* now grab the stream lock so that streaming cannot continue, for
+   * non flushing seeks when the element is in PAUSED this could block
+   * forever. */
+  GST_DEBUG_OBJECT (tagdemux, "Waiting for streaming to stop");
+  GST_PAD_STREAM_LOCK (tagdemux->priv->sinkpad);
+
+  if (flush) {
+    GST_DEBUG_OBJECT (tagdemux, "Stopping flush");
+    gst_pad_push_event (tagdemux->priv->sinkpad,
+        gst_event_new_flush_stop (TRUE));
+    gst_pad_push_event (tagdemux->priv->srcpad,
+        gst_event_new_flush_stop (TRUE));
+  }
+
+  /* now update the real segment info */
+  GST_DEBUG_OBJECT (tagdemux, "Committing new seek segment");
+  memcpy (&tagdemux->priv->segment, &seeksegment, sizeof (GstSegment));
+  tagdemux->priv->offset = tagdemux->priv->segment.start;
+
+  /* notify start of new segment */
+  if (tagdemux->priv->segment.flags & GST_SEGMENT_FLAG_SEGMENT) {
+    GstMessage *msg;
+
+    msg = gst_message_new_segment_start (GST_OBJECT (tagdemux),
+        GST_FORMAT_BYTES, tagdemux->priv->segment.start);
+    gst_element_post_message (GST_ELEMENT (tagdemux), msg);
+  }
+
+  tagdemux->priv->need_newseg = TRUE;
+
+  /* restart our task since it might have been stopped when we did the
+   * flush. */
+  gst_pad_start_task (tagdemux->priv->sinkpad,
+      (GstTaskFunction) gst_tag_demux_element_loop, tagdemux, NULL);
+
+  /* streaming can continue now */
+  GST_PAD_STREAM_UNLOCK (tagdemux->priv->sinkpad);
+
+  return TRUE;
+}
+
+static gboolean
+gst_tag_demux_seek_push (GstTagDemux * tagdemux, GstEvent * event)
+{
+  gboolean res = FALSE;
+  gdouble rate;
+  GstFormat format;
+  GstSeekType start_type, stop_type;
+  GstSeekFlags flags;
+  gint64 start, stop;
+
+  gst_event_parse_seek (event, &rate, &format, &flags,
+      &start_type, &start, &stop_type, &stop);
+
+  if (format == GST_FORMAT_BYTES &&
+      tagdemux->priv->state == GST_TAG_DEMUX_STREAMING &&
+      gst_pad_is_linked (tagdemux->priv->sinkpad)) {
+    GstEvent *upstream;
+
+    switch (start_type) {
+      case GST_SEEK_TYPE_SET:
+        if (start == -1)
+          start = 0;
+        start += tagdemux->priv->strip_start;
+        break;
+      case GST_SEEK_TYPE_END:
+        /* Adjust the seek to be relative to the start of any end tag
+         * (note: 10 bytes before end is represented by stop=-10) */
+        if (start > 0)
+          start = 0;
+        start -= tagdemux->priv->strip_end;
+        break;
+      case GST_SEEK_TYPE_NONE:
+      default:
+        break;
+    }
+    switch (stop_type) {
+      case GST_SEEK_TYPE_SET:
+        if (stop != -1) {
+          /* -1 means the end of the file, pass it upstream intact */
+          stop += tagdemux->priv->strip_start;
+        }
+        break;
+      case GST_SEEK_TYPE_END:
+        /* Adjust the seek to be relative to the start of any end tag
+         * (note: 10 bytes before end is represented by stop=-10) */
+        if (stop > 0)
+          stop = 0;
+        stop -= tagdemux->priv->strip_end;
+        break;
+      case GST_SEEK_TYPE_NONE:
+      default:
+        break;
+    }
+    upstream = gst_event_new_seek (rate, format, flags,
+        start_type, start, stop_type, stop);
+    res = gst_pad_push_event (tagdemux->priv->sinkpad, upstream);
+  }
+
+  return res;
+}
+
+static gboolean
 gst_tag_demux_srcpad_event (GstPad * pad, GstObject * parent, GstEvent * event)
 {
   GstTagDemux *tagdemux;
@@ -770,59 +976,10 @@
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_SEEK:
     {
-      gdouble rate;
-      GstFormat format;
-      GstSeekType start_type, stop_type;
-      GstSeekFlags flags;
-      gint64 start, stop;
-
-      gst_event_parse_seek (event, &rate, &format, &flags,
-          &start_type, &start, &stop_type, &stop);
-
-      if (format == GST_FORMAT_BYTES &&
-          tagdemux->priv->state == GST_TAG_DEMUX_STREAMING &&
-          gst_pad_is_linked (tagdemux->priv->sinkpad)) {
-        GstEvent *upstream;
-
-        switch (start_type) {
-          case GST_SEEK_TYPE_SET:
-            if (start == -1)
-              start = 0;
-            start += tagdemux->priv->strip_start;
-            break;
-          case GST_SEEK_TYPE_END:
-            /* Adjust the seek to be relative to the start of any end tag
-             * (note: 10 bytes before end is represented by stop=-10) */
-            if (start > 0)
-              start = 0;
-            start -= tagdemux->priv->strip_end;
-            break;
-          case GST_SEEK_TYPE_NONE:
-          default:
-            break;
-        }
-        switch (stop_type) {
-          case GST_SEEK_TYPE_SET:
-            if (stop != -1) {
-              /* -1 means the end of the file, pass it upstream intact */
-              stop += tagdemux->priv->strip_start;
-            }
-            break;
-          case GST_SEEK_TYPE_END:
-            /* Adjust the seek to be relative to the start of any end tag
-             * (note: 10 bytes before end is represented by stop=-10) */
-            if (stop > 0)
-              stop = 0;
-            stop -= tagdemux->priv->strip_end;
-            break;
-          case GST_SEEK_TYPE_NONE:
-          default:
-            break;
-        }
-        upstream = gst_event_new_seek (rate, format, flags,
-            start_type, start, stop_type, stop);
-        res = gst_pad_push_event (tagdemux->priv->sinkpad, upstream);
-      }
+      if (GST_PAD_MODE (tagdemux->priv->sinkpad) == GST_PAD_MODE_PUSH)
+        res = gst_tag_demux_seek_push (tagdemux, event);
+      else
+        res = gst_tag_demux_seek_pull (tagdemux, event);
       break;
     }
     default:
@@ -1182,6 +1339,7 @@
 
   /* set it again, in case we skipped typefinding */
   demux->priv->state = GST_TAG_DEMUX_STREAMING;
+  demux->priv->offset += demux->priv->strip_start;
 
   return ret;
 
@@ -1254,7 +1412,11 @@
       if (ret != GST_FLOW_OK)
         break;
 
+      GST_BUFFER_OFFSET (outbuf) =
+          demux->priv->offset - demux->priv->strip_start;
       demux->priv->offset += gst_buffer_get_size (outbuf);
+      GST_BUFFER_OFFSET_END (outbuf) =
+          demux->priv->offset - demux->priv->strip_start;
 
       ret = gst_pad_push (demux->priv->srcpad, outbuf);
       break;
@@ -1316,14 +1478,18 @@
 gst_tag_demux_sink_activate_mode (GstPad * pad, GstObject * parent,
     GstPadMode mode, gboolean active)
 {
+  GstTagDemux *demux = GST_TAG_DEMUX (parent);
   gboolean res;
 
   switch (mode) {
     case GST_PAD_MODE_PULL:
-      if (active)
+      if (active) {
+        demux->priv->need_newseg = TRUE;
+        demux->priv->offset = 0;
         res = TRUE;
-      else
+      } else {
         res = gst_pad_stop_task (pad);
+      }
       break;
     default:
       res = TRUE;
@@ -1589,7 +1755,7 @@
 gst_tag_demux_send_new_segment (GstTagDemux * tagdemux)
 {
   GstEvent *event;
-  gint64 start, stop, position;
+  gint64 start, stop, time;
   GstSegment *seg = &tagdemux->priv->segment;
   GstSegment newseg;
 
@@ -1609,10 +1775,10 @@
 
   start = seg->start;
   stop = seg->stop;
-  position = seg->time;
+  time = seg->time;
 
   g_return_val_if_fail (start != -1, FALSE);
-  g_return_val_if_fail (position != -1, FALSE);
+  g_return_val_if_fail (time != -1, FALSE);
 
   if (tagdemux->priv->strip_end > 0) {
     if (gst_tag_demux_get_upstream_size (tagdemux)) {
@@ -1640,10 +1806,10 @@
     else
       start = 0;
 
-    if (position > tagdemux->priv->strip_start)
-      position -= tagdemux->priv->strip_start;
+    if (time > tagdemux->priv->strip_start)
+      time -= tagdemux->priv->strip_start;
     else
-      position = 0;
+      time = 0;
 
     if (stop != -1) {
       if (stop > tagdemux->priv->strip_start)
@@ -1658,7 +1824,7 @@
   gst_segment_copy_into (seg, &newseg);
   newseg.start = start;
   newseg.stop = stop;
-  newseg.position = position;
+  newseg.time = time;
   event = gst_event_new_segment (&newseg);
 
   return gst_pad_push_event (tagdemux->priv->srcpad, event);
diff --git a/gst-libs/gst/video/gstvideodecoder.c b/gst-libs/gst/video/gstvideodecoder.c
index 98e6be7..398c039 100644
--- a/gst-libs/gst/video/gstvideodecoder.c
+++ b/gst-libs/gst/video/gstvideodecoder.c
@@ -853,18 +853,10 @@
 static GstFlowReturn
 gst_video_decoder_flush (GstVideoDecoder * dec, gboolean hard)
 {
-  GstVideoDecoderClass *klass;
-  GstVideoDecoderPrivate *priv = dec->priv;
   GstFlowReturn ret = GST_FLOW_OK;
 
-  klass = GST_VIDEO_DECODER_GET_CLASS (dec);
-
   GST_LOG_OBJECT (dec, "flush hard %d", hard);
 
-  /* Inform subclass */
-  if (klass->reset)
-    klass->reset (dec, hard);
-
   /* FIXME make some more distinction between hard and soft,
    * but subclass may not be prepared for that */
   /* FIXME perhaps also clear pending frames ?,
@@ -875,13 +867,8 @@
     gst_segment_init (&dec->input_segment, GST_FORMAT_UNDEFINED);
     gst_segment_init (&dec->output_segment, GST_FORMAT_UNDEFINED);
     gst_video_decoder_clear_queues (dec);
-    priv->error_count = 0;
-    g_list_free_full (priv->current_frame_events,
-        (GDestroyNotify) gst_event_unref);
-    priv->current_frame_events = NULL;
-    g_list_free_full (priv->pending_events, (GDestroyNotify) gst_event_unref);
-    priv->pending_events = NULL;
   }
+
   /* and get (re)set for the sequel */
   gst_video_decoder_reset (dec, FALSE);
 
@@ -1650,18 +1637,21 @@
 static void
 gst_video_decoder_reset (GstVideoDecoder * decoder, gboolean full)
 {
+  GstVideoDecoderClass *klass = GST_VIDEO_DECODER_GET_CLASS (decoder);
   GstVideoDecoderPrivate *priv = decoder->priv;
 
   GST_DEBUG_OBJECT (decoder, "reset full %d", full);
 
   GST_VIDEO_DECODER_STREAM_LOCK (decoder);
 
+  /* Inform subclass */
+  if (klass->reset)
+    klass->reset (decoder, full);
+
   if (full) {
     gst_segment_init (&decoder->input_segment, GST_FORMAT_UNDEFINED);
     gst_segment_init (&decoder->output_segment, GST_FORMAT_UNDEFINED);
     gst_video_decoder_clear_queues (decoder);
-    priv->error_count = 0;
-    priv->max_errors = GST_VIDEO_DECODER_MAX_ERRORS;
     if (priv->input_state)
       gst_video_codec_state_unref (priv->input_state);
     priv->input_state = NULL;
@@ -1701,6 +1691,15 @@
     priv->current_frame = NULL;
   }
 
+  g_list_free_full (priv->current_frame_events,
+      (GDestroyNotify) gst_event_unref);
+  priv->current_frame_events = NULL;
+  g_list_free_full (priv->pending_events, (GDestroyNotify) gst_event_unref);
+  priv->pending_events = NULL;
+
+  priv->error_count = 0;
+  priv->max_errors = GST_VIDEO_DECODER_MAX_ERRORS;
+
   priv->dropped = 0;
   priv->processed = 0;
 
@@ -2037,6 +2036,9 @@
       /* Initialize device/library if needed */
       if (decoder_class->start && !decoder_class->start (decoder))
         goto start_failed;
+      GST_VIDEO_DECODER_STREAM_LOCK (decoder);
+      gst_video_decoder_reset (decoder, TRUE);
+      GST_VIDEO_DECODER_STREAM_UNLOCK (decoder);
       break;
     default:
       break;
@@ -2046,18 +2048,11 @@
 
   switch (transition) {
     case GST_STATE_CHANGE_PAUSED_TO_READY:
-      if (decoder_class->stop && !decoder_class->stop (decoder))
-        goto stop_failed;
-
       GST_VIDEO_DECODER_STREAM_LOCK (decoder);
       gst_video_decoder_reset (decoder, TRUE);
-      g_list_free_full (decoder->priv->current_frame_events,
-          (GDestroyNotify) gst_event_unref);
-      decoder->priv->current_frame_events = NULL;
-      g_list_free_full (decoder->priv->pending_events,
-          (GDestroyNotify) gst_event_unref);
-      decoder->priv->pending_events = NULL;
       GST_VIDEO_DECODER_STREAM_UNLOCK (decoder);
+      if (decoder_class->stop && !decoder_class->stop (decoder))
+        goto stop_failed;
       break;
     case GST_STATE_CHANGE_READY_TO_NULL:
       /* close device/library if needed */
@@ -2135,6 +2130,7 @@
 {
   GstVideoDecoderPrivate *priv = decoder->priv;
   GList *l, *events = NULL;
+  gboolean sync;
 
 #ifndef GST_DISABLE_GST_DEBUG
   GST_LOG_OBJECT (decoder, "n %d in %" G_GSIZE_FORMAT " out %" G_GSIZE_FORMAT,
@@ -2143,12 +2139,13 @@
       gst_adapter_available (priv->output_adapter));
 #endif
 
+  sync = GST_VIDEO_CODEC_FRAME_IS_SYNC_POINT (frame);
+
   GST_LOG_OBJECT (decoder,
       "finish frame %p (#%d) sync:%d PTS:%" GST_TIME_FORMAT " DTS:%"
       GST_TIME_FORMAT,
       frame, frame->system_frame_number,
-      GST_VIDEO_CODEC_FRAME_IS_SYNC_POINT (frame), GST_TIME_ARGS (frame->pts),
-      GST_TIME_ARGS (frame->dts));
+      sync, GST_TIME_ARGS (frame->pts), GST_TIME_ARGS (frame->dts));
 
   /* Push all pending events that arrived before this frame */
   for (l = priv->frames; l; l = l->next) {
@@ -2298,6 +2295,11 @@
       GST_LOG_OBJECT (decoder,
           "Guessing timestamp %" GST_TIME_FORMAT " for frame...",
           GST_TIME_ARGS (frame->pts));
+    } else if (sync && frame->dts != GST_CLOCK_TIME_NONE) {
+      frame->pts = frame->dts;
+      GST_LOG_OBJECT (decoder,
+          "Setting DTS as PTS %" GST_TIME_FORMAT " for frame...",
+          GST_TIME_ARGS (frame->pts));
     }
   }
 
diff --git a/gst-libs/gst/video/gstvideodecoder.h b/gst-libs/gst/video/gstvideodecoder.h
index e5fcacf..5436d94 100644
--- a/gst-libs/gst/video/gstvideodecoder.h
+++ b/gst-libs/gst/video/gstvideodecoder.h
@@ -148,8 +148,8 @@
 G_STMT_START {                                                              \
   gchar *__txt = _gst_element_error_printf text;                            \
   gchar *__dbg = _gst_element_error_printf debug;                           \
-  GstVideoDecoder *dec = GST_VIDEO_DECODER (el);                   \
-  ret = _gst_video_decoder_error (dec, w, GST_ ## domain ## _ERROR,    \
+  GstVideoDecoder *__dec = GST_VIDEO_DECODER (el);                   \
+  ret = _gst_video_decoder_error (__dec, w, GST_ ## domain ## _ERROR,    \
       GST_ ## domain ## _ERROR_ ## code, __txt, __dbg, __FILE__,            \
       GST_FUNCTION, __LINE__);                                              \
 } G_STMT_END
diff --git a/gst-libs/gst/video/gstvideoencoder.c b/gst-libs/gst/video/gstvideoencoder.c
index cdd7372..58a6ab7 100644
--- a/gst-libs/gst/video/gstvideoencoder.c
+++ b/gst-libs/gst/video/gstvideoencoder.c
@@ -295,14 +295,20 @@
   klass->negotiate = gst_video_encoder_negotiate_default;
 }
 
-static void
-gst_video_encoder_reset (GstVideoEncoder * encoder)
+static gboolean
+gst_video_encoder_reset (GstVideoEncoder * encoder, gboolean hard)
 {
+  GstVideoEncoderClass *klass = GST_VIDEO_ENCODER_GET_CLASS (encoder);
   GstVideoEncoderPrivate *priv = encoder->priv;
-  GList *g;
+  gboolean ret = TRUE;
 
   GST_VIDEO_ENCODER_STREAM_LOCK (encoder);
 
+  if (klass->reset) {
+    GST_DEBUG_OBJECT (encoder, "requesting subclass to reset");
+    ret = klass->reset (encoder, hard);
+  }
+
   priv->presentation_frame_number = 0;
   priv->distance_from_sync = 0;
 
@@ -312,40 +318,46 @@
   priv->force_key_unit = NULL;
 
   priv->drained = TRUE;
-  priv->min_latency = 0;
-  priv->max_latency = 0;
-
-  g_list_foreach (priv->headers, (GFunc) gst_event_unref, NULL);
-  g_list_free (priv->headers);
-  priv->headers = NULL;
-  priv->new_headers = FALSE;
 
   g_list_foreach (priv->current_frame_events, (GFunc) gst_event_unref, NULL);
   g_list_free (priv->current_frame_events);
   priv->current_frame_events = NULL;
 
-  for (g = priv->frames; g; g = g->next) {
-    gst_video_codec_frame_unref ((GstVideoCodecFrame *) g->data);
-  }
+  g_list_foreach (priv->frames, (GFunc) gst_video_codec_frame_unref, NULL);
   g_list_free (priv->frames);
   priv->frames = NULL;
 
   priv->bytes = 0;
   priv->time = 0;
 
-  if (priv->input_state)
-    gst_video_codec_state_unref (priv->input_state);
-  priv->input_state = NULL;
-  if (priv->output_state)
-    gst_video_codec_state_unref (priv->output_state);
-  priv->output_state = NULL;
+  if (hard) {
+    gst_segment_init (&encoder->input_segment, GST_FORMAT_TIME);
+    gst_segment_init (&encoder->output_segment, GST_FORMAT_TIME);
 
-  if (priv->tags)
-    gst_tag_list_unref (priv->tags);
-  priv->tags = NULL;
-  priv->tags_changed = FALSE;
+    if (priv->input_state)
+      gst_video_codec_state_unref (priv->input_state);
+    priv->input_state = NULL;
+    if (priv->output_state)
+      gst_video_codec_state_unref (priv->output_state);
+    priv->output_state = NULL;
+
+    if (priv->tags)
+      gst_tag_list_unref (priv->tags);
+    priv->tags = NULL;
+    priv->tags_changed = FALSE;
+
+    priv->min_latency = 0;
+    priv->max_latency = 0;
+
+    g_list_foreach (priv->headers, (GFunc) gst_event_unref, NULL);
+    g_list_free (priv->headers);
+    priv->headers = NULL;
+    priv->new_headers = FALSE;
+  }
 
   GST_VIDEO_ENCODER_STREAM_UNLOCK (encoder);
+
+  return ret;
 }
 
 static void
@@ -393,7 +405,7 @@
   priv->headers = NULL;
   priv->new_headers = FALSE;
 
-  gst_video_encoder_reset (encoder);
+  gst_video_encoder_reset (encoder, TRUE);
 }
 
 static gboolean
@@ -473,38 +485,6 @@
   GST_VIDEO_ENCODER_STREAM_UNLOCK (video_encoder);
 }
 
-static gboolean
-gst_video_encoder_drain (GstVideoEncoder * enc)
-{
-  GstVideoEncoderPrivate *priv;
-  GstVideoEncoderClass *enc_class;
-  gboolean ret = TRUE;
-
-  enc_class = GST_VIDEO_ENCODER_GET_CLASS (enc);
-  priv = enc->priv;
-
-  GST_DEBUG_OBJECT (enc, "draining");
-
-  if (priv->drained) {
-    GST_DEBUG_OBJECT (enc, "already drained");
-    return TRUE;
-  }
-
-  if (enc_class->reset) {
-    GST_DEBUG_OBJECT (enc, "requesting subclass to finish");
-    ret = enc_class->reset (enc, TRUE);
-  }
-  /* everything should be away now */
-  if (priv->frames) {
-    /* not fatal/impossible though if subclass/enc eats stuff */
-    g_list_foreach (priv->frames, (GFunc) gst_video_codec_frame_unref, NULL);
-    g_list_free (priv->frames);
-    priv->frames = NULL;
-  }
-
-  return ret;
-}
-
 static GstVideoCodecState *
 _new_output_state (GstCaps * caps, GstVideoCodecState * reference)
 {
@@ -595,9 +575,6 @@
     goto caps_not_changed;
   }
 
-  /* arrange draining pending frames */
-  gst_video_encoder_drain (encoder);
-
   /* and subclass should be ready to configure format at any time around */
   ret = encoder_class->set_format (encoder, state);
   if (ret) {
@@ -861,10 +838,6 @@
   GST_DEBUG_OBJECT (object, "finalize");
 
   encoder = GST_VIDEO_ENCODER (object);
-  if (encoder->priv->headers) {
-    g_list_foreach (encoder->priv->headers, (GFunc) gst_buffer_unref, NULL);
-    g_list_free (encoder->priv->headers);
-  }
   g_rec_mutex_clear (&encoder->stream_lock);
 
   if (encoder->priv->allocator) {
@@ -1025,6 +998,14 @@
       }
       break;
     }
+    case GST_EVENT_FLUSH_STOP:{
+      GST_VIDEO_ENCODER_STREAM_LOCK (encoder);
+      gst_segment_init (&encoder->input_segment, GST_FORMAT_TIME);
+      gst_segment_init (&encoder->output_segment, GST_FORMAT_TIME);
+      gst_video_encoder_reset (encoder, FALSE);
+      GST_VIDEO_ENCODER_STREAM_UNLOCK (encoder);
+      break;
+    }
     default:
       break;
   }
@@ -1386,6 +1367,9 @@
       /* Initialize device/library if needed */
       if (encoder_class->start && !encoder_class->start (encoder))
         goto start_failed;
+      GST_VIDEO_ENCODER_STREAM_LOCK (encoder);
+      gst_video_encoder_reset (encoder, TRUE);
+      GST_VIDEO_ENCODER_STREAM_UNLOCK (encoder);
       break;
     default:
       break;
@@ -1395,7 +1379,9 @@
 
   switch (transition) {
     case GST_STATE_CHANGE_PAUSED_TO_READY:
-      gst_video_encoder_reset (encoder);
+      GST_VIDEO_ENCODER_STREAM_LOCK (encoder);
+      gst_video_encoder_reset (encoder, TRUE);
+      GST_VIDEO_ENCODER_STREAM_UNLOCK (encoder);
       if (encoder_class->stop && !encoder_class->stop (encoder))
         goto stop_failed;
       break;
diff --git a/gst-libs/gst/video/gstvideometa.c b/gst-libs/gst/video/gstvideometa.c
index 33d17ac..efefea7 100644
--- a/gst-libs/gst/video/gstvideometa.c
+++ b/gst-libs/gst/video/gstvideometa.c
@@ -528,3 +528,184 @@
 
   return meta->upload (meta, texture_id);
 }
+
+/* Region of Interest Meta implementation *******************************************/
+
+GType
+gst_video_region_of_interest_meta_api_get_type (void)
+{
+  static volatile GType type;
+  static const gchar *tags[] = { "orientation", " size", NULL };
+
+  if (g_once_init_enter (&type)) {
+    GType _type =
+        gst_meta_api_type_register ("GstVideoRegionOfInterestMetaAPI", tags);
+    GST_INFO ("registering");
+    g_once_init_leave (&type, _type);
+  }
+  return type;
+}
+
+
+static gboolean
+gst_video_region_of_interest_meta_transform (GstBuffer * dest, GstMeta * meta,
+    GstBuffer * buffer, GQuark type, gpointer data)
+{
+  GstVideoRegionOfInterestMeta *dmeta, *smeta;
+
+  if (GST_META_TRANSFORM_IS_COPY (type)) {
+    smeta = (GstVideoRegionOfInterestMeta *) meta;
+
+    GST_DEBUG ("copy region of interest metadata");
+    dmeta =
+        gst_buffer_add_video_region_of_interest_meta_id (dest,
+        smeta->roi_type, smeta->x, smeta->y, smeta->w, smeta->h);
+    dmeta->id = smeta->id;
+    dmeta->parent_id = smeta->parent_id;
+  } else if (GST_VIDEO_META_TRANSFORM_IS_SCALE (type)) {
+    GstVideoMetaTransform *trans = data;
+    gint ow, oh, nw, nh;
+    ow = GST_VIDEO_INFO_WIDTH (trans->in_info);
+    nw = GST_VIDEO_INFO_WIDTH (trans->out_info);
+    oh = GST_VIDEO_INFO_HEIGHT (trans->in_info);
+    nh = GST_VIDEO_INFO_HEIGHT (trans->out_info);
+    GST_DEBUG ("scaling region of interest metadata %dx%d -> %dx%d", ow, oh, nw,
+        nh);
+
+    smeta = (GstVideoRegionOfInterestMeta *) meta;
+    dmeta =
+        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);
+    dmeta->id = smeta->id;
+    dmeta->parent_id = smeta->parent_id;
+
+    GST_DEBUG ("region of interest (id:%d, parent id:%d) offset %dx%d -> %dx%d",
+        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);
+  }
+  return TRUE;
+}
+
+static gboolean
+gst_video_region_of_interest_meta_init (GstMeta * meta, gpointer params,
+    GstBuffer * buffer)
+{
+  GstVideoRegionOfInterestMeta *emeta = (GstVideoRegionOfInterestMeta *) meta;
+  emeta->id = 0;
+  emeta->parent_id = 0;
+  emeta->x = emeta->y = emeta->w = emeta->h = 0;
+
+  return TRUE;
+}
+
+static void
+gst_video_region_of_interest_meta_free (GstMeta * meta, GstBuffer * buffer)
+{
+  // nothing to do
+}
+
+const GstMetaInfo *
+gst_video_region_of_interest_meta_get_info (void)
+{
+  static const GstMetaInfo *meta_info = NULL;
+
+  if (g_once_init_enter (&meta_info)) {
+    const GstMetaInfo *mi =
+        gst_meta_register (GST_VIDEO_REGION_OF_INTEREST_META_API_TYPE,
+        "GstVideoRegionOfInterestMeta",
+        sizeof (GstVideoRegionOfInterestMeta),
+        gst_video_region_of_interest_meta_init,
+        gst_video_region_of_interest_meta_free,
+        gst_video_region_of_interest_meta_transform);
+    g_once_init_leave (&meta_info, mi);
+  }
+  return meta_info;
+}
+
+/**
+ * gst_buffer_get_video_region_of_interest_meta_id:
+ * @buffer: a #GstBuffer
+ * @id: a metadata id
+ *
+ * Find the #GstVideoRegionOfInterestMeta on @buffer with the given @id.
+ *
+ * Buffers can contain multiple #GstVideoRegionOfInterestMeta metadata items if
+ * multiple regions of interests are marked on a frame.
+ *
+ * Returns: the #GstVideoeRegionOfInterestMeta with @id or %NULL when there is
+ * no such metadata on @buffer.
+ */
+GstVideoRegionOfInterestMeta *
+gst_buffer_get_video_region_of_interest_meta_id (GstBuffer * buffer, gint id)
+{
+  gpointer state = NULL;
+  GstMeta *meta;
+  const GstMetaInfo *info = GST_VIDEO_REGION_OF_INTEREST_META_INFO;
+
+  while ((meta = gst_buffer_iterate_meta (buffer, &state))) {
+    if (meta->info->api == info->api) {
+      GstVideoRegionOfInterestMeta *vmeta =
+          (GstVideoRegionOfInterestMeta *) meta;
+      if (vmeta->id == id)
+        return vmeta;
+    }
+  }
+  return NULL;
+}
+
+/**
+ * gst_buffer_add_video_region_of_interest_meta:
+ * @buffer: a #GstBuffer
+ * @roi_type: Type of the region of interest (e.g. "face")
+ * @x: X position
+ * @y: Y position
+ * @w: width
+ * @h: height
+ *
+ * Attaches #GstVideoRegionOfInterestMeta metadata to @buffer with the given
+ * parameters.
+ *
+ * Returns: the #GstVideoRegionOfInterestMeta on @buffer.
+ */
+GstVideoRegionOfInterestMeta *
+gst_buffer_add_video_region_of_interest_meta (GstBuffer * buffer,
+    const gchar * roi_type, guint x, guint y, guint w, guint h)
+{
+  return gst_buffer_add_video_region_of_interest_meta_id (buffer,
+      g_quark_from_string (roi_type), x, y, w, h);
+}
+
+/**
+ * gst_buffer_add_video_region_of_interest_meta_id:
+ * @buffer: a #GstBuffer
+ * @roi_type: Type of the region of interest (e.g. "face")
+ * @x: X position
+ * @y: Y position
+ * @w: width
+ * @h: height
+ *
+ * Attaches #GstVideoRegionOfInterestMeta metadata to @buffer with the given
+ * parameters.
+ *
+ * Returns: the #GstVideoRegionOfInterestMeta on @buffer.
+ */
+GstVideoRegionOfInterestMeta *
+gst_buffer_add_video_region_of_interest_meta_id (GstBuffer * buffer,
+    GQuark roi_type, guint x, guint y, guint w, guint h)
+{
+  GstVideoRegionOfInterestMeta *meta;
+
+  g_return_val_if_fail (GST_IS_BUFFER (buffer), NULL);
+
+  meta = (GstVideoRegionOfInterestMeta *) gst_buffer_add_meta (buffer,
+      GST_VIDEO_REGION_OF_INTEREST_META_INFO, NULL);
+  meta->roi_type = roi_type;
+  meta->x = x;
+  meta->y = y;
+  meta->w = w;
+  meta->h = h;
+
+  return meta;
+}
diff --git a/gst-libs/gst/video/gstvideometa.h b/gst-libs/gst/video/gstvideometa.h
index 916a3f7..06c9678 100644
--- a/gst-libs/gst/video/gstvideometa.h
+++ b/gst-libs/gst/video/gstvideometa.h
@@ -216,13 +216,71 @@
   GBoxedFreeFunc user_data_free;
 };
 
-#define gst_buffer_get_video_gl_texture_upload_meta(b) ((GstVideoGLTextureUploadMeta*)gst_buffer_get_meta((b),GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE))
-GstVideoGLTextureUploadMeta * gst_buffer_add_video_gl_texture_upload_meta (GstBuffer *buffer, GstVideoGLTextureOrientation texture_orientation, guint n_textures, GstVideoGLTextureType texture_type[4], GstVideoGLTextureUpload upload, gpointer user_data, GBoxedCopyFunc user_data_copy, GBoxedFreeFunc user_data_free);
-gboolean gst_video_gl_texture_upload_meta_upload (GstVideoGLTextureUploadMeta *meta, guint texture_id[4]);
-
 GType gst_video_gl_texture_upload_meta_api_get_type (void);
 const GstMetaInfo * gst_video_gl_texture_upload_meta_get_info (void);
 
+#define gst_buffer_get_video_gl_texture_upload_meta(b) ((GstVideoGLTextureUploadMeta*)gst_buffer_get_meta((b),GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE))
+GstVideoGLTextureUploadMeta *
+          gst_buffer_add_video_gl_texture_upload_meta (GstBuffer *buffer,
+                                                       GstVideoGLTextureOrientation texture_orientation,
+                                                       guint n_textures,
+                                                       GstVideoGLTextureType texture_type[4],
+                                                       GstVideoGLTextureUpload upload,
+                                                       gpointer user_data,
+                                                       GBoxedCopyFunc user_data_copy,
+                                                       GBoxedFreeFunc user_data_free);
+gboolean  gst_video_gl_texture_upload_meta_upload     (GstVideoGLTextureUploadMeta *meta,
+                                                       guint texture_id[4]);
+
+
+/**
+ * GstVideoRegionOfInterestMeta: a Bounding Box describing the inner part of a rectangle inside a video frame.
+ * @meta: parent #GstMeta
+ * @roi_type: GQuark describing the semantic of the Roi (f.i. a face, a pedestrian)
+ * @id: identifier of this particular ROI
+ * @parent_id: identifier of its parent ROI, used f.i. for ROI hierarchisation.
+ * @x: x component of upper-left corner
+ * @y: y component of upper-left corner
+ * @width: bounding box width
+ * @height: bounding box height
+ *
+ * Extra buffer metadata describing an image region of interest
+ */
+typedef struct {
+  GstMeta meta;
+
+  GQuark roi_type;
+  gint id;
+  gint parent_id;
+
+  guint x;
+  guint y;
+  guint w;
+  guint h;
+}GstVideoRegionOfInterestMeta;;
+
+GType              gst_video_region_of_interest_meta_api_get_type (void);
+#define GST_VIDEO_REGION_OF_INTEREST_META_API_TYPE (gst_video_region_of_interest_meta_api_get_type())
+const GstMetaInfo *gst_video_region_of_interest_meta_get_info (void);
+#define GST_VIDEO_REGION_OF_INTEREST_META_INFO (gst_video_region_of_interest_meta_get_info())
+
+#define gst_buffer_get_video_region_of_interest_meta(b) \
+        ((GstVideoRegionOfInterestMeta*)gst_buffer_get_meta((b),GST_VIDEO_REGION_OF_INTEREST_META_API_TYPE))
+GstVideoRegionOfInterestMeta *gst_buffer_get_video_region_of_interest_meta_id (GstBuffer   * buffer,
+                                                                               gint          id);
+GstVideoRegionOfInterestMeta *gst_buffer_add_video_region_of_interest_meta    (GstBuffer   * buffer,
+									       const gchar * roi_type,
+									       guint         x,
+                                                                               guint         y,
+                                                                               guint         w,
+                                                                               guint         h);
+GstVideoRegionOfInterestMeta *gst_buffer_add_video_region_of_interest_meta_id (GstBuffer   * buffer, 
+									       GQuark        roi_type,
+                                                                               guint         x,
+                                                                               guint         y,
+                                                                               guint         w,
+                                                                               guint         h);
+
 G_END_DECLS
 
 #endif /* __GST_VIDEO_META_H__ */
diff --git a/gst-libs/gst/video/video-format.c b/gst-libs/gst/video/video-format.c
index 717135c..aaa2142 100644
--- a/gst-libs/gst/video/video-format.c
+++ b/gst-libs/gst/video/video-format.c
@@ -939,6 +939,26 @@
       GET_PLANE_LINE (1, y), src, width / 2);
 }
 
+#define PACK_NV24 GST_VIDEO_FORMAT_AYUV, unpack_NV24, 1, pack_NV24
+static void
+unpack_NV24 (const GstVideoFormatInfo * info, GstVideoPackFlags flags,
+    gpointer dest, const gpointer data[GST_VIDEO_MAX_PLANES],
+    const gint stride[GST_VIDEO_MAX_PLANES], gint x, gint y, gint width)
+{
+  video_orc_unpack_NV12 (dest,
+      GET_PLANE_LINE (0, y), GET_PLANE_LINE (1, y), width);
+}
+
+static void
+pack_NV24 (const GstVideoFormatInfo * info, GstVideoPackFlags flags,
+    const gpointer src, gint sstride, gpointer data[GST_VIDEO_MAX_PLANES],
+    const gint stride[GST_VIDEO_MAX_PLANES], GstVideoChromaSite chroma_site,
+    gint y, gint width)
+{
+  video_orc_pack_NV12 (GET_PLANE_LINE (0, y),
+      GET_PLANE_LINE (1, y), src, width);
+}
+
 #define PACK_UYVP GST_VIDEO_FORMAT_AYUV64, unpack_UYVP, 1, pack_UYVP
 static void
 unpack_UYVP (const GstVideoFormatInfo * info, GstVideoPackFlags flags,
@@ -2034,9 +2054,10 @@
   MAKE_RGB_LE_FORMAT (GBR_10LE, "raw video", DPTH10_10_10, PSTR222, PLANE201,
       OFFS0, SUB444,
       PACK_GBR_10LE),
-
   MAKE_YUV_FORMAT (NV16, "raw video", GST_MAKE_FOURCC ('N', 'V', '1', '6'),
       DPTH888, PSTR111, PLANE011, OFFS001, SUB422, PACK_NV16),
+  MAKE_YUV_FORMAT (NV24, "raw video", GST_MAKE_FOURCC ('N', 'V', '2', '4'),
+      DPTH888, PSTR111, PLANE011, OFFS001, SUB444, PACK_NV24),
 };
 
 static GstVideoFormat
@@ -2241,6 +2262,8 @@
       return GST_VIDEO_FORMAT_NV21;
     case GST_MAKE_FOURCC ('N', 'V', '1', '6'):
       return GST_VIDEO_FORMAT_NV16;
+    case GST_MAKE_FOURCC ('N', 'V', '2', '4'):
+      return GST_VIDEO_FORMAT_NV24;
     case GST_MAKE_FOURCC ('v', '3', '0', '8'):
       return GST_VIDEO_FORMAT_v308;
     case GST_MAKE_FOURCC ('Y', '8', '0', '0'):
diff --git a/gst-libs/gst/video/video-format.h b/gst-libs/gst/video/video-format.h
index e8cf54c..f60c380 100644
--- a/gst-libs/gst/video/video-format.h
+++ b/gst-libs/gst/video/video-format.h
@@ -80,6 +80,7 @@
  * @GST_VIDEO_FORMAT_GBR_10BE: planar 4:4:4 RGB, 10 bits per channel
  * @GST_VIDEO_FORMAT_GBR_10LE: planar 4:4:4 RGB, 10 bits per channel
  * @GST_VIDEO_FORMAT_NV16: planar 4:2:2 YUV with interleaved UV plane
+ * @GST_VIDEO_FORMAT_NV24: planar 4:4:4 YUV with interleaved UV plane
  *
  * Enum value describing the most common video formats.
  */
@@ -136,6 +137,7 @@
   GST_VIDEO_FORMAT_GBR_10BE,
   GST_VIDEO_FORMAT_GBR_10LE,
   GST_VIDEO_FORMAT_NV16,
+  GST_VIDEO_FORMAT_NV24,
 } GstVideoFormat;
 
 #define GST_VIDEO_MAX_PLANES 4
@@ -432,7 +434,7 @@
 
 #define GST_VIDEO_FORMATS_ALL "{ I420, YV12, YUY2, UYVY, AYUV, RGBx, "  \
     "BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, "  \
-    "YVYU, Y444, v210, v216, NV12, NV21, NV16, GRAY8, GRAY16_BE, GRAY16_LE, " \
+    "YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, " \
     "v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, " \
     "IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, " \
     " Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE }"
diff --git a/gst-libs/gst/video/video-info.c b/gst-libs/gst/video/video-info.c
index 4dc2267..6db2f66 100644
--- a/gst-libs/gst/video/video-info.c
+++ b/gst-libs/gst/video/video-info.c
@@ -502,6 +502,13 @@
       info->offset[1] = info->stride[0] * height;
       info->size = info->stride[0] * height * 2;
       break;
+    case GST_VIDEO_FORMAT_NV24:
+      info->stride[0] = GST_ROUND_UP_4 (width);
+      info->stride[1] = GST_ROUND_UP_4 (width * 2);
+      info->offset[0] = 0;
+      info->offset[1] = info->stride[0] * height;
+      info->size = info->stride[0] * height + info->stride[1] * height;
+      break;
     case GST_VIDEO_FORMAT_A420:
       info->stride[0] = GST_ROUND_UP_4 (width);
       info->stride[1] = GST_ROUND_UP_4 (GST_ROUND_UP_2 (width) / 2);
@@ -723,15 +730,38 @@
   GST_LOG ("padding %u-%ux%u-%u", align->padding_top,
       align->padding_left, align->padding_right, align->padding_bottom);
 
-  /* add the padding */
-  padded_width = width + align->padding_left + align->padding_right;
-  padded_height = height + align->padding_top + align->padding_bottom;
-
   n_planes = GST_VIDEO_INFO_N_PLANES (info);
 
   if (GST_VIDEO_FORMAT_INFO_HAS_PALETTE (vinfo))
     n_planes--;
 
+  /* first make sure the left padding does not cause alignment problems later */
+  do {
+    GST_LOG ("left padding %u", align->padding_left);
+    aligned = TRUE;
+    for (i = 0; i < n_planes; i++) {
+      gint hedge;
+
+      /* this is the amout of pixels to add as left padding */
+      hedge = GST_VIDEO_FORMAT_INFO_SCALE_WIDTH (vinfo, i, align->padding_left);
+      hedge *= GST_VIDEO_FORMAT_INFO_PSTRIDE (vinfo, i);
+
+      GST_LOG ("plane %d, padding %d, alignment %u", i, hedge,
+          align->stride_align[i]);
+      aligned &= (hedge & align->stride_align[i]) == 0;
+    }
+    if (aligned)
+      break;
+
+    GST_LOG ("unaligned padding, increasing padding");
+    /* increase padded_width */
+    align->padding_left += align->padding_left & ~(align->padding_left - 1);
+  } while (!aligned);
+
+  /* add the padding */
+  padded_width = width + align->padding_left + align->padding_right;
+  padded_height = height + align->padding_top + align->padding_bottom;
+
   do {
     GST_LOG ("padded dimension %u-%u", padded_width, padded_height);
 
diff --git a/gst-libs/gst/video/video-orc-dist.c b/gst-libs/gst/video/video-orc-dist.c
index 02f5783..51bcbf0 100644
--- a/gst-libs/gst/video/video-orc-dist.c
+++ b/gst-libs/gst/video/video-orc-dist.c
@@ -6497,7 +6497,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,
       };
diff --git a/gst-plugins-base.doap b/gst-plugins-base.doap
index 0f925df..6c1625d 100644
--- a/gst-plugins-base.doap
+++ b/gst-plugins-base.doap
@@ -36,6 +36,16 @@
 
  <release>
   <Version>
+   <revision>1.1.3</revision>
+   <branch>1.1</branch>
+   <name></name>
+   <created>2013-07-29</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.1.3.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.1.2</revision>
    <branch>1.1</branch>
    <name></name>
diff --git a/gst-plugins-base.spec b/gst-plugins-base.spec
index f61b1b8..d235576 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.1.2
+Version: 	1.1.3
 Release: 	1.gst
 Summary: 	GStreamer streaming media framework plug-ins
 
diff --git a/gst/audiorate/gstaudiorate.c b/gst/audiorate/gstaudiorate.c
index ecd1749..7f64fd1 100644
--- a/gst/audiorate/gstaudiorate.c
+++ b/gst/audiorate/gstaudiorate.c
@@ -340,6 +340,11 @@
         gst_audio_rate_fill_to_time (audiorate, audiorate->src_segment.stop);
       res = gst_pad_push_event (audiorate->srcpad, event);
       break;
+    case GST_EVENT_GAP:
+      /* no gaps after audiorate, ignore the event */
+      gst_event_unref (event);
+      res = TRUE;
+      break;
     default:
       res = gst_pad_event_default (pad, parent, event);
       break;
diff --git a/gst/encoding/Makefile.am b/gst/encoding/Makefile.am
index 85efbd1..8ce1978 100644
--- a/gst/encoding/Makefile.am
+++ b/gst/encoding/Makefile.am
@@ -17,7 +17,8 @@
 	gstencodebin.h		\
 	gststreamcombiner.h	\
 	gststreamsplitter.h	\
-	gstsmartencoder.h
+	gstsmartencoder.h	\
+	gststreamcombinerpad.h
 
 include $(top_srcdir)/common/gst-glib-gen.mak
 
diff --git a/gst/encoding/Makefile.in b/gst/encoding/Makefile.in
index 75be872..17a80d0 100644
--- a/gst/encoding/Makefile.in
+++ b/gst/encoding/Makefile.in
@@ -550,7 +550,8 @@
 	gstencodebin.h		\
 	gststreamcombiner.h	\
 	gststreamsplitter.h	\
-	gstsmartencoder.h
+	gstsmartencoder.h	\
+	gststreamcombinerpad.h
 
 enum_headers = $(foreach h,$(glib_enum_headers),\n\#include \"$(h)\")
 all: all-am
diff --git a/gst/encoding/gststreamcombiner.c b/gst/encoding/gststreamcombiner.c
index 2eb73c2..42c959d 100644
--- a/gst/encoding/gststreamcombiner.c
+++ b/gst/encoding/gststreamcombiner.c
@@ -23,6 +23,7 @@
 #endif
 
 #include "gststreamcombiner.h"
+#include "gststreamcombinerpad.h"
 
 static GstStaticPadTemplate src_template =
 GST_STATIC_PAD_TEMPLATE ("src", GST_PAD_SRC, GST_PAD_ALWAYS,
@@ -38,6 +39,8 @@
 
 G_DEFINE_TYPE (GstStreamCombiner, gst_stream_combiner, GST_TYPE_ELEMENT);
 
+G_DEFINE_TYPE (GstStreamCombinerPad, gst_stream_combiner_pad, GST_TYPE_PAD);
+
 #define STREAMS_LOCK(obj) (g_mutex_lock(&obj->lock))
 #define STREAMS_UNLOCK(obj) (g_mutex_unlock(&obj->lock))
 
@@ -49,6 +52,18 @@
     GstPad * pad);
 
 static void
+gst_stream_combiner_pad_class_init (GstStreamCombinerPadClass * klass)
+{
+  return;
+}
+
+static void
+gst_stream_combiner_pad_init (GstStreamCombinerPad * mixerpad)
+{
+  mixerpad->is_eos = FALSE;
+}
+
+static void
 gst_stream_combiner_class_init (GstStreamCombinerClass * klass)
 {
   GObjectClass *gobject_klass;
@@ -99,32 +114,51 @@
 }
 
 static gboolean
+_all_sink_pads_eos (GstStreamCombiner * combiner)
+{
+  GList *tmp;
+
+  for (tmp = combiner->sinkpads; tmp; tmp = tmp->next) {
+    if (!(GST_STREAM_COMBINER_PAD (tmp->data))->is_eos)
+      return FALSE;
+  }
+
+  return TRUE;
+}
+
+static gboolean
 gst_stream_combiner_sink_event (GstPad * pad, GstObject * parent,
     GstEvent * event)
 {
   GstStreamCombiner *stream_combiner = (GstStreamCombiner *) parent;
+  GstStreamCombinerPad *combiner_pad = GST_STREAM_COMBINER_PAD (pad);
   /* FIXME : IMPLEMENT */
 
   GST_DEBUG_OBJECT (pad, "Got event %s", GST_EVENT_TYPE_NAME (event));
 
   switch (GST_EVENT_TYPE (event)) {
-    case GST_EVENT_CUSTOM_DOWNSTREAM:
-      if (gst_event_has_name (event, "stream-switching-eos")) {
+    case GST_EVENT_EOS:
+      STREAMS_LOCK (stream_combiner);
+      combiner_pad->is_eos = TRUE;
+      if (!_all_sink_pads_eos (stream_combiner)) {
         gst_event_unref (event);
-        event = gst_event_new_eos ();
+        event = NULL;
+      } else {
+        GST_DEBUG_OBJECT (stream_combiner, "All sink pads eos, pushing eos");
       }
+      STREAMS_UNLOCK (stream_combiner);
       break;
     default:
       break;
   }
 
   /* SEGMENT : lock, wait for other stream to EOS, select stream, unlock, push */
-  /* EOS : lock, mark pad as unused, unlock , drop event */
-  /* CUSTOM_REAL_EOS : push EOS downstream */
   /* FLUSH_START : lock, mark as flushing, unlock. if wasn't flushing forward */
   /* FLUSH_STOP : lock, unmark as flushing, unlock, if was flushing forward */
   /* OTHER : if selected pad forward */
-  return gst_pad_push_event (stream_combiner->srcpad, event);
+  if (event)
+    return gst_pad_push_event (stream_combiner->srcpad, event);
+  return FALSE;
 }
 
 static gboolean
@@ -204,11 +238,18 @@
     GstPadTemplate * templ, const gchar * name, const GstCaps * caps)
 {
   GstStreamCombiner *stream_combiner = (GstStreamCombiner *) element;
+  GstStreamCombinerPad *combiner_pad;
   GstPad *sinkpad;
+  GstElementClass *klass = GST_ELEMENT_GET_CLASS (element);
+  GstPadTemplate *template =
+      gst_element_class_get_pad_template (klass, "sink_%u");
 
   GST_DEBUG_OBJECT (element, "templ:%p, name:%s", templ, name);
 
-  sinkpad = gst_pad_new_from_static_template (&sink_template, name);
+  combiner_pad = g_object_new (GST_TYPE_STREAM_COMBINER_PAD, "name", name,
+      "template", template, "direction", template->direction, NULL);
+
+  sinkpad = GST_PAD_CAST (combiner_pad);
   gst_pad_set_chain_function (sinkpad, gst_stream_combiner_chain);
   gst_pad_set_event_function (sinkpad, gst_stream_combiner_sink_event);
   gst_pad_set_query_function (sinkpad, gst_stream_combiner_sink_query);
diff --git a/gst/encoding/gststreamcombinerpad.h b/gst/encoding/gststreamcombinerpad.h
new file mode 100644
index 0000000..a72ff60
--- /dev/null
+++ b/gst/encoding/gststreamcombinerpad.h
@@ -0,0 +1,63 @@
+/* Streamcombiner special-purpose pad
+ * Copyright (C) 2013 MathieuDuponchelle <mduponchelle1@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_STREAM_COMBINER_PAD_H__
+#define __GST_STREAM_COMBINER_PAD_H__
+
+#include <gst/gst.h>
+#include <gst/video/video.h>
+
+#include <gst/base/gstcollectpads.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_STREAM_COMBINER_PAD (gst_stream_combiner_pad_get_type())
+#define GST_STREAM_COMBINER_PAD(obj) \
+        (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_STREAM_COMBINER_PAD, GstStreamCombinerPad))
+#define GST_STREAM_COMBINER_PAD_CLASS(klass) \
+        (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_VIDEO_MIXER_PAD, GstStreamCombinerPadClass))
+#define GST_IS_STREAM_COMBINER_PAD(obj) \
+        (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_STREAM_COMBINER_PAD))
+#define GST_IS_STREAM_COMBINER_PAD_CLASS(klass) \
+        (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_STREAM_COMBINER_PAD))
+
+typedef struct _GstStreamCombinerPad GstStreamCombinerPad;
+typedef struct _GstStreamCombinerPadClass GstStreamCombinerPadClass;
+
+/**
+ * GstStream_CombinerPad:
+ *
+ * The opaque #GstStreamCombinerPad structure.
+ */
+struct _GstStreamCombinerPad
+{
+  GstPad parent;
+
+  gboolean is_eos;
+};
+
+struct _GstStreamCombinerPadClass
+{
+  GstPadClass parent_class;
+};
+
+GType gst_stream_combiner_pad_get_type (void);
+
+G_END_DECLS
+#endif /* __GST_STREAM_COMBINER_PAD_H__ */
diff --git a/gst/encoding/gststreamsplitter.c b/gst/encoding/gststreamsplitter.c
index ad8b161..7223777 100644
--- a/gst/encoding/gststreamsplitter.c
+++ b/gst/encoding/gststreamsplitter.c
@@ -151,11 +151,9 @@
   gboolean res = TRUE;
   gboolean toall = FALSE;
   gboolean store = FALSE;
-  gboolean eos = FALSE;
   gboolean flushpending = FALSE;
 
   /* FLUSH_START/STOP : forward to all
-   * EOS : transform to CUSTOM_REAL_EOS and forward to all
    * INBAND events : store to send in chain function to selected chain
    * OUT_OF_BAND events : send to all
    */
@@ -182,13 +180,7 @@
       toall = TRUE;
       break;
     case GST_EVENT_EOS:
-      /* Replace with our custom eos event */
-      gst_event_unref (event);
-      event =
-          gst_event_new_custom (GST_EVENT_CUSTOM_DOWNSTREAM,
-          gst_structure_new_empty ("stream-switching-eos"));
       toall = TRUE;
-      eos = TRUE;
       break;
     default:
       if (GST_EVENT_TYPE (event) & GST_EVENT_TYPE_SERIALIZED)
@@ -205,7 +197,7 @@
   if (store) {
     stream_splitter->pending_events =
         g_list_append (stream_splitter->pending_events, event);
-  } else if (toall || eos) {
+  } else if (toall) {
     GList *tmp;
     guint32 cookie;
 
@@ -224,12 +216,6 @@
     while (tmp) {
       GstPad *srcpad = (GstPad *) tmp->data;
       STREAMS_UNLOCK (stream_splitter);
-      /* In case of EOS, we first push out the real one to flush out
-       * each streams (but which will be discarded in the streamcombiner)
-       * before our custom one (which will be converted back to and EOS
-       * in the streamcombiner) */
-      if (eos)
-        gst_pad_push_event (srcpad, gst_event_new_eos ());
       gst_event_ref (event);
       res = gst_pad_push_event (srcpad, event);
       STREAMS_LOCK (stream_splitter);
@@ -389,30 +375,6 @@
   return res;
 }
 
-static gboolean
-gst_stream_splitter_src_event (GstPad * pad, GstObject * parent,
-    GstEvent * event)
-{
-  GstStreamSplitter *stream_splitter = (GstStreamSplitter *) parent;
-
-  GST_DEBUG_OBJECT (pad, "%s", GST_EVENT_TYPE_NAME (event));
-
-  /* Forward upstream as is */
-  return gst_pad_push_event (stream_splitter->sinkpad, event);
-}
-
-static gboolean
-gst_stream_splitter_src_query (GstPad * pad, GstObject * parent,
-    GstQuery * query)
-{
-  GstStreamSplitter *stream_splitter = (GstStreamSplitter *) parent;
-
-  GST_DEBUG_OBJECT (pad, "%s", GST_QUERY_TYPE_NAME (query));
-
-  /* Forward upstream as is */
-  return gst_pad_peer_query (stream_splitter->sinkpad, query);
-}
-
 static void
 gst_stream_splitter_init (GstStreamSplitter * stream_splitter)
 {
@@ -437,8 +399,6 @@
   GstPad *srcpad;
 
   srcpad = gst_pad_new_from_static_template (&src_template, name);
-  gst_pad_set_event_function (srcpad, gst_stream_splitter_src_event);
-  gst_pad_set_query_function (srcpad, gst_stream_splitter_src_query);
 
   STREAMS_LOCK (stream_splitter);
   stream_splitter->srcpads = g_list_append (stream_splitter->srcpads, srcpad);
diff --git a/gst/playback/gstplaybin2.c b/gst/playback/gstplaybin2.c
index f3d8c75..0ab3125 100644
--- a/gst/playback/gstplaybin2.c
+++ b/gst/playback/gstplaybin2.c
@@ -340,6 +340,9 @@
   gint pending;
   gboolean sub_pending;
 
+  gboolean have_group_id;
+  guint group_id;
+
   gulong pad_added_id;
   gulong pad_removed_id;
   gulong no_more_pads_id;
@@ -359,7 +362,7 @@
   gulong block_id;
 
   GMutex stream_changed_pending_lock;
-  GList *stream_changed_pending;
+  gboolean stream_changed_pending;
 
   /* to prevent that suburidecodebin seek flushes disrupt playback */
   GMutex suburi_flushes_to_drop_lock;
@@ -585,6 +588,9 @@
   LAST_SIGNAL
 };
 
+static GstStaticCaps raw_audio_caps = GST_STATIC_CAPS ("audio/x-raw");
+static GstStaticCaps raw_video_caps = GST_STATIC_CAPS ("video/x-raw");
+
 static void gst_play_bin_class_init (GstPlayBinClass * klass);
 static void gst_play_bin_init (GstPlayBin * playbin);
 static void gst_play_bin_finalize (GObject * object);
@@ -1274,6 +1280,10 @@
   group->audio_channels = g_ptr_array_new ();
   group->text_channels = g_ptr_array_new ();
   g_mutex_init (&group->lock);
+
+  group->stream_changed_pending = FALSE;
+  g_mutex_init (&group->stream_changed_pending_lock);
+
   /* init combiners. The combiner is found by finding the first prefix that
    * matches the media. */
   group->playbin = playbin;
@@ -1320,12 +1330,8 @@
     gst_object_unref (group->text_sink);
   group->text_sink = NULL;
 
-  g_list_free (group->stream_changed_pending);
-  group->stream_changed_pending = NULL;
-
-  if (group->stream_changed_pending_lock.p)
-    g_mutex_clear (&group->stream_changed_pending_lock);
-  group->stream_changed_pending_lock.p = NULL;
+  group->stream_changed_pending = FALSE;
+  g_mutex_clear (&group->stream_changed_pending_lock);
 
   g_slist_free (group->suburi_flushes_to_drop);
   group->suburi_flushes_to_drop = NULL;
@@ -2166,7 +2172,7 @@
 
   if (*elem)
     gst_object_unref (*elem);
-  *elem = gst_object_ref (sink);
+  *elem = sink ? gst_object_ref (sink) : NULL;
 }
 
 static void
@@ -2605,13 +2611,9 @@
     gboolean pending;
 
     GST_SOURCE_GROUP_LOCK (group);
-    if (group->stream_changed_pending_lock.p) {
-      g_mutex_lock (&group->stream_changed_pending_lock);
-      pending = group->pending || group->stream_changed_pending;
-      g_mutex_unlock (&group->stream_changed_pending_lock);
-    } else {
-      pending = group->pending;
-    }
+
+    pending = group->pending || group->stream_changed_pending;
+
     if (pending) {
       GstFormat fmt;
       gint i;
@@ -2691,6 +2693,10 @@
       gst_message_unref (msg);
       msg = NULL;
     }
+  } else if (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_STREAM_START) {
+    GstSourceGroup *new_group = playbin->curr_group;
+
+    new_group->stream_changed_pending = FALSE;
   } else if (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_ERROR) {
     /* If we get an error of the subtitle uridecodebin transform
      * them into warnings and disable the subtitles */
@@ -2841,31 +2847,72 @@
 }
 
 static GstPadProbeReturn
-_suburidecodebin_event_probe (GstPad * pad, GstPadProbeInfo * info,
-    gpointer udata)
+_uridecodebin_event_probe (GstPad * pad, GstPadProbeInfo * info, gpointer udata)
 {
   GstPadProbeReturn ret = GST_PAD_PROBE_OK;
   GstSourceGroup *group = udata;
   GstEvent *event = GST_PAD_PROBE_INFO_DATA (info);
+  gboolean suburidecodebin = (GST_PAD_PARENT (pad) == group->suburidecodebin);
 
-  switch (GST_EVENT_TYPE (event)) {
-    case GST_EVENT_FLUSH_START:
-    case GST_EVENT_FLUSH_STOP:
-    {
-      guint32 seqnum = gst_event_get_seqnum (event);
-      GSList *item = g_slist_find (group->suburi_flushes_to_drop,
-          GUINT_TO_POINTER (seqnum));
-      if (item) {
-        ret = GST_PAD_PROBE_DROP;       /* this is from subtitle seek only, drop it */
-        if (GST_EVENT_TYPE (event) == GST_EVENT_FLUSH_STOP) {
-          group->suburi_flushes_to_drop =
-              g_slist_delete_link (group->suburi_flushes_to_drop, item);
+  if (suburidecodebin) {
+    /* Drop flushes that we caused from the suburidecodebin */
+    switch (GST_EVENT_TYPE (event)) {
+      case GST_EVENT_FLUSH_START:
+      case GST_EVENT_FLUSH_STOP:
+      {
+        guint32 seqnum = gst_event_get_seqnum (event);
+        GSList *item = g_slist_find (group->suburi_flushes_to_drop,
+            GUINT_TO_POINTER (seqnum));
+        if (item) {
+          if (GST_EVENT_TYPE (event) == GST_EVENT_FLUSH_STOP) {
+            group->suburi_flushes_to_drop =
+                g_slist_delete_link (group->suburi_flushes_to_drop, item);
+          }
         }
       }
+      default:
+        break;
+    }
+  }
+
+  switch (GST_EVENT_TYPE (event)) {
+    case GST_EVENT_STREAM_START:{
+      guint group_id;
+
+      GST_SOURCE_GROUP_LOCK (group);
+      if (gst_event_parse_group_id (event, &group_id)) {
+        if (group->have_group_id) {
+          if (group->group_id != group_id) {
+            event = gst_event_copy (event);
+            gst_event_set_group_id (event, group->group_id);
+            gst_event_replace ((GstEvent **) & info->data, event);
+            gst_event_unref (event);
+          }
+        } else {
+          group->group_id = group_id;
+          group->have_group_id = TRUE;
+        }
+      } else {
+        GST_FIXME_OBJECT (pad,
+            "Consider implementing group-id handling on stream-start event");
+
+        if (!group->have_group_id) {
+          group->group_id = gst_util_group_id_next ();
+          group->have_group_id = TRUE;
+        }
+
+        event = gst_event_copy (event);
+        gst_event_set_group_id (event, group->group_id);
+        gst_event_replace ((GstEvent **) & info->data, event);
+        gst_event_unref (event);
+      }
+      GST_SOURCE_GROUP_UNLOCK (group);
+      break;
     }
     default:
       break;
   }
+
   return ret;
 }
 
@@ -2939,6 +2986,7 @@
   gint i, pass;
   gboolean changed = FALSE;
   GstElement *custom_combiner = NULL;
+  gulong group_id_probe_handler;
 
   playbin = group->playbin;
 
@@ -3113,12 +3161,11 @@
   }
   GST_SOURCE_GROUP_UNLOCK (group);
 
-  if (decodebin == group->suburidecodebin) {
-    /* TODO store the probe id */
-    /* to avoid propagating flushes from suburi specific seeks */
-    gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM,
-        _suburidecodebin_event_probe, group, NULL);
-  }
+  group_id_probe_handler =
+      gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM,
+      _uridecodebin_event_probe, group, NULL);
+  g_object_set_data (G_OBJECT (pad), "playbin.event_probe_id",
+      (gpointer) group_id_probe_handler);
 
   if (changed) {
     int signal;
@@ -3190,6 +3237,7 @@
   GstElement *combiner;
   GstSourceCombine *combine;
   int signal = -1;
+  gulong group_id_probe_handler;
 
   playbin = group->playbin;
 
@@ -3198,6 +3246,13 @@
 
   GST_SOURCE_GROUP_LOCK (group);
 
+  if ((group_id_probe_handler =
+          (guintptr) g_object_get_data (G_OBJECT (pad),
+              "playbin.event_probe_id"))) {
+    gst_pad_remove_probe (pad, group_id_probe_handler);
+    g_object_set_data (G_OBJECT (pad), "playbin.event_probe_id", 0);
+  }
+
   if ((combine = g_object_get_data (G_OBJECT (pad), "playbin.combine"))) {
     g_assert (combine->combiner == NULL);
     g_assert (combine->srcpad == pad);
@@ -3544,15 +3599,22 @@
   v1 = (GstAVElement *) p1;
   v2 = (GstAVElement *) p2;
 
-  fs1 = (GstPluginFeature *) v1->sink;
-  fs2 = (GstPluginFeature *) v2->sink;
   fd1 = (GstPluginFeature *) v1->dec;
   fd2 = (GstPluginFeature *) v2->dec;
 
-  v1_rank =
-      gst_plugin_feature_get_rank (fd1) * gst_plugin_feature_get_rank (fs1);
-  v2_rank =
-      gst_plugin_feature_get_rank (fd2) * gst_plugin_feature_get_rank (fs2);
+  /* If both have a sink, we also compare their ranks */
+  if (v1->sink && v2->sink) {
+    fs1 = (GstPluginFeature *) v1->sink;
+    fs2 = (GstPluginFeature *) v2->sink;
+    v1_rank =
+        gst_plugin_feature_get_rank (fd1) * gst_plugin_feature_get_rank (fs1);
+    v2_rank =
+        gst_plugin_feature_get_rank (fd2) * gst_plugin_feature_get_rank (fs2);
+  } else {
+    v1_rank = gst_plugin_feature_get_rank (fd1);
+    v2_rank = gst_plugin_feature_get_rank (fd2);
+    fs1 = fs2 = NULL;
+  }
 
   /* comparison based on the rank */
   diff = v2_rank - v1_rank;
@@ -3566,10 +3628,12 @@
   if (diff != 0)
     return diff;
 
-  /* comparison based on the name of sink elements */
-  diff = strcmp (GST_OBJECT_NAME (fs1), GST_OBJECT_NAME (fs2));
-  if (diff != 0)
-    return diff;
+  if (fs1 && fs2) {
+    /* comparison based on the name of sink elements */
+    diff = strcmp (GST_OBJECT_NAME (fs1), GST_OBJECT_NAME (fs2));
+    if (diff != 0)
+      return diff;
+  }
 
   /* comparison based on the name of decoder elements */
   return strcmp (GST_OBJECT_NAME (fd1), GST_OBJECT_NAME (fd2));
@@ -3607,7 +3671,8 @@
 
 /* compute the number of common caps features */
 static guint
-get_n_common_capsfeatures (GstElementFactory * dec, GstElementFactory * sink)
+get_n_common_capsfeatures (GstPlayBin * playbin, GstElementFactory * dec,
+    GstElementFactory * sink, gboolean isaudioelement)
 {
   GstCaps *d_tmpl_caps, *s_tmpl_caps;
   GstCapsFeatures *d_features, *s_features;
@@ -3615,6 +3680,14 @@
   GList *cf_list = NULL;
   guint d_caps_size, s_caps_size;
   guint i, j, n_common_cf = 0;
+  GstCaps *raw_caps =
+      (isaudioelement) ? gst_static_caps_get (&raw_audio_caps) :
+      gst_static_caps_get (&raw_video_caps);
+  GstStructure *raw_struct = gst_caps_get_structure (raw_caps, 0);
+  GstPlayFlags flags = gst_play_bin_get_flags (playbin);
+  gboolean native_raw =
+      (isaudioelement ? ! !(flags & GST_PLAY_FLAG_NATIVE_AUDIO) : ! !(flags &
+          GST_PLAY_FLAG_NATIVE_VIDEO));
 
   d_tmpl_caps = get_template_caps (dec, GST_PAD_SRC);
   s_tmpl_caps = get_template_caps (sink, GST_PAD_SINK);
@@ -3631,11 +3704,24 @@
     d_features = gst_caps_get_features ((const GstCaps *) d_tmpl_caps, i);
     d_struct = gst_caps_get_structure ((const GstCaps *) d_tmpl_caps, i);
     for (j = 0; j < s_caps_size; j++) {
+
       s_features = gst_caps_get_features ((const GstCaps *) s_tmpl_caps, j);
       s_struct = gst_caps_get_structure ((const GstCaps *) s_tmpl_caps, j);
-      if (gst_structure_can_intersect (d_struct, s_struct) &&
-          gst_caps_features_is_equal (d_features, s_features) &&
-          !is_included (cf_list, s_features)) {
+
+      /* A common caps feature is given if the caps features are equal
+       * and the structures can intersect. If the NATIVE_AUDIO/NATIVE_VIDEO
+       * flags are not set we also allow if both structures are raw caps with
+       * system memory caps features, because in that case we have converters in
+       * place.
+       */
+      if (gst_caps_features_is_equal (d_features, s_features) &&
+          (gst_structure_can_intersect (d_struct, s_struct) ||
+              (!native_raw
+                  && gst_caps_features_is_equal (d_features,
+                      GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY)
+                  && gst_structure_can_intersect (raw_struct, d_struct)
+                  && gst_structure_can_intersect (raw_struct, s_struct)))
+          && !is_included (cf_list, s_features)) {
         cf_list = g_list_prepend (cf_list, s_features);
         n_common_cf++;
       }
@@ -3692,7 +3778,9 @@
     for (; sl; sl = sl->next) {
       s_factory = (GstElementFactory *) sl->data;
 
-      n_common_cf = get_n_common_capsfeatures (d_factory, s_factory);
+      n_common_cf =
+          get_n_common_capsfeatures (playbin, d_factory, s_factory,
+          isaudioelement);
       if (n_common_cf < 1)
         continue;
 
@@ -3751,6 +3839,13 @@
           g_sequence_lookup (avelements, factory,
           (GCompareDataFunc) avelement_lookup_decoder, NULL);
       if (!seq_iter) {
+        GstAVElement *ave = g_slice_new0 (GstAVElement);
+
+        ave->dec = factory;
+        ave->sink = NULL;
+        /* There's at least raw */
+        ave->n_comm_cf = 1;
+
         dec_list = g_list_prepend (dec_list, factory);
         continue;
       }
@@ -4129,9 +4224,6 @@
   return TRUE;
 }
 
-static GstStaticCaps raw_audio_caps = GST_STATIC_CAPS ("audio/x-raw");
-static GstStaticCaps raw_video_caps = GST_STATIC_CAPS ("video/x-raw");
-
 /* We are asked to select an element. See if the next element to check
  * is a sink. If this is the case, we see if the sink works by setting it to
  * READY. If the sink works, we return SELECT_EXPOSE to make decodebin
@@ -4233,6 +4325,7 @@
           } else {
             if (!activate_sink (playbin, *sinkp, NULL)) {
               gst_object_unref (*sinkp);
+              *sinkp = NULL;
               GST_WARNING_OBJECT (playbin,
                   "Could not activate sink %s",
                   gst_plugin_feature_get_name (GST_PLUGIN_FEATURE (ave->sink)));
@@ -4381,6 +4474,8 @@
   if (!activate_sink (playbin, element, NULL)) {
     GST_WARNING_OBJECT (playbin, "Could not activate sink %s",
         gst_plugin_feature_get_name (GST_PLUGIN_FEATURE (factory)));
+    *sinkp = NULL;
+    gst_object_unref (element);
     GST_SOURCE_GROUP_UNLOCK (group);
     return GST_AUTOPLUG_SELECT_SKIP;
   }
@@ -4783,11 +4878,6 @@
     }
   }
 
-  g_list_free (group->stream_changed_pending);
-  group->stream_changed_pending = NULL;
-  if (!group->stream_changed_pending_lock.p)
-    g_mutex_init (&group->stream_changed_pending_lock);
-
   g_slist_free (group->suburi_flushes_to_drop);
   group->suburi_flushes_to_drop = NULL;
   if (!group->suburi_flushes_to_drop_lock.p)
@@ -5102,6 +5192,8 @@
       gst_bin_remove (GST_BIN_CAST (playbin), group->suburidecodebin);
   }
 
+  group->have_group_id = FALSE;
+
   GST_SOURCE_GROUP_UNLOCK (group);
 
   return TRUE;
@@ -5123,6 +5215,8 @@
   if (!new_group || !new_group->valid)
     goto no_next_group;
 
+  new_group->stream_changed_pending = TRUE;
+
   /* first unlink the current source, if any */
   old_group = playbin->curr_group;
   if (old_group && old_group->valid && old_group->active) {
@@ -5155,6 +5249,7 @@
   }
 activate_failed:
   {
+    new_group->stream_changed_pending = FALSE;
     GST_DEBUG_OBJECT (playbin, "activate failed");
     GST_PLAY_BIN_UNLOCK (playbin);
     return FALSE;
diff --git a/gst/playback/gstplaysink.c b/gst/playback/gstplaysink.c
index ec5f921..8c025a4 100644
--- a/gst/playback/gstplaysink.c
+++ b/gst/playback/gstplaysink.c
@@ -267,18 +267,15 @@
   /* sending audio/video flushes break stream changes when the pipeline
    * is paused and played again in 0.10 */
 #if 0
-  GstSegment video_segment;
   gboolean video_custom_flush_finished;
   gboolean video_ignore_wrong_state;
   gboolean video_pending_flush;
 
-  GstSegment audio_segment;
   gboolean audio_custom_flush_finished;
   gboolean audio_ignore_wrong_state;
   gboolean audio_pending_flush;
 #endif
 
-  GstSegment text_segment;
   gboolean text_custom_flush_finished;
   gboolean text_ignore_wrong_state;
   gboolean text_pending_flush;
@@ -1714,6 +1711,7 @@
     g_signal_handler_disconnect (playsink->colorbalance_element,
         playsink->colorbalance_value_changed_id);
     gst_object_unref (playsink->colorbalance_element);
+    playsink->colorbalance_value_changed_id = 0;
   }
   playsink->colorbalance_element = find_color_balance_element (chain->sink);
   if (playsink->colorbalance_element) {
@@ -1908,6 +1906,7 @@
   if (playsink->colorbalance_element) {
     g_signal_handler_disconnect (playsink->colorbalance_element,
         playsink->colorbalance_value_changed_id);
+    playsink->colorbalance_value_changed_id = 0;
     gst_object_unref (playsink->colorbalance_element);
   }
   playsink->colorbalance_element = find_color_balance_element (chain->sink);
@@ -1925,10 +1924,14 @@
     g_object_set (chain->conv, "use-balance", use_balance, NULL);
 
     GST_OBJECT_LOCK (playsink);
-    if (use_balance && GST_PLAY_SINK_VIDEO_CONVERT (chain->conv)->balance)
+    if (use_balance && GST_PLAY_SINK_VIDEO_CONVERT (chain->conv)->balance) {
       playsink->colorbalance_element =
           GST_COLOR_BALANCE (gst_object_ref (GST_PLAY_SINK_VIDEO_CONVERT
               (chain->conv)->balance));
+      playsink->colorbalance_value_changed_id =
+          g_signal_connect (playsink->colorbalance_element, "value-changed",
+          G_CALLBACK (colorbalance_value_changed_cb), playsink);
+    }
     GST_OBJECT_UNLOCK (playsink);
   }
 
@@ -1937,25 +1940,11 @@
   return TRUE;
 }
 
-static void
-_generate_update_newsegment_event (GstPad * pad, GstSegment * segment,
-    GstEvent ** event1)
-{
-  GstEvent *event;
-  GstStructure *structure;
-  event = gst_event_new_segment (segment);
-  structure = gst_event_writable_structure (event);
-  gst_structure_id_set (structure,
-      _playsink_reset_segment_event_marker_id, G_TYPE_BOOLEAN, TRUE, NULL);
-  *event1 = event;
-}
-
 static gboolean
 gst_play_sink_sink_event (GstPad * pad, GstObject * parent, GstEvent * event,
     const gchar * sink_type,
     gboolean * sink_ignore_wrong_state,
-    gboolean * sink_custom_flush_finished,
-    gboolean * sink_pending_flush, GstSegment * sink_segment)
+    gboolean * sink_custom_flush_finished, gboolean * sink_pending_flush)
 {
   GstPlaySink *playsink = GST_PLAY_SINK_CAST (gst_object_get_parent (parent));
   gboolean ret;
@@ -1988,40 +1977,11 @@
 
     g_free (custom_flush);
     g_free (custom_flush_finish);
-  } else if (GST_EVENT_TYPE (event) == GST_EVENT_FLUSH_STOP) {
-    GST_PLAY_SINK_LOCK (playsink);
-    GST_DEBUG_OBJECT (pad, "Resetting %s segment because of flush-stop event",
-        sink_type);
-    gst_segment_init (sink_segment, GST_FORMAT_UNDEFINED);
-    GST_PLAY_SINK_UNLOCK (playsink);
   }
 
   GST_DEBUG_OBJECT (pad, "Forwarding event %" GST_PTR_FORMAT, event);
   ret = gst_pad_event_default (pad, parent, gst_event_ref (event));
 
-  if (GST_EVENT_TYPE (event) == GST_EVENT_SEGMENT) {
-    const GstSegment *segment;
-
-    gst_event_parse_segment (event, &segment);
-    GST_DEBUG_OBJECT (pad, "Segment event: %" GST_SEGMENT_FORMAT, segment);
-
-    GST_PLAY_SINK_LOCK (playsink);
-    if (sink_segment->format != segment->format) {
-      GST_DEBUG_OBJECT (pad, "%s segment format changed: %s -> %s",
-          sink_type,
-          gst_format_get_name (sink_segment->format),
-          gst_format_get_name (segment->format));
-      gst_segment_init (sink_segment, segment->format);
-    }
-
-    GST_DEBUG_OBJECT (pad, "Old %s segment: %" GST_SEGMENT_FORMAT,
-        sink_type, sink_segment);
-    gst_segment_copy_into (&playsink->text_segment, sink_segment);
-    GST_DEBUG_OBJECT (pad, "New %s segment: %" GST_SEGMENT_FORMAT,
-        sink_type, sink_segment);
-    GST_PLAY_SINK_UNLOCK (playsink);
-  }
-
   gst_event_unref (event);
   gst_object_unref (playsink);
   return ret;
@@ -2031,8 +1991,7 @@
 gst_play_sink_sink_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer,
     const gchar * sink_type,
     gboolean * sink_ignore_wrong_state,
-    gboolean * sink_custom_flush_finished,
-    gboolean * sink_pending_flush, GstSegment * sink_segment)
+    gboolean * sink_custom_flush_finished, gboolean * sink_pending_flush)
 {
   GstBin *tbin = GST_BIN_CAST (gst_pad_get_parent (pad));
   GstPlaySink *playsink = GST_PLAY_SINK_CAST (gst_pad_get_parent (tbin));
@@ -2041,6 +2000,7 @@
   GST_PLAY_SINK_LOCK (playsink);
 
   if (*sink_pending_flush) {
+    GstEvent *segment_event;
     GstEvent *event;
     GstStructure *structure;
 
@@ -2048,6 +2008,8 @@
 
     GST_PLAY_SINK_UNLOCK (playsink);
 
+    segment_event = gst_pad_get_sticky_event (pad, GST_EVENT_SEGMENT, 0);
+
     /* make the bin drop all cached data.
      * This event will be dropped on the src pad, if any. */
     event = gst_event_new_flush_start ();
@@ -2074,14 +2036,17 @@
 
     /* Re-sync queue segment info after flush-stop.
      * This event will be dropped on the src pad. */
-    if (sink_segment->format != GST_FORMAT_UNDEFINED) {
-      GstEvent *event1;
+    if (segment_event) {
+      event = gst_event_copy (segment_event);
+      structure = gst_event_writable_structure (event);
+      gst_structure_id_set (structure,
+          _playsink_reset_segment_event_marker_id, G_TYPE_BOOLEAN, TRUE, NULL);
 
-      _generate_update_newsegment_event (pad, sink_segment, &event1);
       GST_DEBUG_OBJECT (playsink,
           "Pushing segment event with reset "
-          "segment marker set: %" GST_PTR_FORMAT, event1);
-      gst_pad_send_event (pad, event1);
+          "segment marker set: %" GST_PTR_FORMAT, event);
+      gst_pad_send_event (pad, event);
+      gst_event_unref (segment_event);
     }
   } else {
     GST_PLAY_SINK_UNLOCK (playsink);
@@ -2189,8 +2154,7 @@
 
   ret = gst_play_sink_sink_event (pad, parent, event, "subtitle",
       &playsink->text_ignore_wrong_state,
-      &playsink->text_custom_flush_finished,
-      &playsink->text_pending_flush, &playsink->text_segment);
+      &playsink->text_custom_flush_finished, &playsink->text_pending_flush);
 
   gst_object_unref (playsink);
 
@@ -2206,8 +2170,7 @@
 
   ret = gst_play_sink_sink_chain (pad, parent, buffer, "subtitle",
       &playsink->text_ignore_wrong_state,
-      &playsink->text_custom_flush_finished,
-      &playsink->text_pending_flush, &playsink->text_segment);
+      &playsink->text_custom_flush_finished, &playsink->text_pending_flush);
 
   gst_object_unref (playsink);
   return ret;
@@ -3087,6 +3050,7 @@
         if (playsink->colorbalance_element) {
           g_signal_handler_disconnect (playsink->colorbalance_element,
               playsink->colorbalance_value_changed_id);
+          playsink->colorbalance_value_changed_id = 0;
           gst_object_unref (playsink->colorbalance_element);
         }
         playsink->colorbalance_element = NULL;
@@ -3221,6 +3185,7 @@
     if (playsink->colorbalance_element) {
       g_signal_handler_disconnect (playsink->colorbalance_element,
           playsink->colorbalance_value_changed_id);
+      playsink->colorbalance_value_changed_id = 0;
       gst_object_unref (playsink->colorbalance_element);
     }
     playsink->colorbalance_element = NULL;
@@ -4449,8 +4414,6 @@
   playsink = GST_PLAY_SINK (element);
   switch (transition) {
     case GST_STATE_CHANGE_READY_TO_PAUSED:
-      gst_segment_init (&playsink->text_segment, GST_FORMAT_UNDEFINED);
-
       playsink->need_async_start = TRUE;
       /* we want to go async to PAUSED until we managed to configure and add the
        * sinks */
@@ -4496,6 +4459,7 @@
       if (playsink->colorbalance_element) {
         g_signal_handler_disconnect (playsink->colorbalance_element,
             playsink->colorbalance_value_changed_id);
+        playsink->colorbalance_value_changed_id = 0;
         gst_object_unref (playsink->colorbalance_element);
       }
       playsink->colorbalance_element = NULL;
diff --git a/gst/playback/gstplaysinkconvertbin.c b/gst/playback/gstplaysinkconvertbin.c
index bbda869..d4f299c 100644
--- a/gst/playback/gstplaysinkconvertbin.c
+++ b/gst/playback/gstplaysinkconvertbin.c
@@ -76,25 +76,6 @@
   gst_element_post_message (GST_ELEMENT_CAST (self), msg);
 }
 
-static void
-distribute_running_time (GstElement * element, const GstSegment * segment)
-{
-  GstEvent *event;
-  GstPad *pad;
-
-  pad = gst_element_get_static_pad (element, "sink");
-
-  gst_pad_send_event (pad, gst_event_new_flush_start ());
-  gst_pad_send_event (pad, gst_event_new_flush_stop (FALSE));
-
-  if (segment->format != GST_FORMAT_UNDEFINED) {
-    event = gst_event_new_segment (segment);
-    gst_pad_send_event (pad, event);
-  }
-
-  gst_object_unref (pad);
-}
-
 void
 gst_play_sink_convert_bin_add_conversion_element (GstPlaySinkConvertBin * self,
     GstElement * el)
@@ -197,7 +178,6 @@
     GstPlaySinkConvertBin * self)
 {
   gst_element_sync_state_with_parent (element);
-  distribute_running_time (element, &self->segment);
 }
 
 static GstPadProbeReturn
@@ -273,25 +253,6 @@
 
   ret = gst_pad_event_default (pad, parent, gst_event_ref (event));
 
-  if (GST_EVENT_TYPE (event) == GST_EVENT_SEGMENT) {
-    GstSegment seg;
-
-    GST_PLAY_SINK_CONVERT_BIN_LOCK (self);
-    gst_event_copy_segment (event, &seg);
-
-    GST_DEBUG_OBJECT (self, "Segment before %" GST_SEGMENT_FORMAT,
-        &self->segment);
-    self->segment = seg;
-    GST_DEBUG_OBJECT (self, "Segment after %" GST_SEGMENT_FORMAT,
-        &self->segment);
-    GST_PLAY_SINK_CONVERT_BIN_UNLOCK (self);
-  } else if (GST_EVENT_TYPE (event) == GST_EVENT_FLUSH_STOP) {
-    GST_PLAY_SINK_CONVERT_BIN_LOCK (self);
-    GST_DEBUG_OBJECT (self, "Resetting segment");
-    gst_segment_init (&self->segment, GST_FORMAT_UNDEFINED);
-    GST_PLAY_SINK_CONVERT_BIN_UNLOCK (self);
-  }
-
   gst_event_unref (event);
 
   return ret;
@@ -572,7 +533,6 @@
       break;
     case GST_STATE_CHANGE_READY_TO_PAUSED:
       GST_PLAY_SINK_CONVERT_BIN_LOCK (self);
-      gst_segment_init (&self->segment, GST_FORMAT_UNDEFINED);
       gst_play_sink_convert_bin_set_targets (self, TRUE);
       self->raw = FALSE;
       GST_PLAY_SINK_CONVERT_BIN_UNLOCK (self);
@@ -588,7 +548,6 @@
   switch (transition) {
     case GST_STATE_CHANGE_PAUSED_TO_READY:
       GST_PLAY_SINK_CONVERT_BIN_LOCK (self);
-      gst_segment_init (&self->segment, GST_FORMAT_UNDEFINED);
       gst_play_sink_convert_bin_set_targets (self, TRUE);
       self->raw = FALSE;
       GST_PLAY_SINK_CONVERT_BIN_UNLOCK (self);
@@ -639,7 +598,6 @@
   GstPadTemplate *templ;
 
   g_mutex_init (&self->lock);
-  gst_segment_init (&self->segment, GST_FORMAT_UNDEFINED);
 
   templ = gst_static_pad_template_get (&sinktemplate);
   self->sinkpad = gst_ghost_pad_new_no_target_from_template ("sink", templ);
diff --git a/gst/playback/gstplaysinkconvertbin.h b/gst/playback/gstplaysinkconvertbin.h
index 1e452b2..8558e98 100644
--- a/gst/playback/gstplaysinkconvertbin.h
+++ b/gst/playback/gstplaysinkconvertbin.h
@@ -66,7 +66,6 @@
 
   GstPad *sinkpad, *sink_proxypad;
   guint sink_proxypad_block_id;
-  GstSegment segment;
 
   GstPad *srcpad;
 
diff --git a/gst/playback/gststreamsynchronizer.c b/gst/playback/gststreamsynchronizer.c
index a5eb530..cfe3738 100644
--- a/gst/playback/gststreamsynchronizer.c
+++ b/gst/playback/gststreamsynchronizer.c
@@ -76,6 +76,7 @@
    * default: G_MAXUINT32 */
   guint32 stream_start_seqnum;
   guint32 segment_seqnum;
+  guint group_id;
 } GstStream;
 
 /* Must be called with lock! */
@@ -135,25 +136,6 @@
   return it;
 }
 
-static gboolean
-gst_stream_synchronizer_query (GstPad * pad, GstObject * parent,
-    GstQuery * query)
-{
-  GstPad *opad;
-  gboolean ret = FALSE;
-
-  GST_LOG_OBJECT (pad, "Handling query %s", GST_QUERY_TYPE_NAME (query));
-
-  opad =
-      gst_stream_get_other_pad_from_pad (GST_STREAM_SYNCHRONIZER (parent), pad);
-  if (opad) {
-    ret = gst_pad_peer_query (opad, query);
-    gst_object_unref (opad);
-  }
-
-  return ret;
-}
-
 /* srcpad functions */
 static gboolean
 gst_stream_synchronizer_src_event (GstPad * pad, GstObject * parent,
@@ -243,86 +225,119 @@
     {
       GstStream *stream, *ostream;
       guint32 seqnum = gst_event_get_seqnum (event);
+      guint group_id;
+      gboolean have_group_id;
       GList *l;
       gboolean all_wait = TRUE;
       gboolean new_stream = TRUE;
 
+      have_group_id = gst_event_parse_group_id (event, &group_id);
+
       GST_STREAM_SYNCHRONIZER_LOCK (self);
+      self->have_group_id &= have_group_id;
+      have_group_id = self->have_group_id;
+
       stream = gst_pad_get_element_private (pad);
-      if (stream && stream->stream_start_seqnum != seqnum) {
+
+      if (!stream) {
+        GST_DEBUG_OBJECT (self, "No stream or STREAM_START from same source");
+        GST_STREAM_SYNCHRONIZER_UNLOCK (self);
+        break;
+      }
+
+      if ((have_group_id && stream->group_id != group_id) || (!have_group_id
+              && stream->stream_start_seqnum != seqnum)) {
         stream->is_eos = FALSE;
         stream->stream_start_seqnum = seqnum;
+        stream->group_id = group_id;
         stream->drop_discont = TRUE;
 
-        /* Check if this belongs to a stream that is already there,
-         * e.g. we got the visualizations for an audio stream */
-        for (l = self->streams; l; l = l->next) {
-          ostream = l->data;
+        if (!have_group_id) {
+          /* Check if this belongs to a stream that is already there,
+           * e.g. we got the visualizations for an audio stream */
+          for (l = self->streams; l; l = l->next) {
+            ostream = l->data;
 
-          if (ostream != stream && ostream->stream_start_seqnum == seqnum
-              && !ostream->wait) {
-            new_stream = FALSE;
+            if (ostream != stream && ostream->stream_start_seqnum == seqnum
+                && !ostream->wait) {
+              new_stream = FALSE;
+              break;
+            }
+          }
+
+          if (!new_stream) {
+            GST_DEBUG_OBJECT (pad,
+                "Stream %d belongs to running stream %d, no waiting",
+                stream->stream_number, ostream->stream_number);
+            stream->wait = FALSE;
+            stream->new_stream = FALSE;
+
+            GST_STREAM_SYNCHRONIZER_UNLOCK (self);
             break;
           }
+        } else if (group_id == self->group_id) {
+          GST_DEBUG_OBJECT (pad, "Stream %d belongs to running group %d, "
+              "no waiting", stream->stream_number, group_id);
+          GST_STREAM_SYNCHRONIZER_UNLOCK (self);
+          break;
         }
 
-        if (!new_stream) {
-          GST_DEBUG_OBJECT (pad,
-              "Stream %d belongs to running stream %d, no waiting",
-              stream->stream_number, ostream->stream_number);
-          stream->wait = FALSE;
-          stream->new_stream = FALSE;
-        } else {
-          GST_DEBUG_OBJECT (pad, "Stream %d changed", stream->stream_number);
+        GST_DEBUG_OBJECT (pad, "Stream %d changed", stream->stream_number);
 
-          stream->wait = TRUE;
-          stream->new_stream = TRUE;
+        stream->wait = TRUE;
+        stream->new_stream = TRUE;
+
+        for (l = self->streams; l; l = l->next) {
+          GstStream *ostream = l->data;
+
+          all_wait = all_wait && ostream->wait && (!have_group_id
+              || ostream->group_id == group_id);
+          if (!all_wait)
+            break;
+        }
+
+        if (all_wait) {
+          gint64 position = 0;
+
+          if (have_group_id)
+            GST_DEBUG_OBJECT (self,
+                "All streams have changed to group id %u -- unblocking",
+                group_id);
+          else
+            GST_DEBUG_OBJECT (self, "All streams have changed -- unblocking");
+
+          self->group_id = group_id;
 
           for (l = self->streams; l; l = l->next) {
             GstStream *ostream = l->data;
+            gint64 stop_running_time;
+            gint64 position_running_time;
 
-            all_wait = all_wait && ostream->wait;
-            if (!all_wait)
-              break;
+            ostream->wait = FALSE;
+
+            if (ostream->segment.format == GST_FORMAT_TIME) {
+              stop_running_time =
+                  gst_segment_to_running_time (&ostream->segment,
+                  GST_FORMAT_TIME, ostream->segment.stop);
+              position_running_time =
+                  gst_segment_to_running_time (&ostream->segment,
+                  GST_FORMAT_TIME, ostream->segment.position);
+              position =
+                  MAX (position, MAX (stop_running_time,
+                      position_running_time));
+            }
           }
-          if (all_wait) {
-            gint64 position = 0;
+          position = MAX (0, position);
+          self->group_start_time = MAX (self->group_start_time, position);
 
-            GST_DEBUG_OBJECT (self, "All streams have changed -- unblocking");
+          GST_DEBUG_OBJECT (self, "New group start time: %" GST_TIME_FORMAT,
+              GST_TIME_ARGS (self->group_start_time));
 
-            for (l = self->streams; l; l = l->next) {
-              GstStream *ostream = l->data;
-              gint64 stop_running_time;
-              gint64 position_running_time;
-
-              ostream->wait = FALSE;
-
-              if (ostream->segment.format == GST_FORMAT_TIME) {
-                stop_running_time =
-                    gst_segment_to_running_time (&ostream->segment,
-                    GST_FORMAT_TIME, ostream->segment.stop);
-                position_running_time =
-                    gst_segment_to_running_time (&ostream->segment,
-                    GST_FORMAT_TIME, ostream->segment.position);
-                position =
-                    MAX (position, MAX (stop_running_time,
-                        position_running_time));
-              }
-            }
-            position = MAX (0, position);
-            self->group_start_time = MAX (self->group_start_time, position);
-
-            GST_DEBUG_OBJECT (self, "New group start time: %" GST_TIME_FORMAT,
-                GST_TIME_ARGS (self->group_start_time));
-
-            for (l = self->streams; l; l = l->next) {
-              GstStream *ostream = l->data;
-              g_cond_broadcast (&ostream->stream_finish_cond);
-            }
+          for (l = self->streams; l; l = l->next) {
+            GstStream *ostream = l->data;
+            g_cond_broadcast (&ostream->stream_finish_cond);
           }
         }
-      } else {
-        GST_DEBUG_OBJECT (self, "No stream or STREAM_START from same source");
       }
 
       GST_STREAM_SYNCHRONIZER_UNLOCK (self);
@@ -657,6 +672,7 @@
   g_cond_init (&stream->stream_finish_cond);
   stream->stream_start_seqnum = G_MAXUINT32;
   stream->segment_seqnum = G_MAXUINT32;
+  stream->group_id = G_MAXUINT;
 
   tmp = g_strdup_printf ("sink_%u", self->current_stream_number);
   stream->sinkpad = gst_pad_new_from_static_template (&sinktemplate, tmp);
@@ -664,8 +680,6 @@
   gst_pad_set_element_private (stream->sinkpad, stream);
   gst_pad_set_iterate_internal_links_function (stream->sinkpad,
       GST_DEBUG_FUNCPTR (gst_stream_synchronizer_iterate_internal_links));
-  gst_pad_set_query_function (stream->sinkpad,
-      GST_DEBUG_FUNCPTR (gst_stream_synchronizer_query));
   gst_pad_set_event_function (stream->sinkpad,
       GST_DEBUG_FUNCPTR (gst_stream_synchronizer_sink_event));
   gst_pad_set_chain_function (stream->sinkpad,
@@ -677,8 +691,6 @@
   gst_pad_set_element_private (stream->srcpad, stream);
   gst_pad_set_iterate_internal_links_function (stream->srcpad,
       GST_DEBUG_FUNCPTR (gst_stream_synchronizer_iterate_internal_links));
-  gst_pad_set_query_function (stream->srcpad,
-      GST_DEBUG_FUNCPTR (gst_stream_synchronizer_query));
   gst_pad_set_event_function (stream->srcpad,
       GST_DEBUG_FUNCPTR (gst_stream_synchronizer_src_event));
 
@@ -717,6 +729,10 @@
     }
   }
   g_assert (l != NULL);
+  if (self->streams == NULL) {
+    self->have_group_id = TRUE;
+    self->group_id = G_MAXUINT;
+  }
 
   /* we can drop the lock, since stream exists now only local.
    * Moreover, we should drop, to prevent deadlock with STREAM_LOCK
@@ -799,6 +815,8 @@
     case GST_STATE_CHANGE_READY_TO_PAUSED:
       GST_DEBUG_OBJECT (self, "State change READY->PAUSED");
       self->group_start_time = 0;
+      self->have_group_id = TRUE;
+      self->group_id = G_MAXUINT;
       self->shutdown = FALSE;
       break;
     case GST_STATE_CHANGE_PAUSED_TO_READY:{
diff --git a/gst/playback/gststreamsynchronizer.h b/gst/playback/gststreamsynchronizer.h
index b999312..2f5a3ec 100644
--- a/gst/playback/gststreamsynchronizer.h
+++ b/gst/playback/gststreamsynchronizer.h
@@ -52,6 +52,9 @@
   guint current_stream_number;
 
   GstClockTime group_start_time;
+
+  gboolean have_group_id;
+  guint group_id;
 };
 
 struct _GstStreamSynchronizerClass
diff --git a/gst/playback/gstsubtitleoverlay.c b/gst/playback/gstsubtitleoverlay.c
index 64e9ade..76ff345 100644
--- a/gst/playback/gstsubtitleoverlay.c
+++ b/gst/playback/gstsubtitleoverlay.c
@@ -606,86 +606,6 @@
 }
 
 static gboolean
-_pad_query_convert_to_time (GstPad * pad, GstFormat src_format, gint64 src_val,
-    gint64 * dest_val)
-{
-  GstFormat dest_format;
-
-  if (src_val == GST_CLOCK_TIME_NONE) {
-    *dest_val = GST_CLOCK_TIME_NONE;
-    return TRUE;
-  }
-
-  dest_format = GST_FORMAT_TIME;
-  return gst_pad_query_convert (pad, src_format, src_val, dest_format,
-      dest_val);
-}
-
-static void
-_generate_update_segment_event (GstPad * pad, GstSegment * segment,
-    GstEvent ** event1)
-{
-  GstEvent *event;
-  GstStructure *structure;
-  GstSegment newsegment;
-  gboolean use_newseg = FALSE;
-  gint64 start, stop, base, time, position, duration;
-
-  /* always push newsegment with format TIME */
-  if (segment->format != GST_FORMAT_TIME) {
-    gboolean res;
-    GstPad *peer;
-
-    peer = gst_pad_get_peer (pad);
-    if (peer) {
-      res = _pad_query_convert_to_time (peer, segment->format,
-          segment->start, &start);
-      res = res && _pad_query_convert_to_time (peer, segment->format,
-          segment->stop, &stop);
-      res = res && _pad_query_convert_to_time (peer, segment->format,
-          segment->time, &time);
-      res = res && _pad_query_convert_to_time (peer, segment->format,
-          segment->base, &base);
-      res = res && _pad_query_convert_to_time (peer, segment->format,
-          segment->position, &position);
-      res = res && _pad_query_convert_to_time (peer, segment->format,
-          segment->duration, &duration);
-      if (!res) {
-        start = 0;
-        stop = GST_CLOCK_TIME_NONE;
-        time = 0;
-        position = 0;
-        duration = GST_CLOCK_TIME_NONE;
-        base = 0;
-      } else {
-        use_newseg = TRUE;
-        gst_segment_init (&newsegment, GST_FORMAT_TIME);
-        newsegment.rate = segment->rate;
-        newsegment.applied_rate = segment->applied_rate;
-        newsegment.start = start;
-        newsegment.stop = stop;
-        newsegment.time = time;
-        newsegment.base = base;
-        newsegment.position = position;
-        newsegment.duration = duration;
-      }
-
-      gst_object_unref (peer);
-    }
-  }
-
-  if (use_newseg) {
-    event = gst_event_new_segment (&newsegment);
-  } else {
-    event = gst_event_new_segment (segment);
-  }
-  structure = gst_event_writable_structure (event);
-  gst_structure_id_set (structure, _subtitle_overlay_event_marker_id,
-      G_TYPE_BOOLEAN, TRUE, NULL);
-  *event1 = event;
-}
-
-static gboolean
 _setup_passthrough (GstSubtitleOverlay * self)
 {
   GstPad *src, *sink;
@@ -743,17 +663,6 @@
     return FALSE;
   }
 
-  /* Send segment to the identity. This is dropped because identity
-   * is not linked downstream yet */
-  if (self->video_segment.format != GST_FORMAT_UNDEFINED) {
-    GstEvent *event1;
-
-    _generate_update_segment_event (sink, &self->video_segment, &event1);
-    GST_DEBUG_OBJECT (self,
-        "Pushing video segment event: %" GST_PTR_FORMAT, event1);
-    gst_pad_send_event (sink, event1);
-  }
-
   /* Link sink ghostpads to identity */
   if (G_UNLIKELY (!gst_ghost_pad_set_target (GST_GHOST_PAD_CAST
               (self->video_sinkpad), sink))) {
@@ -1366,43 +1275,6 @@
     goto out;
   }
 
-  /* Send segments to the renderer if necessary. These are not sent
-   * outside this element because of the proxy pad event handler */
-  if (self->video_segment.format != GST_FORMAT_UNDEFINED) {
-    GstEvent *event1;
-    GstPad *sink;
-
-    if (self->pre_colorspace) {
-      sink = gst_element_get_static_pad (self->pre_colorspace, "sink");
-    } else {
-      sink = _get_video_pad ((self->renderer) ? self->renderer : self->overlay);
-    }
-
-    _generate_update_segment_event (sink, &self->video_segment, &event1);
-    GST_DEBUG_OBJECT (self,
-        "Pushing video update segment event: %" GST_PTR_FORMAT,
-        gst_event_get_structure (event1));
-    gst_pad_send_event (sink, event1);
-    gst_object_unref (sink);
-  }
-
-  if (self->subtitle_segment.format != GST_FORMAT_UNDEFINED) {
-    GstEvent *event1;
-    GstPad *sink;
-
-    if (self->renderer)
-      sink = _get_sub_pad (self->renderer);
-    else
-      sink = gst_element_get_static_pad (self->parser, "sink");
-
-    _generate_update_segment_event (sink, &self->subtitle_segment, &event1);
-    GST_DEBUG_OBJECT (self,
-        "Pushing subtitle update segment event: %" GST_PTR_FORMAT,
-        gst_event_get_structure (event1));
-    gst_pad_send_event (sink, event1);
-    gst_object_unref (sink);
-  }
-
   GST_DEBUG_OBJECT (self, "Everything worked, unblocking pads");
   unblock_video (self);
   unblock_subtitle (self);
@@ -1441,8 +1313,6 @@
       break;
     case GST_STATE_CHANGE_READY_TO_PAUSED:
       GST_DEBUG_OBJECT (self, "State change READY->PAUSED");
-      gst_segment_init (&self->video_segment, GST_FORMAT_UNDEFINED);
-      gst_segment_init (&self->subtitle_segment, GST_FORMAT_UNDEFINED);
 
       self->fps_n = self->fps_d = 0;
 
@@ -1834,14 +1704,6 @@
   gboolean ret;
 
   switch (GST_EVENT_TYPE (event)) {
-    case GST_EVENT_FLUSH_STOP:
-    {
-      GST_DEBUG_OBJECT (pad,
-          "Resetting video segment because of flush-stop event");
-      gst_segment_init (&self->video_segment, GST_FORMAT_UNDEFINED);
-      self->fps_n = self->fps_d = 0;
-      break;
-    }
     case GST_EVENT_CAPS:
     {
       GstCaps *caps;
@@ -1858,27 +1720,10 @@
 
   ret = gst_pad_event_default (pad, parent, gst_event_ref (event));
 
-  if (GST_EVENT_TYPE (event) == GST_EVENT_SEGMENT) {
-    GST_DEBUG_OBJECT (pad, "segment event: %" GST_PTR_FORMAT, event);
-    gst_event_copy_segment (event, &self->video_segment);
-
-    if (self->video_segment.format != GST_FORMAT_TIME)
-      goto invalid_format;
-  }
-
 done:
   gst_event_unref (event);
 
   return ret;
-
-  /* ERRORS */
-invalid_format:
-  {
-    GST_ERROR_OBJECT (pad, "Segment event in non-time format: %s",
-        gst_format_get_name (self->video_segment.format));
-    ret = FALSE;
-    goto done;
-  }
 }
 
 static GstFlowReturn
@@ -2072,10 +1917,6 @@
       break;
     }
     case GST_EVENT_FLUSH_STOP:
-      GST_DEBUG_OBJECT (pad,
-          "Resetting subtitle segment because of flush-stop");
-      gst_segment_init (&self->subtitle_segment, GST_FORMAT_UNDEFINED);
-      /* fall through */
     case GST_EVENT_FLUSH_START:
     case GST_EVENT_SEGMENT:
     case GST_EVENT_EOS:
@@ -2097,72 +1938,6 @@
 
   ret = gst_pad_event_default (pad, parent, gst_event_ref (event));
 
-  if (GST_EVENT_TYPE (event) == GST_EVENT_SEGMENT) {
-    const GstSegment *eventsegment;
-    GST_DEBUG_OBJECT (pad, "segment event: %" GST_PTR_FORMAT, event);
-
-    gst_event_parse_segment (event, &eventsegment);
-
-    if (eventsegment->format == GST_FORMAT_TIME) {
-      gst_event_copy_segment (event, &self->subtitle_segment);
-    } else {
-      GstPad *peer;
-      gboolean res = FALSE;
-      gint64 tstart = 0;
-      gint64 tstop = GST_CLOCK_TIME_NONE;
-      gint64 tposition = 0;
-      gint64 tduration = 0;
-      gint64 ttime = 0;
-      gint64 tbase = 0;
-      GstFormat format = eventsegment->format;
-
-      GST_DEBUG_OBJECT (pad, "Subtitle newsegment event (%s) not in TIME "
-          "format, converting", gst_format_get_name (format));
-      peer = gst_pad_get_peer (pad);
-
-      if (peer) {
-        res =
-            _pad_query_convert_to_time (peer, format, eventsegment->start,
-            &tstart);
-        res = res
-            && _pad_query_convert_to_time (peer, format, eventsegment->stop,
-            &tstop);
-        res = res
-            && _pad_query_convert_to_time (peer, format, eventsegment->position,
-            &tposition);
-        res = res
-            && _pad_query_convert_to_time (peer, format, eventsegment->base,
-            &tbase);
-        res = res
-            && _pad_query_convert_to_time (peer, format, eventsegment->time,
-            &ttime);
-        res = res
-            && _pad_query_convert_to_time (peer, format, eventsegment->duration,
-            &tduration);
-
-        gst_object_unref (peer);
-      }
-
-      if (!res) {
-        tstart = 0;
-        tstop = GST_CLOCK_TIME_NONE;
-        tposition = 0;
-        tduration = GST_CLOCK_TIME_NONE;
-        ttime = 0;
-        tbase = 0;
-      }
-
-      gst_segment_init (&self->subtitle_segment, GST_FORMAT_TIME);
-      self->subtitle_segment.start = tstart;
-      self->subtitle_segment.stop = tstop;
-      self->subtitle_segment.base = tbase;
-      self->subtitle_segment.time = ttime;
-      self->subtitle_segment.position = tposition;
-      self->subtitle_segment.duration = tduration;
-    }
-    GST_DEBUG_OBJECT (pad, "New subtitle segment: %" GST_SEGMENT_FORMAT,
-        &self->subtitle_segment);
-  }
   gst_event_unref (event);
 
 out:
diff --git a/gst/playback/gstsubtitleoverlay.h b/gst/playback/gstsubtitleoverlay.h
index d240454..4a515bf 100644
--- a/gst/playback/gstsubtitleoverlay.h
+++ b/gst/playback/gstsubtitleoverlay.h
@@ -74,14 +74,12 @@
   GstPad *video_block_pad;
   gulong video_block_id;
   gboolean video_sink_blocked;
-  GstSegment video_segment;
   gint fps_n, fps_d;
 
   GstPad *subtitle_sinkpad;
   GstPad *subtitle_block_pad;
   gulong subtitle_block_id;
   gboolean subtitle_sink_blocked;
-  GstSegment subtitle_segment;
   gboolean subtitle_flush;
   gboolean subtitle_error;
 
diff --git a/gst/subparse/Makefile.am b/gst/subparse/Makefile.am
index 40c4be4..7f89447 100644
--- a/gst/subparse/Makefile.am
+++ b/gst/subparse/Makefile.am
@@ -1,10 +1,6 @@
 plugin_LTLIBRARIES = libgstsubparse.la
 
-if USE_XML
 SAMIPARSE_SOURCES = samiparse.c samiparse.h
-else
-SAMIPARSE_SOURCES = 
-endif
 
 libgstsubparse_la_SOURCES = \
 	gstssaparse.c \
diff --git a/gst/subparse/Makefile.in b/gst/subparse/Makefile.in
index 1c1c59a..3842bfb 100644
--- a/gst/subparse/Makefile.in
+++ b/gst/subparse/Makefile.in
@@ -158,11 +158,7 @@
 am__DEPENDENCIES_1 =
 libgstsubparse_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1)
-am__libgstsubparse_la_SOURCES_DIST = gstssaparse.c gstssaparse.h \
-	gstsubparse.c gstsubparse.h samiparse.c samiparse.h \
-	tmplayerparse.c tmplayerparse.h mpl2parse.c mpl2parse.h \
-	qttextparse.c qttextparse.h
-@USE_XML_TRUE@am__objects_1 = libgstsubparse_la-samiparse.lo
+am__objects_1 = libgstsubparse_la-samiparse.lo
 am_libgstsubparse_la_OBJECTS = libgstsubparse_la-gstssaparse.lo \
 	libgstsubparse_la-gstsubparse.lo $(am__objects_1) \
 	libgstsubparse_la-tmplayerparse.lo \
@@ -212,7 +208,7 @@
 am__v_CCLD_0 = @echo "  CCLD    " $@;
 am__v_CCLD_1 = 
 SOURCES = $(libgstsubparse_la_SOURCES)
-DIST_SOURCES = $(am__libgstsubparse_la_SOURCES_DIST)
+DIST_SOURCES = $(libgstsubparse_la_SOURCES)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -530,8 +526,7 @@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 plugin_LTLIBRARIES = libgstsubparse.la
-@USE_XML_FALSE@SAMIPARSE_SOURCES = 
-@USE_XML_TRUE@SAMIPARSE_SOURCES = samiparse.c samiparse.h
+SAMIPARSE_SOURCES = samiparse.c samiparse.h
 libgstsubparse_la_SOURCES = \
 	gstssaparse.c \
 	gstssaparse.h \
diff --git a/gst/subparse/gstsubparse.c b/gst/subparse/gstsubparse.c
index c3f41c9..40789e1 100644
--- a/gst/subparse/gstsubparse.c
+++ b/gst/subparse/gstsubparse.c
@@ -55,7 +55,6 @@
     GValue * value, GParamSpec * pspec);
 
 
-#ifndef GST_DISABLE_XML
 static GstStaticPadTemplate sink_templ = GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
@@ -63,15 +62,6 @@
         "application/x-subtitle-tmplayer; application/x-subtitle-mpl2; "
         "application/x-subtitle-dks; application/x-subtitle-qttext")
     );
-#else
-static GstStaticPadTemplate sink_templ = GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("application/x-subtitle; application/x-subtitle-dks; "
-        "application/x-subtitle-tmplayer; application/x-subtitle-mpl2; "
-        "application/x-subtitle-qttext")
-    );
-#endif
 
 static GstStaticPadTemplate src_templ = GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
@@ -103,19 +93,6 @@
 
   GST_DEBUG_OBJECT (subparse, "cleaning up subtitle parser");
 
-  switch (subparse->parser_type) {
-    case GST_SUB_PARSE_FORMAT_QTTEXT:
-      qttext_context_deinit (&subparse->state);
-      break;
-#ifndef GST_DISABLE_XML
-    case GST_SUB_PARSE_FORMAT_SAMI:
-      sami_context_deinit (&subparse->state);
-      break;
-#endif
-    default:
-      break;
-  }
-
   if (subparse->encoding) {
     g_free (subparse->encoding);
     subparse->encoding = NULL;
@@ -1173,11 +1150,12 @@
   }
   if (state->user_data) {
     switch (self->parser_type) {
-#ifndef GST_DISABLE_XML
-      case GST_SUB_PARSE_FORMAT_SAMI:
-        sami_context_reset (state);
+      case GST_SUB_PARSE_FORMAT_QTTEXT:
+        qttext_context_deinit (state);
         break;
-#endif
+      case GST_SUB_PARSE_FORMAT_SAMI:
+        sami_context_deinit (state);
+        break;
       default:
         break;
     }
@@ -1283,13 +1261,11 @@
     GST_LOG ("MPSub (time based) format detected");
     return GST_SUB_PARSE_FORMAT_MPSUB;
   }
-#ifndef GST_DISABLE_XML
   if (strstr (match_str, "<SAMI>") != NULL ||
       strstr (match_str, "<sami>") != NULL) {
     GST_LOG ("SAMI (time based) format detected");
     return GST_SUB_PARSE_FORMAT_SAMI;
   }
-#endif
   /* we're boldly assuming the first subtitle appears within the first hour */
   if (sscanf (match_str, "0:%02u:%02u:", &n1, &n2) == 2 ||
       sscanf (match_str, "0:%02u:%02u=", &n1, &n2) == 2 ||
@@ -1348,13 +1324,11 @@
       self->parse_line = parse_mpsub;
       return gst_caps_new_simple ("text/x-raw",
           "format", G_TYPE_STRING, "utf8", NULL);
-#ifndef GST_DISABLE_XML
     case GST_SUB_PARSE_FORMAT_SAMI:
       self->parse_line = parse_sami;
       sami_context_init (&self->state);
       return gst_caps_new_simple ("text/x-raw",
           "format", G_TYPE_STRING, "pango-markup", NULL);
-#endif
     case GST_SUB_PARSE_FORMAT_TMPLAYER:
       self->parse_line = parse_tmplayer;
       self->state.max_duration = 5 * GST_SECOND;
@@ -1409,10 +1383,8 @@
     parser_state_init (&self->state);
     g_string_truncate (self->textbuf, 0);
     gst_adapter_clear (self->adapter);
-#ifndef GST_DISABLE_XML
     if (self->parser_type == GST_SUB_PARSE_FORMAT_SAMI)
       sami_context_reset (&self->state);
-#endif
     /* we could set a flag to make sure that the next buffer we push out also
      * has the DISCONT flag set, but there's no point really given that it's
      * subtitles which are discontinuous by nature. */
@@ -1690,10 +1662,8 @@
 static GstStaticCaps sub_caps = GST_STATIC_CAPS ("application/x-subtitle");
 #define MPL2_CAPS (gst_static_caps_get (&mpl2_caps))
 
-#ifndef GST_DISABLE_XML
 static GstStaticCaps smi_caps = GST_STATIC_CAPS ("application/x-subtitle-sami");
 #define SAMI_CAPS (gst_static_caps_get (&smi_caps))
-#endif
 
 static GstStaticCaps dks_caps = GST_STATIC_CAPS ("application/x-subtitle-dks");
 #define DKS_CAPS (gst_static_caps_get (&dks_caps))
@@ -1774,12 +1744,10 @@
       GST_DEBUG ("MPSub format detected");
       caps = SUB_CAPS;
       break;
-#ifndef GST_DISABLE_XML
     case GST_SUB_PARSE_FORMAT_SAMI:
       GST_DEBUG ("SAMI (time-based) format detected");
       caps = SAMI_CAPS;
       break;
-#endif
     case GST_SUB_PARSE_FORMAT_TMPLAYER:
       GST_DEBUG ("TMPlayer (time based) format detected");
       caps = TMP_CAPS;
diff --git a/gst/subparse/samiparse.c b/gst/subparse/samiparse.c
index b61c802..973192c 100644
--- a/gst/subparse/samiparse.c
+++ b/gst/subparse/samiparse.c
@@ -1,5 +1,5 @@
 /* GStreamer SAMI subtitle parser
- * Copyright (c) 2006 Young-Ho Cha <ganadist at chollian net>
+ * Copyright (c) 2006, 2013 Young-Ho Cha <ganadist at gmail com>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -19,8 +19,9 @@
 
 #include "samiparse.h"
 
-#include <libxml/HTMLparser.h>
+#include <glib.h>
 #include <string.h>
+#include <stdlib.h>
 
 #define ITALIC_TAG 'i'
 #define SPAN_TAG   's'
@@ -28,6 +29,8 @@
 #define RT_TAG     't'
 #define CLEAR_TAG  '0'
 
+typedef struct _HtmlParser HtmlParser;
+typedef struct _HtmlContext HtmlContext;
 typedef struct _GstSamiContext GstSamiContext;
 
 struct _GstSamiContext
@@ -43,7 +46,7 @@
                                  * that tags can be closed properly on
                                  * 'sync' tags. See _context_push_state()
                                  * and _context_pop_state(). */
-  htmlParserCtxtPtr htmlctxt;   /* html parser context */
+  HtmlContext *htmlctxt;        /* html parser context */
   gboolean has_result;          /* set when ready to push out result */
   gboolean in_sync;             /* flag to avoid appending anything except the
                                  * content of the sync elements to buf */
@@ -51,6 +54,525 @@
   guint64 time2;                /* current start attribute in sync tag  */
 };
 
+struct _HtmlParser
+{
+  void (*start_element) (HtmlContext * ctx,
+      const gchar * name, const gchar ** attr, gpointer user_data);
+  void (*end_element) (HtmlContext * ctx,
+      const gchar * name, gpointer user_data);
+  void (*text) (HtmlContext * ctx,
+      const gchar * text, gsize text_len, gpointer user_data);
+};
+
+struct _HtmlContext
+{
+  const HtmlParser *parser;
+  gpointer user_data;
+  GString *buf;
+};
+
+static HtmlContext *
+html_context_new (HtmlParser * parser, gpointer user_data)
+{
+  HtmlContext *ctxt = (HtmlContext *) g_new0 (HtmlContext, 1);
+  ctxt->parser = parser;
+  ctxt->user_data = user_data;
+  ctxt->buf = g_string_new (NULL);
+  return ctxt;
+}
+
+static void
+html_context_free (HtmlContext * ctxt)
+{
+  g_string_free (ctxt->buf, TRUE);
+  g_free (ctxt);
+}
+
+struct EntityMap
+{
+  const gunichar unescaped;
+  const gchar *escaped;
+};
+
+struct EntityMap XmlEntities[] = {
+  {34, "quot;"},
+  {38, "amp;"},
+  {39, "apos;"},
+  {60, "lt;"},
+  {62, "gt;"},
+  {0, NULL},
+};
+
+struct EntityMap HtmlEntities[] = {
+/* nbsp will handle manually
+{ 160,	"nbsp;" }, */
+  {161, "iexcl;"},
+  {162, "cent;"},
+  {163, "pound;"},
+  {164, "curren;"},
+  {165, "yen;"},
+  {166, "brvbar;"},
+  {167, "sect;"},
+  {168, "uml;"},
+  {169, "copy;"},
+  {170, "ordf;"},
+  {171, "laquo;"},
+  {172, "not;"},
+  {173, "shy;"},
+  {174, "reg;"},
+  {175, "macr;"},
+  {176, "deg;"},
+  {177, "plusmn;"},
+  {178, "sup2;"},
+  {179, "sup3;"},
+  {180, "acute;"},
+  {181, "micro;"},
+  {182, "para;"},
+  {183, "middot;"},
+  {184, "cedil;"},
+  {185, "sup1;"},
+  {186, "ordm;"},
+  {187, "raquo;"},
+  {188, "frac14;"},
+  {189, "frac12;"},
+  {190, "frac34;"},
+  {191, "iquest;"},
+  {192, "Agrave;"},
+  {193, "Aacute;"},
+  {194, "Acirc;"},
+  {195, "Atilde;"},
+  {196, "Auml;"},
+  {197, "Aring;"},
+  {198, "AElig;"},
+  {199, "Ccedil;"},
+  {200, "Egrave;"},
+  {201, "Eacute;"},
+  {202, "Ecirc;"},
+  {203, "Euml;"},
+  {204, "Igrave;"},
+  {205, "Iacute;"},
+  {206, "Icirc;"},
+  {207, "Iuml;"},
+  {208, "ETH;"},
+  {209, "Ntilde;"},
+  {210, "Ograve;"},
+  {211, "Oacute;"},
+  {212, "Ocirc;"},
+  {213, "Otilde;"},
+  {214, "Ouml;"},
+  {215, "times;"},
+  {216, "Oslash;"},
+  {217, "Ugrave;"},
+  {218, "Uacute;"},
+  {219, "Ucirc;"},
+  {220, "Uuml;"},
+  {221, "Yacute;"},
+  {222, "THORN;"},
+  {223, "szlig;"},
+  {224, "agrave;"},
+  {225, "aacute;"},
+  {226, "acirc;"},
+  {227, "atilde;"},
+  {228, "auml;"},
+  {229, "aring;"},
+  {230, "aelig;"},
+  {231, "ccedil;"},
+  {232, "egrave;"},
+  {233, "eacute;"},
+  {234, "ecirc;"},
+  {235, "euml;"},
+  {236, "igrave;"},
+  {237, "iacute;"},
+  {238, "icirc;"},
+  {239, "iuml;"},
+  {240, "eth;"},
+  {241, "ntilde;"},
+  {242, "ograve;"},
+  {243, "oacute;"},
+  {244, "ocirc;"},
+  {245, "otilde;"},
+  {246, "ouml;"},
+  {247, "divide;"},
+  {248, "oslash;"},
+  {249, "ugrave;"},
+  {250, "uacute;"},
+  {251, "ucirc;"},
+  {252, "uuml;"},
+  {253, "yacute;"},
+  {254, "thorn;"},
+  {255, "yuml;"},
+  {338, "OElig;"},
+  {339, "oelig;"},
+  {352, "Scaron;"},
+  {353, "scaron;"},
+  {376, "Yuml;"},
+  {402, "fnof;"},
+  {710, "circ;"},
+  {732, "tilde;"},
+  {913, "Alpha;"},
+  {914, "Beta;"},
+  {915, "Gamma;"},
+  {916, "Delta;"},
+  {917, "Epsilon;"},
+  {918, "Zeta;"},
+  {919, "Eta;"},
+  {920, "Theta;"},
+  {921, "Iota;"},
+  {922, "Kappa;"},
+  {923, "Lambda;"},
+  {924, "Mu;"},
+  {925, "Nu;"},
+  {926, "Xi;"},
+  {927, "Omicron;"},
+  {928, "Pi;"},
+  {929, "Rho;"},
+  {931, "Sigma;"},
+  {932, "Tau;"},
+  {933, "Upsilon;"},
+  {934, "Phi;"},
+  {935, "Chi;"},
+  {936, "Psi;"},
+  {937, "Omega;"},
+  {945, "alpha;"},
+  {946, "beta;"},
+  {947, "gamma;"},
+  {948, "delta;"},
+  {949, "epsilon;"},
+  {950, "zeta;"},
+  {951, "eta;"},
+  {952, "theta;"},
+  {953, "iota;"},
+  {954, "kappa;"},
+  {955, "lambda;"},
+  {956, "mu;"},
+  {957, "nu;"},
+  {958, "xi;"},
+  {959, "omicron;"},
+  {960, "pi;"},
+  {961, "rho;"},
+  {962, "sigmaf;"},
+  {963, "sigma;"},
+  {964, "tau;"},
+  {965, "upsilon;"},
+  {966, "phi;"},
+  {967, "chi;"},
+  {968, "psi;"},
+  {969, "omega;"},
+  {977, "thetasym;"},
+  {978, "upsih;"},
+  {982, "piv;"},
+  {8194, "ensp;"},
+  {8195, "emsp;"},
+  {8201, "thinsp;"},
+  {8204, "zwnj;"},
+  {8205, "zwj;"},
+  {8206, "lrm;"},
+  {8207, "rlm;"},
+  {8211, "ndash;"},
+  {8212, "mdash;"},
+  {8216, "lsquo;"},
+  {8217, "rsquo;"},
+  {8218, "sbquo;"},
+  {8220, "ldquo;"},
+  {8221, "rdquo;"},
+  {8222, "bdquo;"},
+  {8224, "dagger;"},
+  {8225, "Dagger;"},
+  {8226, "bull;"},
+  {8230, "hellip;"},
+  {8240, "permil;"},
+  {8242, "prime;"},
+  {8243, "Prime;"},
+  {8249, "lsaquo;"},
+  {8250, "rsaquo;"},
+  {8254, "oline;"},
+  {8260, "frasl;"},
+  {8364, "euro;"},
+  {8465, "image;"},
+  {8472, "weierp;"},
+  {8476, "real;"},
+  {8482, "trade;"},
+  {8501, "alefsym;"},
+  {8592, "larr;"},
+  {8593, "uarr;"},
+  {8594, "rarr;"},
+  {8595, "darr;"},
+  {8596, "harr;"},
+  {8629, "crarr;"},
+  {8656, "lArr;"},
+  {8657, "uArr;"},
+  {8658, "rArr;"},
+  {8659, "dArr;"},
+  {8660, "hArr;"},
+  {8704, "forall;"},
+  {8706, "part;"},
+  {8707, "exist;"},
+  {8709, "empty;"},
+  {8711, "nabla;"},
+  {8712, "isin;"},
+  {8713, "notin;"},
+  {8715, "ni;"},
+  {8719, "prod;"},
+  {8721, "sum;"},
+  {8722, "minus;"},
+  {8727, "lowast;"},
+  {8730, "radic;"},
+  {8733, "prop;"},
+  {8734, "infin;"},
+  {8736, "ang;"},
+  {8743, "and;"},
+  {8744, "or;"},
+  {8745, "cap;"},
+  {8746, "cup;"},
+  {8747, "int;"},
+  {8756, "there4;"},
+  {8764, "sim;"},
+  {8773, "cong;"},
+  {8776, "asymp;"},
+  {8800, "ne;"},
+  {8801, "equiv;"},
+  {8804, "le;"},
+  {8805, "ge;"},
+  {8834, "sub;"},
+  {8835, "sup;"},
+  {8836, "nsub;"},
+  {8838, "sube;"},
+  {8839, "supe;"},
+  {8853, "oplus;"},
+  {8855, "otimes;"},
+  {8869, "perp;"},
+  {8901, "sdot;"},
+  {8968, "lceil;"},
+  {8969, "rceil;"},
+  {8970, "lfloor;"},
+  {8971, "rfloor;"},
+  {9001, "lang;"},
+  {9002, "rang;"},
+  {9674, "loz;"},
+  {9824, "spades;"},
+  {9827, "clubs;"},
+  {9829, "hearts;"},
+  {9830, "diams;"},
+  {0, NULL},
+};
+
+static gchar *
+unescape_string (const gchar * text)
+{
+  gint i;
+  GString *unescaped = g_string_new (NULL);
+
+  while (*text) {
+    if (*text == '&') {
+      text++;
+
+      /* unescape &nbsp and &nbsp; */
+      if (!g_ascii_strncasecmp (text, "nbsp", 4)) {
+        unescaped = g_string_append_unichar (unescaped, 160);
+        text += 4;
+        if (*text == ';') {
+          text++;
+        }
+        goto next;
+      }
+
+      /* pass xml entities. these will be processed as pango markup */
+      for (i = 0; XmlEntities[i].escaped; i++) {
+        gssize len = strlen (XmlEntities[i].escaped);
+        if (!g_ascii_strncasecmp (text, XmlEntities[i].escaped, len)) {
+          unescaped = g_string_append_c (unescaped, '&');
+          unescaped =
+              g_string_append_len (unescaped, XmlEntities[i].escaped, len);
+          text += len;
+          goto next;
+        }
+      }
+
+      /* convert html entities */
+      for (i = 0; HtmlEntities[i].escaped; i++) {
+        gssize len = strlen (HtmlEntities[i].escaped);
+        if (!strncmp (text, HtmlEntities[i].escaped, len)) {
+          unescaped =
+              g_string_append_unichar (unescaped, HtmlEntities[i].unescaped);
+          text += len;
+          goto next;
+        }
+      }
+
+      if (*text == '#') {
+        gboolean is_hex = FALSE;
+        gunichar l;
+        gchar *end = NULL;
+
+        text++;
+        if (*text == 'x') {
+          is_hex = TRUE;
+          text++;
+        }
+        errno = 0;
+        if (is_hex) {
+          l = strtoul (text, &end, 16);
+        } else {
+          l = strtoul (text, &end, 10);
+        }
+
+        if (text == end || errno != 0) {
+          /* error occured. pass it */
+          goto next;
+        }
+        unescaped = g_string_append_unichar (unescaped, l);
+        text = end;
+
+        if (*text == ';') {
+          text++;
+        }
+        goto next;
+      }
+
+      /* escape & */
+      unescaped = g_string_append (unescaped, "&amp;");
+
+    next:
+      continue;
+
+    } else if (g_ascii_isspace (*text)) {
+      unescaped = g_string_append_c (unescaped, ' ');
+      /* strip whitespace */
+      do {
+        text++;
+      } while ((*text) && g_ascii_isspace (*text));
+    } else {
+      unescaped = g_string_append_c (unescaped, *text);
+      text++;
+    }
+  }
+
+  return g_string_free (unescaped, FALSE);
+}
+
+static const gchar *
+string_token (const gchar * string, const gchar * delimiter, gchar ** first)
+{
+  gchar *next = strstr (string, delimiter);
+  if (next) {
+    *first = g_strndup (string, next - string);
+  } else {
+    *first = g_strdup (string);
+  }
+  return next;
+}
+
+static void
+html_context_handle_element (HtmlContext * ctxt,
+    const gchar * string, gboolean must_close)
+{
+  gchar *name = NULL;
+  gint count = 0, i;
+  gchar **attrs;
+  const gchar *found, *next;
+
+  /* split element name and attributes */
+  next = string_token (string, " ", &name);
+
+  if (next) {
+    /* count attributes */
+    found = next + 1;
+    while (TRUE) {
+      found = strchr (found, '=');
+      if (!found)
+        break;
+      found++;
+      count++;
+    }
+  } else {
+    count = 0;
+  }
+
+  attrs = g_new0 (gchar *, (count + 1) * 2);
+
+  for (i = 0; i < count; i += 2) {
+    gchar *attr_name = NULL, *attr_value = NULL;
+    gsize length;
+    next = string_token (next + 1, "=", &attr_name);
+    next = string_token (next + 1, " ", &attr_value);
+
+    /* strip " or ' from attribute value */
+    if (attr_value[0] == '"' || attr_value[0] == '\'') {
+      gchar *tmp = g_strdup (attr_value + 1);
+      g_free (attr_value);
+      attr_value = tmp;
+    }
+
+    length = strlen (attr_value);
+    if (attr_value[length - 1] == '"' || attr_value[length - 1] == '\'') {
+      attr_value[length - 1] = '\0';
+    }
+
+    attrs[i] = attr_name;
+    attrs[i + 1] = attr_value;
+  }
+
+  ctxt->parser->start_element (ctxt, name,
+      (const gchar **) attrs, ctxt->user_data);
+  if (must_close) {
+    ctxt->parser->end_element (ctxt, name, ctxt->user_data);
+  }
+  g_strfreev (attrs);
+  g_free (name);
+}
+
+static void
+html_context_parse (HtmlContext * ctxt, gchar * text, gsize text_len)
+{
+  const gchar *next = NULL;
+  ctxt->buf = g_string_append_len (ctxt->buf, text, text_len);
+  next = ctxt->buf->str;
+  while (TRUE) {
+    if (next[0] == '<') {
+      gchar *element = NULL;
+      /* find <blahblah> */
+      if (!strchr (next, '>')) {
+        /* no tag end point. buffer will be process in next time */
+        return;
+      }
+
+      next = string_token (next, ">", &element);
+      next++;
+      if (g_str_has_suffix (next, "/")) {
+        /* handle <blah/> */
+        element[strlen (element) - 1] = '\0';
+        html_context_handle_element (ctxt, element + 1, TRUE);
+      } else if (element[1] == '/') {
+        /* handle </blah> */
+        ctxt->parser->end_element (ctxt, element + 2, ctxt->user_data);
+      } else {
+        /* handle <blah> */
+        html_context_handle_element (ctxt, element + 1, FALSE);
+      }
+      g_free (element);
+    } else if (strchr (next, '<')) {
+      gchar *text = NULL;
+      gsize length;
+      next = string_token (next, "<", &text);
+      text = g_strstrip (text);
+      length = strlen (text);
+      ctxt->parser->text (ctxt, text, length, ctxt->user_data);
+      g_free (text);
+
+    } else {
+      gchar *text = (gchar *) next;
+      gsize length;
+      text = g_strstrip (text);
+      length = strlen (text);
+      ctxt->parser->text (ctxt, text, length, ctxt->user_data);
+      ctxt->buf = g_string_assign (ctxt->buf, "");
+      return;
+    }
+  }
+
+  ctxt->buf = g_string_assign (ctxt->buf, next);
+}
+
 static gchar *
 has_tag (GString * str, const gchar tag)
 {
@@ -116,26 +638,27 @@
 }
 
 static void
-handle_start_sync (GstSamiContext * sctx, const xmlChar ** atts)
+handle_start_sync (GstSamiContext * sctx, const gchar ** atts)
 {
   int i;
 
   sami_context_pop_state (sctx, CLEAR_TAG);
   if (atts != NULL) {
     for (i = 0; (atts[i] != NULL); i += 2) {
-      const xmlChar *key, *value;
+      const gchar *key, *value;
 
       key = atts[i];
       value = atts[i + 1];
 
       if (!value)
         continue;
-      if (!xmlStrncmp ((const xmlChar *) "start", key, 5)) {
+      if (!g_ascii_strcasecmp ("start", key)) {
         /* Only set a new start time if we don't have text pending */
         if (sctx->resultbuf->len == 0)
           sctx->time1 = sctx->time2;
 
         sctx->time2 = atoi ((const char *) value) * GST_MSECOND;
+        sctx->time2 = MAX (sctx->time2, sctx->time1);
         g_string_append (sctx->resultbuf, sctx->buf->str);
         sctx->has_result = (sctx->resultbuf->len != 0) ? TRUE : FALSE;
         g_string_truncate (sctx->buf, 0);
@@ -145,7 +668,7 @@
 }
 
 static void
-handle_start_font (GstSamiContext * sctx, const xmlChar ** atts)
+handle_start_font (GstSamiContext * sctx, const gchar ** atts)
 {
   int i;
 
@@ -153,53 +676,53 @@
   if (atts != NULL) {
     g_string_append (sctx->buf, "<span");
     for (i = 0; (atts[i] != NULL); i += 2) {
-      const xmlChar *key, *value;
+      const gchar *key, *value;
 
       key = atts[i];
       value = atts[i + 1];
 
       if (!value)
         continue;
-      if (!xmlStrncmp ((const xmlChar *) "color", key, 5)) {
+      if (!g_ascii_strcasecmp ("color", key)) {
         /*
          * There are invalid color value in many
          * sami files.
          * It will fix hex color value that start without '#'
          */
         const gchar *sharp = "";
-        int len = xmlStrlen (value);
+        int len = strlen (value);
 
         if (!(*value == '#' && len == 7)) {
           gchar *r;
 
           /* check if it looks like hex */
           if (strtol ((const char *) value, &r, 16) >= 0 &&
-              ((xmlChar *) r == (value + 6) && len == 6)) {
+              ((gchar *) r == (value + 6) && len == 6)) {
             sharp = "#";
           }
         }
         /* some colours can be found in many sami files, but X RGB database
          * doesn't contain a colour by this name, so map explicitly */
-        if (!xmlStrncasecmp (value, (const xmlChar *) "aqua", len)) {
-          value = (const xmlChar *) "#00ffff";
-        } else if (!xmlStrncasecmp (value, (const xmlChar *) "crimson", len)) {
-          value = (const xmlChar *) "#dc143c";
-        } else if (!xmlStrncasecmp (value, (const xmlChar *) "fuchsia", len)) {
-          value = (const xmlChar *) "#ff00ff";
-        } else if (!xmlStrncasecmp (value, (const xmlChar *) "indigo", len)) {
-          value = (const xmlChar *) "#4b0082";
-        } else if (!xmlStrncasecmp (value, (const xmlChar *) "lime", len)) {
-          value = (const xmlChar *) "#00ff00";
-        } else if (!xmlStrncasecmp (value, (const xmlChar *) "olive", len)) {
-          value = (const xmlChar *) "#808000";
-        } else if (!xmlStrncasecmp (value, (const xmlChar *) "silver", len)) {
-          value = (const xmlChar *) "#c0c0c0";
-        } else if (!xmlStrncasecmp (value, (const xmlChar *) "teal", len)) {
-          value = (const xmlChar *) "#008080";
+        if (!g_ascii_strcasecmp ("aqua", value)) {
+          value = "#00ffff";
+        } else if (!g_ascii_strcasecmp ("crimson", value)) {
+          value = "#dc143c";
+        } else if (!g_ascii_strcasecmp ("fuchsia", value)) {
+          value = "#ff00ff";
+        } else if (!g_ascii_strcasecmp ("indigo", value)) {
+          value = "#4b0082";
+        } else if (!g_ascii_strcasecmp ("lime", value)) {
+          value = "#00ff00";
+        } else if (!g_ascii_strcasecmp ("olive", value)) {
+          value = "#808000";
+        } else if (!g_ascii_strcasecmp ("silver", value)) {
+          value = "#c0c0c0";
+        } else if (!g_ascii_strcasecmp ("teal", value)) {
+          value = "#008080";
         }
         g_string_append_printf (sctx->buf, " foreground=\"%s%s\"", sharp,
             value);
-      } else if (!xmlStrncasecmp ((const xmlChar *) "face", key, 4)) {
+      } else if (!g_ascii_strcasecmp ("face", key)) {
         g_string_append_printf (sctx->buf, " font_family=\"%s\"", value);
       }
     }
@@ -209,46 +732,47 @@
 }
 
 static void
-start_sami_element (void *ctx, const xmlChar * name, const xmlChar ** atts)
+handle_start_element (HtmlContext * ctx, const gchar * name,
+    const char **atts, gpointer user_data)
 {
-  GstSamiContext *sctx = (GstSamiContext *) ctx;
+  GstSamiContext *sctx = (GstSamiContext *) user_data;
 
   GST_LOG ("name:%s", name);
 
-  if (!xmlStrncmp ((const xmlChar *) "sync", name, 4)) {
+  if (!g_ascii_strcasecmp ("sync", name)) {
     handle_start_sync (sctx, atts);
     sctx->in_sync = TRUE;
-  } else if (!xmlStrncmp ((const xmlChar *) "font", name, 4)) {
+  } else if (!g_ascii_strcasecmp ("font", name)) {
     handle_start_font (sctx, atts);
-  } else if (!xmlStrncmp ((const xmlChar *) "ruby", name, 4)) {
+  } else if (!g_ascii_strcasecmp ("ruby", name)) {
     sami_context_push_state (sctx, RUBY_TAG);
-  } else if (!xmlStrncmp ((const xmlChar *) "br", name, 2)) {
+  } else if (!g_ascii_strcasecmp ("br", name)) {
     g_string_append_c (sctx->buf, '\n');
     /* FIXME: support for furigana/ruby once implemented in pango */
-  } else if (!xmlStrncmp ((const xmlChar *) "rt", name, 2)) {
+  } else if (!g_ascii_strcasecmp ("rt", name)) {
     if (has_tag (sctx->state, ITALIC_TAG)) {
       g_string_append (sctx->rubybuf, "<i>");
     }
     g_string_append (sctx->rubybuf, "<span size='xx-small' rise='-100'>");
     sami_context_push_state (sctx, RT_TAG);
-  } else if (!xmlStrncmp ((const xmlChar *) "p", name, 1)) {
-  } else if (!xmlStrncmp ((const xmlChar *) "i", name, 1)) {
+  } else if (!g_ascii_strcasecmp ("i", name)) {
     g_string_append (sctx->buf, "<i>");
     sami_context_push_state (sctx, ITALIC_TAG);
+  } else if (!g_ascii_strcasecmp ("p", name)) {
   }
 }
 
 static void
-end_sami_element (void *ctx, const xmlChar * name)
+handle_end_element (HtmlContext * ctx, const char *name, gpointer user_data)
 {
-  GstSamiContext *sctx = (GstSamiContext *) ctx;
+  GstSamiContext *sctx = (GstSamiContext *) user_data;
 
   GST_LOG ("name:%s", name);
 
-  if (!xmlStrncmp ((const xmlChar *) "sync", name, 4)) {
+  if (!g_ascii_strcasecmp ("sync", name)) {
     sctx->in_sync = FALSE;
-  } else if ((!xmlStrncmp ((const xmlChar *) "body", name, 4)) ||
-      (!xmlStrncmp ((const xmlChar *) "sami", name, 4))) {
+  } else if ((!g_ascii_strcasecmp ("body", name)) ||
+      (!g_ascii_strcasecmp ("sami", name))) {
     /* We will usually have one buffer left when the body is closed
      * as we need the next sync to actually send it */
     if (sctx->buf->len != 0) {
@@ -261,105 +785,56 @@
       sctx->has_result = (sctx->resultbuf->len != 0) ? TRUE : FALSE;
       g_string_truncate (sctx->buf, 0);
     }
-  } else if (!xmlStrncmp ((const xmlChar *) "font", name, 4)) {
+  } else if (!g_ascii_strcasecmp ("font", name)) {
     sami_context_pop_state (sctx, SPAN_TAG);
-  } else if (!xmlStrncmp ((const xmlChar *) "ruby", name, 4)) {
+  } else if (!g_ascii_strcasecmp ("ruby", name)) {
     sami_context_pop_state (sctx, RUBY_TAG);
-  } else if (!xmlStrncmp ((const xmlChar *) "i", name, 1)) {
+  } else if (!g_ascii_strcasecmp ("i", name)) {
     sami_context_pop_state (sctx, ITALIC_TAG);
   }
 }
 
 static void
-characters_sami (void *ctx, const xmlChar * ch, int len)
+handle_text (HtmlContext * ctx, const gchar * text, gsize text_len,
+    gpointer user_data)
 {
-  GstSamiContext *sctx = (GstSamiContext *) ctx;
-  gchar *escaped;
-  gchar *tmp;
-  gint i;
+  GstSamiContext *sctx = (GstSamiContext *) user_data;
 
   /* Skip everything except content of the sync elements */
   if (!sctx->in_sync)
     return;
 
-  escaped = g_markup_escape_text ((const gchar *) ch, len);
-  g_strstrip (escaped);
-
-  /* Remove double spaces forom the string as those are
-   * usually added by newlines and indention */
-  tmp = escaped;
-  for (i = 0; i <= strlen (escaped); i++) {
-    escaped[i] = *tmp;
-    if (*tmp != ' ') {
-      tmp++;
-      continue;
-    }
-    while (*tmp == ' ')
-      tmp++;
-  }
-
   if (has_tag (sctx->state, RT_TAG)) {
     g_string_append_c (sctx->rubybuf, ' ');
-    g_string_append (sctx->rubybuf, escaped);
+    g_string_append (sctx->rubybuf, text);
     g_string_append_c (sctx->rubybuf, ' ');
   } else {
-    g_string_append (sctx->buf, escaped);
+    g_string_append (sctx->buf, text);
   }
-  g_free (escaped);
 }
 
-static xmlSAXHandler samiSAXHandlerStruct = {
-  NULL,                         /* internalSubset */
-  NULL,                         /* isStandalone */
-  NULL,                         /* hasInternalSubset */
-  NULL,                         /* hasExternalSubset */
-  NULL,                         /* resolveEntity */
-  NULL,                         /* getEntity */
-  NULL,                         /* entityDecl */
-  NULL,                         /* notationDecl */
-  NULL,                         /* attributeDecl */
-  NULL,                         /* elementDecl */
-  NULL,                         /* unparsedEntityDecl */
-  NULL,                         /* setDocumentLocator */
-  NULL,                         /* startDocument */
-  NULL,                         /* endDocument */
-  start_sami_element,           /* startElement */
-  end_sami_element,             /* endElement */
-  NULL,                         /* reference */
-  characters_sami,              /* characters */
-  NULL,                         /* ignorableWhitespace */
-  NULL,                         /* processingInstruction */
-  NULL,                         /* comment */
-  NULL,                         /* xmlParserWarning */
-  NULL,                         /* xmlParserError */
-  NULL,                         /* xmlParserError */
-  NULL,                         /* getParameterEntity */
-  NULL,                         /* cdataBlock */
-  NULL,                         /* externalSubset */
-  1,                            /* initialized */
-  NULL,                         /* private */
-  NULL,                         /* startElementNsSAX2Func */
-  NULL,                         /* endElementNsSAX2Func */
-  NULL                          /* xmlStructuredErrorFunc */
+static HtmlParser samiParser = {
+  handle_start_element,         /* start_element */
+  handle_end_element,           /* end_element */
+  handle_text,                  /* text */
 };
 
-static xmlSAXHandlerPtr samiSAXHandler = &samiSAXHandlerStruct;
-
 void
 sami_context_init (ParserState * state)
 {
   GstSamiContext *context;
 
   g_assert (state->user_data == NULL);
-  state->user_data = (gpointer) g_new0 (GstSamiContext, 1);
-  context = (GstSamiContext *) state->user_data;
 
-  context->htmlctxt = htmlCreatePushParserCtxt (samiSAXHandler, context,
-      "", 0, NULL, XML_CHAR_ENCODING_UTF8);
+  context = g_new0 (GstSamiContext, 1);
+
+  context->htmlctxt = html_context_new (&samiParser, context);
   context->buf = g_string_new ("");
   context->rubybuf = g_string_new ("");
   context->resultbuf = g_string_new ("");
   context->state = g_string_new ("");
+
+  state->user_data = context;
 }
 
 void
@@ -368,17 +843,8 @@
   GstSamiContext *context = (GstSamiContext *) state->user_data;
 
   if (context) {
-    htmlParserCtxtPtr htmlctxt = context->htmlctxt;
-
-    /* destroy sax context */
-    htmlDocPtr doc;
-
-    htmlParseChunk (htmlctxt, "", 0, 1);
-    doc = htmlctxt->myDoc;
-    htmlFreeParserCtxt (htmlctxt);
+    html_context_free (context->htmlctxt);
     context->htmlctxt = NULL;
-    if (doc)
-      xmlFreeDoc (doc);
     g_string_free (context->buf, TRUE);
     g_string_free (context->rubybuf, TRUE);
     g_string_free (context->resultbuf, TRUE);
@@ -405,70 +871,29 @@
   }
 }
 
-static gchar *
-fix_invalid_entities (const gchar * line)
-{
-  const gchar *cp, *pp;         /* current pointer, previous pointer */
-  gssize size;
-  GString *ret = g_string_new (NULL);
-
-  pp = line;
-  cp = strchr (line, '&');
-  while (cp) {
-    size = cp - pp;
-    ret = g_string_append_len (ret, pp, size);
-    cp++;
-    if (g_ascii_strncasecmp (cp, "nbsp;", 5)
-        && (!g_ascii_strncasecmp (cp, "nbsp", 4))) {
-      /* translate "&nbsp" to "&nbsp;" */
-      ret = g_string_append_len (ret, "&nbsp;", 6);
-      cp += 4;
-    } else if (g_ascii_strncasecmp (cp, "quot;", 5)
-        && g_ascii_strncasecmp (cp, "amp;", 4)
-        && g_ascii_strncasecmp (cp, "apos;", 5)
-        && g_ascii_strncasecmp (cp, "lt;", 3)
-        && g_ascii_strncasecmp (cp, "gt;", 3)
-        && g_ascii_strncasecmp (cp, "nbsp;", 5)
-        && cp[0] != '#') {
-      /* translate "&" to "&amp;" */
-      ret = g_string_append_len (ret, "&amp;", 5);
-    } else {
-      /* do not translate */
-      ret = g_string_append_c (ret, '&');
-    }
-
-    pp = cp;
-    cp = strchr (pp, '&');
-  }
-  ret = g_string_append (ret, pp);
-  return g_string_free (ret, FALSE);
-}
-
 gchar *
 parse_sami (ParserState * state, const gchar * line)
 {
-  gchar *fixed_line;
+  gchar *ret = NULL;
   GstSamiContext *context = (GstSamiContext *) state->user_data;
 
-  fixed_line = fix_invalid_entities (line);
-  htmlParseChunk (context->htmlctxt, fixed_line, strlen (fixed_line), 0);
-  g_free (fixed_line);
+  gchar *unescaped = unescape_string (line);
+  html_context_parse (context->htmlctxt, (gchar *) unescaped,
+      strlen (unescaped));
+  g_free (unescaped);
 
   if (context->has_result) {
-    gchar *r;
-
     if (context->rubybuf->len) {
       context->rubybuf = g_string_append_c (context->rubybuf, '\n');
       g_string_prepend (context->resultbuf, context->rubybuf->str);
       context->rubybuf = g_string_truncate (context->rubybuf, 0);
     }
 
-    r = g_string_free (context->resultbuf, FALSE);
+    ret = g_string_free (context->resultbuf, FALSE);
     context->resultbuf = g_string_new ("");
     state->start_time = context->time1;
     state->duration = context->time2 - context->time1;
     context->has_result = FALSE;
-    return r;
   }
-  return NULL;
+  return ret;
 }
diff --git a/gst/tcp/gstmultifdsink.c b/gst/tcp/gstmultifdsink.c
index 87e540c..5f5f884 100644
--- a/gst/tcp/gstmultifdsink.c
+++ b/gst/tcp/gstmultifdsink.c
@@ -685,15 +685,15 @@
   GstMultiHandleClient *mhclient = (GstMultiHandleClient *) client;
   int fd = mhclient->handle.fd;
 
-  g_get_current_time (&nowtv);
-  now = GST_TIMEVAL_TO_TIME (nowtv);
-
   flushing = mhclient->status == GST_CLIENT_STATUS_FLUSHING;
 
   more = TRUE;
   do {
     gint maxsize;
 
+    g_get_current_time (&nowtv);
+    now = GST_TIMEVAL_TO_TIME (nowtv);
+
     if (!mhclient->sending) {
       /* client is not working on a buffer */
       if (mhclient->bufpos == -1) {
diff --git a/gst/tcp/gstmultihandlesink.c b/gst/tcp/gstmultihandlesink.c
index ac523a3..5f1c469 100644
--- a/gst/tcp/gstmultihandlesink.c
+++ b/gst/tcp/gstmultihandlesink.c
@@ -1691,9 +1691,6 @@
   GstMultiHandleSinkClass *mhsinkclass =
       GST_MULTI_HANDLE_SINK_GET_CLASS (mhsink);
 
-  g_get_current_time (&nowtv);
-  now = GST_TIMEVAL_TO_TIME (nowtv);
-
   CLIENTS_LOCK (mhsink);
   /* add buffer to queue */
   g_array_prepend_val (mhsink->bufqueue, buffer);
@@ -1719,6 +1716,9 @@
   for (clients = mhsink->clients; clients; clients = next) {
     GstMultiHandleClient *mhclient = clients->data;
 
+    g_get_current_time (&nowtv);
+    now = GST_TIMEVAL_TO_TIME (nowtv);
+
     if (cookie != mhsink->clients_cookie) {
       GST_DEBUG_OBJECT (sink, "Clients cookie outdated, restarting");
       goto restart;
diff --git a/gst/tcp/gstmultisocketsink.c b/gst/tcp/gstmultisocketsink.c
index b405b09..ee28065 100644
--- a/gst/tcp/gstmultisocketsink.c
+++ b/gst/tcp/gstmultisocketsink.c
@@ -750,18 +750,21 @@
         /* hmm error.. */
         if (g_error_matches (err, G_IO_ERROR, G_IO_ERROR_CLOSED)) {
           goto connection_reset;
+        } else if (g_error_matches (err, G_IO_ERROR, G_IO_ERROR_WOULD_BLOCK)) {
+          /* write would block, try again later */
+          GST_LOG_OBJECT (sink, "write would block %p",
+              mhclient->handle.socket);
+          more = FALSE;
         } else {
           goto write_error;
         }
       } else {
         if (wrote < maxsize) {
-          /* partial write means that the client cannot read more and we should
-           * stop sending more */
+          /* partial write, try again now */
           GST_LOG_OBJECT (sink,
               "partial write on %p of %" G_GSSIZE_FORMAT " bytes",
               mhclient->handle.socket, wrote);
           mhclient->bufoffset += wrote;
-          more = FALSE;
         } else {
           /* complete buffer was written, we can proceed to the next one */
           mhclient->sending = g_slist_remove (mhclient->sending, head);
diff --git a/gst/typefind/gsttypefindfunctions.c b/gst/typefind/gsttypefindfunctions.c
index 71b9234..5c4f958 100644
--- a/gst/typefind/gsttypefindfunctions.c
+++ b/gst/typefind/gsttypefindfunctions.c
@@ -1462,14 +1462,14 @@
     goto suggest;
   }
 
-  /* let's see if there's a valid header right at the start */
-  data = gst_type_find_peek (tf, 0, 4); /* use min. frame size? */
-  if (data && mp3_type_frame_length_from_header (GST_READ_UINT32_BE (data),
-          &layer, NULL, NULL, NULL, NULL, 0) != 0) {
-    if (prob == 0)
-      prob = GST_TYPE_FIND_POSSIBLE - 10;
-    else
-      prob = MAX (GST_TYPE_FIND_POSSIBLE - 10, prob + 10);
+  /* a valid header right at the start makes it more likely
+   * that this is actually plain mpeg-1 audio */
+  if (prob > 0) {
+    data = gst_type_find_peek (tf, 0, 4);       /* use min. frame size? */
+    if (data && mp3_type_frame_length_from_header (GST_READ_UINT32_BE (data),
+            &layer, NULL, NULL, NULL, NULL, 0) != 0) {
+      prob = MIN (prob + 10, GST_TYPE_FIND_MAXIMUM);
+    }
   }
 
   if (prob > 0)
diff --git a/gst/videorate/gstvideorate.c b/gst/videorate/gstvideorate.c
index 75c3371..de53b7a 100644
--- a/gst/videorate/gstvideorate.c
+++ b/gst/videorate/gstvideorate.c
@@ -779,6 +779,10 @@
       GST_DEBUG_OBJECT (videorate, "Got FLUSH_STOP");
       gst_video_rate_reset (videorate);
       break;
+    case GST_EVENT_GAP:
+      /* no gaps after videorate, ignore the event */
+      gst_event_unref (event);
+      return TRUE;
     default:
       break;
   }
diff --git a/gst/videoscale/gstvideoscaleorc-dist.c b/gst/videoscale/gstvideoscaleorc-dist.c
index c627d0c..0ecc1fa 100644
--- a/gst/videoscale/gstvideoscaleorc-dist.c
+++ b/gst/videoscale/gstvideoscaleorc-dist.c
@@ -319,7 +319,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 31, 118, 105, 100, 101, 111, 95, 115, 99, 97, 108, 101, 95, 111,
         114, 99, 95, 109, 101, 114, 103, 101, 95, 108, 105, 110, 101, 97, 114,
-            95,
+        95,
         117, 56, 11, 1, 1, 12, 1, 1, 12, 1, 1, 14, 4, 128, 0, 0,
         0, 16, 1, 20, 2, 20, 2, 20, 1, 20, 1, 43, 34, 4, 150, 32,
         4, 150, 33, 5, 98, 33, 33, 32, 89, 33, 33, 24, 70, 33, 33, 16,
@@ -502,7 +502,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 32, 118, 105, 100, 101, 111, 95, 115, 99, 97, 108, 101, 95, 111,
         114, 99, 95, 109, 101, 114, 103, 101, 95, 108, 105, 110, 101, 97, 114,
-            95,
+        95,
         117, 49, 54, 11, 2, 2, 12, 2, 2, 12, 2, 2, 14, 4, 16, 0,
         0, 0, 16, 2, 16, 2, 20, 4, 20, 4, 177, 32, 4, 24, 177, 33,
         5, 25, 103, 32, 32, 33, 126, 32, 32, 16, 163, 0, 32, 2, 0,
@@ -955,7 +955,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 29, 118, 105, 100, 101, 111, 95, 115, 99, 97, 108, 101, 95, 111,
         114, 99, 95, 100, 111, 119, 110, 115, 97, 109, 112, 108, 101, 95, 117,
-            56,
+        56,
         11, 1, 1, 12, 2, 2, 20, 1, 20, 1, 199, 32, 33, 4, 39, 0,
         32, 33, 2, 0,
       };
@@ -1087,7 +1087,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 30, 118, 105, 100, 101, 111, 95, 115, 99, 97, 108, 101, 95, 111,
         114, 99, 95, 100, 111, 119, 110, 115, 97, 109, 112, 108, 101, 95, 117,
-            49,
+        49,
         54, 11, 2, 2, 12, 4, 4, 20, 2, 20, 2, 198, 32, 33, 4, 76,
         0, 32, 33, 2, 0,
       };
@@ -1225,7 +1225,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 30, 118, 105, 100, 101, 111, 95, 115, 99, 97, 108, 101, 95, 111,
         114, 99, 95, 100, 111, 119, 110, 115, 97, 109, 112, 108, 101, 95, 117,
-            51,
+        51,
         50, 11, 4, 4, 12, 8, 8, 20, 4, 20, 4, 197, 32, 33, 4, 21,
         2, 39, 0, 32, 33, 2, 0,
       };
@@ -1479,7 +1479,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 31, 118, 105, 100, 101, 111, 95, 115, 99, 97, 108, 101, 95, 111,
         114, 99, 95, 100, 111, 119, 110, 115, 97, 109, 112, 108, 101, 95, 121,
-            117,
+        117,
         121, 118, 11, 4, 4, 12, 8, 8, 20, 4, 20, 4, 20, 2, 20, 2,
         20, 2, 20, 2, 21, 2, 199, 32, 33, 4, 21, 1, 199, 34, 35, 32,
         21, 1, 39, 36, 34, 35, 198, 34, 35, 33, 21, 1, 39, 37, 34, 35,
@@ -1601,7 +1601,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 35, 118, 105, 100, 101, 111, 95, 115, 99, 97, 108, 101, 95, 111,
         114, 99, 95, 114, 101, 115, 97, 109, 112, 108, 101, 95, 110, 101, 97,
-            114,
+        114,
         101, 115, 116, 95, 117, 56, 11, 1, 1, 12, 1, 1, 16, 4, 16, 4,
         48, 0, 4, 24, 25, 2, 0,
       };
@@ -1719,7 +1719,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 36, 118, 105, 100, 101, 111, 95, 115, 99, 97, 108, 101, 95, 111,
         114, 99, 95, 114, 101, 115, 97, 109, 112, 108, 101, 95, 98, 105, 108,
-            105,
+        105,
         110, 101, 97, 114, 95, 117, 56, 11, 1, 1, 12, 1, 1, 16, 4, 16,
         4, 50, 0, 4, 24, 25, 2, 0,
       };
@@ -1827,7 +1827,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 36, 118, 105, 100, 101, 111, 95, 115, 99, 97, 108, 101, 95, 111,
         114, 99, 95, 114, 101, 115, 97, 109, 112, 108, 101, 95, 110, 101, 97,
-            114,
+        114,
         101, 115, 116, 95, 117, 51, 50, 11, 4, 4, 12, 4, 4, 16, 4, 16,
         4, 49, 0, 4, 24, 25, 2, 0,
       };
@@ -1967,7 +1967,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 37, 118, 105, 100, 101, 111, 95, 115, 99, 97, 108, 101, 95, 111,
         114, 99, 95, 114, 101, 115, 97, 109, 112, 108, 101, 95, 98, 105, 108,
-            105,
+        105,
         110, 101, 97, 114, 95, 117, 51, 50, 11, 4, 4, 12, 4, 4, 16, 4,
         16, 4, 51, 0, 4, 24, 25, 2, 0,
       };
@@ -2212,7 +2212,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 43, 118, 105, 100, 101, 111, 95, 115, 99, 97, 108, 101, 95, 111,
         114, 99, 95, 114, 101, 115, 97, 109, 112, 108, 101, 95, 109, 101, 114,
-            103,
+        103,
         101, 95, 98, 105, 108, 105, 110, 101, 97, 114, 95, 117, 51, 50, 11, 4,
         4, 11, 4, 4, 12, 4, 4, 12, 4, 4, 16, 4, 16, 4, 16, 4,
         20, 4, 20, 4, 20, 4, 20, 8, 20, 8, 51, 33, 5, 25, 26, 128,
diff --git a/gst/videotestsrc/gstvideotestsrc.c b/gst/videotestsrc/gstvideotestsrc.c
index 63e67ce..1b5de08 100644
--- a/gst/videotestsrc/gstvideotestsrc.c
+++ b/gst/videotestsrc/gstvideotestsrc.c
@@ -900,8 +900,6 @@
 
 not_negotiated:
   {
-    GST_ELEMENT_ERROR (src, CORE, NEGOTIATION, (NULL),
-        ("format wasn't negotiated before get function"));
     return GST_FLOW_NOT_NEGOTIATED;
   }
 eos:
@@ -926,6 +924,8 @@
   src->accum_frames = 0;
   src->accum_rtime = 0;
 
+  gst_video_info_init (&src->info);
+
   return TRUE;
 }
 
diff --git a/gst/volume/gstvolumeorc-dist.c b/gst/volume/gstvolumeorc-dist.c
index 80c9f8b..1a3f519 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, 4, 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/po/af.gmo b/po/af.gmo
index 472c562..8d62e3a 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index a9578f0..c5a2cf4 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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2004-03-18 14:16+0200\n"
 "Last-Translator: Petri Jooste <rkwjpj@puk.ac.za>\n"
 "Language-Team: Afrikaans <i18n@af.org.za>\n"
diff --git a/po/az.gmo b/po/az.gmo
index cac7e56..5d81a98 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index 9c41a7e..2033ae2 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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2004-03-19 18:29+0200\n"
 "Last-Translator: Metin Amiroff <metin@karegen.com>\n"
 "Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
diff --git a/po/bg.gmo b/po/bg.gmo
index 46293e1..3506402 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index 70dbf3a..6aeead4 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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\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 c81b3c2..1830fb9 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index 7f9f7f2..672bf70 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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2012-01-01 14:19+0100\n"
 "Last-Translator: Gil Forcada <gforcada@gnome.org>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
diff --git a/po/cs.gmo b/po/cs.gmo
index f4ce22a..5ac4652 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index 925af52..09fc4f2 100644
--- a/po/cs.po
+++ b/po/cs.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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2011-05-29 16:49+0200\n"
 "Last-Translator: Petr Kovar <pknbe@volny.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
diff --git a/po/da.gmo b/po/da.gmo
index 275acbc..8a26a34 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 6168aba..bfee867 100644
--- a/po/da.po
+++ b/po/da.po
@@ -33,7 +33,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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2011-04-28 16:38+0100\n"
 "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
diff --git a/po/de.gmo b/po/de.gmo
index 6037cee..4a49ee6 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index 9b4116e..b493482 100644
--- a/po/de.po
+++ b/po/de.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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2011-04-28 00:04+0200\n"
 "Last-Translator: Christian Kirbach <christian.kirbach@googlemail.com>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
diff --git a/po/el.gmo b/po/el.gmo
index d916045..ae13da2 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index 58fc1c5..280fa05 100644
--- a/po/el.po
+++ b/po/el.po
@@ -8,7 +8,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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2010-10-27 12:05+0200\n"
 "Last-Translator: Michael Kotsarinis <mk73628@gmail.com>\n"
 "Language-Team: Greek <team@lists.gnome.gr>\n"
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index 5d2d700..29432ce 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 91224e7..9fb5bca 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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2004-04-26 10:41-0400\n"
 "Last-Translator: Gareth Owen <gowen72@yahoo.com>\n"
 "Language-Team: English (British) <en_gb@li.org>\n"
diff --git a/po/eo.gmo b/po/eo.gmo
index 0faf679..ecf71ad 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index af2bc53..c3078e0 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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\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 cd3f6bf..31641cf 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 82ed6e8..44247d2 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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\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 b248b18..98899cf 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index 1250177..164558e 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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\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 e8c1c2c..27e2f5c 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index bdc6cce..377a92a 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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\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 0b3b3f7..e8169d6 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index edaa7be..fbe05b5 100644
--- a/po/fr.po
+++ b/po/fr.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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2011-04-28 09:19+0200\n"
 "Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
 "Language-Team: French <traduc@traduc.org>\n"
diff --git a/po/gl.gmo b/po/gl.gmo
index a259c62..c76bd05 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index 6fffe95..becc23e 100644
--- a/po/gl.po
+++ b/po/gl.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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2011-09-05 12:48+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 e66fafc..9554dda 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.1.2\n"
+"Project-Id-Version: gst-plugins-base 1.1.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -82,20 +82,20 @@
 msgid "Could not read CD."
 msgstr ""
 
-#: ext/ogg/gstoggdemux.c:4520
+#: ext/ogg/gstoggdemux.c:4535
 msgid "Internal data stream error."
 msgstr ""
 
-#: gst/encoding/gstencodebin.c:1474 gst/playback/gstplaybin2.c:3003
-#: gst/playback/gstplaysink.c:1364 gst/playback/gstplaysink.c:1381
-#: gst/playback/gstplaysink.c:1701 gst/playback/gstplaysink.c:2298
-#: gst/playback/gstplaysink.c:2347 gst/playback/gstplaysink.c:2362
-#: gst/playback/gstplaysink.c:2387 gst/playback/gstplaysink.c:2419
-#: gst/playback/gstplaysink.c:2549 gst/playback/gstplaysink.c:2921
-#: gst/playback/gstplaysink.c:2930 gst/playback/gstplaysink.c:2939
-#: gst/playback/gstplaysink.c:2948 gst/playback/gstplaysink.c:4083
-#: gst/playback/gstplaysinkconvertbin.c:116
-#: gst/playback/gstplaysinkconvertbin.c:136
+#: gst/encoding/gstencodebin.c:1474 gst/playback/gstplaybin2.c:3051
+#: gst/playback/gstplaysink.c:1361 gst/playback/gstplaysink.c:1378
+#: gst/playback/gstplaysink.c:1698 gst/playback/gstplaysink.c:2261
+#: gst/playback/gstplaysink.c:2310 gst/playback/gstplaysink.c:2325
+#: gst/playback/gstplaysink.c:2350 gst/playback/gstplaysink.c:2382
+#: gst/playback/gstplaysink.c:2512 gst/playback/gstplaysink.c:2884
+#: gst/playback/gstplaysink.c:2893 gst/playback/gstplaysink.c:2902
+#: gst/playback/gstplaysink.c:2911 gst/playback/gstplaysink.c:4048
+#: gst/playback/gstplaysinkconvertbin.c:97
+#: gst/playback/gstplaysinkconvertbin.c:117
 #: gst/playback/gsturidecodebin.c:1448
 #, c-format
 msgid "Missing element '%s' - check your GStreamer installation."
@@ -114,65 +114,65 @@
 msgid "This appears to be a text file"
 msgstr ""
 
-#: gst/playback/gstplaybin2.c:4963
+#: gst/playback/gstplaybin2.c:5053
 msgid "Could not create \"uridecodebin\" element."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:1794
+#: gst/playback/gstplaysink.c:1792
 #, c-format
 msgid "Both autovideosink and %s elements are missing."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:1798
+#: gst/playback/gstplaysink.c:1796
 msgid "The autovideosink element is missing."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:1803
+#: gst/playback/gstplaysink.c:1801
 #, c-format
 msgid "Configured videosink %s is not working."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:1807
+#: gst/playback/gstplaysink.c:1805
 #, c-format
 msgid "Both autovideosink and %s elements are not working."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:1811
+#: gst/playback/gstplaysink.c:1809
 msgid "The autovideosink element is not working."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:2335
+#: gst/playback/gstplaysink.c:2298
 msgid "Custom text sink element is not usable."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:2669
+#: gst/playback/gstplaysink.c:2632
 msgid "No volume control found"
 msgstr ""
 
-#: gst/playback/gstplaysink.c:2699
+#: gst/playback/gstplaysink.c:2662
 #, c-format
 msgid "Both autoaudiosink and %s elements are missing."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:2703
+#: gst/playback/gstplaysink.c:2666
 msgid "The autoaudiosink element is missing."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:2708
+#: gst/playback/gstplaysink.c:2671
 #, c-format
 msgid "Configured audiosink %s is not working."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:2712
+#: gst/playback/gstplaysink.c:2675
 #, c-format
 msgid "Both autoaudiosink and %s elements are not working."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:2716
+#: gst/playback/gstplaysink.c:2679
 msgid "The autoaudiosink element is not working."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:3024 gst/playback/gstplaysink.c:3029
+#: gst/playback/gstplaysink.c:2987 gst/playback/gstplaysink.c:2992
 msgid "Can't play a text file without video or visualizations."
 msgstr ""
 
@@ -290,112 +290,112 @@
 msgid "Kate subtitle format"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:346
-#: gst-libs/gst/pbutils/descriptions.c:349
-#: gst-libs/gst/pbutils/descriptions.c:392
+#: gst-libs/gst/pbutils/descriptions.c:347
+#: gst-libs/gst/pbutils/descriptions.c:350
+#: gst-libs/gst/pbutils/descriptions.c:393
 msgid "Uncompressed video"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:354
+#: gst-libs/gst/pbutils/descriptions.c:355
 msgid "Uncompressed gray"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:380
+#: gst-libs/gst/pbutils/descriptions.c:381
 #, c-format
 msgid "Uncompressed %s YUV %s"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:389
+#: gst-libs/gst/pbutils/descriptions.c:390
 #, c-format
 msgid "Uncompressed %s%d-bit %s"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:442
+#: gst-libs/gst/pbutils/descriptions.c:443
 #, c-format
 msgid "DivX MPEG-4 Version %d"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:663
+#: gst-libs/gst/pbutils/descriptions.c:664
 msgid "Uncompressed audio"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:669
+#: gst-libs/gst/pbutils/descriptions.c:670
 #, c-format
 msgid "Raw %d-bit %s audio"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:756
+#: gst-libs/gst/pbutils/descriptions.c:757
 msgid "Audio CD source"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:759
+#: gst-libs/gst/pbutils/descriptions.c:760
 msgid "DVD source"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:762
+#: gst-libs/gst/pbutils/descriptions.c:763
 msgid "Real Time Streaming Protocol (RTSP) source"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:766
+#: gst-libs/gst/pbutils/descriptions.c:767
 msgid "Microsoft Media Server (MMS) protocol source"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:774
+#: gst-libs/gst/pbutils/descriptions.c:775
 #, c-format
 msgid "%s protocol source"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:846
+#: gst-libs/gst/pbutils/descriptions.c:847
 #, c-format
 msgid "%s video RTP depayloader"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:848
+#: gst-libs/gst/pbutils/descriptions.c:849
 #, c-format
 msgid "%s audio RTP depayloader"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:850
+#: gst-libs/gst/pbutils/descriptions.c:851
 #, c-format
 msgid "%s RTP depayloader"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:857
+#: gst-libs/gst/pbutils/descriptions.c:858
 #, c-format
 msgid "%s demuxer"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:859
+#: gst-libs/gst/pbutils/descriptions.c:860
 #, c-format
 msgid "%s decoder"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:897
+#: gst-libs/gst/pbutils/descriptions.c:898
 #, c-format
 msgid "%s video RTP payloader"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:899
+#: gst-libs/gst/pbutils/descriptions.c:900
 #, c-format
 msgid "%s audio RTP payloader"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:901
+#: gst-libs/gst/pbutils/descriptions.c:902
 #, c-format
 msgid "%s RTP payloader"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:908
+#: gst-libs/gst/pbutils/descriptions.c:909
 #, c-format
 msgid "%s muxer"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:910
+#: gst-libs/gst/pbutils/descriptions.c:911
 #, c-format
 msgid "%s encoder"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:942
+#: gst-libs/gst/pbutils/descriptions.c:943
 #, c-format
 msgid "GStreamer element %s"
 msgstr ""
@@ -424,7 +424,7 @@
 msgid "Plugin or element of unknown type"
 msgstr ""
 
-#: gst-libs/gst/tag/gsttagdemux.c:1055
+#: gst-libs/gst/tag/gsttagdemux.c:1212
 msgid "Failed to read tag: not enough data"
 msgstr ""
 
diff --git a/po/hu.gmo b/po/hu.gmo
index 8c8127a..3d671fd 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 3da3840..ef3903b 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -8,7 +8,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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2010-11-03 02:48+0100\n"
 "Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
 "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
diff --git a/po/id.gmo b/po/id.gmo
index 7abb1c1..dc7ea8e 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index 33bb3a1..ab6780b 100644
--- a/po/id.po
+++ b/po/id.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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2012-01-28 11:31+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 71bb835..40cb8a7 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index 19308e1..8dd586d 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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\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 145d763..309552c 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 1b56395..6a59acd 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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\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 dc3b1ee..cc9f444 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index f26c2e7..6401454 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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\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 b4078d9..9305fc6 100644
--- a/po/lv.gmo
+++ b/po/lv.gmo
Binary files differ
diff --git a/po/lv.po b/po/lv.po
index 7a7d276..ae0ae9a 100644
--- a/po/lv.po
+++ b/po/lv.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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2011-09-02 12:02-0000\n"
 "Last-Translator: Rihards Priedītis <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 fdd25d7..0ca8fe9 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index 96bdf92..0077881 100644
--- a/po/nb.po
+++ b/po/nb.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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2010-10-24 21:44+0200\n"
 "Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
 "Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
diff --git a/po/nl.gmo b/po/nl.gmo
index 2f5d5b8..a39cd8f 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index d283548..01d2420 100644
--- a/po/nl.po
+++ b/po/nl.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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2011-04-27 00:12+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 6d85f58..62287d5 100644
--- a/po/or.gmo
+++ b/po/or.gmo
Binary files differ
diff --git a/po/or.po b/po/or.po
index e1d625d..a2eba6c 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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2004-09-27 13:32+0530\n"
 "Last-Translator: Gora Mohanty <gora_mohanty@yahoo.co.in>\n"
 "Language-Team: Oriya <gora_mohanty@yahoo.co.in>\n"
diff --git a/po/pl.gmo b/po/pl.gmo
index c69deb9..c79efac 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index d3567bc..a161bb9 100644
--- a/po/pl.po
+++ b/po/pl.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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2011-04-26 18:01+0200\n"
 "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index d33f874..1e2f801 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 e357f9f..0adcbef 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base-0.10.31.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2011-01-08 01:02-0300\n"
 "Last-Translator: Fabrício Godoy <skarllot@gmail.com>\n"
 "Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n"
diff --git a/po/ro.gmo b/po/ro.gmo
index ccb3bf2..a4ab6fb 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index 2f664a1..fcf03e4 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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\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 d56618d..b748213 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index ed83036..4432c42 100644
--- a/po/ru.po
+++ b/po/ru.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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2011-04-26 20:30+0400\n"
 "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
 "Language-Team: Russian <gnu@mx.ru>\n"
diff --git a/po/sk.gmo b/po/sk.gmo
index 4bf52e0..1441433 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index 44129db..7f932d6 100644
--- a/po/sk.po
+++ b/po/sk.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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2010-11-08 15:34+0100\n"
 "Last-Translator: Peter Tuhársky <tuharsky@misbb.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
diff --git a/po/sl.gmo b/po/sl.gmo
index 909bcc5..85b2adf 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index d63de90..aae0f26 100644
--- a/po/sl.po
+++ b/po/sl.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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2011-04-26 15:56+0100\n"
 "Last-Translator: Klemen Košir <klemen.kosir@gmx.com>\n"
 "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
diff --git a/po/sq.gmo b/po/sq.gmo
index cc25d80..d00abc8 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index eda95d3..5dc4453 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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2004-08-07 20:29+0200\n"
 "Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n"
 "Language-Team: Albanian <begraj@hotmail.com>\n"
diff --git a/po/sr.gmo b/po/sr.gmo
index 049544d..11a2fcc 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index e94da23..d445e92 100644
--- a/po/sr.po
+++ b/po/sr.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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2011-12-05 09:10+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <gnu@prevod.org>\n"
diff --git a/po/sv.gmo b/po/sv.gmo
index be605d2..24c5425 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 0b46bde..a750573 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -8,7 +8,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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2010-06-07 18:17+0100\n"
 "Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
diff --git a/po/tr.gmo b/po/tr.gmo
index 0fcb708..1edd042 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index f668c4b..b0e4707 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -5,7 +5,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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2011-04-26 19:22+0200\n"
 "Last-Translator: Server Acim <serveracim@gmail.com>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
diff --git a/po/uk.gmo b/po/uk.gmo
index acb5c39..fb52da4 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index bbcc921..37cfc73 100644
--- a/po/uk.po
+++ b/po/uk.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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2011-04-27 17:49+0300\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
diff --git a/po/vi.gmo b/po/vi.gmo
index 7140e99..8b010c2 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 7f79c24..3cd9cf6 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -6,7 +6,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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\n"
 "PO-Revision-Date: 2010-04-27 22:51+0930\n"
 "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
 "Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index ba744b2..55dbc34 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 e63bdba..a0bcf22 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: 2013-07-11 15:27+0200\n"
+"POT-Creation-Date: 2013-07-29 13:35+0200\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/tests/check/elements/subparse.c b/tests/check/elements/subparse.c
index 8e3a999..0651eab 100644
--- a/tests/check/elements/subparse.c
+++ b/tests/check/elements/subparse.c
@@ -667,7 +667,6 @@
 
 GST_END_TEST;
 
-#ifndef GST_DISABLE_XML
 GST_START_TEST (test_sami)
 {
   SubParseInputChunk sami_input[] = {
@@ -703,7 +702,74 @@
 }
 
 GST_END_TEST;
-#endif
+
+GST_START_TEST (test_sami_xml_entities)
+{
+  SubParseInputChunk sami_input[] = {
+    {"<SAMI>\n"
+          "<BODY>\n"
+          "    <SYNC Start=1000>\n"
+          "        <P Class=CC>\n" "            &lt;Hello&gt; &amp;\n",
+          1000 * GST_MSECOND, 2000 * GST_MSECOND,
+        "&lt;Hello&gt; &amp;"},
+    {"    <SYNC Start=2000>\n"
+          "        <P Class=CC>\n"
+          "            &quot;World&apos;\n" "</BODY>\n" "</SAMI>\n",
+          2000 * GST_MSECOND, GST_CLOCK_TIME_NONE,
+        "&quot;World&apos;"}
+
+  };
+
+  do_test (sami_input, G_N_ELEMENTS (sami_input), "pango-markup");
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_sami_html_entities)
+{
+  SubParseInputChunk sami_input[] = {
+    {"<SAMI>\n"
+          "<BODY>\n"
+          "    <SYNC Start=1000>\n"
+          "        <P Class=CC>\n" "            &nbsp; &plusmn; &acute;\n",
+          1000 * GST_MSECOND, 2000 * GST_MSECOND,
+        "\xc2\xa0 \xc2\xb1 \xc2\xb4"},
+    {"    <SYNC Start=2000>\n"
+          "        <P Class=CC>\n" "            &Alpha; &omega;\n",
+          2000 * GST_MSECOND, 3000 * GST_MSECOND,
+        "\xce\x91 \xcf\x89"},
+    {"    <SYNC Start=3000>\n"
+          "        <P Class=CC>\n"
+          "            &#xa0; &#177; &#180;\n" "</BODY>\n" "</SAMI>\n",
+          3000 * GST_MSECOND, GST_CLOCK_TIME_NONE,
+        "\xc2\xa0 \xc2\xb1 \xc2\xb4"}
+  };
+
+  do_test (sami_input, G_N_ELEMENTS (sami_input), "pango-markup");
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_sami_bad_entities)
+{
+  SubParseInputChunk sami_input[] = {
+    {"<SAMI>\n"
+          "<BODY>\n"
+          "    <SYNC Start=1000>\n"
+          "        <P Class=CC>\n" "            &nbsp &\n",
+          1000 * GST_MSECOND, 2000 * GST_MSECOND,
+        "\xc2\xa0 &amp;"},
+    {"    <SYNC Start=2000>\n"
+          "        <P Class=CC>\n"
+          "            &#xa0 &#177 &#180;\n" "</BODY>\n" "</SAMI>\n",
+          2000 * GST_MSECOND, GST_CLOCK_TIME_NONE,
+        "\xc2\xa0 \xc2\xb1 \xc2\xb4"}
+  };
+
+  do_test (sami_input, G_N_ELEMENTS (sami_input), "pango-markup");
+}
+
+GST_END_TEST;
 
 /* TODO:
  *  - add/modify tests so that lines aren't dogfed to the parsers in complete
@@ -733,9 +799,10 @@
   tcase_add_test (tc_chain, test_subviewer);
   tcase_add_test (tc_chain, test_subviewer2);
   tcase_add_test (tc_chain, test_dks);
-#ifndef GST_DISABLE_XML
   tcase_add_test (tc_chain, test_sami);
-#endif
+  tcase_add_test (tc_chain, test_sami_xml_entities);
+  tcase_add_test (tc_chain, test_sami_html_entities);
+  tcase_add_test (tc_chain, test_sami_bad_entities);
   return s;
 }
 
diff --git a/tests/check/elements/videoscale.c b/tests/check/elements/videoscale.c
index 0dc3372..7d25535 100644
--- a/tests/check/elements/videoscale.c
+++ b/tests/check/elements/videoscale.c
@@ -93,6 +93,7 @@
         case GST_VIDEO_FORMAT_NV12:
         case GST_VIDEO_FORMAT_NV16:
         case GST_VIDEO_FORMAT_NV21:
+        case GST_VIDEO_FORMAT_NV24:
         case GST_VIDEO_FORMAT_UYVP:
         case GST_VIDEO_FORMAT_A420:
         case GST_VIDEO_FORMAT_YUV9:
diff --git a/win32/common/_stdint.h b/win32/common/_stdint.h
index f8f7c9e..2fd4993 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.1.2"
-/* generated using gnu compiler gcc-4.8 (Debian 4.8.1-6) 4.8.1 */
+#define _GENERATED_STDINT_H "gst-plugins-base 1.1.3"
+/* generated using gnu compiler gcc-4.8 (Debian 4.8.1-8) 4.8.1 */
 #define _STDINT_HAVE_STDINT_H 1
 #include <stdint.h>
 #endif
diff --git a/win32/common/config.h b/win32/common/config.h
index d739620..cb430b3 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -56,9 +56,6 @@
 /* system wide data directory */
 #define GST_DATADIR PREFIX "\\share"
 
-/* set to disable libxml2-dependent code in subparse */
-#undef GST_DISABLE_XML
-
 /* Extra platform specific plugin suffix */
 #undef GST_EXTRA_MODULE_SUFFIX
 
@@ -87,7 +84,7 @@
 #define GST_PACKAGE_ORIGIN "Unknown package origin"
 
 /* GStreamer package release date/time for plugins as YYYY-MM-DD */
-#define GST_PACKAGE_RELEASE_DATETIME "2013-07-11"
+#define GST_PACKAGE_RELEASE_DATETIME "2013-07-29"
 
 /* Define if static plugins should be built */
 #undef GST_PLUGIN_BUILD_STATIC
@@ -328,7 +325,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.1.2"
+#define PACKAGE_STRING "GStreamer Base Plug-ins 1.1.3"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gst-plugins-base"
@@ -337,7 +334,7 @@
 #undef PACKAGE_URL
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.1.2"
+#define PACKAGE_VERSION "1.1.3"
 
 /* directory where plugins are located */
 #ifdef _DEBUG
@@ -371,7 +368,7 @@
 #undef USE_TREMOLO
 
 /* Version number of package */
-#define VERSION "1.1.2"
+#define VERSION "1.1.3"
 
 /* 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/libgstapp.def b/win32/common/libgstapp.def
index c63ad9c..32b3cd1 100644
--- a/win32/common/libgstapp.def
+++ b/win32/common/libgstapp.def
@@ -14,6 +14,7 @@
 	gst_app_sink_set_max_buffers
 	gst_app_src_end_of_stream
 	gst_app_src_get_caps
+	gst_app_src_get_current_level_bytes
 	gst_app_src_get_emit_signals
 	gst_app_src_get_latency
 	gst_app_src_get_max_bytes
diff --git a/win32/common/libgstpbutils.def b/win32/common/libgstpbutils.def
index e9980ac..350ec45 100644
--- a/win32/common/libgstpbutils.def
+++ b/win32/common/libgstpbutils.def
@@ -1,5 +1,6 @@
 EXPORTS
 	gst_codec_utils_aac_caps_set_level_and_profile
+	gst_codec_utils_aac_get_index_from_sample_rate
 	gst_codec_utils_aac_get_level
 	gst_codec_utils_aac_get_profile
 	gst_codec_utils_aac_get_sample_rate_from_index
diff --git a/win32/common/libgstvideo.def b/win32/common/libgstvideo.def
index 15095f0..13abc6e 100644
--- a/win32/common/libgstvideo.def
+++ b/win32/common/libgstvideo.def
@@ -4,7 +4,10 @@
 	gst_buffer_add_video_meta
 	gst_buffer_add_video_meta_full
 	gst_buffer_add_video_overlay_composition_meta
+	gst_buffer_add_video_region_of_interest_meta
+	gst_buffer_add_video_region_of_interest_meta_id
 	gst_buffer_get_video_meta_id
+	gst_buffer_get_video_region_of_interest_meta_id
 	gst_buffer_pool_config_get_video_alignment
 	gst_buffer_pool_config_set_video_alignment
 	gst_color_balance_channel_get_type
@@ -203,6 +206,8 @@
 	gst_video_overlay_set_render_rectangle
 	gst_video_overlay_set_window_handle
 	gst_video_pack_flags_get_type
+	gst_video_region_of_interest_meta_api_get_type
+	gst_video_region_of_interest_meta_get_info
 	gst_video_sink_center_rect
 	gst_video_sink_get_type
 	gst_video_transfer_function_get_type
diff --git a/win32/common/video-enumtypes.c b/win32/common/video-enumtypes.c
index e32d3ee..9fd6aca 100644
--- a/win32/common/video-enumtypes.c
+++ b/win32/common/video-enumtypes.c
@@ -70,6 +70,7 @@
       {GST_VIDEO_FORMAT_GBR_10BE, "GST_VIDEO_FORMAT_GBR_10BE", "gbr-10be"},
       {GST_VIDEO_FORMAT_GBR_10LE, "GST_VIDEO_FORMAT_GBR_10LE", "gbr-10le"},
       {GST_VIDEO_FORMAT_NV16, "GST_VIDEO_FORMAT_NV16", "nv16"},
+      {GST_VIDEO_FORMAT_NV24, "GST_VIDEO_FORMAT_NV24", "nv24"},
       {0, NULL, NULL}
     };
     GType g_define_type_id = g_enum_register_static ("GstVideoFormat", values);