Imported Upstream version 1.5.2
diff --git a/ChangeLog b/ChangeLog
index e208137..0e51c58 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,731 @@
-=== release 1.5.1 ===
+=== release 1.5.2 ===
 
-2015-06-07  Sebastian Dröge <slomo@coaxion.net>
+2015-06-24  Sebastian Dröge <slomo@coaxion.net>
 
 	* configure.ac:
-	  releasing 1.5.1
+	  releasing 1.5.2
+
+2015-06-24 22:49:29 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* 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/hr.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
+
+2015-06-24 11:14:21 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* 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/hr.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:
+	  po: Update translations
+
+2015-06-17 18:03:09 +0800  Song Bing <b06498@freescale.com>
+
+	* gst/playback/gststreamsynchronizer.c:
+	  streamsynchronizer: Unblock EOS wait when track switching.
+	  sink_event () will blocked on EOS event. which will cause can't
+	  send event when switch EOS track to non-EOS one.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750761
+
+2015-06-22 20:54:18 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/playback/gststreamsynchronizer.c:
+	  streamsynchronizer: Don't wait for sparse streams when doing stream switches
+	  Their stream-start event might come a bit later, like just before the first
+	  buffer... and queues might run full before that happens.
+
+2015-06-22 20:29:52 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/playback/gststreamsynchronizer.c:
+	  streamsynchronizer: Add some more debug output
+
+2015-06-22 20:17:56 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/playback/gststreamsynchronizer.c:
+	  streamsynchronizer: Reset group start time when flushing
+	  We reset the group start time to the running time of the start of the other
+	  streams that are not flushed. This fixes seeking in gapless mode after the
+	  first track has played.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750013
+
+2015-06-22 19:51:32 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/rtsp/gstrtspconnection.c:
+	  rtspconnection: Only drop everything after the ; of a session header in requests
+	  For responses it is actually allowed and used to signal the timeout to the
+	  client!
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736267
+
+2015-06-18 17:38:09 +0800  Lyon Wang <lyon.wang@freescale.com>
+
+	* gst-libs/gst/audio/gstaudioringbuffer.c:
+	  audioringbuffer: Fix alaw/mulaw channel positions
+	  For alaw/mulaw we should also try to initialize the channel positions in the
+	  ringbuffer's audio info. This allow pulsesink to directly use the channel
+	  positions instead of using the default zero-initialized ones, which doesn't
+	  work well.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=751144
+
+2015-06-22 16:53:06 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* tests/check/libs/libsabi.c:
+	  tests: fix cpp directives
+
+2015-06-22 15:59:42 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/libs/libsabi.c:
+	* tests/check/libs/struct_ppc64.h:
+	  tests: add PPC64 abi struct sizes
+
+2015-06-22 14:51:07 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/playback/gstplaybin2.c:
+	  playbin: Reset suburi also when receiving an error message from the sub uridecodebin
+	  http://bugzilla.gnome.org/show_bug.cgi?id=751118
+
+2015-06-17 10:20:54 -0500  Brijesh Singh <brijesh.ksingh@gmail.com>
+
+	* gst/playback/gstplaybin2.c:
+	  playbin: free group->suburi on failure
+	  If suburidecodebin is failed to negotiate (e.g file does not exist)
+	  then free internal suburi variable so that 'current-suburi' property
+	  returns correct status.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=751118
+
+2015-06-15 16:08:10 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* ext/ogg/gstoggdemux.c:
+	  oggdemux: set building_chain to NULL when deactivating chain
+	  The chain is about to be invalidated so we shouldn't keep it around.
+	  Prevent a double free crash when the demuxer is being finalized.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=751000
+
+2015-06-19 19:51:25 +0900  Vineeth T M <vineeth.tm@samsung.com>
+
+	* tools/gst-play.c:
+	  tools: gst-play: fix seeking issue
+	  For positive seeking segment.stop value will be -1,
+	  when we change rate to -1, then the stop value will be udpated
+	  with the current position. And then again if we change rate to 1,
+	  the segment.stop value does not get updated and remains as position
+	  where we last changed rate to -1. Hence playback stops at that point.
+	  In case of positive rates, call gst_element_new_seek with correct values
+	  https://bugzilla.gnome.org/show_bug.cgi?id=751213
+
+2015-06-18 21:02:48 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* gst-libs/gst/rtp/gstrtphdrext.c:
+	  doc: Fix gsttrtphdrext section name
+
+2015-06-18 18:23:45 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* win32/common/libgstvideo.def:
+	  video: Add missing new symbol to win32 def file
+	  Fixes make distcheck
+
+2015-06-19 02:19:12 +1000  Jan Schmidt <jan@centricular.com>
+
+	* docs/libs/gst-plugins-base-libs-sections.txt:
+	  Add gst_video_multiview_guess_half_aspect() to the docs
+
+2015-06-15 16:04:55 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/video/video-multiview.c:
+	* gst-libs/gst/video/video-multiview.h:
+	  multiview: Add gst_video_multiview_guess_half_aspect()
+	  Add a utility function that, given a video size and a
+	  packed stereoscopic mode, attempts to guess if the video
+	  is packed at half resolution per view or not, since
+	  very few videos provide the information.
+
+2015-06-17 17:09:46 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/video/video-converter.c:
+	  video-converter: make sure we draw enough border for YUY2 formats
+	  Round width up to 2 so that we draw all border pixels for YUY2 formats
+
+2015-06-17 16:43:03 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/video/video-scaler.c:
+	  video-scaler: fix scaling of odd width for YUY2 formats
+	  We need to scale groups of 4 bytes for YUY2 formats so round up to 4.
+	  It's possible that there is no Y byte for the last pixel so make sure
+	  we clamp correctly.
+
+2015-06-17 10:02:08 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
+	  discoverer: Fix a wrong naming in the documentation
+	  gst_discoverer_stream_get_missing_elements_installer_details does not
+	  exist, one should use gst_discoverer_info_get_missing_elements_installer_details
+
+2015-06-16 18:04:57 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* gst-libs/gst/app/Makefile.am:
+	* gst-libs/gst/audio/Makefile.am:
+	* gst-libs/gst/pbutils/Makefile.am:
+	* gst-libs/gst/riff/Makefile.am:
+	* gst-libs/gst/rtp/Makefile.am:
+	* gst-libs/gst/rtsp/Makefile.am:
+	* gst-libs/gst/tag/Makefile.am:
+	* gst-libs/gst/video/Makefile.am:
+	  gi: Use INTROSPECTION_INIT for --add-init-section
+	  This new define was added to common. The new init section fixed
+	  compilation warning found in the init line that was spread across
+	  all files.
+
+2015-06-16 17:47:24 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* common:
+	  Automatic update of common submodule
+	  From 6015d26 to f74b2df
+
+2015-06-16 22:32:49 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tools/gst-play.c:
+	  tools: gst-play: error out instead of crashing if there's no playbin element
+
+2015-06-16 16:08:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst-libs/gst/video/video-chroma.c:
+	* gst-libs/gst/video/video-converter.c:
+	* gst-libs/gst/video/video-dither.c:
+	* gst-libs/gst/video/video-scaler.c:
+	  gi: Skip Scaler, Chroma, Conveter, Dither constructor
+	  Please box these types before removing the skip mark.
+
+2015-06-16 16:07:27 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst-libs/gst/video/gstvideometa.c:
+	* gst-libs/gst/video/video-overlay-composition.c:
+	  gi: Add (transfer none) for various video meta
+	  These method chains gst_buffer_add_meta() which is also transfer
+	  none.
+
+2015-06-16 15:50:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst-libs/gst/rtsp/gstrtspconnection.c:
+	  gi: Fix warnings in GstRtsp
+	  * The custom GSource is not boxed (skip for now)
+	  * The comment block has wrong name for _read_socket()
+
+2015-06-16 15:16:33 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst-libs/gst/riff/Makefile.am:
+	  gi: Don't produce gir and typlib for GstRiff
+	  The API does not follow the type naming convention. Re-enable
+	  only if one take the time to box and rename (see (rename-to SYMBOL)
+	  annotation) all types.
+
+2015-06-16 14:36:44 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst-libs/gst/fft/gstfftf32.c:
+	* gst-libs/gst/fft/gstfftf64.c:
+	* gst-libs/gst/fft/gstffts16.c:
+	* gst-libs/gst/fft/gstffts32.c:
+	  gi: Skip fft constructor for now
+	  These types have never been boxed, hence cannot be used
+	  safely in interpreted languages. This fixes warnings.
+
+2015-06-16 14:34:04 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst-libs/gst/audio/audio-info.c:
+	* gst-libs/gst/audio/gstaudiobasesink.h:
+	* gst-libs/gst/audio/gstaudiometa.c:
+	  gi: Fix warnings in libgstaudio
+	  * Duplicate section
+	  * Miss-named parameter
+	  * Missing transfer none annotation for meta
+
+2015-05-27 12:20:19 +0300  Lazar Claudiu <lazar.claudiu.florin@gmail.com>
+
+	* ext/pango/gstbasetextoverlay.c:
+	* ext/pango/gstbasetextoverlay.h:
+	  basetextoverlay: add "draw-shadow" and "draw-outline" properties
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749823
+
+2015-06-13 13:41:35 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/video/gstvideoencoder.c:
+	  videoencoder: fix gtk-doc chunk for new function
+
+2015-05-12 14:12:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* ext/pango/gstbasetextoverlay.c:
+	  basetextoverlay: Rewrite negotiation method
+	  This cleanup the negotiation function by properly splitting the probe
+	  and the decisions. This allow handling correctly pipeline where upstream
+	  caps have special memory type. An example pipeline is:
+	  gltestsrc ! textoverlay text=bla ! fakesink
+	  The upstream caps will be memory:GLMemory, which isn't supported by the
+	  blitter.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749243
+
+2015-06-05 14:30:12 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* sys/xvimage/xvimagesink.c:
+	  xvimagesink: Don't share internal pool
+	  Sharing the internal pool results in situation where the pool may have
+	  two upstream owners. This creates a race upon deactivation. Instead,
+	  always offer a new pool, and keep the internal pool internal in case
+	  we absolutely need it.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748344
+
+2015-06-05 14:28:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* sys/ximage/ximagesink.c:
+	  ximagesink: Don't share internal pool
+	  Sharing the internal pool results in situation where the pool may have
+	  two upstream owners. This create a race upon deactivation. Instead,
+	  always offer a new pool, and keep the internal pool internal in case
+	  we absolutely need it.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748344
+
+2014-11-26 21:06:57 +0100  Matej Knopp <matej.knopp@gmail.com>
+
+	* gst-libs/gst/video/gstvideoencoder.c:
+	* gst-libs/gst/video/gstvideoencoder.h:
+	* win32/common/libgstvideo.def:
+	  videoencoder: Add gst_video_encoder_set_min_pts()
+	  For streams with reordered frames this can be used to ensure that there
+	  is enough time to accomodate first DTS, which may be less than first PTS
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740575
+
+2015-06-12 19:58:34 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* win32/common/libgstvideo.def:
+	  Update .def file for new API
+
+2015-06-13 01:35:52 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	  videodecoder: Copy multiview-mode, flags and view count from ref info
+	  When copying info from the reference input state, duplicate
+	  all the fields of the video info. The sub-class will have the
+	  chance to override them later.
+
+2015-06-12 16:57:39 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/video/video-scaler.c:
+	  video-scaler: enforce same taps when combining scalers
+
+2015-06-12 16:52:27 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/video/video-scaler.c:
+	  video-scaler: make sure to clamp to max width
+	  When estimating the area that should first be vertically scaled, make
+	  sure we clamp to the max input size or else we get invalid reads.
+
+2015-06-12 16:47:03 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/video/video-converter.c:
+	* gst-libs/gst/video/video-scaler.c:
+	* gst-libs/gst/video/video-scaler.h:
+	  video-scaler: Enforce same taps on Y and UV scalers for merged formats
+	  Make sure we have the same number of taps for the Y and UV scalers so
+	  that the scalers can be merged correctly.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=749764
+
+2015-06-12 12:50:35 +0530  Arun Raghavan <git@arunraghavan.net>
+
+	* gst-libs/gst/rtsp/gstrtspconnection.c:
+	  rtsp: Add a FIXME 2.0 for gst_rtsp_connection_create_from_socket()
+	  There's a couple of redundant arguments from the pre-GIO days.
+
+2015-06-11 23:32:55 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/typefind/gsttypefindfunctions.c:
+	  typefinding: check for full UTF-8 BOM in MSS typefinder
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750802
+
+2015-06-11 18:14:47 +0200  Philippe Normand <philn@igalia.com>
+
+	* gst/typefind/gsttypefindfunctions.c:
+	  typefindfunctions: UTF-8 MSS Manifest detection support
+	  Check if the first bytes of data contain an UTF-8 BOM.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750802
+
+2015-06-11 16:18:51 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/playback/gstplaybin2.c:
+	  playbin: Check in autoplug_continue against the subtitle factory caps correctly
+	  6a2f017bfa9cb73c6db65eea0b84b1d5b56febb7 changed it to check the subtitle
+	  factory caps if there is a text-sink but we fail to get its sinkpad. What
+	  actually should be done here is to use the factory caps if there is no
+	  text-sink at all.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750785
+
+2015-06-11 23:01:48 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst/playback/gstplaybin2.c:
+	  playbin: Fix some warnings with clang around multiview enums
+	  There is the GstVideoMultiviewMode enum and the
+	  GstVideoMultiviewFramePacking, which is a subset of the
+	  multiview modes, with the same values as the corresponding
+	  types from the full enum. Do some casts and use the right
+	  times to avoid implicitly using/passing GstVideoMultiviewFramePacking
+	  when a GstVideoMultiviewMode is needed.
+
+2015-06-11 12:21:08 +1000  Jan Schmidt <jan@centricular.com>
+
+	* tests/check/libs/video.c:
+	  tests: Fix video libs test for multiview GstVideoInfo change
+	  The GstVideoInfo struct was changed late in integrating the
+	  multiview changes, and I forgot to run and fix the unit test.
+
+2015-06-11 11:12:39 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst/playback/gstplaybin2.c:
+	  playbin: Implement multiview frame-packing overrides
+	  Add GstVideoMultiviewFramePacking enum, and the
+	  video-multiview-mode and video-multiview-flags
+	  properties on playbin.
+	  Use a pad probe to replace the multiview information in
+	  video caps sent out from uridecodebin.
+	  This is a part implementation only - for full
+	  correctness, it should also modify caps in caps events,
+	  accept-caps and allocation queries.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=611157
+
+2015-06-11 11:12:39 +1000  Jan Schmidt <jan@centricular.com>
+
+	* docs/libs/gst-plugins-base-libs-sections.txt:
+	* gst-libs/gst/video/Makefile.am:
+	* gst-libs/gst/video/gstvideoencoder.c:
+	* gst-libs/gst/video/video-frame.h:
+	* gst-libs/gst/video/video-info.c:
+	* gst-libs/gst/video/video-info.h:
+	* gst-libs/gst/video/video-multiview.c:
+	* gst-libs/gst/video/video-multiview.h:
+	* gst-libs/gst/video/video.h:
+	* tests/check/libs/video.c:
+	* win32/common/libgstvideo.def:
+	  video: Add multiview/stereo support
+	  Add flags and enums to support multiview signalling in
+	  GstVideoInfo and GstVideoFrame, and the caps serialisation and
+	  deserialisation.
+	  videoencoder: Copy multiview settings from reference input state
+	  Add gst_video_multiview_* support API and GstVideoMultiviewMeta meta
+	  https://bugzilla.gnome.org/show_bug.cgi?id=611157
+
+2015-06-10 14:33:01 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
+	  rtpbaseaudiopayload: Use GST_BUFFER_PTS() instead of GST_BUFFER_TIMESTAMP()
+
+2015-06-10 12:26:38 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* gst/playback/gstplaysink.c:
+	  playsink: fix the channel of color balance element
+	  When traversing the color balance element channel list to find the one that
+	  matches with the playsink proxy, the assignation was set to iterator of the
+	  playsink proxy, not the balance element. Thus, the mapping to the values of
+	  the balance element channel was wrong.
+	  This patch fixes the assignation of the color balance element channel, so the
+	  mapping to the channel of the color balance element is fixed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750691
+
+2015-06-10 15:50:12 +0900  Vineeth TM <vineeth.tm@samsung.com>
+
+	* gst/playback/gstplaysink.c:
+	  playsink: cannot enable text flag while playing
+	  when text playbin is not enabled in the beginning, then
+	  video_srcpad_stream_synchronizer gets linked to videochain->sinkpad
+	  and when we try to enable text bin during play, since it is already linked to videochain,
+	  text chain does not get linked properly. Hence unlinking the same
+	  before linking to text chain
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748908
+
+2015-06-10 09:59:49 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* win32/common/libgstrtsp.def:
+	  win32: Update defs file
+
+2015-06-05 22:04:24 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* docs/libs/gst-plugins-base-libs-sections.txt:
+	* gst-libs/gst/rtsp/gstrtspconnection.c:
+	* gst-libs/gst/rtsp/gstrtspconnection.h:
+	  GstRTSPConnection: Add GTlsInteraction support
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750471
+
+2015-06-09 21:24:07 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+	* tools/gst-play.c:
+	  tools: gst-play: don't print 64 whitespaces next to the time indication
+	  Printing 64 whitespaces to erase the "Paused" message (after \r) would make
+	  it wrap to the next line on shorter terminals. Instead we only print the
+	  amount of spaces needed. Also mark the "Paused" string for translation
+	  while we're at it.
+
+2015-06-09 14:31:15 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* Makefile.am:
+	  cruft: add the obsolete tmpl dir to cruft-dirs
+
+2015-06-09 22:03:37 +1000  Jan Schmidt <jan@centricular.com>
+
+	* win32/common/libgstaudio.def:
+	  Update win32 exports
+
+2013-12-09 18:46:14 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+	* ext/alsa/gstalsasink.c:
+	  alsa: report recoverable device failures to base class
+	  This gives custom slave methods in the base class a chance to
+	  resynchronize themselves
+	  Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
+	  https://bugzilla.gnome.org/show_bug.cgi?id=708362
+
+2013-12-09 17:08:15 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+	* gst-libs/gst/audio/gstaudiobasesink.c:
+	* gst-libs/gst/audio/gstaudiobasesink.h:
+	  audiobasesink: added custom clock slaving method
+	  This new clock slaving method allows for installing a callback that is
+	  invoked during playback. Inside this callback, a custom slaving
+	  mechanism can be used (for example, a control loop adjusting a PLL or an
+	  asynchronous resampler). Upon request, it can skew the playout pointer
+	  just like the "skew" method. This is useful if the clocks drifted apart
+	  too much, and a quick reset is necessary.
+	  Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
+	  https://bugzilla.gnome.org/show_bug.cgi?id=708362
+
+2015-06-09 11:30:15 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* common:
+	  Automatic update of common submodule
+	  From d9a3353 to 6015d26
+
+2015-06-09 10:16:34 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tools/gst-play-1.0.1:
+	* tools/gst-play.c:
+	  tools: gst-play: add shortcuts to switch audio/subtitle/video tracks
+
+2014-11-05 09:41:36 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst/playback/gstplaybackutils.c:
+	  playback: Skip 'ANY' capsfeature while finding the count of common capsfeatures
+	  https://bugzilla.gnome.org/show_bug.cgi?id=687182
+
+2014-11-05 09:40:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst/playback/Makefile.am:
+	* gst/playback/gstplaybackutils.c:
+	* gst/playback/gstplaybackutils.h:
+	* gst/playback/gstplaybin2.c:
+	  playback: Add gstplaybackutils.{h,c} to deploy the common subroutines
+	  Bring some of the helper functions in gstplaybin2.c to new files
+	  gstplaybackutils.{h,c} which can be utilized by other files
+	  in gst/playback too.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=687182
+
+2015-06-08 23:07:47 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* common:
+	  Automatic update of common submodule
+	  From d37af32 to d9a3353
+
+2015-06-08 20:32:02 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+	* tools/gst-play.c:
+	  tools: gst-play: sort directory entries
+	  When adding a directory to the playlist, the order would be whatever
+	  g_dir_read_name returned. Sorting these using natural sort order.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750585
+
+2015-06-08 20:17:07 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* sys/ximage/ximagesink.c:
+	* sys/xvimage/xvcontext.c:
+	  ximagesink, xvimagesink: fix string leaks when setting class hint
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750455
+
+2015-06-08 13:01:43 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst-libs/gst/video/video-color.c:
+	  video: Allow using bt2020 by name in colorimetry
+	  As the lookup stops at the first element in the array with a NULL
+	  name, bt2020 could not be used by name. Moving up this entry
+	  fixes the issue.
+
+2015-06-05 16:01:05 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* sys/ximage/ximagesink.c:
+	  ximagesink: set WM_CLASS of window
+	  Set WM_CLASS of the ximagesink window so window managers can apply rules
+	  based on xprop filtering.
+
+2015-06-05 15:58:39 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* sys/xvimage/xvcontext.c:
+	  xvimagesink: set WM_CLASS of window
+	  Set WM_CLASS of the xvimagesink window so window managers can apply rules
+	  based on xprop filtering.
+
+2015-06-07 23:06:08 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* common:
+	  Automatic update of common submodule
+	  From 21ba2e5 to d37af32
+
+2015-06-07 18:49:48 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/libvisual/gstaudiovisualizer.c:
+	  libvisual: clean dereferences of private structures
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742875
+
+2015-06-07 18:23:23 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/libvisual/gstaudiovisualizer.c:
+	* ext/libvisual/gstaudiovisualizer.h:
+	  libvisual: make private all variable subclasses don't need
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742875
+
+2015-06-07 17:31:55 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* common:
+	  Automatic update of common submodule
+	  From c408583 to 21ba2e5
+
+2015-06-07 17:00:05 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* docs/libs/Makefile.am:
+	* docs/plugins/Makefile.am:
+	  docs: remove variables that we define in the snippet from common
+	  This is syncing our Makefile.am with upstream gtkdoc.
+
+2015-06-07 17:16:13 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* autogen.sh:
+	* common:
+	  Automatic update of common submodule
+	  From 241fcb7 to c408583
+
+2015-06-07 16:44:31 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	  Back to development
+
+=== release 1.5.1 ===
+
+2015-06-07 10:04:41 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ChangeLog:
+	* NEWS:
+	* RELEASE:
+	* configure.ac:
+	* docs/plugins/gst-plugins-base-plugins.args:
+	* docs/plugins/gst-plugins-base-plugins.hierarchy:
+	* docs/plugins/gst-plugins-base-plugins.signals:
+	* docs/plugins/inspect/plugin-adder.xml:
+	* docs/plugins/inspect/plugin-alsa.xml:
+	* docs/plugins/inspect/plugin-app.xml:
+	* docs/plugins/inspect/plugin-audioconvert.xml:
+	* docs/plugins/inspect/plugin-audiorate.xml:
+	* docs/plugins/inspect/plugin-audioresample.xml:
+	* docs/plugins/inspect/plugin-audiotestsrc.xml:
+	* docs/plugins/inspect/plugin-cdparanoia.xml:
+	* docs/plugins/inspect/plugin-encoding.xml:
+	* docs/plugins/inspect/plugin-gio.xml:
+	* docs/plugins/inspect/plugin-libvisual.xml:
+	* docs/plugins/inspect/plugin-ogg.xml:
+	* docs/plugins/inspect/plugin-pango.xml:
+	* docs/plugins/inspect/plugin-playback.xml:
+	* docs/plugins/inspect/plugin-subparse.xml:
+	* docs/plugins/inspect/plugin-tcp.xml:
+	* docs/plugins/inspect/plugin-theora.xml:
+	* docs/plugins/inspect/plugin-typefindfunctions.xml:
+	* docs/plugins/inspect/plugin-videoconvert.xml:
+	* docs/plugins/inspect/plugin-videorate.xml:
+	* docs/plugins/inspect/plugin-videoscale.xml:
+	* docs/plugins/inspect/plugin-videotestsrc.xml:
+	* docs/plugins/inspect/plugin-volume.xml:
+	* docs/plugins/inspect/plugin-vorbis.xml:
+	* docs/plugins/inspect/plugin-ximagesink.xml:
+	* docs/plugins/inspect/plugin-xvimagesink.xml:
+	* gst-plugins-base.doap:
+	* win32/common/_stdint.h:
+	* win32/common/config.h:
+	* win32/common/gstrtsp-enumtypes.c:
+	* win32/common/gstrtsp-enumtypes.h:
+	* win32/common/pbutils-enumtypes.c:
+	* win32/common/pbutils-enumtypes.h:
+	* win32/common/video-enumtypes.c:
+	* win32/common/video-enumtypes.h:
+	  Release 1.5.1
 
 2015-06-07 09:35:03 +0200  Sebastian Dröge <sebastian@centricular.com>
 
diff --git a/Makefile.am b/Makefile.am
index ad5930c..5fc3e10 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -89,6 +89,7 @@
 	$(top_builddir)/tools/gst-discoverer
 
 CRUFT_DIRS = \
+	$(top_srcdir)/docs/plugins/tmpl \
 	$(top_srcdir)/ext/gio \
 	$(top_srcdir)/gst/gdp \
 	$(top_srcdir)/sys/v4l \
diff --git a/Makefile.in b/Makefile.in
index 58bea2a..000ba41 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -372,6 +372,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
@@ -593,6 +594,7 @@
 	$(top_builddir)/tools/gst-discoverer
 
 CRUFT_DIRS = \
+	$(top_srcdir)/docs/plugins/tmpl \
 	$(top_srcdir)/ext/gio \
 	$(top_srcdir)/gst/gdp \
 	$(top_srcdir)/sys/v4l \
diff --git a/NEWS b/NEWS
index 710670b..38029cf 100644
--- a/NEWS
+++ b/NEWS
@@ -1,2 +1,2 @@
-This is GStreamer Base Plugins 1.5.1
+This is GStreamer Base Plugins 1.5.2
 
diff --git a/RELEASE b/RELEASE
index 832bc8f..b754bf3 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,8 +1,8 @@
 
-Release notes for GStreamer Base Plugins 1.5.1
+Release notes for GStreamer Base Plugins 1.5.2
 
 
-The GStreamer team is pleased to announce the first release of the unstable
+The GStreamer team is pleased to announce the second release of the unstable
 1.5 release series. The 1.5 release series is adding new features on top of
 the 1.0, 1.2 and 1.4 series and is part of the API and ABI-stable 1.x release
 series of the GStreamer multimedia framework. The unstable 1.5 release series
@@ -61,154 +61,23 @@
 
 Bugs fixed in this release
      
-      * 742924 : decodebin: Initial decoder negotiation will always fail
-      * 749676 : playbin: failed to get end-of-stream event when visualization flag is enabled
-      * 741355 : playbin: deadlock
-      * 650652 : encodebin: missing encoder error when trying to remux
-      * 673976 : pbutils: codec description should include profile
-      * 706066 : xvimagesink: Fails to allocate large xvimages but does not declare this limitation on the caps
-      * 722316 : playbin: flac playback broken
-      * 722442 : Internal data stream error in gstoggdemux.c
-      * 723252 : testsuite failure: libs/tag - exif tag: " Conversion from character set 'utf8' to 'latin1' is not supported " 
-      * 725383 : uridecodebin doesn't need to set the " iradio-mode " property in the source element any more
-      * 726709 : playback-test: Segment seeks do not work anymore
-      * 727409 : streamsynchronizer: Invalid memory accesses when using uncopyable memory
-      * 727955 : id3v2: ignore RVA2 tags with 0 peak bits
-      * 728379 : appsink: add push_sample() convenience function for easy appsrc - > appsink use
-      * 729198 : oggdemux: add non flushing time seeking to 0 in push mode
-      * 729314 : ogg: sample-accurate decoding/encoding is broken
-      * 729760 : appsrc: Changing caps and pushing buffers is not serialized
-      * 731047 : ximagesink, xvimagesink: configure checks pull in libSM and libICE even though they are not used
-      * 732186 : videoconvert optimization
-      * 733147 : audio/video decoder base classes needlessly delay caps events
-      * 733169 : decodebin: improve deadend pads handling
-      * 733405 : riff: wrong channel mask in wav should be ignored
-      * 733482 : discoverer: Prettify tags with samples
-      * 733495 : uridecodebin/playbin: Does not properly do async state changes
-      * 733524 : ges-launch crashes with SIGABRT when using h264 encoded assets
-      * 733615 : decodebin: Changing state of a playbin pipeline intensively segfault with several formats
-      * 733720 : videodecoder: output should not have DTS
-      * 734350 : oggdemux: Unref peer pad after use in error case
-      * 734359 : tests: Add missing unrefs of objects after use
-      * 734424 : videorate: produces bogus output when framerate=0/1
-      * 734441 : videodecoder: in reverse playback, flush the output queue after decoding each keyframe chain
-      * 734540 : audioencoder: Mark caps argument as not being transferred
-      * 734541 : vorbisenc: Improve annotation of internal function
-      * 734650 : videoscale: Does not support NV21 format
-      * 734666 : audiodecoder: Don't drain and flush on SEGMENT events.
-      * 735509 : oggdemux: should accumulate segment.base
-      * 735631 : riff: Recognize RF64 as RIFF file
-      * 735808 : oggdemux: should not set segment.base in gst_ogg_pad_submit_packet()
-      * 735879 : basetetxtoverlay: make shading_value a property
-      * 736028 : basetextoverlay: cairo transparence setting not needed
-      * 736267 : rtspconnection: Be more forgiving when parsing session header in requests
-      * 736797 : audio: correct condition for MPEG case in iec61937 / SPDIF payloader
-      * 736845 : videoscale: 4Tap resize support not present for NV format
-      * 737072 : videopool: add missing annotation for gst_video_buffer_pool_new()
-      * 737138 : audioencoder: weird error handling code path
-      * 737400 : videoscale: Lanczos resizing for NV image format
-      * 737757 : decodebin: memory leak
-      * 738018 : typefind: #define gst_type_find_peek is not needed any more
-      * 738026 : audioresample: struct GstAudioResample has unused variables
-      * 738131 : playbin: Bogus results from GST_STATE_NULL (audio-)sink
-      * 738242 : textoverlay: segfault when trying to position text outside of the video frame
-      * 738416 : decodebin: Don't plug multiple parsers one after another
-      * 738568 : videotestsrc: assertion failed error
-      * 738984 : basetextoverlay: segfault for min/max values of element properties
-      * 739346 : playback-test: correct the test apps
-      * 739433 : video: recent video-resampler addition causes build failures when building without orc
-      * 739446 : audiosink, audiosrc: fix silence for unsigned pcm formats
-      * 739536 : subtitleoverlay: return available factory caps instead of any on caps query
-      * 739545 : docs: gst_dmabuf_allocator_alloc: Improve documentation
-      * 739546 : New socketsrc element
-      * 739640 : tests : fix leaks in adder unit test
-      * 739689 : textoverlay: not rendering when x + text_width > frame_width &  & x < frame_width
-      * 740018 : videorate: Operate in a zero-latency mode if drop-only is set to TRUE
-      * 740214 : [API] encodebin: Add a way to disable caps renegotiation for output stream format
-      * 740422 : vorbisenc: Nothing encoded in some transcoding cases (regression)
-      * 740615 : alsa: warn on buffer underrun / overrun
-      * 740686 : audiodecoder: Error not handled in gst_audio_decoder_drain
-      * 740689 : decodebin/multiqueue/max-size-buffers is not set in playing state
-      * 740690 : Timeoverlay: add an option to choose between stream-time and running-time.
-      * 740693 : decodebin: Analyze source pad before setting to PAUSED for 'tag demuxers'
-      * 740694 : decodebin: Take STREAM_LOCK before sending sticky events.
-      * 740798 : videoscale: Videoscale test suite fails for 4-tap method
-      * 740834 : audiobasesink: racy clock jump when renegotiating
-      * 741015 : videoconvert: Tune quality setting to not degrade performance compared to 1.4
-      * 741030 : theoradec: Sets video-meta width/height from padded values
-      * 741097 : oggdemux: Fix seeking before the first frame.
-      * 741144 : id3demux: support UTF-16 - > UTF-8 conversion on systems with crippled iconv
-      * 741187 : [regression] ProRes files show up pink
-      * 741263 : videodecoder: implement caps query
-      * 741281 : audiorate: fill gap events
-      * 741501 : videopool: should update video alignment after change it
-      * 741640 : video-converter: support AYUV border
-      * 741879 : audio/videotestsrc: Report latency in live-mode
-      * 741987 : videoscale performance regression
-      * 742006 : discoverer: _get_missing_elements_installer_details() is documented to return a copy but doesn't
-      * 742110 : video: Add support for BT2020 colorspace (UHD)
-      * 742885 : decodebin: disable pad link checks as it has already been done
-      * 743687 : playback: gstreamer-vaapi doesn't work with Totem master
-      * 743834 : tcpserversink: fails with html5 < video > client
-      * 743900 : oggdemux gets first packet timestamp wrong - theora
-      * 743980 : decodebin2: crash in analyze_new_pad
-      * 744028 : video-converter: Converter doesn't work properly when offsets are specified
-      * 744070 : oggdemux: wrong duration for ogv file
-      * 744465 : install-plugins: add _set_desktop_id(), _set_startup_notification_id() and _set_confirm_search() API
-      * 744844 : playbin: forward template and ring buffer settings to existing decodebins
-      * 745006 : video-converter: Add frame 'alpha' property to video-converter
-      * 745073 : playbin, discoverer: criticals when switching from pull mode to push mode
-      * 745174 : gst-play: support play rate change
-      * 745207 : video-converter: sometimes crashes during ARGB - > BGRx conversion.
-      * 745337 : video: RGB15/16 pack/unpack unit test failure on big endian systems
-      * 745667 : volume: Unable to set the volume with gcc-4.9 on arm platform
-      * 745719 : video-converter: doesn't work properly with YUY2 and right border
-      * 745980 : ogg video file is unable to be seeked
-      * 746150 : multisocketsink: Map `GstMemory`s individually when sending
-      * 746457 : oggdemux: don't abuse GST_ERROR()
-      * 746466 : video: add NV61 format support
-      * 746480 : playbin: deadlock on PMT change in mpeg TS stream
-      * 746661 : audioconvert: slow dithering on architectures without 64-bit integer divide (e.g. armv7)
-      * 746865 : videoencoder: Keep sticky event when reset.
-      * 746908 : appsrc: allow sample with no caps or no buffer in push_sample()
-      * 747005 : audioconvert: avoid floating point calculations when mixing integer-formatted channels
-      * 747103 : discoverer: leak when handling toc messages
-      * 747190 : videodecoder: Sends GAP events before CAPS
-      * 747245 : navigation: Post navigation events as message on the bus
-      * 747283 : configure: playback and seek tests build error with gtk < 3.10.0
-      * 747293 : audiodecoder: Add sink and src query virtual method
-      * 747517 : appsrc: negotiates twice if caps are changed before pipeline starts
-      * 747602 : basetextoverlay: Leak in gst_base_text_overlay_text_chain
-      * 747624 : decodebin unit test fails: test environment not set up correctly with automake 1.11
-      * 747692 : check build error on osx: pipelines/tcp.c:161:34: error: use of undeclared identifier 'SOCK_CLOEXEC'
-      * 747790 : videoscale method=bilinear2 and UYVY/YUY2 distortion
-      * 747841 : gio: plugin dependencies wrong or insufficient
-      * 748021 : video-converter: unused variables n_taps max_taps
-      * 748027 : rtpbasedepayload: testcase crash
-      * 748247 : oggdemux: fix event leak
-      * 748289 : audio: " delay " virt-func mixes up samples and frames
-      * 748348 : video-converter: change data type of _GstLineCache::n_lines
-      * 748413 : xmptag: valgrind errors when printing debug output
-      * 748687 : video-converter: Remove unused macro
-      * 748814 : discoverer: add serialization/deserialization methods
-      * 748820 : oggdemux: remove unnecessary codes
-      * 748903 : fix navigation event leaks
-      * 748964 : oggdemux: fix chain leak
-      * 749104 : video-converter: Change some implicit string enums to  real enums
-      * 749105 : videoconvert: Expose some properties from the videoconverter API
-      * 749528 : playbin: need to avoid duplicated flag setting
-      * 749530 : xvimagesink: fix pool leak
-      * 749632 : FTBFS when srcdir != builddir since commit bfc13c8e
-      * 749673 : discoverer: Serialize the top level DiscovererInfo
-      * 749740 : tools: gst-play: print keyboard shortcuts help in interactive mode.
-      * 749824 : basetextoverlay: make deltax and deltay properties controllable
-      * 750032 : videorate: fails to renegotiate on streams with a variable framerate
-      * 750096 : sdp: prevent the sdp message parser from reading past the end of the buffer
-      * 750325 : rtcpbuffer: Update package validation to support reduced size rtcp packets
-      * 750406 : audioconvert: copy all metadata.
-      * 738302 : videorate: Should increase minimum buffer in allocation query
-      * 739281 : video-blend: fix blending of rectangles partially or fully outside of the video
-      * 740013 : rtspconnection: There is an warning by mismatch of parameter name in header and source files
+      * 708362 : audiobasesink: new slave-method for custom clock slaving algorithms
+      * 748908 : playsink: cannot enable text flag while playing
+      * 749039 : x11: X and XV imagesink don't need to cache the pools
+      * 749243 : textoverlay: gltestsrc ! textoverlay ! fakesink does not work
+      * 749764 : videoscaler: invalid memory access when downscaling in some cases
+      * 749823 : basetextoverlay: add properties for toggling drawing text shadow and outline
+      * 750013 : playbin: seeking halts playback with gst-play-1.0 gapless
+      * 750455 : xvimagesink, ximagesink: set WM_CLASS for the window
+      * 750585 : gst-play: sort directory entries
+      * 750691 : playsink: fix the channel of color balance element
+      * 750785 : playbin: assrender is not used anymore when available
+      * 750802 : typefind: UTF-8 MSS manifest parsing support
+      * 750823 : discoverer test racy
+      * 751000 : oggdemux: crash with validate.http.media_check.vorbis_theora_1_ogg
+      * 751118 : playbin: current-suburi does not return correct status when an invalid SUBURI is passed
+      * 751144 : audioringbuffer: Fix alaw/mulaw channel positions
+      * 751213 : tools: gst-play: fix seeking issue
 
 ==== Download ====
 
@@ -245,76 +114,28 @@
         
 Contributors to this release
     
-      * Aleix Conchillo Flaqué
-      * Alessandro Decina
-      * Andreas Frisch
-      * Andrei Sarakeev
-      * Andres Gomez
-      * Anuj Jaiswal
-      * Arnaud Vrac
       * Arun Raghavan
-      * Aurélien Zanelli
-      * Bernhard Miller
-      * Branislav Katreniak
-      * Chad
-      * Chihyoung Kim
-      * Claudiu Florin Lazar
-      * Danny Song
-      * David Schleef
-      * Duncan Palmer
+      * Brijesh Singh
+      * Carlos Rafael Giani
       * Edward Hervey
-      * Garg
-      * George Kiagiadakis
       * Guillaume Desmottes
-      * Göran Jönsson
-      * Heinrich Fink
-      * Hyunjun Ko
-      * Ilya Konstantinov
-      * Jan Alexander Steffens (heftig)
       * Jan Schmidt
-      * Jonathan Matthew
-      * Jose Antonio Santos Cadenas
-      * Kalev Lember
-      * Kipp Cannon
+      * Lazar Claudiu
       * Luis de Bethencourt
-      * Mark Nauwelaerts
+      * Lyon Wang
       * Matej Knopp
-      * Mathieu Duponchelle
-      * Matthieu Bouron
-      * Matthieu Crapet
-      * Mohammed Sameer
-      * Nicola Murino
       * Nicolas Dufresne
-      * Nirbheek Chauhan
-      * Ognyan Tonchev
-      * Olivier Crete
-      * Olivier Crête
-      * Peter G. Baum
-      * Ramiro Polla
-      * Ravi Kiran K N
-      * Rico Tzschichholz
-      * Sam Thursfield
-      * Sanjay NM
+      * Philippe Normand
       * Sebastian Dröge
-      * Sebastian Rasmussen
       * Song Bing
       * Sreerenj Balachandran
       * Stefan Sauer
-      * Thiago Santos
       * Thibault Saunier
-      * Thomas Klausner
-      * Thomas Roos
       * Tim-Philipp Müller
-      * Vincent Penquerc'h
       * Vineeth T M
+      * Vineeth TM
       * Vivia Nikolaidou
       * Víctor Manuel Jáquez Leal
-      * Wang Xin-yu (王昕宇)
-      * William Manley
       * Wim Taymans
-      * Wonchul Lee
-      * Young Han Lee
-      * Zaheer Abbas Merali
-      * danny song
-      * eunhae choi
+      * Xavier Claessens
  
\ No newline at end of file
diff --git a/autogen.sh b/autogen.sh
index 61f93f2..430ff0d 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -13,7 +13,6 @@
 olddir=`pwd`
 cd "$srcdir"
 
-DIE=0
 package=gst-plugins-base
 srcfile=gst-plugins-base.doap
 
@@ -56,13 +55,25 @@
 autogen_options $@
 
 printf "+ check for build tools"
-if test ! -z "$NOCHECK"; then echo ": skipped version checks"; else  echo; fi
-version_check "autoreconf" "autoreconf " \
-              "ftp://ftp.gnu.org/pub/gnu/autoconf/" 2 68 || DIE=1
-version_check "pkg-config" "" \
-              "http://www.freedesktop.org/software/pkgconfig" 0 8 0 || DIE=1
+if test -z "$NOCHECK"; then
+  echo
 
-die_check $DIE
+  printf "  checking for autoreconf ... "
+  echo
+  which "autoreconf" 2>/dev/null || {
+    echo "not found! Please install the autoconf package."
+    exit 1
+  }
+
+  printf "  checking for pkg-config ... "
+  echo
+  which "pkg-config" 2>/dev/null || {
+    echo "not found! Please install pkg-config."
+    exit 1
+  }
+else
+  echo ": skipped version checks"
+fi
 
 # if no arguments specified then this will be printed
 if test -z "$*" && test -z "$NOCONFIGURE"; then
@@ -76,7 +87,7 @@
 toplevel_check $srcfile
 
 # autopoint
-if test -d po ; then
+if test -d po && grep ^AM_GNU_GETTEXT_VERSION configure.ac >/dev/null ; then
   tool_run "autopoint" "--force"
 fi
 
diff --git a/common/Makefile.am b/common/Makefile.am
index 25966fc..1eac7d8 100644
--- a/common/Makefile.am
+++ b/common/Makefile.am
@@ -8,7 +8,7 @@
 	parallel-subdirs.mak \
 	gst-autogen.sh \
 	check-exports \
-	c-to-xml.py mangle-tmpl.py scangobj-merge.py \
+	c-to-xml.py mangle-db.py scangobj-merge.py \
 	gtk-doc-plugins.mak \
 	plugins.xsl gstdoc-scangobj \
 	gst.supp check.mak \
diff --git a/common/Makefile.in b/common/Makefile.in
index c10c513..870528d 100644
--- a/common/Makefile.in
+++ b/common/Makefile.in
@@ -335,6 +335,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
@@ -503,7 +504,7 @@
 	parallel-subdirs.mak \
 	gst-autogen.sh \
 	check-exports \
-	c-to-xml.py mangle-tmpl.py scangobj-merge.py \
+	c-to-xml.py mangle-db.py scangobj-merge.py \
 	gtk-doc-plugins.mak \
 	plugins.xsl gstdoc-scangobj \
 	gst.supp check.mak \
diff --git a/common/gst-autogen.sh b/common/gst-autogen.sh
index c5798d0..71049e6 100644
--- a/common/gst-autogen.sh
+++ b/common/gst-autogen.sh
@@ -20,168 +20,6 @@
   fi
 }
 
-version_get ()
-# based on the command's version output, set variables
-# _MAJOR, _MINOR, _MICRO, _VERSION, using the given prefix as variable prefix
-#
-# arg 1: command binary name
-# arg 2: (uppercased) variable name prefix
-{
-  COMMAND=$1
-  VARPREFIX=`echo $2 | tr .,- _`
-  local ${VARPREFIX}_VERSION
-
-  # strip everything that's not a digit, then use cut to get the first field
-  pkg_version=`$COMMAND --version|head -n 1|sed 's/^.*)[^0-9]*//'|cut -d' ' -f1`
-  debug "pkg_version $pkg_version"
-  # remove any non-digit characters from the version numbers to permit numeric
-  # comparison
-  pkg_major=`echo $pkg_version | cut -d. -f1 | sed s/[a-zA-Z\-].*//g`
-  pkg_minor=`echo $pkg_version | cut -d. -f2 | sed s/[a-zA-Z\-].*//g`
-  pkg_micro=`echo $pkg_version | cut -d. -f3 | sed s/[a-zA-Z\-].*//g`
-  test -z "$pkg_major" && pkg_major=0
-  test -z "$pkg_minor" && pkg_minor=0
-  test -z "$pkg_micro" && pkg_micro=0
-  debug "found major $pkg_major minor $pkg_minor micro $pkg_micro"
-  eval ${VARPREFIX}_MAJOR=$pkg_major
-  eval ${VARPREFIX}_MINOR=$pkg_minor
-  eval ${VARPREFIX}_MICRO=$pkg_micro
-  eval ${VARPREFIX}_VERSION=$pkg_version
-}
-
-version_compare ()
-# Checks whether the version of VARPREFIX is equal to or
-# newer than the requested version
-# arg1: VARPREFIX
-# arg2: MAJOR
-# arg3: MINOR
-# arg4: MICRO
-{
-  VARPREFIX=`echo $1 | tr .,- _`
-  MAJOR=$2
-  MINOR=$3
-  MICRO=$4
-
-  eval pkg_major=\$${VARPREFIX}_MAJOR;
-  eval pkg_minor=\$${VARPREFIX}_MINOR;
-  eval pkg_micro=\$${VARPREFIX}_MICRO;
-
-  #start checking the version
-  debug "version_compare: $VARPREFIX against $MAJOR.$MINOR.$MICRO"
-
-    # reset check
-    WRONG=
-
-    if [ ! "$pkg_major" -gt "$MAJOR" ]; then
-      debug "major: $pkg_major <= $MAJOR"
-      if [ "$pkg_major" -lt "$MAJOR" ]; then
-        debug "major: $pkg_major < $MAJOR"
-        WRONG=1
-      elif [ ! "$pkg_minor" -gt "$MINOR" ]; then
-        debug "minor: $pkg_minor <= $MINOR"
-        if [ "$pkg_minor" -lt "$MINOR" ]; then
-          debug "minor: $pkg_minor < $MINOR"
-          WRONG=1
-        elif [ "$pkg_micro" -lt "$MICRO" ]; then
-          debug "micro: $pkg_micro < $MICRO"
-	  WRONG=1
-        fi
-      fi
-    fi
-    if test ! -z "$WRONG"; then
-      debug "version_compare: $VARPREFIX older than $MAJOR.$MINOR.$MICRO"
-      return 1
-    fi
-    debug "version_compare: $VARPREFIX equal to/newer than $MAJOR.$MINOR.$MICRO"
-    return 0
-}
-
-
-version_check ()
-# check the version of a package
-# first argument : package name (executable)
-# second argument : optional path where to look for it instead
-# third argument : source download url
-# rest of arguments : major, minor, micro version
-# all consecutive ones : suggestions for binaries to use
-# (if not specified in second argument)
-{
-  PACKAGE=$1
-  PKG_PATH=$2
-  URL=$3
-  MAJOR=$4
-  MINOR=$5
-  MICRO=$6
-
-  # for backwards compatibility, we let PKG_PATH=PACKAGE when PKG_PATH null
-  if test -z "$PKG_PATH"; then PKG_PATH=$PACKAGE; fi
-  debug "major $MAJOR minor $MINOR micro $MICRO"
-  VERSION=$MAJOR
-  if test ! -z "$MINOR"; then VERSION=$VERSION.$MINOR; else MINOR=0; fi
-  if test ! -z "$MICRO"; then VERSION=$VERSION.$MICRO; else MICRO=0; fi
-
-  debug "major $MAJOR minor $MINOR micro $MICRO"
-
-  for SUGGESTION in $PKG_PATH; do
-    COMMAND="$SUGGESTION"
-
-    # don't check if asked not to
-    test -z "$NOCHECK" && {
-      printf "  checking for $COMMAND >= $VERSION ... "
-    } || {
-      # we set a var with the same name as the package, but stripped of
-      # unwanted chars
-      VAR=`echo $PACKAGE | sed 's/-//g'`
-      debug "setting $VAR"
-      eval $VAR="$COMMAND"
-      return 0
-    }
-
-    which $COMMAND > /dev/null 2>&1
-    if test $? -eq 1;
-    then 
-      debug "$COMMAND not found"
-      continue
-    fi
-
-    VARPREFIX=`echo $COMMAND | sed 's/-//g' | tr [:lower:] [:upper:]`
-    version_get $COMMAND $VARPREFIX
-
-    version_compare $VARPREFIX $MAJOR $MINOR $MICRO
-    if test $? -ne 0; then
-      echo "found $pkg_version, not ok !"
-      continue
-    else
-      echo "found $pkg_version, ok."
-      # we set a var with the same name as the package, but stripped of
-      # unwanted chars
-      VAR=`echo $PACKAGE | sed 's/-//g'`
-      debug "setting $VAR"
-      eval $VAR="$COMMAND"
-      return 0
-    fi
-  done
-
-  echo "$PACKAGE not found !"
-  echo "You must have $PACKAGE installed to compile $package."
-  echo "Download the appropriate package for your distribution,"
-  echo "or get the source tarball at $URL"
-  return 1;
-}
-
-die_check ()
-{
-  # call with $DIE
-  # if set to 1, we need to print something helpful then die
-  DIE=$1
-  if test "x$DIE" = "x1";
-  then
-    echo
-    echo "- Please get the right tools before proceeding."
-    echo "- Alternatively, if you're sure we're wrong, run with --nocheck."
-    exit 1
-  fi
-}
 
 autogen_options ()
 {
diff --git a/common/gst.supp b/common/gst.supp
index 5e2aaf9..81f98a9 100644
--- a/common/gst.supp
+++ b/common/gst.supp
@@ -4006,3 +4006,17 @@
    ...
    fun:_g_io_module_get_default
 }
+
+{
+   <valgrind bug when trying to parse "infinity" from "interleaved">
+   Memcheck:Addr8
+   fun:__GI___strncasecmp_l
+   fun:____strtod_l_internal
+   fun:gst_value_deserialize_double
+}
+
+{
+   <glibc overreads/conditionals>
+   Memcheck:Addr8
+   fun:do_lookup_x
+}
diff --git a/common/gtk-doc-plugins.mak b/common/gtk-doc-plugins.mak
index f19e7d7..997a672 100644
--- a/common/gtk-doc-plugins.mak
+++ b/common/gtk-doc-plugins.mak
@@ -16,6 +16,16 @@
 update: scanobj-update
 	$(MAKE) check-outdated-docs
 
+if GTK_DOC_USE_LIBTOOL
+GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_RUN = $(LIBTOOL) --mode=execute
+else
+GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_RUN =
+endif
+
 # We set GPATH here; this gives us semantics for GNU make
 # which are more like other make's VPATH, when it comes to
 # whether a source that is a target of one rule is then
@@ -44,11 +54,9 @@
 # maintainers and result is commited to git
 DOC_STAMPS =				\
 	scan-build.stamp		\
-	tmpl-build.stamp		\
 	sgml-build.stamp		\
 	html-build.stamp		\
 	scan.stamp			\
-	tmpl.stamp			\
 	sgml.stamp			\
 	html.stamp
 
@@ -122,7 +130,7 @@
 	    scanobj_options="--verbose"; \
 	fi; \
 	$(INSPECT_ENVIRONMENT) 					\
-	CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)"				\
+	CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)"	\
 	CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS) $(WARNING_CFLAGS)"	\
 	LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)"				\
 	$(GST_DOC_SCANOBJ) $$scanobj_options --type-init-func="gst_init(NULL,NULL)"	\
@@ -161,29 +169,9 @@
 	    --ignore-headers="$(IGNORE_HFILES)";			\
 	touch scan-build.stamp
 
-#### update templates; done on every build ####
-
-# in a non-srcdir build, we need to copy files from the previous step
-# and the files from previous runs of this step
-tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_OVERRIDES)
-	@echo '  DOC   Rebuilding template files'
-	@if test x"$(srcdir)" != x. ; then				\
-	    for f in $(SCANOBJ_FILES) $(SCAN_FILES);			\
-	    do								\
-	        if test -e $(srcdir)/$$f; then cp -u $(srcdir)/$$f . ; fi;	\
-	    done;							\
-	fi
-	@gtkdoc-mktmpl --module=$(DOC_MODULE)
-	@$(PYTHON) \
-		$(top_srcdir)/common/mangle-tmpl.py $(srcdir)/$(INSPECT_DIR) tmpl
-	@touch tmpl-build.stamp
-
-tmpl.stamp: tmpl-build.stamp
-	@true
-
 #### xml ####
 
-sgml-build.stamp: tmpl.stamp scan-build.stamp $(CFILE_GLOB) $(top_srcdir)/common/plugins.xsl $(expand_content_files)
+sgml-build.stamp: scan-build.stamp $(CFILE_GLOB) $(top_srcdir)/common/plugins.xsl $(expand_content_files)
 	@echo '  DOC   Building XML'
 	@-mkdir -p xml
 	@for a in $(srcdir)/$(INSPECT_DIR)/*.xml; do \
@@ -199,6 +187,7 @@
 		--output-format=xml \
 		--ignore-files="$(IGNORE_HFILES) $(IGNORE_CFILES)" \
 		$(MKDB_OPTIONS)
+	@$(PYTHON) $(top_srcdir)/common/mangle-db.py xml
 	@cp ../version.entities xml
 	@touch sgml-build.stamp
 
diff --git a/common/gtk-doc.mak b/common/gtk-doc.mak
index 9d76889..f8edf40 100644
--- a/common/gtk-doc.mak
+++ b/common/gtk-doc.mak
@@ -3,7 +3,16 @@
 ###########################################################################
 # thomas: except of course that we did
 
-# thomas: copied from glib-2
+if GTK_DOC_USE_LIBTOOL
+GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_RUN = $(LIBTOOL) --mode=execute
+else
+GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_RUN =
+endif
+
 # We set GPATH here; this gives us semantics for GNU make
 # which are more like other make's VPATH, when it comes to
 # whether a source that is a target of one rule is then
@@ -81,15 +90,22 @@
 		--ignore-headers="$(IGNORE_HFILES)"
 	@if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null; then	\
 	    echo "  DOC   Introspecting gobjects"; \
+	    scanobj_options=""; \
+	    gtkdoc-scangobj 2>&1 --help | grep  >/dev/null "\-\-verbose"; \
+	    if test "$$?" = "0"; then \
+	        if test "x$(V)" = "x1"; then \
+	            scanobj_options="--verbose"; \
+	        fi; \
+	    fi; \
 	    GST_PLUGIN_SYSTEM_PATH_1_0=`cd $(top_builddir) && pwd`		\
 	    GST_PLUGIN_PATH_1_0=						\
 	    GST_REGISTRY_1_0=doc-registry.xml				\
 	    $(GTKDOC_EXTRA_ENVIRONMENT)					\
-	    CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)"				\
+	    CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)"	\
 	    CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)"				\
 	    LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)"				\
 	    gtkdoc-scangobj --type-init-func="gst_init(NULL,NULL)"	\
-	        --module=$(DOC_MODULE) ;				\
+	        $$scanobj_options --module=$(DOC_MODULE) ;				\
 	else								\
 	    for i in $(SCANOBJ_FILES) ; do				\
 	       test -f $$i || touch $$i ;				\
diff --git a/common/m4/Makefile.in b/common/m4/Makefile.in
index cd685f2..12af4fe 100644
--- a/common/m4/Makefile.in
+++ b/common/m4/Makefile.in
@@ -274,6 +274,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/common/m4/introspection.m4 b/common/m4/introspection.m4
index 589721c..162be57 100644
--- a/common/m4/introspection.m4
+++ b/common/m4/introspection.m4
@@ -62,6 +62,7 @@
        INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
        INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
        INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
+       INTROSPECTION_INIT="extern void gst_init(gint*,gchar**); gst_init(NULL,NULL);"
     fi
     AC_SUBST(INTROSPECTION_SCANNER)
     AC_SUBST(INTROSPECTION_COMPILER)
@@ -71,6 +72,7 @@
     AC_SUBST(INTROSPECTION_CFLAGS)
     AC_SUBST(INTROSPECTION_LIBS)
     AC_SUBST(INTROSPECTION_MAKEFILE)
+    AC_SUBST(INTROSPECTION_INIT)
 
     AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes")
 ])
diff --git a/common/mangle-db.py b/common/mangle-db.py
new file mode 100644
index 0000000..463e5bc
--- /dev/null
+++ b/common/mangle-db.py
@@ -0,0 +1,71 @@
+# -*- Mode: Python -*-
+# vi:si:et:sw=4:sts=4:ts=4
+
+"""
+Insert includes for the element-*-details.xml files into the related docbook
+files.
+"""
+
+from __future__ import print_function, unicode_literals
+
+import codecs
+import glob
+import os
+import sys
+
+import xml.dom.minidom
+
+def patch(related, details):
+    try:
+        doc = xml.dom.minidom.parse(related)
+    except IOError:
+        return
+
+    # find the insertion point
+    elem = None
+    for e in doc.childNodes:
+        if e.nodeType == e.ELEMENT_NODE and e.localName == 'refentry':
+            elem = e
+            break
+    if elem == None:
+        return
+
+    elem2 = None
+    for e in elem.childNodes:
+        if e.nodeType == e.ELEMENT_NODE and e.localName == 'refsect1':
+            id = e.getAttributeNode('id')
+            role = e.getAttributeNode('role')
+            if id and id.nodeValue.endswith('.description') and role and role.nodeValue == 'desc':
+                elem2 = e
+                break
+    if elem2 == None:
+        return
+
+    # insert include
+    include = doc.createElement('include')
+    include.setAttribute('xmlns', 'http://www.w3.org/2003/XInclude')
+    include.setAttribute('href', details)
+    fallback = doc.createElement('fallback')
+    fallback.setAttribute('xmlns', 'http://www.w3.org/2003/XInclude')
+    include.appendChild(fallback)
+    elem2.appendChild(include)
+
+    # store patched file
+    result = codecs.open(related, mode="w", encoding="utf-8")
+    #result = open(related, "wb")
+    doc.writexml(result)
+    result.close()
+
+def main():
+    if not len(sys.argv) == 2:
+        sys.stderr.write('Please specify the xml/ dir')
+        sys.exit(1)
+
+    xmldir = sys.argv[1]
+
+    # parse all *-details.xml files and patch includes into the corresponding
+    # xml files
+    for details in glob.glob("%s/element-*-details.xml" % xmldir):
+        patch (details.replace("-details", ""), os.path.basename(details))
+
+main()
diff --git a/common/mangle-tmpl.py b/common/mangle-tmpl.py
deleted file mode 100644
index 51ea8c2..0000000
--- a/common/mangle-tmpl.py
+++ /dev/null
@@ -1,165 +0,0 @@
-# -*- Mode: Python -*-
-# vi:si:et:sw=4:sts=4:ts=4
-
-"""
-use the output from gst-xmlinspect.py to mangle tmpl/*.sgml and
-insert/overwrite Short Description and Long Description
-"""
-
-# FIXME: right now it uses pygst and scans on its own;
-# we really should use inspect/*.xml instead since the result of
-# gst-xmlinspect.py is committed by the docs maintainer, who can be
-# expected to have pygst, but this step should be done for every docs build,
-# so no pygst allowed
-
-# read in inspect/*.xml
-# for every tmpl/element-(name).xml: mangle with details from element
-
-from __future__ import print_function, unicode_literals
-
-import glob
-import re
-import sys
-import os
-
-class Tmpl:
-    def __init__(self, filename):
-        self.filename = filename
-        self._sectionids = []
-        self._sections = {}
-
-    def read(self):
-        """
-        Read and parse the sections from the given file.
-        """
-        lines = open(self.filename).readlines()
-        matcher = re.compile("<!-- ##### SECTION (\S+) ##### -->\n")
-        id = None
-
-        for line in lines:
-            match = matcher.search(line)
-            if match:
-                id = match.expand("\\1")
-                self._sectionids.append(id)
-                self._sections[id] = []
-            else:
-                if not id:
-                    sys.stderr.write(
-                        "WARNING: line before a SECTION header: %s" % line)
-                else:
-                    self._sections[id].append(line)
-
-    def get_section(self, id):
-        """
-        Get the content from the given section.
-        """
-        return self._sections[id]
-
-    def set_section(self, id, content):
-        """
-        Replace the given section id with the given content.
-        """
-        self._sections[id] = content
-
-    def output(self):
-        """
-        Return the output of the current template in the tmpl/*.sgml format.
-        """
-        lines = []
-        for id in self._sectionids:
-            lines.append("<!-- ##### SECTION %s ##### -->\n" % id)
-            for line in self._sections[id]:
-                lines.append(line)
-
-        return "".join(lines)
-
-    def write(self, backup=False):
-        """
-        Write out the template file again, backing up the previous one.
-        """
-        if backup:
-            target = self.filename + ".mangle.bak"
-            os.rename(self.filename, target)
-
-        handle = open(self.filename, "w")
-        handle.write(self.output())
-        handle.close()
-
-import xml.dom.minidom
-
-def get_elements(file):
-    elements = {}
-    doc = xml.dom.minidom.parse(file)
-
-    elem = None
-    for e in doc.childNodes:
-        if e.nodeType == e.ELEMENT_NODE and e.localName == 'plugin':
-            elem = e
-            break
-    if elem == None:
-        return None
-
-    elem2 = None
-    for e in elem.childNodes:
-        if e.nodeType == e.ELEMENT_NODE and e.localName == 'elements':
-            elem2 = e
-            break
-    if elem2 == None:
-        return None
-
-    elem = elem2
-
-    for e in elem.childNodes:
-        if e.nodeType == e.ELEMENT_NODE and e.localName == 'element':
-            name = None
-            description = None
-
-            for e2 in e.childNodes:
-                if e2.nodeType == e2.ELEMENT_NODE and e2.localName == 'name':
-                    name = e2.childNodes[0].nodeValue.encode("UTF-8")
-                elif e2.nodeType == e2.ELEMENT_NODE and e2.localName == 'description':
-                    if e2.childNodes:
-                      description = e2.childNodes[0].nodeValue.encode("UTF-8")
-                    else:
-                      description = 'No description'
-
-            if name != None and description != None:
-                elements[name] = {'description': description}
-
-    return elements
-
-def main():
-    if not len(sys.argv) == 3:
-        sys.stderr.write('Please specify the inspect/ dir and the tmpl/ dir')
-        sys.exit(1)
-
-    inspectdir = sys.argv[1]
-    tmpldir = sys.argv[2]
-
-    # parse all .xml files; build map of element name -> short desc
-    #for file in glob.glob("inspect/plugin-*.xml"):
-    elements = {}
-    for file in glob.glob("%s/plugin-*.xml" % inspectdir):
-        elements.update(get_elements(file))
-
-    for file in glob.glob("%s/element-*.sgml" % tmpldir):
-        base = os.path.basename(file)
-        element = base[len("element-"):-len(".sgml")]
-        tmpl = Tmpl(file)
-        tmpl.read()
-        if element in elements.keys():
-            description = elements[element]['description']
-            tmpl.set_section("Short_Description", "%s\n\n" % description)
-
-        # put in an include if not yet there
-        line = '<include xmlns="http://www.w3.org/2003/XInclude" href="' + \
-            'element-' + element + '-details.xml">' + \
-            '<fallback xmlns="http://www.w3.org/2003/XInclude" />' + \
-            '</include>\n'
-        section = tmpl.get_section("Long_Description")
-        if not section[0]  == line:
-            section.insert(0, line)
-        tmpl.set_section("Long_Description", section)
-        tmpl.write()
-
-main()
diff --git a/configure b/configure
index 523c4d8..039b190 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GStreamer Base Plug-ins 1.5.1.
+# Generated by GNU Autoconf 2.69 for GStreamer Base Plug-ins 1.5.2.
 #
 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>.
 #
@@ -591,8 +591,8 @@
 # Identity of this package.
 PACKAGE_NAME='GStreamer Base Plug-ins'
 PACKAGE_TARNAME='gst-plugins-base'
-PACKAGE_VERSION='1.5.1'
-PACKAGE_STRING='GStreamer Base Plug-ins 1.5.1'
+PACKAGE_VERSION='1.5.2'
+PACKAGE_STRING='GStreamer Base Plug-ins 1.5.2'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
 PACKAGE_URL=''
 
@@ -850,6 +850,7 @@
 GTKDOC_CHECK
 HAVE_INTROSPECTION_FALSE
 HAVE_INTROSPECTION_TRUE
+INTROSPECTION_INIT
 INTROSPECTION_MAKEFILE
 INTROSPECTION_LIBS
 INTROSPECTION_CFLAGS
@@ -1777,7 +1778,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures GStreamer Base Plug-ins 1.5.1 to adapt to many kinds of systems.
+\`configure' configures GStreamer Base Plug-ins 1.5.2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1849,7 +1850,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GStreamer Base Plug-ins 1.5.1:";;
+     short | recursive ) echo "Configuration of GStreamer Base Plug-ins 1.5.2:";;
    esac
   cat <<\_ACEOF
 
@@ -2144,7 +2145,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GStreamer Base Plug-ins configure 1.5.1
+GStreamer Base Plug-ins configure 1.5.2
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2917,7 +2918,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by GStreamer Base Plug-ins $as_me 1.5.1, which was
+It was created by GStreamer Base Plug-ins $as_me 1.5.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3896,7 +3897,7 @@
 
 # Define the identity of the package.
  PACKAGE='gst-plugins-base'
- VERSION='1.5.1'
+ VERSION='1.5.2'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4107,9 +4108,9 @@
 
 
 
-  PACKAGE_VERSION_MAJOR=$(echo 1.5.1 | cut -d'.' -f1)
-  PACKAGE_VERSION_MINOR=$(echo 1.5.1 | cut -d'.' -f2)
-  PACKAGE_VERSION_MICRO=$(echo 1.5.1 | cut -d'.' -f3)
+  PACKAGE_VERSION_MAJOR=$(echo 1.5.2 | cut -d'.' -f1)
+  PACKAGE_VERSION_MINOR=$(echo 1.5.2 | cut -d'.' -f2)
+  PACKAGE_VERSION_MICRO=$(echo 1.5.2 | cut -d'.' -f3)
 
 
 
@@ -4120,7 +4121,7 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
 $as_echo_n "checking nano version... " >&6; }
 
-  NANO=$(echo 1.5.1 | cut -d'.' -f4)
+  NANO=$(echo 1.5.2 | cut -d'.' -f4)
 
   if test x"$NANO" = x || test "x$NANO" = "x0" ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -8769,10 +8770,10 @@
 done
 
 
-  GST_CURRENT=501
+  GST_CURRENT=502
   GST_REVISION=0
-  GST_AGE=501
-  GST_LIBVERSION=501:0:501
+  GST_AGE=502
+  GST_LIBVERSION=502:0:502
 
 
 
@@ -13097,7 +13098,7 @@
 
 
 
-GST_REQ=1.5.1
+GST_REQ=1.5.2
 
 
 
@@ -21455,6 +21456,7 @@
        INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
        INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
        INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
+       INTROSPECTION_INIT="extern void gst_init(gint*,gchar**); gst_init(NULL,NULL);"
     fi
 
 
@@ -21465,6 +21467,7 @@
 
 
 
+
      if test "x$found_introspection" = "xyes"; then
   HAVE_INTROSPECTION_TRUE=
   HAVE_INTROSPECTION_FALSE='#'
@@ -32038,7 +32041,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by GStreamer Base Plug-ins $as_me 1.5.1, which was
+This file was extended by GStreamer Base Plug-ins $as_me 1.5.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -32104,7 +32107,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-GStreamer Base Plug-ins config.status 1.5.1
+GStreamer Base Plug-ins config.status 1.5.2
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index dd993f1..9d95d60 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,7 +5,7 @@
 dnl initialize autoconf
 dnl releases only do -Wall, git and prerelease does -Werror too
 dnl use a three digit version number for releases, and four for git/prerelease
-AC_INIT([GStreamer Base Plug-ins],[1.5.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-base])
+AC_INIT([GStreamer Base Plug-ins],[1.5.2],[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, 501, 0, 501)
+AS_LIBTOOL(GST, 502, 0, 502)
 
 dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.5.1
+GST_REQ=1.5.2
 
 dnl *** autotools stuff ****
 
diff --git a/docs/Makefile.in b/docs/Makefile.in
index d155231..2a6c07c 100644
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -334,6 +334,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/docs/design/Makefile.in b/docs/design/Makefile.in
index 49bb06b..7bba46f 100644
--- a/docs/design/Makefile.in
+++ b/docs/design/Makefile.in
@@ -334,6 +334,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/docs/libs/Makefile.am b/docs/libs/Makefile.am
index 54126f8..dcbad51 100644
--- a/docs/libs/Makefile.am
+++ b/docs/libs/Makefile.am
@@ -70,9 +70,6 @@
 	$(top_builddir)/gst-libs/gst/riff/libgstriff-@GST_API_VERSION@.la \
 	$(GST_BASE_LIBS)
 
-GTKDOC_CC=$(LIBTOOL) --tag=CC --mode=compile $(CC)
-GTKDOC_LD=$(LIBTOOL) --tag=CC --mode=link $(CC)
-
 # If you need to override some of the declarations, place them in this file
 DOC_OVERRIDES = $(DOC_MODULE)-overrides.txt
 
diff --git a/docs/libs/Makefile.in b/docs/libs/Makefile.in
index d91294f..91aee18 100644
--- a/docs/libs/Makefile.in
+++ b/docs/libs/Makefile.in
@@ -295,6 +295,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
@@ -529,13 +530,16 @@
 	$(top_builddir)/gst-libs/gst/riff/libgstriff-@GST_API_VERSION@.la \
 	$(GST_BASE_LIBS)
 
-GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC)
-GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC)
 
 # If you need to override some of the declarations, place them in this file
 DOC_OVERRIDES = $(DOC_MODULE)-overrides.txt
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN = 
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
 
-# thomas: copied from glib-2
 # We set GPATH here; this gives us semantics for GNU make
 # which are more like other make's VPATH, when it comes to
 # whether a source that is a target of one rule is then
@@ -854,15 +858,22 @@
 @ENABLE_GTK_DOC_TRUE@		--ignore-headers="$(IGNORE_HFILES)"
 @ENABLE_GTK_DOC_TRUE@	@if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null; then	\
 @ENABLE_GTK_DOC_TRUE@	    echo "  DOC   Introspecting gobjects"; \
+@ENABLE_GTK_DOC_TRUE@	    scanobj_options=""; \
+@ENABLE_GTK_DOC_TRUE@	    gtkdoc-scangobj 2>&1 --help | grep  >/dev/null "\-\-verbose"; \
+@ENABLE_GTK_DOC_TRUE@	    if test "$$?" = "0"; then \
+@ENABLE_GTK_DOC_TRUE@	        if test "x$(V)" = "x1"; then \
+@ENABLE_GTK_DOC_TRUE@	            scanobj_options="--verbose"; \
+@ENABLE_GTK_DOC_TRUE@	        fi; \
+@ENABLE_GTK_DOC_TRUE@	    fi; \
 @ENABLE_GTK_DOC_TRUE@	    GST_PLUGIN_SYSTEM_PATH_1_0=`cd $(top_builddir) && pwd`		\
 @ENABLE_GTK_DOC_TRUE@	    GST_PLUGIN_PATH_1_0=						\
 @ENABLE_GTK_DOC_TRUE@	    GST_REGISTRY_1_0=doc-registry.xml				\
 @ENABLE_GTK_DOC_TRUE@	    $(GTKDOC_EXTRA_ENVIRONMENT)					\
-@ENABLE_GTK_DOC_TRUE@	    CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)"				\
+@ENABLE_GTK_DOC_TRUE@	    CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)"	\
 @ENABLE_GTK_DOC_TRUE@	    CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)"				\
 @ENABLE_GTK_DOC_TRUE@	    LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)"				\
 @ENABLE_GTK_DOC_TRUE@	    gtkdoc-scangobj --type-init-func="gst_init(NULL,NULL)"	\
-@ENABLE_GTK_DOC_TRUE@	        --module=$(DOC_MODULE) ;				\
+@ENABLE_GTK_DOC_TRUE@	        $$scanobj_options --module=$(DOC_MODULE) ;				\
 @ENABLE_GTK_DOC_TRUE@	else								\
 @ENABLE_GTK_DOC_TRUE@	    for i in $(SCANOBJ_FILES) ; do				\
 @ENABLE_GTK_DOC_TRUE@	       test -f $$i || touch $$i ;				\
diff --git a/docs/libs/gst-plugins-base-libs-sections.txt b/docs/libs/gst-plugins-base-libs-sections.txt
index 26e1c1c..98ece69 100644
--- a/docs/libs/gst-plugins-base-libs-sections.txt
+++ b/docs/libs/gst-plugins-base-libs-sections.txt
@@ -1523,6 +1523,10 @@
 gst_rtsp_connection_get_tls
 gst_rtsp_connection_set_tls_validation_flags
 gst_rtsp_connection_get_tls_validation_flags
+gst_rtsp_connection_set_tls_database
+gst_rtsp_connection_get_tls_database
+gst_rtsp_connection_set_tls_interaction
+gst_rtsp_connection_get_tls_interaction
 
 GstRTSPWatch
 GstRTSPWatchFuncs
@@ -2385,6 +2389,9 @@
 <SUBSECTION>
 GstVideoInfo
 GstVideoInterlaceMode
+GstVideoMultiviewMode
+GstVideoMultiviewFramePacking
+GstVideoMultiviewFlags
 GstVideoFlags
 GST_VIDEO_INFO_FORMAT
 GST_VIDEO_INFO_NAME
@@ -2421,6 +2428,8 @@
 GST_VIDEO_INFO_COMP_POFFSET
 GST_VIDEO_INFO_CHROMA_SITE
 GST_VIDEO_INFO_COLORIMETRY
+GST_VIDEO_INFO_MULTIVIEW_FLAGS
+GST_VIDEO_INFO_MULTIVIEW_MODE
 gst_video_info_init
 gst_video_info_set_format
 gst_video_info_from_caps
@@ -2433,6 +2442,13 @@
 GST_TYPE_VIDEO_INTERLACE_MODE
 gst_video_flags_get_type
 GST_TYPE_VIDEO_FLAGS
+GST_TYPE_VIDEO_MULTIVIEW_FLAGS
+GST_TYPE_VIDEO_MULTIVIEW_FLAGSET
+GST_TYPE_VIDEO_MULTIVIEW_FRAME_PACKING
+GST_TYPE_VIDEO_MULTIVIEW_MODE
+gst_video_multiview_mode_get_type
+gst_video_multiview_flagset_get_type
+gst_video_multiview_frame_packing_get_type
 
 #video-frame.h
 <SUBSECTION>
@@ -2501,6 +2517,18 @@
 gst_video_dither_method_get_type
 GST_TYPE_VIDEO_DITHER_METHOD
 
+#video-multiview.h
+<SUBSECTION>
+gst_video_multiview_get_mono_modes
+gst_video_multiview_get_unpacked_modes
+gst_video_multiview_get_doubled_height_modes
+gst_video_multiview_get_doubled_size_modes
+gst_video_multiview_get_doubled_width_modes
+gst_video_multiview_mode_from_caps_string
+gst_video_multiview_mode_to_caps_string
+gst_video_multiview_guess_half_aspect
+gst_video_multiview_video_info_change_mode
+
 #video-enumtypes.h
 <SUBSECTION Standard>
 gst_color_balance_type_get_type
diff --git a/docs/libs/html/annotation-glossary.html b/docs/libs/html/annotation-glossary.html
index 2b2ce92..d0e476e 100644
--- a/docs/libs/html/annotation-glossary.html
+++ b/docs/libs/html/annotation-glossary.html
@@ -58,6 +58,8 @@
 <a name="glsS"></a><h3 class="title">S</h3>
 <dt><span class="glossterm"><a name="annotation-glossterm-scope%20async"></a>scope async</span></dt>
 <dd class="glossdef"><p>The callback is valid until first called.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-scope%20call"></a>scope call</span></dt>
+<dd class="glossdef"><p>The callback is valid only during the call to the method.</p></dd>
 <dt><span class="glossterm"><a name="annotation-glossterm-skip"></a>skip</span></dt>
 <dd class="glossdef"><p>Exposed in C code, not necessarily available in other languages.</p></dd>
 <a name="glsT"></a><h3 class="title">T</h3>
diff --git a/docs/libs/html/api-index-full.html b/docs/libs/html/api-index-full.html
index 0e05ede..bce09d5 100644
--- a/docs/libs/html/api-index-full.html
+++ b/docs/libs/html/api-index-full.html
@@ -3608,6 +3608,14 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-get-tls-database" title="gst_rtsp_connection_get_tls_database ()">gst_rtsp_connection_get_tls_database</a>, function in <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html" title="gstrtspconnection">gstrtspconnection</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-get-tls-interaction" title="gst_rtsp_connection_get_tls_interaction ()">gst_rtsp_connection_get_tls_interaction</a>, function in <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html" title="gstrtspconnection">gstrtspconnection</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-get-tls-validation-flags" title="gst_rtsp_connection_get_tls_validation_flags ()">gst_rtsp_connection_get_tls_validation_flags</a>, function in <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html" title="gstrtspconnection">gstrtspconnection</a>
 </dt>
 <dd></dd>
@@ -3676,6 +3684,14 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-set-tls-database" title="gst_rtsp_connection_set_tls_database ()">gst_rtsp_connection_set_tls_database</a>, function in <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html" title="gstrtspconnection">gstrtspconnection</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-set-tls-interaction" title="gst_rtsp_connection_set_tls_interaction ()">gst_rtsp_connection_set_tls_interaction</a>, function in <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html" title="gstrtspconnection">gstrtspconnection</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-set-tls-validation-flags" title="gst_rtsp_connection_set_tls_validation_flags ()">gst_rtsp_connection_set_tls_validation_flags</a>, function in <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html" title="gstrtspconnection">gstrtspconnection</a>
 </dt>
 <dd></dd>
@@ -5051,6 +5067,18 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFlags" title="enum GstVideoMultiviewFlags">GstVideoMultiviewFlags</a>, enum in <a class="link" href="gst-plugins-base-libs-gstvideo.html" title="gstvideo">gstvideo</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFramePacking" title="enum GstVideoMultiviewFramePacking">GstVideoMultiviewFramePacking</a>, enum in <a class="link" href="gst-plugins-base-libs-gstvideo.html" title="gstvideo">gstvideo</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode" title="enum GstVideoMultiviewMode">GstVideoMultiviewMode</a>, enum in <a class="link" href="gst-plugins-base-libs-gstvideo.html" title="gstvideo">gstvideo</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientation-struct" title="GstVideoOrientation">GstVideoOrientation</a>, struct in <a class="link" href="gst-plugins-base-libs-gstvideoorientation.html" title="gstvideoorientation">gstvideoorientation</a>
 </dt>
 <dd></dd>
@@ -6027,6 +6055,14 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-MULTIVIEW-FLAGS:CAPS" title="GST_VIDEO_INFO_MULTIVIEW_FLAGS()">GST_VIDEO_INFO_MULTIVIEW_FLAGS</a>, macro in <a class="link" href="gst-plugins-base-libs-gstvideo.html" title="gstvideo">gstvideo</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-MULTIVIEW-MODE:CAPS" title="GST_VIDEO_INFO_MULTIVIEW_MODE()">GST_VIDEO_INFO_MULTIVIEW_MODE</a>, macro in <a class="link" href="gst-plugins-base-libs-gstvideo.html" title="gstvideo">gstvideo</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-NAME:CAPS" title="GST_VIDEO_INFO_NAME()">GST_VIDEO_INFO_NAME</a>, macro in <a class="link" href="gst-plugins-base-libs-gstvideo.html" title="gstvideo">gstvideo</a>
 </dt>
 <dd></dd>
@@ -6095,6 +6131,42 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-get-doubled-height-modes" title="gst_video_multiview_get_doubled_height_modes ()">gst_video_multiview_get_doubled_height_modes</a>, function in <a class="link" href="gst-plugins-base-libs-gstvideo.html" title="gstvideo">gstvideo</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-get-doubled-size-modes" title="gst_video_multiview_get_doubled_size_modes ()">gst_video_multiview_get_doubled_size_modes</a>, function in <a class="link" href="gst-plugins-base-libs-gstvideo.html" title="gstvideo">gstvideo</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-get-doubled-width-modes" title="gst_video_multiview_get_doubled_width_modes ()">gst_video_multiview_get_doubled_width_modes</a>, function in <a class="link" href="gst-plugins-base-libs-gstvideo.html" title="gstvideo">gstvideo</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-get-mono-modes" title="gst_video_multiview_get_mono_modes ()">gst_video_multiview_get_mono_modes</a>, function in <a class="link" href="gst-plugins-base-libs-gstvideo.html" title="gstvideo">gstvideo</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-get-unpacked-modes" title="gst_video_multiview_get_unpacked_modes ()">gst_video_multiview_get_unpacked_modes</a>, function in <a class="link" href="gst-plugins-base-libs-gstvideo.html" title="gstvideo">gstvideo</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-guess-half-aspect" title="gst_video_multiview_guess_half_aspect ()">gst_video_multiview_guess_half_aspect</a>, function in <a class="link" href="gst-plugins-base-libs-gstvideo.html" title="gstvideo">gstvideo</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-mode-from-caps-string" title="gst_video_multiview_mode_from_caps_string ()">gst_video_multiview_mode_from_caps_string</a>, function in <a class="link" href="gst-plugins-base-libs-gstvideo.html" title="gstvideo">gstvideo</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-mode-to-caps-string" title="gst_video_multiview_mode_to_caps_string ()">gst_video_multiview_mode_to_caps_string</a>, function in <a class="link" href="gst-plugins-base-libs-gstvideo.html" title="gstvideo">gstvideo</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-video-info-change-mode" title="gst_video_multiview_video_info_change_mode ()">gst_video_multiview_video_info_change_mode</a>, function in <a class="link" href="gst-plugins-base-libs-gstvideo.html" title="gstvideo">gstvideo</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gst-plugins-base-libs-gstvideoorientation.html#gst-video-orientation-get-hcenter" title="gst_video_orientation_get_hcenter ()">gst_video_orientation_get_hcenter</a>, function in <a class="link" href="gst-plugins-base-libs-gstvideoorientation.html" title="gstvideoorientation">gstvideoorientation</a>
 </dt>
 <dd></dd>
diff --git a/docs/libs/html/gst-plugins-base-libs-1.0.devhelp2 b/docs/libs/html/gst-plugins-base-libs-1.0.devhelp2
index 5765c2c..72112e7 100644
--- a/docs/libs/html/gst-plugins-base-libs-1.0.devhelp2
+++ b/docs/libs/html/gst-plugins-base-libs-1.0.devhelp2
@@ -670,6 +670,10 @@
     <keyword type="function" name="gst_rtsp_connection_get_tls ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-get-tls" since="1.2"/>
     <keyword type="function" name="gst_rtsp_connection_set_tls_validation_flags ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-set-tls-validation-flags" since="1.2.1"/>
     <keyword type="function" name="gst_rtsp_connection_get_tls_validation_flags ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-get-tls-validation-flags" since="1.2.1"/>
+    <keyword type="function" name="gst_rtsp_connection_set_tls_database ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-set-tls-database" since="1.4"/>
+    <keyword type="function" name="gst_rtsp_connection_get_tls_database ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-get-tls-database" since="1.4"/>
+    <keyword type="function" name="gst_rtsp_connection_set_tls_interaction ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-set-tls-interaction" since="1.6"/>
+    <keyword type="function" name="gst_rtsp_connection_get_tls_interaction ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-get-tls-interaction" since="1.6"/>
     <keyword type="function" name="gst_rtsp_watch_new ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-new"/>
     <keyword type="function" name="gst_rtsp_watch_unref ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-unref"/>
     <keyword type="function" name="gst_rtsp_watch_attach ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-attach"/>
@@ -1337,6 +1341,8 @@
     <keyword type="macro" name="GST_VIDEO_INFO_COMP_POFFSET()" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-COMP-POFFSET:CAPS"/>
     <keyword type="macro" name="GST_VIDEO_INFO_CHROMA_SITE()" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-CHROMA-SITE:CAPS"/>
     <keyword type="macro" name="GST_VIDEO_INFO_COLORIMETRY()" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-COLORIMETRY:CAPS"/>
+    <keyword type="macro" name="GST_VIDEO_INFO_MULTIVIEW_FLAGS()" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-MULTIVIEW-FLAGS:CAPS"/>
+    <keyword type="macro" name="GST_VIDEO_INFO_MULTIVIEW_MODE()" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-MULTIVIEW-MODE:CAPS"/>
     <keyword type="function" name="gst_video_info_init ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-info-init"/>
     <keyword type="function" name="gst_video_info_set_format ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-info-set-format"/>
     <keyword type="function" name="gst_video_info_from_caps ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-info-from-caps"/>
@@ -1387,6 +1393,15 @@
     <keyword type="function" name="gst_video_converter_get_config ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-converter-get-config"/>
     <keyword type="function" name="gst_video_converter_set_config ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-converter-set-config" since="1.6"/>
     <keyword type="function" name="gst_video_converter_frame ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-converter-frame" since="1.6"/>
+    <keyword type="function" name="gst_video_multiview_get_mono_modes ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-get-mono-modes" since="1.6"/>
+    <keyword type="function" name="gst_video_multiview_get_unpacked_modes ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-get-unpacked-modes" since="1.6"/>
+    <keyword type="function" name="gst_video_multiview_get_doubled_height_modes ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-get-doubled-height-modes" since="1.6"/>
+    <keyword type="function" name="gst_video_multiview_get_doubled_size_modes ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-get-doubled-size-modes" since="1.6"/>
+    <keyword type="function" name="gst_video_multiview_get_doubled_width_modes ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-get-doubled-width-modes" since="1.6"/>
+    <keyword type="function" name="gst_video_multiview_mode_from_caps_string ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-mode-from-caps-string" since="1.6"/>
+    <keyword type="function" name="gst_video_multiview_mode_to_caps_string ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-mode-to-caps-string" since="1.6"/>
+    <keyword type="function" name="gst_video_multiview_guess_half_aspect ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-guess-half-aspect" since="1.6"/>
+    <keyword type="function" name="gst_video_multiview_video_info_change_mode ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-video-info-change-mode" since="1.6"/>
     <keyword type="struct" name="struct GstVideoAlignment" link="gst-plugins-base-libs-gstvideo.html#GstVideoAlignment"/>
     <keyword type="macro" name="GST_META_TAG_VIDEO_STR" link="gst-plugins-base-libs-gstvideo.html#GST-META-TAG-VIDEO-STR:CAPS" since="1.2"/>
     <keyword type="macro" name="GST_META_TAG_VIDEO_ORIENTATION_STR" link="gst-plugins-base-libs-gstvideo.html#GST-META-TAG-VIDEO-ORIENTATION-STR:CAPS" since="1.2"/>
@@ -1408,6 +1423,9 @@
     <keyword type="struct" name="GstVideoColorimetry" link="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry"/>
     <keyword type="struct" name="struct GstVideoInfo" link="gst-plugins-base-libs-gstvideo.html#GstVideoInfo"/>
     <keyword type="enum" name="enum GstVideoInterlaceMode" link="gst-plugins-base-libs-gstvideo.html#GstVideoInterlaceMode"/>
+    <keyword type="enum" name="enum GstVideoMultiviewMode" link="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode"/>
+    <keyword type="enum" name="enum GstVideoMultiviewFramePacking" link="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFramePacking"/>
+    <keyword type="enum" name="enum GstVideoMultiviewFlags" link="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFlags"/>
     <keyword type="enum" name="enum GstVideoFlags" link="gst-plugins-base-libs-gstvideo.html#GstVideoFlags"/>
     <keyword type="struct" name="struct GstVideoFrame" link="gst-plugins-base-libs-gstvideo.html#GstVideoFrame"/>
     <keyword type="enum" name="enum GstVideoFrameFlags" link="gst-plugins-base-libs-gstvideo.html#GstVideoFrameFlags"/>
@@ -1757,6 +1775,7 @@
     <keyword type="constant" name="GST_AUDIO_BASE_SINK_SLAVE_RESAMPLE" link="gst-plugins-base-libs-gstaudiobasesink.html#GST-AUDIO-BASE-SINK-SLAVE-RESAMPLE:CAPS"/>
     <keyword type="constant" name="GST_AUDIO_BASE_SINK_SLAVE_SKEW" link="gst-plugins-base-libs-gstaudiobasesink.html#GST-AUDIO-BASE-SINK-SLAVE-SKEW:CAPS"/>
     <keyword type="constant" name="GST_AUDIO_BASE_SINK_SLAVE_NONE" link="gst-plugins-base-libs-gstaudiobasesink.html#GST-AUDIO-BASE-SINK-SLAVE-NONE:CAPS"/>
+    <keyword type="constant" name="GST_AUDIO_BASE_SINK_SLAVE_CUSTOM" link="gst-plugins-base-libs-gstaudiobasesink.html#GST-AUDIO-BASE-SINK-SLAVE-CUSTOM:CAPS"/>
     <keyword type="constant" name="GST_AUDIO_BASE_SRC_SLAVE_RESAMPLE" link="gst-plugins-base-libs-gstaudiobasesrc.html#GST-AUDIO-BASE-SRC-SLAVE-RESAMPLE:CAPS"/>
     <keyword type="constant" name="GST_AUDIO_BASE_SRC_SLAVE_RETIMESTAMP" link="gst-plugins-base-libs-gstaudiobasesrc.html#GST-AUDIO-BASE-SRC-SLAVE-RETIMESTAMP:CAPS"/>
     <keyword type="constant" name="GST_AUDIO_BASE_SRC_SLAVE_SKEW" link="gst-plugins-base-libs-gstaudiobasesrc.html#GST-AUDIO-BASE-SRC-SLAVE-SKEW:CAPS"/>
@@ -2300,6 +2319,37 @@
     <keyword type="constant" name="GST_VIDEO_INTERLACE_MODE_INTERLEAVED" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INTERLACE-MODE-INTERLEAVED:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_INTERLACE_MODE_MIXED" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INTERLACE-MODE-MIXED:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_INTERLACE_MODE_FIELDS" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INTERLACE-MODE-FIELDS:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_MODE_NONE" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-NONE:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_MODE_MONO" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-MONO:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_MODE_LEFT" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-LEFT:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_MODE_RIGHT" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-RIGHT:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-SIDE-BY-SIDE:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-SIDE-BY-SIDE-QUINCUNX:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-COLUMN-INTERLEAVED:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-ROW-INTERLEAVED:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-TOP-BOTTOM:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-CHECKERBOARD:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-FRAME-BY-FRAME:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-MULTIVIEW-FRAME-BY-FRAME:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_MODE_SEPARATED" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-SEPARATED:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FRAME-PACKING-NONE:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_FRAME_PACKING_MONO" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FRAME-PACKING-MONO:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_FRAME_PACKING_LEFT" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FRAME-PACKING-LEFT:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_FRAME_PACKING_RIGHT" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FRAME-PACKING-RIGHT:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FRAME-PACKING-SIDE-BY-SIDE:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE_QUINCUNX" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FRAME-PACKING-SIDE-BY-SIDE-QUINCUNX:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_FRAME_PACKING_COLUMN_INTERLEAVED" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FRAME-PACKING-COLUMN-INTERLEAVED:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_FRAME_PACKING_ROW_INTERLEAVED" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FRAME-PACKING-ROW-INTERLEAVED:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_FRAME_PACKING_TOP_BOTTOM" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FRAME-PACKING-TOP-BOTTOM:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_FRAME_PACKING_CHECKERBOARD" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FRAME-PACKING-CHECKERBOARD:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_FLAGS_NONE" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FLAGS-NONE:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FLAGS-RIGHT-VIEW-FIRST:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FLAGS-LEFT-FLIPPED:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FLAGS-LEFT-FLOPPED:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FLAGS-RIGHT-FLIPPED:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FLAGS-RIGHT-FLOPPED:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FLAGS-HALF-ASPECT:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FLAGS-MIXED-MONO:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_FLAG_NONE" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FLAG-NONE:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_FLAG_VARIABLE_FPS" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FLAG-VARIABLE-FPS:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_FLAG_PREMULTIPLIED_ALPHA" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FLAG-PREMULTIPLIED-ALPHA:CAPS"/>
@@ -2308,10 +2358,14 @@
     <keyword type="constant" name="GST_VIDEO_FRAME_FLAG_TFF" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-FLAG-TFF:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_FRAME_FLAG_RFF" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-FLAG-RFF:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_FRAME_FLAG_ONEFIELD" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-FLAG-ONEFIELD:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_FRAME_FLAG_MULTIPLE_VIEW" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-FLAG-MULTIPLE-VIEW:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_FRAME_FLAG_FIRST_IN_BUNDLE" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-FLAG-FIRST-IN-BUNDLE:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_BUFFER_FLAG_INTERLACED" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-BUFFER-FLAG-INTERLACED:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_BUFFER_FLAG_TFF" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-BUFFER-FLAG-TFF:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_BUFFER_FLAG_RFF" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-BUFFER-FLAG-RFF:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_BUFFER_FLAG_ONEFIELD" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-BUFFER-FLAG-ONEFIELD:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-BUFFER-FLAG-MULTIPLE-VIEW:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_BUFFER_FLAG_FIRST_IN_BUNDLE" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-BUFFER-FLAG-FIRST-IN-BUNDLE:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_BUFFER_FLAG_LAST" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-BUFFER-FLAG-LAST:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_TILE_TYPE_INDEXED" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-TILE-TYPE-INDEXED:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_TILE_MODE_UNKNOWN" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-TILE-MODE-UNKNOWN:CAPS"/>
diff --git a/docs/libs/html/gst-plugins-base-libs-GstVideoChroma.html b/docs/libs/html/gst-plugins-base-libs-GstVideoChroma.html
index a42229f..7229453 100644
--- a/docs/libs/html/gst-plugins-base-libs-GstVideoChroma.html
+++ b/docs/libs/html/gst-plugins-base-libs-GstVideoChroma.html
@@ -301,8 +301,9 @@
 <em class="parameter"><code>v_factor</code></em>
  is &gt; 0, upsampling will be used, otherwise subsampling is
 performed.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.15.8.7.7.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.8.7.7.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -344,7 +345,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.8.7.7.6"></a><h4>Returns</h4>
+<a name="id-1.2.15.8.7.7.7"></a><h4>Returns</h4>
 <p> a new <a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#GstVideoChromaResample" title="GstVideoChromaResample"><span class="type">GstVideoChromaResample</span></a> that should be freed with
 <a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#gst-video-chroma-resample-free" title="gst_video_chroma_resample_free ()"><code class="function">gst_video_chroma_resample_free()</code></a> after usage.</p>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-GstVideoDecoder.html b/docs/libs/html/gst-plugins-base-libs-GstVideoDecoder.html
index 00e1a4e..86b9ea1 100644
--- a/docs/libs/html/gst-plugins-base-libs-GstVideoDecoder.html
+++ b/docs/libs/html/gst-plugins-base-libs-GstVideoDecoder.html
@@ -780,7 +780,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.15.16.6.11.7"></a><h4>Returns</h4>
-<p> <code class="literal">GST_FLOW_OK</code> if an output buffer could be allocated</p>
+<p> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><code class="literal">GST_FLOW_OK</code></a> if an output buffer could be allocated</p>
 </div>
 </div>
 <hr>
diff --git a/docs/libs/html/gst-plugins-base-libs-GstVideoDither.html b/docs/libs/html/gst-plugins-base-libs-GstVideoDither.html
index fc13f17..0de7ff6 100644
--- a/docs/libs/html/gst-plugins-base-libs-GstVideoDither.html
+++ b/docs/libs/html/gst-plugins-base-libs-GstVideoDither.html
@@ -197,8 +197,9 @@
  is a power of 2.</p>
 <p><em class="parameter"><code>width</code></em>
  is the width of the lines that this ditherer will handle.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.15.7.7.4.7"></a><h4>Parameters</h4>
+<a name="id-1.2.15.7.7.4.8"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -235,7 +236,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.7.7.4.8"></a><h4>Returns</h4>
+<a name="id-1.2.15.7.7.4.9"></a><h4>Returns</h4>
 <p> a new <a class="link" href="gst-plugins-base-libs-GstVideoDither.html#GstVideoDither" title="GstVideoDither"><span class="type">GstVideoDither</span></a></p>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-GstVideoEncoder.html b/docs/libs/html/gst-plugins-base-libs-GstVideoEncoder.html
index b53df99..defd67c 100644
--- a/docs/libs/html/gst-plugins-base-libs-GstVideoEncoder.html
+++ b/docs/libs/html/gst-plugins-base-libs-GstVideoEncoder.html
@@ -535,7 +535,7 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.15.17.6.10.7"></a><h4>Returns</h4>
-<p> <code class="literal">GST_FLOW_OK</code> if an output buffer could be allocated</p>
+<p> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><code class="literal">GST_FLOW_OK</code></a> if an output buffer could be allocated</p>
 </div>
 </div>
 <hr>
diff --git a/docs/libs/html/gst-plugins-base-libs-GstVideoScaler.html b/docs/libs/html/gst-plugins-base-libs-GstVideoScaler.html
index 1414d16..1a0f332 100644
--- a/docs/libs/html/gst-plugins-base-libs-GstVideoScaler.html
+++ b/docs/libs/html/gst-plugins-base-libs-GstVideoScaler.html
@@ -238,8 +238,9 @@
                                      <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> out_format</code></em>);</pre>
 <p>Combine a scaler for Y and UV into one scaler for the packed <em class="parameter"><code>format</code></em>
 .</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.15.10.7.3.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.10.7.3.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -271,7 +272,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.10.7.3.6"></a><h4>Returns</h4>
+<a name="id-1.2.15.10.7.3.7"></a><h4>Returns</h4>
 <p> a new horizontal videoscaler for <em class="parameter"><code>format</code></em>
 .</p>
 </div>
@@ -437,8 +438,9 @@
  and <em class="parameter"><code>in_size</code></em>
 /<em class="parameter"><code>out_size</code></em>
 .</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.15.10.7.7.6"></a><h4>Parameters</h4>
+<a name="id-1.2.15.10.7.7.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -480,7 +482,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.10.7.7.7"></a><h4>Returns</h4>
+<a name="id-1.2.15.10.7.7.8"></a><h4>Returns</h4>
 <p> a <span class="type">GstVideoResample</span></p>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-appsrc.html b/docs/libs/html/gst-plugins-base-libs-appsrc.html
index 609c19d..17d657f 100644
--- a/docs/libs/html/gst-plugins-base-libs-appsrc.html
+++ b/docs/libs/html/gst-plugins-base-libs-appsrc.html
@@ -751,10 +751,10 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.5.4.7.16.7"></a><h4>Returns</h4>
-<p> <span class="type">GST_FLOW_OK</span> when the buffer was successfuly queued.
-<span class="type">GST_FLOW_FLUSHING</span> when <em class="parameter"><code>appsrc</code></em>
+<p> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> when the buffer was successfuly queued.
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-FLUSHING:CAPS"><span class="type">GST_FLOW_FLUSHING</span></a> when <em class="parameter"><code>appsrc</code></em>
 is not PAUSED or PLAYING.
-<span class="type">GST_FLOW_EOS</span> when EOS occured.</p>
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-EOS:CAPS"><span class="type">GST_FLOW_EOS</span></a> when EOS occured.</p>
 </div>
 </div>
 <hr>
@@ -794,10 +794,10 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.5.4.7.17.7"></a><h4>Returns</h4>
-<p> <span class="type">GST_FLOW_OK</span> when the buffer was successfuly queued.
-<span class="type">GST_FLOW_FLUSHING</span> when <em class="parameter"><code>appsrc</code></em>
+<p> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> when the buffer was successfuly queued.
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-FLUSHING:CAPS"><span class="type">GST_FLOW_FLUSHING</span></a> when <em class="parameter"><code>appsrc</code></em>
 is not PAUSED or PLAYING.
-<span class="type">GST_FLOW_EOS</span> when EOS occured.</p>
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-EOS:CAPS"><span class="type">GST_FLOW_EOS</span></a> when EOS occured.</p>
 </div>
 <p class="since">Since: 1.6</p>
 </div>
@@ -825,8 +825,8 @@
 </div>
 <div class="refsect3">
 <a name="id-1.2.5.4.7.18.6"></a><h4>Returns</h4>
-<p> <span class="type">GST_FLOW_OK</span> when the EOS was successfuly queued.
-<span class="type">GST_FLOW_FLUSHING</span> when <em class="parameter"><code>appsrc</code></em>
+<p> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> when the EOS was successfuly queued.
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-FLUSHING:CAPS"><span class="type">GST_FLOW_FLUSHING</span></a> when <em class="parameter"><code>appsrc</code></em>
 is not PAUSED or PLAYING.</p>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstaudio.html b/docs/libs/html/gst-plugins-base-libs-gstaudio.html
index e09efed..3a3b98c 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstaudio.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstaudio.html
@@ -1353,7 +1353,7 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>segment</p></td>
-<td class="parameter_description"><p>Segment in <code class="literal">GST_FORMAT_TIME</code> or <code class="literal">GST_FORMAT_DEFAULT</code> to which
+<td class="parameter_description"><p>Segment in <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-TIME:CAPS"><code class="literal">GST_FORMAT_TIME</code></a> or <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-DEFAULT:CAPS"><code class="literal">GST_FORMAT_DEFAULT</code></a> to which
 the buffer should be clipped.</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstaudiobasesink.html b/docs/libs/html/gst-plugins-base-libs-gstaudiobasesink.html
index 4396e84..99e44b7 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstaudiobasesink.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstaudiobasesink.html
@@ -714,6 +714,13 @@
 </td>
 <td class="enum_member_annotations"> </td>
 </tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-AUDIO-BASE-SINK-SLAVE-CUSTOM:CAPS"></a>GST_AUDIO_BASE_SINK_SLAVE_CUSTOM</p></td>
+<td class="enum_member_description">
+<p>Use custom clock slaving algorithm (Since: 1.6)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
 </tbody>
 </table></div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstaudiometa.html b/docs/libs/html/gst-plugins-base-libs-gstaudiometa.html
index 3bed542..cdb9839 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstaudiometa.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstaudiometa.html
@@ -156,7 +156,8 @@
 <div class="refsect3">
 <a name="id-1.2.6.4.7.2.7"></a><h4>Returns</h4>
 <p> the <a class="link" href="gst-plugins-base-libs-gstaudiometa.html#GstAudioDownmixMeta" title="struct GstAudioDownmixMeta"><span class="type">GstAudioDownmixMeta</span></a> on <em class="parameter"><code>buffer</code></em>
-.</p>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
 </div>
 <hr>
@@ -207,7 +208,8 @@
 <div class="refsect3">
 <a name="id-1.2.6.4.7.4.6"></a><h4>Returns</h4>
 <p> the <a class="link" href="gst-plugins-base-libs-gstaudiometa.html#GstAudioDownmixMeta" title="struct GstAudioDownmixMeta"><span class="type">GstAudioDownmixMeta</span></a> on <em class="parameter"><code>buffer</code></em>
-.</p>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstcolorbalance.html b/docs/libs/html/gst-plugins-base-libs-gstcolorbalance.html
index 0ff72c1..6e553b7 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstcolorbalance.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstcolorbalance.html
@@ -94,7 +94,7 @@
 <tbody><tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalance-value-changed" title="The “value-changed” signal">value-changed</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr></tbody>
 </table></div>
 </div>
@@ -471,7 +471,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstcolorbalancechannel.html b/docs/libs/html/gst-plugins-base-libs-gstcolorbalancechannel.html
index f4d8804..b1f7acb 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstcolorbalancechannel.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstcolorbalancechannel.html
@@ -45,7 +45,7 @@
 <tbody><tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel-value-changed" title="The “value-changed” signal">value-changed</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr></tbody>
 </table></div>
 </div>
@@ -202,7 +202,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstdiscoverer.html b/docs/libs/html/gst-plugins-base-libs-gstdiscoverer.html
index 1b233ba..a3a3728 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstdiscoverer.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstdiscoverer.html
@@ -484,22 +484,22 @@
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer-discovered" title="The “discovered” signal">discovered</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer-finished" title="The “finished” signal">finished</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer-source-setup" title="The “source-setup” signal">source-setup</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer-starting" title="The “starting” signal">starting</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 </tbody>
 </table></div>
@@ -789,7 +789,7 @@
 <div class="warning">
 <p><code class="literal">gst_discoverer_info_get_misc</code> is deprecated and should not be used in newly-written code.</p>
 <p>This functions is deprecated since version 1.4, use
-gst_discoverer_info_get_missing_elements_installer_details</p>
+<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-get-missing-elements-installer-details" title="gst_discoverer_info_get_missing_elements_installer_details ()"><span class="type">gst_discoverer_info_get_missing_elements_installer_details</span></a></p>
 </div>
 <div class="refsect3">
 <a name="id-1.2.14.9.12.8.5"></a><h4>Parameters</h4>
@@ -1162,7 +1162,7 @@
 <div class="warning">
 <p><code class="literal">gst_discoverer_stream_info_get_misc</code> is deprecated and should not be used in newly-written code.</p>
 <p>This functions is deprecated since version 1.4, use
-gst_discoverer_stream_get_missing_elements_installer_details</p>
+<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-get-missing-elements-installer-details" title="gst_discoverer_info_get_missing_elements_installer_details ()"><span class="type">gst_discoverer_info_get_missing_elements_installer_details</span></a></p>
 </div>
 <div class="refsect3">
 <a name="id-1.2.14.9.12.21.5"></a><h4>Parameters</h4>
@@ -2354,7 +2354,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2385,7 +2385,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2427,7 +2427,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2458,7 +2458,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstfftf32.html b/docs/libs/html/gst-plugins-base-libs-gstfftf32.html
index 2dd95c6..1d57890 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstfftf32.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstfftf32.html
@@ -146,8 +146,9 @@
  must be even and to get the best performance a product of
 2, 3 and 5. To get the next number with this characteristics use
 <a class="link" href="gst-plugins-base-libs-gstfft.html#gst-fft-next-fast-length" title="gst_fft_next_fast_length ()"><code class="function">gst_fft_next_fast_length()</code></a>.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.7.7.7.2.6"></a><h4>Parameters</h4>
+<a name="id-1.2.7.7.7.2.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -169,7 +170,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.7.7.7.2.7"></a><h4>Returns</h4>
+<a name="id-1.2.7.7.7.2.8"></a><h4>Returns</h4>
 <p> a new <a class="link" href="gst-plugins-base-libs-gstfftf32.html#GstFFTF32" title="GstFFTF32"><span class="type">GstFFTF32</span></a> instance.</p>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstfftf64.html b/docs/libs/html/gst-plugins-base-libs-gstfftf64.html
index f430ac0..9e92853 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstfftf64.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstfftf64.html
@@ -146,8 +146,9 @@
  must be even and to get the best performance a product of
 2, 3 and 5. To get the next number with this characteristics use
 <a class="link" href="gst-plugins-base-libs-gstfft.html#gst-fft-next-fast-length" title="gst_fft_next_fast_length ()"><code class="function">gst_fft_next_fast_length()</code></a>.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.7.8.7.2.6"></a><h4>Parameters</h4>
+<a name="id-1.2.7.8.7.2.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -169,7 +170,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.7.8.7.2.7"></a><h4>Returns</h4>
+<a name="id-1.2.7.8.7.2.8"></a><h4>Returns</h4>
 <p> a new <a class="link" href="gst-plugins-base-libs-gstfftf64.html#GstFFTF64" title="GstFFTF64"><span class="type">GstFFTF64</span></a> instance.</p>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstffts16.html b/docs/libs/html/gst-plugins-base-libs-gstffts16.html
index ccbc224..c76a539 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstffts16.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstffts16.html
@@ -146,8 +146,9 @@
  must be even and to get the best performance a product of
 2, 3 and 5. To get the next number with this characteristics use
 <a class="link" href="gst-plugins-base-libs-gstfft.html#gst-fft-next-fast-length" title="gst_fft_next_fast_length ()"><code class="function">gst_fft_next_fast_length()</code></a>.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.7.5.7.2.6"></a><h4>Parameters</h4>
+<a name="id-1.2.7.5.7.2.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -169,7 +170,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.7.5.7.2.7"></a><h4>Returns</h4>
+<a name="id-1.2.7.5.7.2.8"></a><h4>Returns</h4>
 <p> a new <a class="link" href="gst-plugins-base-libs-gstffts16.html#GstFFTS16" title="GstFFTS16"><span class="type">GstFFTS16</span></a> instance.</p>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstffts32.html b/docs/libs/html/gst-plugins-base-libs-gstffts32.html
index a0f0c1c..06a929c 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstffts32.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstffts32.html
@@ -146,8 +146,9 @@
  must be even and to get the best performance a product of
 2, 3 and 5. To get the next number with this characteristics use
 <a class="link" href="gst-plugins-base-libs-gstfft.html#gst-fft-next-fast-length" title="gst_fft_next_fast_length ()"><code class="function">gst_fft_next_fast_length()</code></a>.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.7.6.7.2.6"></a><h4>Parameters</h4>
+<a name="id-1.2.7.6.7.2.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -169,7 +170,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.7.6.7.2.7"></a><h4>Returns</h4>
+<a name="id-1.2.7.6.7.2.8"></a><h4>Returns</h4>
 <p> a new <a class="link" href="gst-plugins-base-libs-gstffts32.html#GstFFTS32" title="GstFFTS32"><span class="type">GstFFTS32</span></a> instance.</p>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstpbutilsmissingplugins.html b/docs/libs/html/gst-plugins-base-libs-gstpbutilsmissingplugins.html
index c24ec6a..81f828a 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstpbutilsmissingplugins.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstpbutilsmissingplugins.html
@@ -205,7 +205,7 @@
 </colgroup>
 <tbody><tr>
 <td class="parameter_name"><p>msg</p></td>
-<td class="parameter_description"><p>a missing-plugin <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html"><span class="type">GstMessage</span></a> of type <span class="type">GST_MESSAGE_ELEMENT</span></p></td>
+<td class="parameter_description"><p>a missing-plugin <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html"><span class="type">GstMessage</span></a> of type <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#GST-MESSAGE-ELEMENT:CAPS"><span class="type">GST_MESSAGE_ELEMENT</span></a></p></td>
 <td class="parameter_annotations"> </td>
 </tr></tbody>
 </table></div>
@@ -239,7 +239,7 @@
 </colgroup>
 <tbody><tr>
 <td class="parameter_name"><p>msg</p></td>
-<td class="parameter_description"><p>a missing-plugin <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html"><span class="type">GstMessage</span></a> of type <span class="type">GST_MESSAGE_ELEMENT</span></p></td>
+<td class="parameter_description"><p>a missing-plugin <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html"><span class="type">GstMessage</span></a> of type <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#GST-MESSAGE-ELEMENT:CAPS"><span class="type">GST_MESSAGE_ELEMENT</span></a></p></td>
 <td class="parameter_annotations"> </td>
 </tr></tbody>
 </table></div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstpluginsbaseversion.html b/docs/libs/html/gst-plugins-base-libs-gstpluginsbaseversion.html
index 6d6f61c..c1c41b8 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstpluginsbaseversion.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstpluginsbaseversion.html
@@ -111,7 +111,7 @@
 <hr>
 <div class="refsect2">
 <a name="GST-PLUGINS-BASE-VERSION-MICRO:CAPS"></a><h3>GST_PLUGINS_BASE_VERSION_MICRO</h3>
-<pre class="programlisting">#define GST_PLUGINS_BASE_VERSION_MICRO (1)
+<pre class="programlisting">#define GST_PLUGINS_BASE_VERSION_MICRO (2)
 </pre>
 <p>The micro version of GStreamer's gst-plugins-base libraries at compile time.</p>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstrtphdrext.html b/docs/libs/html/gst-plugins-base-libs-gstrtphdrext.html
index 523f003..fe0928e 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstrtphdrext.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstrtphdrext.html
@@ -27,7 +27,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstrtphdrext.top_of_page"></a>gstrtphdrext</span></h2>
-<p>gstrtphdrext</p>
+<p>gstrtphdrext — Helper methods for dealing with RTP header extensions</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -81,6 +81,10 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtphdrext.description"></a><h2>Description</h2>
+<div class="refsect2">
+<a name="id-1.2.9.9.5.2"></a><p>
+</p>
+</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtphdrext.functions_details"></a><h2>Functions</h2>
@@ -265,6 +269,10 @@
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtphdrext.other_details"></a><h2>Types and Values</h2>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-base-libs-gstrtphdrext.see-also"></a><h2>See Also</h2>
+<p><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a>, <a class="link" href="gst-plugins-base-libs-gstrtpbasedepayload.html#GstRTPBaseDepayload"><span class="type">GstRTPBaseDepayload</span></a>, gstrtpbuffer</p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.24</div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstrtspconnection.html b/docs/libs/html/gst-plugins-base-libs-gstrtspconnection.html
index 917959b..17f08eb 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstrtspconnection.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstrtspconnection.html
@@ -295,6 +295,38 @@
 </tr>
 <tr>
 <td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-set-tls-database" title="gst_rtsp_connection_set_tls_database ()">gst_rtsp_connection_set_tls_database</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/gio/unstable/GTlsDatabase.html"><span class="returnvalue">GTlsDatabase</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-get-tls-database" title="gst_rtsp_connection_get_tls_database ()">gst_rtsp_connection_get_tls_database</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-set-tls-interaction" title="gst_rtsp_connection_set_tls_interaction ()">gst_rtsp_connection_set_tls_interaction</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/gio/unstable/GTlsInteraction.html"><span class="returnvalue">GTlsInteraction</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-get-tls-interaction" title="gst_rtsp_connection_get_tls_interaction ()">gst_rtsp_connection_get_tls_interaction</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
 <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatch" title="GstRTSPWatch"><span class="returnvalue">GstRTSPWatch</span></a> *
 </td>
 <td class="function_name">
@@ -1457,6 +1489,28 @@
 <a name="gst-rtsp-connection-get-read-socket"></a><h3>gst_rtsp_connection_get_read_socket ()</h3>
 <pre class="programlisting"><a href="https://developer.gnome.org/gio/unstable/GSocket.html"><span class="returnvalue">GSocket</span></a> *
 gst_rtsp_connection_get_read_socket (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPConnection" title="GstRTSPConnection"><span class="type">GstRTSPConnection</span></a> *conn</code></em>);</pre>
+<p>Get the file descriptor for reading.</p>
+<div class="refsect3">
+<a name="id-1.2.10.3.7.29.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>conn</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPConnection" title="GstRTSPConnection"><span class="type">GstRTSPConnection</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.10.3.7.29.6"></a><h4>Returns</h4>
+<p> the file descriptor used for reading or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on
+error. The file descriptor remains valid until the connection is closed. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1599,6 +1653,137 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="gst-rtsp-connection-set-tls-database"></a><h3>gst_rtsp_connection_set_tls_database ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_rtsp_connection_set_tls_database (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPConnection" title="GstRTSPConnection"><span class="type">GstRTSPConnection</span></a> *conn</code></em>,
+                                      <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GTlsDatabase.html"><span class="type">GTlsDatabase</span></a> *database</code></em>);</pre>
+<p>Sets the anchor certificate authorities database. This certificate
+database will be used to verify the server's certificate in case it
+can't be verified with the default certificate database first.</p>
+<div class="refsect3">
+<a name="id-1.2.10.3.7.34.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>conn</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPConnection" title="GstRTSPConnection"><span class="type">GstRTSPConnection</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>database</p></td>
+<td class="parameter_description"><p>a <a href="https://developer.gnome.org/gio/unstable/GTlsDatabase.html"><span class="type">GTlsDatabase</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.4</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-rtsp-connection-get-tls-database"></a><h3>gst_rtsp_connection_get_tls_database ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/gio/unstable/GTlsDatabase.html"><span class="returnvalue">GTlsDatabase</span></a> *
+gst_rtsp_connection_get_tls_database (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPConnection" title="GstRTSPConnection"><span class="type">GstRTSPConnection</span></a> *conn</code></em>);</pre>
+<p>Gets the anchor certificate authorities database that will be used
+after a server certificate can't be verified with the default
+certificate database.</p>
+<div class="refsect3">
+<a name="id-1.2.10.3.7.35.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>conn</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPConnection" title="GstRTSPConnection"><span class="type">GstRTSPConnection</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.10.3.7.35.6"></a><h4>Returns</h4>
+<p> the anchor certificate authorities database, or NULL if no
+database has been previously set. Use <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> to release the
+certificate database. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since: 1.4</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-rtsp-connection-set-tls-interaction"></a><h3>gst_rtsp_connection_set_tls_interaction ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_rtsp_connection_set_tls_interaction
+                               (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPConnection" title="GstRTSPConnection"><span class="type">GstRTSPConnection</span></a> *conn</code></em>,
+                                <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GTlsInteraction.html"><span class="type">GTlsInteraction</span></a> *interaction</code></em>);</pre>
+<p>Sets a <a href="https://developer.gnome.org/gio/unstable/GTlsInteraction.html"><span class="type">GTlsInteraction</span></a> object to be used when the connection or certificate
+database need to interact with the user. This will be used to prompt the
+user for passwords where necessary.</p>
+<div class="refsect3">
+<a name="id-1.2.10.3.7.36.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>conn</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPConnection" title="GstRTSPConnection"><span class="type">GstRTSPConnection</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>interaction</p></td>
+<td class="parameter_description"><p>a <a href="https://developer.gnome.org/gio/unstable/GTlsInteraction.html"><span class="type">GTlsInteraction</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-rtsp-connection-get-tls-interaction"></a><h3>gst_rtsp_connection_get_tls_interaction ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/gio/unstable/GTlsInteraction.html"><span class="returnvalue">GTlsInteraction</span></a> *
+gst_rtsp_connection_get_tls_interaction
+                               (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPConnection" title="GstRTSPConnection"><span class="type">GstRTSPConnection</span></a> *conn</code></em>);</pre>
+<p>Gets a <a href="https://developer.gnome.org/gio/unstable/GTlsInteraction.html"><span class="type">GTlsInteraction</span></a> object to be used when the connection or certificate
+database need to interact with the user. This will be used to prompt the
+user for passwords where necessary.</p>
+<div class="refsect3">
+<a name="id-1.2.10.3.7.37.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>conn</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPConnection" title="GstRTSPConnection"><span class="type">GstRTSPConnection</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.10.3.7.37.6"></a><h4>Returns</h4>
+<p> a reference on the <a href="https://developer.gnome.org/gio/unstable/GTlsInteraction.html"><span class="type">GTlsInteraction</span></a>. Use
+<a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> to release. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
 <a name="gst-rtsp-watch-new"></a><h3>gst_rtsp_watch_new ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatch" title="GstRTSPWatch"><span class="returnvalue">GstRTSPWatch</span></a> *
 gst_rtsp_watch_new (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPConnection" title="GstRTSPConnection"><span class="type">GstRTSPConnection</span></a> *conn</code></em>,
@@ -1614,8 +1799,9 @@
 maincontext with <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-attach" title="gst_rtsp_watch_attach ()"><code class="function">gst_rtsp_watch_attach()</code></a>.</p>
 <p><em class="parameter"><code>conn</code></em>
  must exist for the entire lifetime of the watch.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.10.3.7.34.7"></a><h4>Parameters</h4>
+<a name="id-1.2.10.3.7.38.8"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1649,7 +1835,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.10.3.7.34.8"></a><h4>Returns</h4>
+<a name="id-1.2.10.3.7.38.9"></a><h4>Returns</h4>
 <p> a <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatch" title="GstRTSPWatch"><span class="type">GstRTSPWatch</span></a> that can be used for asynchronous RTSP
 communication. Free with <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-unref" title="gst_rtsp_watch_unref ()"><code class="function">gst_rtsp_watch_unref()</code></a> after usage.</p>
 </div>
@@ -1663,7 +1849,7 @@
  by one. If the resulting reference
 count is zero the watch and associated memory will be destroyed.</p>
 <div class="refsect3">
-<a name="id-1.2.10.3.7.35.5"></a><h4>Parameters</h4>
+<a name="id-1.2.10.3.7.39.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1686,7 +1872,7 @@
                        <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);</pre>
 <p>Adds a <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatch" title="GstRTSPWatch"><span class="type">GstRTSPWatch</span></a> to a context so that it will be executed within that context.</p>
 <div class="refsect3">
-<a name="id-1.2.10.3.7.36.5"></a><h4>Parameters</h4>
+<a name="id-1.2.10.3.7.40.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1708,7 +1894,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.10.3.7.36.6"></a><h4>Returns</h4>
+<a name="id-1.2.10.3.7.40.6"></a><h4>Returns</h4>
 <p> the ID (greater than 0) for the watch within the GMainContext.</p>
 </div>
 </div>
@@ -1721,7 +1907,7 @@
 , this is usually called after <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-do-tunnel" title="gst_rtsp_connection_do_tunnel ()"><code class="function">gst_rtsp_connection_do_tunnel()</code></a>
 when the file descriptors of the connection might have changed.</p>
 <div class="refsect3">
-<a name="id-1.2.10.3.7.37.5"></a><h4>Parameters</h4>
+<a name="id-1.2.10.3.7.41.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1757,7 +1943,7 @@
  will be non-zero and used as the ID argument in the message_sent
 callback.</p>
 <div class="refsect3">
-<a name="id-1.2.10.3.7.38.5"></a><h4>Parameters</h4>
+<a name="id-1.2.10.3.7.42.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1784,7 +1970,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.10.3.7.38.6"></a><h4>Returns</h4>
+<a name="id-1.2.10.3.7.42.6"></a><h4>Returns</h4>
 <p> <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-OK:CAPS"><span class="type">GST_RTSP_OK</span></a> on success.</p>
 </div>
 </div>
@@ -1815,7 +2001,7 @@
 <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-set-send-backlog" title="gst_rtsp_watch_set_send_backlog ()"><code class="function">gst_rtsp_watch_set_send_backlog()</code></a>, this function will return
 <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-ENOMEM:CAPS"><span class="type">GST_RTSP_ENOMEM</span></a>.</p>
 <div class="refsect3">
-<a name="id-1.2.10.3.7.39.7"></a><h4>Parameters</h4>
+<a name="id-1.2.10.3.7.43.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1848,7 +2034,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.10.3.7.39.8"></a><h4>Returns</h4>
+<a name="id-1.2.10.3.7.43.8"></a><h4>Returns</h4>
 <p> <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-OK:CAPS"><span class="type">GST_RTSP_OK</span></a> on success. <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-ENOMEM:CAPS"><span class="type">GST_RTSP_ENOMEM</span></a> when the backlog limits
 are reached. <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-EINTR:CAPS"><span class="type">GST_RTSP_EINTR</span></a> when <em class="parameter"><code>watch</code></em>
 was flushing.</p>
@@ -1865,7 +2051,7 @@
 .
 See <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-set-send-backlog" title="gst_rtsp_watch_set_send_backlog ()"><code class="function">gst_rtsp_watch_set_send_backlog()</code></a>.</p>
 <div class="refsect3">
-<a name="id-1.2.10.3.7.40.5"></a><h4>Parameters</h4>
+<a name="id-1.2.10.3.7.44.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1908,7 +2094,7 @@
  or <em class="parameter"><code>messages</code></em>
  means no limits.</p>
 <div class="refsect3">
-<a name="id-1.2.10.3.7.41.6"></a><h4>Parameters</h4>
+<a name="id-1.2.10.3.7.45.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1947,7 +2133,7 @@
 and make sure <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-write-data" title="gst_rtsp_watch_write_data ()"><code class="function">gst_rtsp_watch_write_data()</code></a> returns immediately with
 <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-EINTR:CAPS"><span class="type">GST_RTSP_EINTR</span></a>. And empty the queue.</p>
 <div class="refsect3">
-<a name="id-1.2.10.3.7.42.5"></a><h4>Parameters</h4>
+<a name="id-1.2.10.3.7.46.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -1989,7 +2175,7 @@
 returns <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-ENOMEM:CAPS"><code class="literal">GST_RTSP_ENOMEM</code></a>. The caller then calls this function to wait for
 free space in the backlog queue and try again.</p>
 <div class="refsect3">
-<a name="id-1.2.10.3.7.43.7"></a><h4>Parameters</h4>
+<a name="id-1.2.10.3.7.47.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2011,7 +2197,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.10.3.7.43.8"></a><h4>Returns</h4>
+<a name="id-1.2.10.3.7.47.8"></a><h4>Returns</h4>
 <p> <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-OK:CAPS"><code class="literal">GST_RTSP_OK</code></a> when if there is room in queue.
 <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-ETIMEOUT:CAPS"><code class="literal">GST_RTSP_ETIMEOUT</code></a> when <em class="parameter"><code>timeout</code></em>
 was reached.
diff --git a/docs/libs/html/gst-plugins-base-libs-gstvideo.html b/docs/libs/html/gst-plugins-base-libs-gstvideo.html
index 2a3c7fb..fe6e91c 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstvideo.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstvideo.html
@@ -660,6 +660,18 @@
 </td>
 </tr>
 <tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-MULTIVIEW-FLAGS:CAPS" title="GST_VIDEO_INFO_MULTIVIEW_FLAGS()">GST_VIDEO_INFO_MULTIVIEW_FLAGS</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-MULTIVIEW-MODE:CAPS" title="GST_VIDEO_INFO_MULTIVIEW_MODE()">GST_VIDEO_INFO_MULTIVIEW_MODE</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
 <td class="function_type">
 <span class="returnvalue">void</span>
 </td>
@@ -998,6 +1010,72 @@
 <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-converter-frame" title="gst_video_converter_frame ()">gst_video_converter_frame</a> <span class="c_punctuation">()</span>
 </td>
 </tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="returnvalue">GValue</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-get-mono-modes" title="gst_video_multiview_get_mono_modes ()">gst_video_multiview_get_mono_modes</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="returnvalue">GValue</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-get-unpacked-modes" title="gst_video_multiview_get_unpacked_modes ()">gst_video_multiview_get_unpacked_modes</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="returnvalue">GValue</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-get-doubled-height-modes" title="gst_video_multiview_get_doubled_height_modes ()">gst_video_multiview_get_doubled_height_modes</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="returnvalue">GValue</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-get-doubled-size-modes" title="gst_video_multiview_get_doubled_size_modes ()">gst_video_multiview_get_doubled_size_modes</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="returnvalue">GValue</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-get-doubled-width-modes" title="gst_video_multiview_get_doubled_width_modes ()">gst_video_multiview_get_doubled_width_modes</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode" title="enum GstVideoMultiviewMode"><span class="returnvalue">GstVideoMultiviewMode</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-mode-from-caps-string" title="gst_video_multiview_mode_from_caps_string ()">gst_video_multiview_mode_from_caps_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-mode-to-caps-string" title="gst_video_multiview_mode_to_caps_string ()">gst_video_multiview_mode_to_caps_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-guess-half-aspect" title="gst_video_multiview_guess_half_aspect ()">gst_video_multiview_guess_half_aspect</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-video-info-change-mode" title="gst_video_multiview_video_info_change_mode ()">gst_video_multiview_video_info_change_mode</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
 </tbody>
 </table></div>
 </div>
@@ -1095,6 +1173,18 @@
 </tr>
 <tr>
 <td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode" title="enum GstVideoMultiviewMode">GstVideoMultiviewMode</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFramePacking" title="enum GstVideoMultiviewFramePacking">GstVideoMultiviewFramePacking</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFlags" title="enum GstVideoMultiviewFlags">GstVideoMultiviewFlags</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
 <td class="function_name"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFlags" title="enum GstVideoFlags">GstVideoFlags</a></td>
 </tr>
 <tr>
@@ -2929,13 +3019,25 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="GST-VIDEO-INFO-MULTIVIEW-FLAGS:CAPS"></a><h3>GST_VIDEO_INFO_MULTIVIEW_FLAGS()</h3>
+<pre class="programlisting">#define GST_VIDEO_INFO_MULTIVIEW_FLAGS(i)          ((i)-&gt;ABI.abi.multiview_flags)
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GST-VIDEO-INFO-MULTIVIEW-MODE:CAPS"></a><h3>GST_VIDEO_INFO_MULTIVIEW_MODE()</h3>
+<pre class="programlisting">#define GST_VIDEO_INFO_MULTIVIEW_MODE(i)          ((i)-&gt;ABI.abi.multiview_mode)
+</pre>
+</div>
+<hr>
+<div class="refsect2">
 <a name="gst-video-info-init"></a><h3>gst_video_info_init ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_info_init (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>);</pre>
 <p>Initialize <em class="parameter"><code>info</code></em>
  with default values.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.96.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.98.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -2967,7 +3069,7 @@
 does not set the offsets correctly for interlaced vertically
 subsampled formats.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.97.6"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.99.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3009,7 +3111,7 @@
  and update <em class="parameter"><code>info</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.98.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.100.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3031,7 +3133,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.98.6"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.100.6"></a><h4>Returns</h4>
 <p> TRUE if <em class="parameter"><code>caps</code></em>
 could be parsed</p>
 </div>
@@ -3044,7 +3146,7 @@
 <p>Convert the values of <em class="parameter"><code>info</code></em>
  into a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstCaps.html"><span class="type">GstCaps</span></a>.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.99.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.101.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3059,7 +3161,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.99.6"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.101.6"></a><h4>Returns</h4>
 <p> a new <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstCaps.html"><span class="type">GstCaps</span></a> containing the info of <em class="parameter"><code>info</code></em>
 .</p>
 </div>
@@ -3078,7 +3180,7 @@
 raw video, GST_FORMAT_DEFAULT corresponds to video frames.  This
 function can be used to handle pad queries of the type GST_QUERY_CONVERT.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.100.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.102.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3117,7 +3219,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.100.6"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.102.6"></a><h4>Returns</h4>
 <p> TRUE if the conversion was successful.</p>
 </div>
 </div>
@@ -3129,7 +3231,7 @@
                          <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *other</code></em>);</pre>
 <p>Compares two <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> and returns whether they are equal or not</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.101.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.103.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3151,7 +3253,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.101.6"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.103.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>info</code></em>
 and <em class="parameter"><code>other</code></em>
 are equal, else <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
@@ -3171,7 +3273,7 @@
 is required and <em class="parameter"><code>align</code></em>
  will be updated with the new padding values.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.102.6"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.104.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3217,7 +3319,7 @@
 <em class="parameter"><code>frame-&gt;data</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.103.7"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.105.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3254,7 +3356,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.103.8"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.105.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</p>
 </div>
 </div>
@@ -3275,7 +3377,7 @@
 <em class="parameter"><code>frame-&gt;data</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.104.6"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.106.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3307,7 +3409,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.104.7"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.106.7"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</p>
 </div>
 </div>
@@ -3318,7 +3420,7 @@
 gst_video_frame_unmap (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> *frame</code></em>);</pre>
 <p>Unmap the memory previously mapped with gst_video_frame_map.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.105.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.107.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3343,7 +3445,7 @@
  to <em class="parameter"><code>dest</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.106.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.108.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3365,7 +3467,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.106.6"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.108.6"></a><h4>Returns</h4>
 <p> TRUE if the contents could be copied.</p>
 </div>
 </div>
@@ -3381,7 +3483,7 @@
  to <em class="parameter"><code>dest</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.107.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.109.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3408,7 +3510,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.107.6"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.109.6"></a><h4>Returns</h4>
 <p> TRUE if the contents could be copied.</p>
 </div>
 </div>
@@ -3574,7 +3676,7 @@
 <p>Use this method when <em class="parameter"><code>mode</code></em>
  is of type <code class="literal">GST_VIDEO_TILE_MODE_INDEXED</code>.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.132.6"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.134.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3611,7 +3713,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.132.7"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.134.7"></a><h4>Returns</h4>
 <p> the index of the tile at <em class="parameter"><code>x</code></em>
 and <em class="parameter"><code>y</code></em>
 in the tiled image of
@@ -3627,7 +3729,7 @@
 <pre class="programlisting">#define             GST_VIDEO_TILE_MAKE_MODE(num, type)</pre>
 <p>use this macro to create new tile modes.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.133.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.135.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3657,7 +3759,7 @@
 <p>Get the tile mode type of <em class="parameter"><code>mode</code></em>
 </p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.134.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.136.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3680,7 +3782,7 @@
 <p>Check if <em class="parameter"><code>mode</code></em>
  is an indexed tile type</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.135.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.137.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3701,7 +3803,7 @@
 <pre class="programlisting">#define             GST_VIDEO_TILE_MAKE_STRIDE(x_tiles, y_tiles)</pre>
 <p>Encode the number of tile in X and Y into the stride.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.136.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.138.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3730,7 +3832,7 @@
 </pre>
 <p>Extract the number of tiles in X from the stride value.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.137.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.139.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3752,7 +3854,7 @@
 </pre>
 <p>Extract the number of tiles in Y from the stride value.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.138.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.140.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3780,7 +3882,7 @@
  image into the <em class="parameter"><code>dest</code></em>
  image</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.139.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.141.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3836,7 +3938,7 @@
 deprecated in the near future. Use <a class="link" href="gst-plugins-base-libs-GstVideoScaler.html#GstVideoScaler" title="GstVideoScaler"><span class="type">GstVideoScaler</span></a> to scale video buffers
 instead.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.140.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.142.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3896,8 +3998,9 @@
 
 with <em class="parameter"><code>config</code></em>
 .</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.141.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.143.6"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3924,7 +4027,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.141.6"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.143.7"></a><h4>Returns</h4>
 <p> a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoConverter" title="GstVideoConverter"><span class="type">GstVideoConverter</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if conversion is not possible.</p>
 </div>
 <p class="since">Since: 1.6</p>
@@ -3937,7 +4040,7 @@
 <p>Free <em class="parameter"><code>convert</code></em>
 </p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.142.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.144.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3961,7 +4064,7 @@
 <p>Get the current configuration of <em class="parameter"><code>convert</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.143.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.145.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -3976,7 +4079,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.143.6"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.145.6"></a><h4>Returns</h4>
 <p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstStructure.html"><span class="type">GstStructure</span></a> that remains valid for as long as <em class="parameter"><code>convert</code></em>
 is valid
 or until <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-converter-set-config" title="gst_video_converter_set_config ()"><code class="function">gst_video_converter_set_config()</code></a> is called.</p>
@@ -3998,7 +4101,7 @@
 <p>Look at the <span class="type">GST_VIDEO_CONVERTER_OPT_</span>* fields to check valid configuration
 option and values.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.144.7"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.146.7"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -4020,7 +4123,7 @@
 </table></div>
 </div>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.144.8"></a><h4>Returns</h4>
+<a name="id-1.2.15.3.7.146.8"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> when <em class="parameter"><code>config</code></em>
 could be set.</p>
 </div>
@@ -4038,7 +4141,7 @@
  using <em class="parameter"><code>convert</code></em>
 .</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.7.145.5"></a><h4>Parameters</h4>
+<a name="id-1.2.15.3.7.147.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="150px" class="parameters_name">
@@ -4066,6 +4169,237 @@
 </div>
 <p class="since">Since: 1.6</p>
 </div>
+<hr>
+<div class="refsect2">
+<a name="gst-video-multiview-get-mono-modes"></a><h3>gst_video_multiview_get_mono_modes ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="returnvalue">GValue</span></a> *
+gst_video_multiview_get_mono_modes (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<div class="refsect3">
+<a name="id-1.2.15.3.7.148.4"></a><h4>Returns</h4>
+<p> A const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> containing a list of mono video modes</p>
+<p>Utility function that returns a <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> with a GstList of mono video
+modes (mono/left/right) for use in caps negotiations.</p>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-video-multiview-get-unpacked-modes"></a><h3>gst_video_multiview_get_unpacked_modes ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="returnvalue">GValue</span></a> *
+gst_video_multiview_get_unpacked_modes
+                               (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<div class="refsect3">
+<a name="id-1.2.15.3.7.149.4"></a><h4>Returns</h4>
+<p> A const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> containing a list of 'unpacked' stereo video modes</p>
+<p>Utility function that returns a <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> with a GstList of unpacked
+stereo video modes (separated/frame-by-frame/frame-by-frame-multiview)
+for use in caps negotiations.</p>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-video-multiview-get-doubled-height-modes"></a><h3>gst_video_multiview_get_doubled_height_modes ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="returnvalue">GValue</span></a> *
+gst_video_multiview_get_doubled_height_modes
+                               (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<div class="refsect3">
+<a name="id-1.2.15.3.7.150.4"></a><h4>Returns</h4>
+<p> A const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> containing a list of stereo video modes</p>
+<p>Utility function that returns a <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> with a GstList of packed stereo
+video modes with double the height of a single view for use in
+caps negotiations. Currently this is top-bottom and row-interleaved.</p>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-video-multiview-get-doubled-size-modes"></a><h3>gst_video_multiview_get_doubled_size_modes ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="returnvalue">GValue</span></a> *
+gst_video_multiview_get_doubled_size_modes
+                               (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<div class="refsect3">
+<a name="id-1.2.15.3.7.151.4"></a><h4>Returns</h4>
+<p> A const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> containing a list of stereo video modes</p>
+<p>Utility function that returns a <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> with a GstList of packed
+stereo video modes that have double the width/height of a single
+view for use in caps negotiation. Currently this is just
+'checkerboard' layout.</p>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-video-multiview-get-doubled-width-modes"></a><h3>gst_video_multiview_get_doubled_width_modes ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="returnvalue">GValue</span></a> *
+gst_video_multiview_get_doubled_width_modes
+                               (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<div class="refsect3">
+<a name="id-1.2.15.3.7.152.4"></a><h4>Returns</h4>
+<p> A const <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> containing a list of stereo video modes</p>
+<p>Utility function that returns a <a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> with a GstList of packed stereo
+video modes with double the width of a single view for use in
+caps negotiations. Currently this is side-by-side, side-by-side-quincunx
+and column-interleaved.</p>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-video-multiview-mode-from-caps-string"></a><h3>gst_video_multiview_mode_from_caps_string ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode" title="enum GstVideoMultiviewMode"><span class="returnvalue">GstVideoMultiviewMode</span></a>
+gst_video_multiview_mode_from_caps_string
+                               (<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *caps_mview_mode</code></em>);</pre>
+<div class="refsect3">
+<a name="id-1.2.15.3.7.153.4"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>caps_mview_mode</p></td>
+<td class="parameter_description"><p>multiview-mode field string from caps</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.15.3.7.153.5"></a><h4>Returns</h4>
+<p> The <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode" title="enum GstVideoMultiviewMode"><span class="type">GstVideoMultiviewMode</span></a> value</p>
+<p>Given a string from a caps multiview-mode field,
+output the corresponding <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode" title="enum GstVideoMultiviewMode"><span class="type">GstVideoMultiviewMode</span></a>
+or <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-NONE:CAPS"><span class="type">GST_VIDEO_MULTIVIEW_MODE_NONE</span></a></p>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-video-multiview-mode-to-caps-string"></a><h3>gst_video_multiview_mode_to_caps_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+gst_video_multiview_mode_to_caps_string
+                               (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode" title="enum GstVideoMultiviewMode"><span class="type">GstVideoMultiviewMode</span></a> mview_mode</code></em>);</pre>
+<div class="refsect3">
+<a name="id-1.2.15.3.7.154.4"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>mview_mode</p></td>
+<td class="parameter_description"><p>A <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode" title="enum GstVideoMultiviewMode"><span class="type">GstVideoMultiviewMode</span></a> value</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.15.3.7.154.5"></a><h4>Returns</h4>
+<p> The caps string representation of the mode, or NULL if invalid.</p>
+<p>Given a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode" title="enum GstVideoMultiviewMode"><span class="type">GstVideoMultiviewMode</span></a> returns the multiview-mode caps string
+for insertion into a caps structure</p>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-video-multiview-guess-half-aspect"></a><h3>gst_video_multiview_guess_half_aspect ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_video_multiview_guess_half_aspect (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode" title="enum GstVideoMultiviewMode"><span class="type">GstVideoMultiviewMode</span></a> mv_mode</code></em>,
+                                       <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> width</code></em>,
+                                       <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> height</code></em>,
+                                       <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> par_n</code></em>,
+                                       <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> par_d</code></em>);</pre>
+<div class="refsect3">
+<a name="id-1.2.15.3.7.155.4"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>mv_mode</p></td>
+<td class="parameter_description"><p>A <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode" title="enum GstVideoMultiviewMode"><span class="type">GstVideoMultiviewMode</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>width</p></td>
+<td class="parameter_description"><p>Video frame width in pixels</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>height</p></td>
+<td class="parameter_description"><p>Video frame height in pixels</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>par_n</p></td>
+<td class="parameter_description"><p>Numerator of the video pixel-aspect-ratio</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>par_d</p></td>
+<td class="parameter_description"><p>Denominator of the video pixel-aspect-ratio</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.15.3.7.155.5"></a><h4>Returns</h4>
+<p> A boolean indicating whether the
+<span class="type">GST_VIDEO_MULTIVIEW_FLAG_HALF_ASPECT</span> flag should be set.</p>
+<p>Utility function that heuristically guess whether a
+frame-packed stereoscopic video contains half width/height
+encoded views, or full-frame views by looking at the
+overall display aspect ratio.</p>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-video-multiview-video-info-change-mode"></a><h3>gst_video_multiview_video_info_change_mode ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_video_multiview_video_info_change_mode
+                               (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>,
+                                <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode" title="enum GstVideoMultiviewMode"><span class="type">GstVideoMultiviewMode</span></a> out_mview_mode</code></em>,
+                                <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFlags" title="enum GstVideoMultiviewFlags"><span class="type">GstVideoMultiviewFlags</span></a> out_mview_flags</code></em>);</pre>
+<p>Utility function that transforms the width/height/PAR
+and multiview mode and flags of a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> into
+the requested mode.</p>
+<div class="refsect3">
+<a name="id-1.2.15.3.7.156.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>A <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> structure to operate on</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_mview_mode</p></td>
+<td class="parameter_description"><p>A <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode" title="enum GstVideoMultiviewMode"><span class="type">GstVideoMultiviewMode</span></a> value</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_mview_flags</p></td>
+<td class="parameter_description"><p>A set of <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFlags" title="enum GstVideoMultiviewFlags"><span class="type">GstVideoMultiviewFlags</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.6</p>
+</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstvideo.other_details"></a><h2>Types and Values</h2>
@@ -5291,6 +5625,14 @@
 
   gsize                     offset[GST_VIDEO_MAX_PLANES];
   gint                      stride[GST_VIDEO_MAX_PLANES];
+
+  /* Union preserves padded struct size for backwards compat
+   * Consumer code should use the accessor macros for fields */
+  union {
+    struct {
+      GstVideoMultiviewMode     multiview_mode;
+      GstVideoMultiviewFlags    multiview_flags;
+    } abi;
 };
 </pre>
 <p>Information describing image properties. This information can be filled
@@ -5442,10 +5784,336 @@
 </div>
 <hr>
 <div class="refsect2">
+<a name="GstVideoMultiviewMode"></a><h3>enum GstVideoMultiviewMode</h3>
+<p>All possible stereoscopic 3D and multiview representations.
+In conjunction with <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFlags" title="enum GstVideoMultiviewFlags"><span class="type">GstVideoMultiviewFlags</span></a>, describes how
+multiview content is being transported in the stream.</p>
+<div class="refsect3">
+<a name="id-1.2.15.3.8.23.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-MODE-NONE:CAPS"></a>GST_VIDEO_MULTIVIEW_MODE_NONE</p></td>
+<td class="enum_member_description">
+<p>A special value indicating
+no multiview information. Used in GstVideoInfo and other places to
+indicate that no specific multiview handling has been requested or
+provided. This value is never carried on caps.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-MODE-MONO:CAPS"></a>GST_VIDEO_MULTIVIEW_MODE_MONO</p></td>
+<td class="enum_member_description">
+<p>All frames are monoscopic.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-MODE-LEFT:CAPS"></a>GST_VIDEO_MULTIVIEW_MODE_LEFT</p></td>
+<td class="enum_member_description">
+<p>All frames represent a left-eye view.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-MODE-RIGHT:CAPS"></a>GST_VIDEO_MULTIVIEW_MODE_RIGHT</p></td>
+<td class="enum_member_description">
+<p>All frames represent a right-eye view.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-MODE-SIDE-BY-SIDE:CAPS"></a>GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE</p></td>
+<td class="enum_member_description">
+<p>Left and right eye views are
+provided in the left and right half of the frame respectively.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-MODE-SIDE-BY-SIDE-QUINCUNX:CAPS"></a>GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX</p></td>
+<td class="enum_member_description">
+<p>Left and right eye
+views are provided in the left and right half of the frame, but
+have been sampled using quincunx method, with half-pixel offset
+between the 2 views.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-MODE-COLUMN-INTERLEAVED:CAPS"></a>GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED</p></td>
+<td class="enum_member_description">
+<p>Alternating vertical
+columns of pixels represent the left and right eye view respectively.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-MODE-ROW-INTERLEAVED:CAPS"></a>GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED</p></td>
+<td class="enum_member_description">
+<p>Alternating horizontal
+rows of pixels represent the left and right eye view respectively.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-MODE-TOP-BOTTOM:CAPS"></a>GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM</p></td>
+<td class="enum_member_description">
+<p>The top half of the frame
+contains the left eye, and the bottom half the right eye.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-MODE-CHECKERBOARD:CAPS"></a>GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD</p></td>
+<td class="enum_member_description">
+<p>Pixels are arranged with
+alternating pixels representing left and right eye views in a
+checkerboard fashion.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-MODE-FRAME-BY-FRAME:CAPS"></a>GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME</p></td>
+<td class="enum_member_description">
+<p>Left and right eye views
+are provided in separate frames alternately.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-MODE-MULTIVIEW-FRAME-BY-FRAME:CAPS"></a>GST_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME</p></td>
+<td class="enum_member_description">
+<p>Multiple
+independent views are provided in separate frames in sequence.
+This method only applies to raw video buffers at the moment.
+Specific view identification is via the <span class="type">GstVideoMultiviewMeta</span>
+and <a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta" title="struct GstVideoMeta"><span class="type">GstVideoMeta</span></a>(s) on raw video buffers.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-MODE-SEPARATED:CAPS"></a>GST_VIDEO_MULTIVIEW_MODE_SEPARATED</p></td>
+<td class="enum_member_description">
+<p>Multiple views are
+provided as separate <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMemory.html"><span class="type">GstMemory</span></a> framebuffers attached to each
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBuffer.html"><span class="type">GstBuffer</span></a>, described by the <span class="type">GstVideoMultiviewMeta</span>
+and <a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta" title="struct GstVideoMeta"><span class="type">GstVideoMeta</span></a>(s)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstVideoMultiviewFramePacking"></a><h3>enum GstVideoMultiviewFramePacking</h3>
+<p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFramePacking" title="enum GstVideoMultiviewFramePacking"><span class="type">GstVideoMultiviewFramePacking</span></a> represents the subset of <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode" title="enum GstVideoMultiviewMode"><span class="type">GstVideoMultiviewMode</span></a>
+values that can be applied to any video frame without needing extra metadata.
+It can be used by elements that provide a property to override the
+multiview interpretation of a video stream when the video doesn't contain
+any markers.</p>
+<p>This enum is used (for example) on playbin, to re-interpret a played
+video stream as a stereoscopic video. The individual enum values are
+equivalent to and have the same value as the matching <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode" title="enum GstVideoMultiviewMode"><span class="type">GstVideoMultiviewMode</span></a>.</p>
+<div class="refsect3">
+<a name="id-1.2.15.3.8.24.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-FRAME-PACKING-NONE:CAPS"></a>GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE</p></td>
+<td class="enum_member_description">
+<p>A special value indicating
+no frame packing info.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-FRAME-PACKING-MONO:CAPS"></a>GST_VIDEO_MULTIVIEW_FRAME_PACKING_MONO</p></td>
+<td class="enum_member_description">
+<p>All frames are monoscopic.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-FRAME-PACKING-LEFT:CAPS"></a>GST_VIDEO_MULTIVIEW_FRAME_PACKING_LEFT</p></td>
+<td class="enum_member_description">
+<p>All frames represent a left-eye view.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-FRAME-PACKING-RIGHT:CAPS"></a>GST_VIDEO_MULTIVIEW_FRAME_PACKING_RIGHT</p></td>
+<td class="enum_member_description">
+<p>All frames represent a right-eye view.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-FRAME-PACKING-SIDE-BY-SIDE:CAPS"></a>GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE</p></td>
+<td class="enum_member_description">
+<p>Left and right eye views are
+provided in the left and right half of the frame respectively.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-FRAME-PACKING-SIDE-BY-SIDE-QUINCUNX:CAPS"></a>GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE_QUINCUNX</p></td>
+<td class="enum_member_description">
+<p>Left and right eye
+views are provided in the left and right half of the frame, but
+have been sampled using quincunx method, with half-pixel offset
+between the 2 views.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-FRAME-PACKING-COLUMN-INTERLEAVED:CAPS"></a>GST_VIDEO_MULTIVIEW_FRAME_PACKING_COLUMN_INTERLEAVED</p></td>
+<td class="enum_member_description">
+<p>Alternating vertical
+columns of pixels represent the left and right eye view respectively.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-FRAME-PACKING-ROW-INTERLEAVED:CAPS"></a>GST_VIDEO_MULTIVIEW_FRAME_PACKING_ROW_INTERLEAVED</p></td>
+<td class="enum_member_description">
+<p>Alternating horizontal
+rows of pixels represent the left and right eye view respectively.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-FRAME-PACKING-TOP-BOTTOM:CAPS"></a>GST_VIDEO_MULTIVIEW_FRAME_PACKING_TOP_BOTTOM</p></td>
+<td class="enum_member_description">
+<p>The top half of the frame
+contains the left eye, and the bottom half the right eye.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-FRAME-PACKING-CHECKERBOARD:CAPS"></a>GST_VIDEO_MULTIVIEW_FRAME_PACKING_CHECKERBOARD</p></td>
+<td class="enum_member_description">
+<p>Pixels are arranged with
+alternating pixels representing left and right eye views in a
+checkerboard fashion.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstVideoMultiviewFlags"></a><h3>enum GstVideoMultiviewFlags</h3>
+<p>GstVideoMultiviewFlags are used to indicate extra properties of a
+stereo/multiview stream beyond the frame layout and buffer mapping
+that is conveyed in the <span class="type">GstMultiviewMode</span>.</p>
+<div class="refsect3">
+<a name="id-1.2.15.3.8.25.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-FLAGS-NONE:CAPS"></a>GST_VIDEO_MULTIVIEW_FLAGS_NONE</p></td>
+<td class="enum_member_description">
+<p>No flags</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-FLAGS-RIGHT-VIEW-FIRST:CAPS"></a>GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST</p></td>
+<td class="enum_member_description">
+<p>For stereo streams, the
+    normal arrangement of left and right views is reversed.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-FLAGS-LEFT-FLIPPED:CAPS"></a>GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED</p></td>
+<td class="enum_member_description">
+<p>The left view is vertically
+    mirrored.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-FLAGS-LEFT-FLOPPED:CAPS"></a>GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED</p></td>
+<td class="enum_member_description">
+<p>The left view is horizontally
+    mirrored.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-FLAGS-RIGHT-FLIPPED:CAPS"></a>GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED</p></td>
+<td class="enum_member_description">
+<p>The right view is
+    vertically mirrored.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-FLAGS-RIGHT-FLOPPED:CAPS"></a>GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED</p></td>
+<td class="enum_member_description">
+<p>The right view is
+    horizontally mirrored.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-FLAGS-HALF-ASPECT:CAPS"></a>GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT</p></td>
+<td class="enum_member_description">
+<p>For frame-packed
+    multiview modes, indicates that the individual
+    views have been encoded with half the true width or height
+    and should be scaled back up for display. This flag
+    is used for overriding input layout interpretation
+    by adjusting pixel-aspect-ratio.
+    For side-by-side, column interleaved or checkerboard packings, the
+    pixel width will be doubled. For row interleaved and top-bottom
+    encodings, pixel height will be doubled.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-MULTIVIEW-FLAGS-MIXED-MONO:CAPS"></a>GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO</p></td>
+<td class="enum_member_description">
+<p>The video stream contains both
+    mono and multiview portions, signalled on each buffer by the
+    absence or presence of the <em class="parameter"><code>GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW</code></em>
+
+    buffer flag.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
 <a name="GstVideoFlags"></a><h3>enum GstVideoFlags</h3>
 <p>Extra video flags</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.8.23.4"></a><h4>Members</h4>
+<a name="id-1.2.15.3.8.26.4"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="enum_members_name">
@@ -5497,7 +6165,7 @@
 </pre>
 <p>A video frame obtained from <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-frame-map" title="gst_video_frame_map ()"><code class="function">gst_video_frame_map()</code></a></p>
 <div class="refsect3">
-<a name="id-1.2.15.3.8.24.5"></a><h4>Members</h4>
+<a name="id-1.2.15.3.8.27.5"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="struct_members_name">
@@ -5550,7 +6218,7 @@
 <a name="GstVideoFrameFlags"></a><h3>enum GstVideoFrameFlags</h3>
 <p>Extra video frame flags</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.8.25.4"></a><h4>Members</h4>
+<a name="id-1.2.15.3.8.28.4"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="enum_members_name">
@@ -5595,6 +6263,22 @@
 </td>
 <td class="enum_member_annotations"> </td>
 </tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-FRAME-FLAG-MULTIPLE-VIEW:CAPS"></a>GST_VIDEO_FRAME_FLAG_MULTIPLE_VIEW</p></td>
+<td class="enum_member_description">
+<p>The video contains one or
+    more non-mono views</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-FRAME-FLAG-FIRST-IN-BUNDLE:CAPS"></a>GST_VIDEO_FRAME_FLAG_FIRST_IN_BUNDLE</p></td>
+<td class="enum_member_description">
+<p>The video frame is the first
+    in a set of corresponding views provided as sequential frames.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
 </tbody>
 </table></div>
 </div>
@@ -5602,9 +6286,10 @@
 <hr>
 <div class="refsect2">
 <a name="GstVideoBufferFlags"></a><h3>enum GstVideoBufferFlags</h3>
-<p>Additional video buffer flags.</p>
+<p>Additional video buffer flags. These flags can potentially be used on any
+buffers carrying video data - even encoded data.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.8.26.4"></a><h4>Members</h4>
+<a name="id-1.2.15.3.8.29.4"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="enum_members_name">
@@ -5649,6 +6334,27 @@
 <td class="enum_member_annotations"> </td>
 </tr>
 <tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-BUFFER-FLAG-MULTIPLE-VIEW:CAPS"></a>GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW</p></td>
+<td class="enum_member_description">
+<p>The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBuffer.html"><span class="type">GstBuffer</span></a> contains one or more specific views,
+                                    such as left or right eye view. This flags is set on
+                                    any buffer that contains non-mono content - even for
+                                    streams that contain only a single viewpoint. In mixed
+                                    mono / non-mono streams, the absense of the flag marks
+                                    mono buffers.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-BUFFER-FLAG-FIRST-IN-BUNDLE:CAPS"></a>GST_VIDEO_BUFFER_FLAG_FIRST_IN_BUNDLE</p></td>
+<td class="enum_member_description">
+<p>When conveying stereo/multiview content with
+                                    frame-by-frame methods, this flag marks the first buffer
+                                     in a bundle of frames that belong together.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-BUFFER-FLAG-LAST:CAPS"></a>GST_VIDEO_BUFFER_FLAG_LAST</p></td>
 <td class="enum_member_description">
 <p>Offset to define more flags</p>
@@ -5664,7 +6370,7 @@
 <a name="GstVideoTileType"></a><h3>enum GstVideoTileType</h3>
 <p>Enum value describing the most common tiling types.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.8.27.4"></a><h4>Members</h4>
+<a name="id-1.2.15.3.8.30.4"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="enum_members_name">
@@ -5688,7 +6394,7 @@
 <a name="GstVideoTileMode"></a><h3>enum GstVideoTileMode</h3>
 <p>Enum value describing the available tiling modes.</p>
 <div class="refsect3">
-<a name="id-1.2.15.3.8.28.4"></a><h4>Members</h4>
+<a name="id-1.2.15.3.8.31.4"></a><h4>Members</h4>
 <div class="informaltable"><table width="100%" border="0">
 <colgroup>
 <col width="300px" class="enum_members_name">
diff --git a/docs/libs/html/gst-plugins-base-libs-gstvideometa.html b/docs/libs/html/gst-plugins-base-libs-gstvideometa.html
index fa0590c..b128ce1 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstvideometa.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstvideometa.html
@@ -380,7 +380,8 @@
 <div class="refsect3">
 <a name="id-1.2.15.4.7.5.7"></a><h4>Returns</h4>
 <p> the <a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta" title="struct GstVideoMeta"><span class="type">GstVideoMeta</span></a> on <em class="parameter"><code>buffer</code></em>
-.</p>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
 </div>
 <hr>
@@ -452,7 +453,8 @@
 <div class="refsect3">
 <a name="id-1.2.15.4.7.6.6"></a><h4>Returns</h4>
 <p> the <a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta" title="struct GstVideoMeta"><span class="type">GstVideoMeta</span></a> on <em class="parameter"><code>buffer</code></em>
-.</p>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
 </div>
 <hr>
@@ -484,7 +486,8 @@
 <a name="id-1.2.15.4.7.7.7"></a><h4>Returns</h4>
 <p> the <a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta" title="struct GstVideoMeta"><span class="type">GstVideoMeta</span></a> with lowest id (usually 0) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when there
 is no such metadata on <em class="parameter"><code>buffer</code></em>
-.</p>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
 </div>
 <hr>
@@ -525,7 +528,8 @@
 <p> the <a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta" title="struct GstVideoMeta"><span class="type">GstVideoMeta</span></a> with <em class="parameter"><code>id</code></em>
 or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when there is no such metadata
 on <em class="parameter"><code>buffer</code></em>
-.</p>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
 </div>
 <hr>
@@ -599,7 +603,8 @@
 <div class="refsect3">
 <a name="id-1.2.15.4.7.11.6"></a><h4>Returns</h4>
 <p> the <a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoRegionOfInterestMeta" title="GstVideoRegionOfInterestMeta"><span class="type">GstVideoRegionOfInterestMeta</span></a> on <em class="parameter"><code>buffer</code></em>
-.</p>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
 </div>
 <hr>
@@ -661,7 +666,8 @@
 <div class="refsect3">
 <a name="id-1.2.15.4.7.12.6"></a><h4>Returns</h4>
 <p> the <a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoRegionOfInterestMeta" title="GstVideoRegionOfInterestMeta"><span class="type">GstVideoRegionOfInterestMeta</span></a> on <em class="parameter"><code>buffer</code></em>
-.</p>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
 </div>
 <hr>
@@ -708,7 +714,8 @@
 <p> the <a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoRegionOfInterestMeta" title="GstVideoRegionOfInterestMeta"><span class="type">GstVideoRegionOfInterestMeta</span></a> with <em class="parameter"><code>id</code></em>
 or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when there is
 no such metadata on <em class="parameter"><code>buffer</code></em>
-.</p>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
 </div>
 <hr>
@@ -749,11 +756,26 @@
 <td class="parameter_annotations"> </td>
 </tr>
 <tr>
-<td class="parameter_name"><p>upload</p></td>
-<td class="parameter_description"><p>the function to upload the buffer to a specific texture ID</p></td>
+<td class="parameter_name"><p>texture_orientation</p></td>
+<td class="parameter_description"><p>the <span class="type">GstVideoGLTextureOrientation</span></p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 <tr>
+<td class="parameter_name"><p>n_textures</p></td>
+<td class="parameter_description"><p>the number of textures</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>texture_type</p></td>
+<td class="parameter_description"><p>array of <span class="type">GstVideoGLTextureType</span></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>upload</p></td>
+<td class="parameter_description"><p> the function to upload the buffer to a specific texture ID. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid only during the call to the method."><span class="acronym">scope call</span></acronym>]</span></td>
+</tr>
+<tr>
 <td class="parameter_name"><p>user_data</p></td>
 <td class="parameter_description"><p>user data for the implementor of <em class="parameter"><code>upload</code></em>
 </p></td>
@@ -761,15 +783,15 @@
 </tr>
 <tr>
 <td class="parameter_name"><p>user_data_copy</p></td>
-<td class="parameter_description"><p>function to copy <em class="parameter"><code>user_data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
+<td class="parameter_description"><p> function to copy <em class="parameter"><code>user_data</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid only during the call to the method."><span class="acronym">scope call</span></acronym>]</span></td>
 </tr>
 <tr>
 <td class="parameter_name"><p>user_data_free</p></td>
-<td class="parameter_description"><p>function to free <em class="parameter"><code>user_data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
+<td class="parameter_description"><p> function to free <em class="parameter"><code>user_data</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid only during the call to the method."><span class="acronym">scope call</span></acronym>]</span></td>
 </tr>
 </tbody>
 </table></div>
@@ -777,7 +799,8 @@
 <div class="refsect3">
 <a name="id-1.2.15.4.7.16.6"></a><h4>Returns</h4>
 <p> the <a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoGLTextureUploadMeta" title="struct GstVideoGLTextureUploadMeta"><span class="type">GstVideoGLTextureUploadMeta</span></a> on <em class="parameter"><code>buffer</code></em>
-.</p>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
 </div>
 <hr>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstvideooverlay.html b/docs/libs/html/gst-plugins-base-libs-gstvideooverlay.html
index bd0d259..02e06b0 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstvideooverlay.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstvideooverlay.html
@@ -146,7 +146,7 @@
 </p></li>
 <li class="listitem"><p>
 To force a redrawing of the latest video frame the video sink element
-displayed on the Window. Indeed if the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPipeline.html"><span class="type">GstPipeline</span></a> is in <span class="type">GST_STATE_PAUSED</span>
+displayed on the Window. Indeed if the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPipeline.html"><span class="type">GstPipeline</span></a> is in <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-PAUSED:CAPS"><span class="type">GST_STATE_PAUSED</span></a>
 state, moving the Window around will damage its content. Application
 developers will want to handle the Expose events themselves and force the
 video sink element to refresh the Window's content.
diff --git a/docs/libs/html/gst-plugins-base-libs-gstvideooverlaycomposition.html b/docs/libs/html/gst-plugins-base-libs-gstvideooverlaycomposition.html
index 8ceca88..c09049a 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstvideooverlaycomposition.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstvideooverlaycomposition.html
@@ -714,6 +714,11 @@
 </tbody>
 </table></div>
 </div>
+<div class="refsect3">
+<a name="id-1.2.15.5.7.13.6"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayCompositionMeta" title="struct GstVideoOverlayCompositionMeta"><span class="type">GstVideoOverlayCompositionMeta</span></a>. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/libs/html/gstreamer-plugins-base.html b/docs/libs/html/gstreamer-plugins-base.html
index c307802..b4a1069 100644
--- a/docs/libs/html/gstreamer-plugins-base.html
+++ b/docs/libs/html/gstreamer-plugins-base.html
@@ -141,7 +141,7 @@
 <span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtppayloads.html">gstrtppayloads</a></span><span class="refpurpose"> — Helper methods for dealing with RTP payloads</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtphdrext.html">gstrtphdrext</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtphdrext.html">gstrtphdrext</a></span><span class="refpurpose"> — Helper methods for dealing with RTP header extensions</span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="gstreamer-rtsp.html">RTSP Library</a></span></dt>
diff --git a/docs/libs/html/gstreamer-rtp.html b/docs/libs/html/gstreamer-rtp.html
index e05493f..3eb6b87 100644
--- a/docs/libs/html/gstreamer-rtp.html
+++ b/docs/libs/html/gstreamer-rtp.html
@@ -42,7 +42,7 @@
 <span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtppayloads.html">gstrtppayloads</a></span><span class="refpurpose"> — Helper methods for dealing with RTP payloads</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtphdrext.html">gstrtphdrext</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtphdrext.html">gstrtphdrext</a></span><span class="refpurpose"> — Helper methods for dealing with RTP header extensions</span>
 </dt>
 </dl></div>
 <p>
diff --git a/docs/libs/html/index.html b/docs/libs/html/index.html
index ec88787..a2baf40 100644
--- a/docs/libs/html/index.html
+++ b/docs/libs/html/index.html
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer Base Plugins 1.0 Library Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GStreamer Base Library 1.0 (1.5.1)
+      for GStreamer Base Library 1.0 (1.5.2)
       <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>
@@ -140,7 +140,7 @@
 <span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtppayloads.html">gstrtppayloads</a></span><span class="refpurpose"> — Helper methods for dealing with RTP payloads</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtphdrext.html">gstrtphdrext</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtphdrext.html">gstrtphdrext</a></span><span class="refpurpose"> — Helper methods for dealing with RTP header extensions</span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="gstreamer-rtsp.html">RTSP Library</a></span></dt>
diff --git a/docs/libs/html/index.sgml b/docs/libs/html/index.sgml
index 4cc4b53..9e33318 100644
--- a/docs/libs/html/index.sgml
+++ b/docs/libs/html/index.sgml
@@ -426,6 +426,7 @@
 <ANCHOR id="GST-AUDIO-BASE-SINK-SLAVE-RESAMPLE:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstaudiobasesink.html#GST-AUDIO-BASE-SINK-SLAVE-RESAMPLE:CAPS">
 <ANCHOR id="GST-AUDIO-BASE-SINK-SLAVE-SKEW:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstaudiobasesink.html#GST-AUDIO-BASE-SINK-SLAVE-SKEW:CAPS">
 <ANCHOR id="GST-AUDIO-BASE-SINK-SLAVE-NONE:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstaudiobasesink.html#GST-AUDIO-BASE-SINK-SLAVE-NONE:CAPS">
+<ANCHOR id="GST-AUDIO-BASE-SINK-SLAVE-CUSTOM:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstaudiobasesink.html#GST-AUDIO-BASE-SINK-SLAVE-CUSTOM:CAPS">
 <ANCHOR id="gst-plugins-base-libs-gstaudiobasesink.property-details" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstaudiobasesink.html#gst-plugins-base-libs-gstaudiobasesink.property-details">
 <ANCHOR id="GstAudioBaseSink--alignment-threshold" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink--alignment-threshold">
 <ANCHOR id="GstAudioBaseSink--buffer-time" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink--buffer-time">
@@ -992,6 +993,7 @@
 <ANCHOR id="gst-rtp-hdrext-set-ntp-56" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstrtphdrext.html#gst-rtp-hdrext-set-ntp-56">
 <ANCHOR id="gst-rtp-hdrext-set-ntp-64" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstrtphdrext.html#gst-rtp-hdrext-set-ntp-64">
 <ANCHOR id="gst-plugins-base-libs-gstrtphdrext.other_details" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstrtphdrext.html#gst-plugins-base-libs-gstrtphdrext.other_details">
+<ANCHOR id="gst-plugins-base-libs-gstrtphdrext.see-also" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstrtphdrext.html#gst-plugins-base-libs-gstrtphdrext.see-also">
 <ANCHOR id="gst-plugins-base-libs-gstrtspconnection" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstrtspconnection.html">
 <ANCHOR id="gst-plugins-base-libs-gstrtspconnection.functions" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstrtspconnection.html#gst-plugins-base-libs-gstrtspconnection.functions">
 <ANCHOR id="gst-plugins-base-libs-gstrtspconnection.other" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstrtspconnection.html#gst-plugins-base-libs-gstrtspconnection.other">
@@ -1030,6 +1032,10 @@
 <ANCHOR id="gst-rtsp-connection-get-tls" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-get-tls">
 <ANCHOR id="gst-rtsp-connection-set-tls-validation-flags" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-set-tls-validation-flags">
 <ANCHOR id="gst-rtsp-connection-get-tls-validation-flags" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-get-tls-validation-flags">
+<ANCHOR id="gst-rtsp-connection-set-tls-database" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-set-tls-database">
+<ANCHOR id="gst-rtsp-connection-get-tls-database" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-get-tls-database">
+<ANCHOR id="gst-rtsp-connection-set-tls-interaction" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-set-tls-interaction">
+<ANCHOR id="gst-rtsp-connection-get-tls-interaction" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-get-tls-interaction">
 <ANCHOR id="gst-rtsp-watch-new" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-new">
 <ANCHOR id="gst-rtsp-watch-unref" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-unref">
 <ANCHOR id="gst-rtsp-watch-attach" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-attach">
@@ -2218,6 +2224,8 @@
 <ANCHOR id="GST-VIDEO-INFO-COMP-POFFSET:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-COMP-POFFSET:CAPS">
 <ANCHOR id="GST-VIDEO-INFO-CHROMA-SITE:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-CHROMA-SITE:CAPS">
 <ANCHOR id="GST-VIDEO-INFO-COLORIMETRY:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-COLORIMETRY:CAPS">
+<ANCHOR id="GST-VIDEO-INFO-MULTIVIEW-FLAGS:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-MULTIVIEW-FLAGS:CAPS">
+<ANCHOR id="GST-VIDEO-INFO-MULTIVIEW-MODE:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-MULTIVIEW-MODE:CAPS">
 <ANCHOR id="gst-video-info-init" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#gst-video-info-init">
 <ANCHOR id="gst-video-info-set-format" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#gst-video-info-set-format">
 <ANCHOR id="gst-video-info-from-caps" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#gst-video-info-from-caps">
@@ -2268,6 +2276,15 @@
 <ANCHOR id="gst-video-converter-get-config" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#gst-video-converter-get-config">
 <ANCHOR id="gst-video-converter-set-config" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#gst-video-converter-set-config">
 <ANCHOR id="gst-video-converter-frame" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#gst-video-converter-frame">
+<ANCHOR id="gst-video-multiview-get-mono-modes" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#gst-video-multiview-get-mono-modes">
+<ANCHOR id="gst-video-multiview-get-unpacked-modes" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#gst-video-multiview-get-unpacked-modes">
+<ANCHOR id="gst-video-multiview-get-doubled-height-modes" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#gst-video-multiview-get-doubled-height-modes">
+<ANCHOR id="gst-video-multiview-get-doubled-size-modes" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#gst-video-multiview-get-doubled-size-modes">
+<ANCHOR id="gst-video-multiview-get-doubled-width-modes" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#gst-video-multiview-get-doubled-width-modes">
+<ANCHOR id="gst-video-multiview-mode-from-caps-string" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#gst-video-multiview-mode-from-caps-string">
+<ANCHOR id="gst-video-multiview-mode-to-caps-string" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#gst-video-multiview-mode-to-caps-string">
+<ANCHOR id="gst-video-multiview-guess-half-aspect" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#gst-video-multiview-guess-half-aspect">
+<ANCHOR id="gst-video-multiview-video-info-change-mode" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#gst-video-multiview-video-info-change-mode">
 <ANCHOR id="gst-plugins-base-libs-gstvideo.other_details" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#gst-plugins-base-libs-gstvideo.other_details">
 <ANCHOR id="GstVideoAlignment" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GstVideoAlignment">
 <ANCHOR id="GST-META-TAG-VIDEO-STR:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-META-TAG-VIDEO-STR:CAPS">
@@ -2397,6 +2414,40 @@
 <ANCHOR id="GST-VIDEO-INTERLACE-MODE-INTERLEAVED:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INTERLACE-MODE-INTERLEAVED:CAPS">
 <ANCHOR id="GST-VIDEO-INTERLACE-MODE-MIXED:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INTERLACE-MODE-MIXED:CAPS">
 <ANCHOR id="GST-VIDEO-INTERLACE-MODE-FIELDS:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INTERLACE-MODE-FIELDS:CAPS">
+<ANCHOR id="GstVideoMultiviewMode" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-MODE-NONE:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-NONE:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-MODE-MONO:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-MONO:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-MODE-LEFT:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-LEFT:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-MODE-RIGHT:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-RIGHT:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-MODE-SIDE-BY-SIDE:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-SIDE-BY-SIDE:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-MODE-SIDE-BY-SIDE-QUINCUNX:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-SIDE-BY-SIDE-QUINCUNX:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-MODE-COLUMN-INTERLEAVED:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-COLUMN-INTERLEAVED:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-MODE-ROW-INTERLEAVED:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-ROW-INTERLEAVED:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-MODE-TOP-BOTTOM:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-TOP-BOTTOM:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-MODE-CHECKERBOARD:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-CHECKERBOARD:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-MODE-FRAME-BY-FRAME:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-FRAME-BY-FRAME:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-MODE-MULTIVIEW-FRAME-BY-FRAME:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-MULTIVIEW-FRAME-BY-FRAME:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-MODE-SEPARATED:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-MODE-SEPARATED:CAPS">
+<ANCHOR id="GstVideoMultiviewFramePacking" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFramePacking">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-FRAME-PACKING-NONE:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FRAME-PACKING-NONE:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-FRAME-PACKING-MONO:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FRAME-PACKING-MONO:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-FRAME-PACKING-LEFT:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FRAME-PACKING-LEFT:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-FRAME-PACKING-RIGHT:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FRAME-PACKING-RIGHT:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-FRAME-PACKING-SIDE-BY-SIDE:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FRAME-PACKING-SIDE-BY-SIDE:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-FRAME-PACKING-SIDE-BY-SIDE-QUINCUNX:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FRAME-PACKING-SIDE-BY-SIDE-QUINCUNX:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-FRAME-PACKING-COLUMN-INTERLEAVED:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FRAME-PACKING-COLUMN-INTERLEAVED:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-FRAME-PACKING-ROW-INTERLEAVED:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FRAME-PACKING-ROW-INTERLEAVED:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-FRAME-PACKING-TOP-BOTTOM:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FRAME-PACKING-TOP-BOTTOM:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-FRAME-PACKING-CHECKERBOARD:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FRAME-PACKING-CHECKERBOARD:CAPS">
+<ANCHOR id="GstVideoMultiviewFlags" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFlags">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-FLAGS-NONE:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FLAGS-NONE:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-FLAGS-RIGHT-VIEW-FIRST:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FLAGS-RIGHT-VIEW-FIRST:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-FLAGS-LEFT-FLIPPED:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FLAGS-LEFT-FLIPPED:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-FLAGS-LEFT-FLOPPED:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FLAGS-LEFT-FLOPPED:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-FLAGS-RIGHT-FLIPPED:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FLAGS-RIGHT-FLIPPED:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-FLAGS-RIGHT-FLOPPED:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FLAGS-RIGHT-FLOPPED:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-FLAGS-HALF-ASPECT:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FLAGS-HALF-ASPECT:CAPS">
+<ANCHOR id="GST-VIDEO-MULTIVIEW-FLAGS-MIXED-MONO:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MULTIVIEW-FLAGS-MIXED-MONO:CAPS">
 <ANCHOR id="GstVideoFlags" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GstVideoFlags">
 <ANCHOR id="GST-VIDEO-FLAG-NONE:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FLAG-NONE:CAPS">
 <ANCHOR id="GST-VIDEO-FLAG-VARIABLE-FPS:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FLAG-VARIABLE-FPS:CAPS">
@@ -2408,11 +2459,15 @@
 <ANCHOR id="GST-VIDEO-FRAME-FLAG-TFF:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-FLAG-TFF:CAPS">
 <ANCHOR id="GST-VIDEO-FRAME-FLAG-RFF:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-FLAG-RFF:CAPS">
 <ANCHOR id="GST-VIDEO-FRAME-FLAG-ONEFIELD:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-FLAG-ONEFIELD:CAPS">
+<ANCHOR id="GST-VIDEO-FRAME-FLAG-MULTIPLE-VIEW:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-FLAG-MULTIPLE-VIEW:CAPS">
+<ANCHOR id="GST-VIDEO-FRAME-FLAG-FIRST-IN-BUNDLE:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-FLAG-FIRST-IN-BUNDLE:CAPS">
 <ANCHOR id="GstVideoBufferFlags" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GstVideoBufferFlags">
 <ANCHOR id="GST-VIDEO-BUFFER-FLAG-INTERLACED:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-BUFFER-FLAG-INTERLACED:CAPS">
 <ANCHOR id="GST-VIDEO-BUFFER-FLAG-TFF:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-BUFFER-FLAG-TFF:CAPS">
 <ANCHOR id="GST-VIDEO-BUFFER-FLAG-RFF:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-BUFFER-FLAG-RFF:CAPS">
 <ANCHOR id="GST-VIDEO-BUFFER-FLAG-ONEFIELD:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-BUFFER-FLAG-ONEFIELD:CAPS">
+<ANCHOR id="GST-VIDEO-BUFFER-FLAG-MULTIPLE-VIEW:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-BUFFER-FLAG-MULTIPLE-VIEW:CAPS">
+<ANCHOR id="GST-VIDEO-BUFFER-FLAG-FIRST-IN-BUNDLE:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-BUFFER-FLAG-FIRST-IN-BUNDLE:CAPS">
 <ANCHOR id="GST-VIDEO-BUFFER-FLAG-LAST:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-BUFFER-FLAG-LAST:CAPS">
 <ANCHOR id="GstVideoTileType" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GstVideoTileType">
 <ANCHOR id="GST-VIDEO-TILE-TYPE-INDEXED:CAPS" href="gst-plugins-base-libs-1.0/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-TILE-TYPE-INDEXED:CAPS">
@@ -2906,6 +2961,7 @@
 <ANCHOR id="annotation-glossterm-out" href="gst-plugins-base-libs-1.0/annotation-glossary.html#annotation-glossterm-out">
 <ANCHOR id="annotation-glossterm-rename-to" href="gst-plugins-base-libs-1.0/annotation-glossary.html#annotation-glossterm-rename-to">
 <ANCHOR id="annotation-glossterm-scope async" href="gst-plugins-base-libs-1.0/annotation-glossary.html#annotation-glossterm-scope async">
+<ANCHOR id="annotation-glossterm-scope call" href="gst-plugins-base-libs-1.0/annotation-glossary.html#annotation-glossterm-scope call">
 <ANCHOR id="annotation-glossterm-skip" href="gst-plugins-base-libs-1.0/annotation-glossary.html#annotation-glossterm-skip">
 <ANCHOR id="annotation-glossterm-transfer floating" href="gst-plugins-base-libs-1.0/annotation-glossary.html#annotation-glossterm-transfer floating">
 <ANCHOR id="annotation-glossterm-transfer full" href="gst-plugins-base-libs-1.0/annotation-glossary.html#annotation-glossterm-transfer full">
diff --git a/docs/plugins/Makefile.am b/docs/plugins/Makefile.am
index 640948c..254b9a9 100644
--- a/docs/plugins/Makefile.am
+++ b/docs/plugins/Makefile.am
@@ -109,9 +109,6 @@
 GTKDOC_CFLAGS = $(GST_BASE_CFLAGS) -I$(top_builddir) -I$(top_builddir)/gst-libs
 GTKDOC_LIBS = $(GST_BASE_LIBS)
 
-GTKDOC_CC=$(LIBTOOL) --tag=CC --mode=compile $(CC)
-GTKDOC_LD=$(LIBTOOL) --tag=CC --mode=link $(CC)
-
 # If you need to override some of the declarations, place them in this file
 DOC_OVERRIDES = $(DOC_MODULE)-overrides.txt
 
diff --git a/docs/plugins/Makefile.in b/docs/plugins/Makefile.in
index 9aea7f8..82b54c4 100644
--- a/docs/plugins/Makefile.in
+++ b/docs/plugins/Makefile.in
@@ -293,6 +293,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
@@ -564,11 +565,15 @@
 # contains GtkObjects/GObjects and you want to document signals and properties.
 GTKDOC_CFLAGS = $(GST_BASE_CFLAGS) -I$(top_builddir) -I$(top_builddir)/gst-libs
 GTKDOC_LIBS = $(GST_BASE_LIBS)
-GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC)
-GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC)
 
 # If you need to override some of the declarations, place them in this file
 DOC_OVERRIDES = $(DOC_MODULE)-overrides.txt
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN = 
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
 
 # We set GPATH here; this gives us semantics for GNU make
 # which are more like other make's VPATH, when it comes to
@@ -598,11 +603,9 @@
 # maintainers and result is commited to git
 DOC_STAMPS = \
 	scan-build.stamp		\
-	tmpl-build.stamp		\
 	sgml-build.stamp		\
 	html-build.stamp		\
 	scan.stamp			\
-	tmpl.stamp			\
 	sgml.stamp			\
 	html.stamp
 
@@ -938,7 +941,7 @@
 @ENABLE_GTK_DOC_TRUE@	    scanobj_options="--verbose"; \
 @ENABLE_GTK_DOC_TRUE@	fi; \
 @ENABLE_GTK_DOC_TRUE@	$(INSPECT_ENVIRONMENT) 					\
-@ENABLE_GTK_DOC_TRUE@	CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)"				\
+@ENABLE_GTK_DOC_TRUE@	CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)"	\
 @ENABLE_GTK_DOC_TRUE@	CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS) $(WARNING_CFLAGS)"	\
 @ENABLE_GTK_DOC_TRUE@	LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)"				\
 @ENABLE_GTK_DOC_TRUE@	$(GST_DOC_SCANOBJ) $$scanobj_options --type-init-func="gst_init(NULL,NULL)"	\
@@ -977,29 +980,9 @@
 @ENABLE_GTK_DOC_TRUE@	    --ignore-headers="$(IGNORE_HFILES)";			\
 @ENABLE_GTK_DOC_TRUE@	touch scan-build.stamp
 
-#### update templates; done on every build ####
-
-# in a non-srcdir build, we need to copy files from the previous step
-# and the files from previous runs of this step
-@ENABLE_GTK_DOC_TRUE@tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_OVERRIDES)
-@ENABLE_GTK_DOC_TRUE@	@echo '  DOC   Rebuilding template files'
-@ENABLE_GTK_DOC_TRUE@	@if test x"$(srcdir)" != x. ; then				\
-@ENABLE_GTK_DOC_TRUE@	    for f in $(SCANOBJ_FILES) $(SCAN_FILES);			\
-@ENABLE_GTK_DOC_TRUE@	    do								\
-@ENABLE_GTK_DOC_TRUE@	        if test -e $(srcdir)/$$f; then cp -u $(srcdir)/$$f . ; fi;	\
-@ENABLE_GTK_DOC_TRUE@	    done;							\
-@ENABLE_GTK_DOC_TRUE@	fi
-@ENABLE_GTK_DOC_TRUE@	@gtkdoc-mktmpl --module=$(DOC_MODULE)
-@ENABLE_GTK_DOC_TRUE@	@$(PYTHON) \
-@ENABLE_GTK_DOC_TRUE@		$(top_srcdir)/common/mangle-tmpl.py $(srcdir)/$(INSPECT_DIR) tmpl
-@ENABLE_GTK_DOC_TRUE@	@touch tmpl-build.stamp
-
-@ENABLE_GTK_DOC_TRUE@tmpl.stamp: tmpl-build.stamp
-@ENABLE_GTK_DOC_TRUE@	@true
-
 #### xml ####
 
-@ENABLE_GTK_DOC_TRUE@sgml-build.stamp: tmpl.stamp scan-build.stamp $(CFILE_GLOB) $(top_srcdir)/common/plugins.xsl $(expand_content_files)
+@ENABLE_GTK_DOC_TRUE@sgml-build.stamp: scan-build.stamp $(CFILE_GLOB) $(top_srcdir)/common/plugins.xsl $(expand_content_files)
 @ENABLE_GTK_DOC_TRUE@	@echo '  DOC   Building XML'
 @ENABLE_GTK_DOC_TRUE@	@-mkdir -p xml
 @ENABLE_GTK_DOC_TRUE@	@for a in $(srcdir)/$(INSPECT_DIR)/*.xml; do \
@@ -1015,6 +998,7 @@
 @ENABLE_GTK_DOC_TRUE@		--output-format=xml \
 @ENABLE_GTK_DOC_TRUE@		--ignore-files="$(IGNORE_HFILES) $(IGNORE_CFILES)" \
 @ENABLE_GTK_DOC_TRUE@		$(MKDB_OPTIONS)
+@ENABLE_GTK_DOC_TRUE@	@$(PYTHON) $(top_srcdir)/common/mangle-db.py xml
 @ENABLE_GTK_DOC_TRUE@	@cp ../version.entities xml
 @ENABLE_GTK_DOC_TRUE@	@touch sgml-build.stamp
 
diff --git a/docs/plugins/gst-plugins-base-plugins.args b/docs/plugins/gst-plugins-base-plugins.args
index c048be6..0f5f4a7 100644
--- a/docs/plugins/gst-plugins-base-plugins.args
+++ b/docs/plugins/gst-plugins-base-plugins.args
@@ -689,6 +689,26 @@
 </ARG>
 
 <ARG>
+<NAME>GstPlayBin::video-multiview-flags</NAME>
+<TYPE>GstVideoMultiviewFlags</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Multiview Flags Override</NICK>
+<BLURB>Override details of the multiview frame layout.</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin::video-multiview-mode</NAME>
+<TYPE>GstVideoMultiviewFramePacking</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Multiview Mode Override</NICK>
+<BLURB>Re-interpret a video stream as one of several frame-packed stereoscopic modes.</BLURB>
+<DEFAULT>GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE</DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>GstDecodeBin::caps</NAME>
 <TYPE>GstCaps*</TYPE>
 <RANGE></RANGE>
diff --git a/docs/plugins/html/ch01.html b/docs/plugins/html/ch01.html
index d63c1e2..cc2c4cb 100644
--- a/docs/plugins/html/ch01.html
+++ b/docs/plugins/html/ch01.html
@@ -24,148 +24,148 @@
 <a name="id-1.2"></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>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-adder.html">adder</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-appsrc.html">appsrc</a></span><span class="refpurpose"> — Allow the application to feed buffers to a pipeline</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-appsrc.html">appsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-appsink.html">appsink</a></span><span class="refpurpose"> — Allow the application to get access to raw buffer</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-appsink.html">appsink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-alsasink.html">alsasink</a></span><span class="refpurpose"> — Output to a sound card via ALSA</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-alsasink.html">alsasink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-alsasrc.html">alsasrc</a></span><span class="refpurpose"> — Read from a sound card via ALSA</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-alsasrc.html">alsasrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-audioconvert.html">audioconvert</a></span><span class="refpurpose"> — Convert audio to different formats</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-audioconvert.html">audioconvert</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-audiorate.html">audiorate</a></span><span class="refpurpose"> — Drops/duplicates/adjusts timestamps on audio samples to make a perfect stream</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-audiorate.html">audiorate</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-audioresample.html">audioresample</a></span><span class="refpurpose"> — Resamples audio</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-audioresample.html">audioresample</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-audiotestsrc.html">audiotestsrc</a></span><span class="refpurpose"> — Creates audio test signals of given frequency and volume</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-audiotestsrc.html">audiotestsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-cdparanoiasrc.html">cdparanoiasrc</a></span><span class="refpurpose"> — Read audio from CD in paranoid mode</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-cdparanoiasrc.html">cdparanoiasrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-clockoverlay.html">clockoverlay</a></span><span class="refpurpose"> — Overlays the current clock time on a video stream</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-clockoverlay.html">clockoverlay</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-decodebin.html">decodebin</a></span><span class="refpurpose"> — Autoplug and decode to raw media</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-decodebin.html">decodebin</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-encodebin.html">encodebin</a></span><span class="refpurpose"> — Convenience encoding/muxing element</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-encodebin.html">encodebin</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-videoconvert.html">videoconvert</a></span><span class="refpurpose"> — Converts video from one colorspace to another</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-videoconvert.html">videoconvert</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-giosink.html">giosink</a></span><span class="refpurpose"> — Write to any GIO-supported location</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-giosink.html">giosink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-giosrc.html">giosrc</a></span><span class="refpurpose"> — Read from any GIO-supported location</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-giosrc.html">giosrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-giostreamsink.html">giostreamsink</a></span><span class="refpurpose"> — Write to any GIO stream</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-giostreamsink.html">giostreamsink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-giostreamsrc.html">giostreamsrc</a></span><span class="refpurpose"> — Read from any GIO stream</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-giostreamsrc.html">giostreamsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-multifdsink.html">multifdsink</a></span><span class="refpurpose"> — Send data to multiple filedescriptors</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-multifdsink.html">multifdsink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-multisocketsink.html">multisocketsink</a></span><span class="refpurpose"> — Send data to multiple sockets</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-multisocketsink.html">multisocketsink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-oggdemux.html">oggdemux</a></span><span class="refpurpose"> — demux ogg streams (info about ogg: http://xiph.org)</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-oggdemux.html">oggdemux</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-oggmux.html">oggmux</a></span><span class="refpurpose"> — mux ogg streams (info about ogg: http://xiph.org)</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-oggmux.html">oggmux</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-playbin.html">playbin</a></span><span class="refpurpose"> — Autoplug and play media from an uri</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-playbin.html">playbin</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-playsink.html">playsink</a></span><span class="refpurpose"> — Convenience sink for multiple streams</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-playsink.html">playsink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-streamsynchronizer.html">streamsynchronizer</a></span><span class="refpurpose"> — Synchronizes a group of streams to have equal durations and starting points</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-streamsynchronizer.html">streamsynchronizer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-subtitleoverlay.html">subtitleoverlay</a></span><span class="refpurpose"> — Overlays a video stream with subtitles</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-subtitleoverlay.html">subtitleoverlay</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-socketsrc.html">socketsrc</a></span><span class="refpurpose"> — Receive data from a socket</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-socketsrc.html">socketsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpclientsrc.html">tcpclientsrc</a></span><span class="refpurpose"> — Receive data as a client over the network via TCP</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpclientsrc.html">tcpclientsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpclientsink.html">tcpclientsink</a></span><span class="refpurpose"> — Send data as a client over the network via TCP</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpclientsink.html">tcpclientsink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpserversrc.html">tcpserversrc</a></span><span class="refpurpose"> — Receive data as a server over the network via TCP</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpserversrc.html">tcpserversrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpserversink.html">tcpserversink</a></span><span class="refpurpose"> — Send data as a server over the network via TCP</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpserversink.html">tcpserversink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-textoverlay.html">textoverlay</a></span><span class="refpurpose"> — Adds text strings on top of a video buffer</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-textoverlay.html">textoverlay</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-textrender.html">textrender</a></span><span class="refpurpose"> — Renders a text string to an image bitmap</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-textrender.html">textrender</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-theoradec.html">theoradec</a></span><span class="refpurpose"> — decode raw theora streams to raw YUV video</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-theoradec.html">theoradec</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-theoraenc.html">theoraenc</a></span><span class="refpurpose"> — encode raw YUV video to a theora stream</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-theoraenc.html">theoraenc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-theoraparse.html">theoraparse</a></span><span class="refpurpose"> — parse raw theora streams</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-theoraparse.html">theoraparse</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-timeoverlay.html">timeoverlay</a></span><span class="refpurpose"> — Overlays buffer time stamps on a video stream</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-timeoverlay.html">timeoverlay</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-uridecodebin.html">uridecodebin</a></span><span class="refpurpose"> — Autoplug and decode an URI to raw media</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-uridecodebin.html">uridecodebin</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-videorate.html">videorate</a></span><span class="refpurpose"> — Drops/duplicates/adjusts timestamps on video frames to make a perfect stream</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-videorate.html">videorate</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-videoscale.html">videoscale</a></span><span class="refpurpose"> — Resizes video</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-videoscale.html">videoscale</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-videotestsrc.html">videotestsrc</a></span><span class="refpurpose"> — Creates a test video stream</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-videotestsrc.html">videotestsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-volume.html">volume</a></span><span class="refpurpose"> — Set volume on audio/raw streams</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-volume.html">volume</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-vorbisdec.html">vorbisdec</a></span><span class="refpurpose"> — decode raw vorbis streams to float audio</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-vorbisdec.html">vorbisdec</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-vorbisenc.html">vorbisenc</a></span><span class="refpurpose"> — Encodes audio in Vorbis format</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-vorbisenc.html">vorbisenc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-vorbisparse.html">vorbisparse</a></span><span class="refpurpose"> — parse raw vorbis streams</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-vorbisparse.html">vorbisparse</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-vorbistag.html">vorbistag</a></span><span class="refpurpose"> — Retags vorbis streams</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-vorbistag.html">vorbistag</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-ximagesink.html">ximagesink</a></span><span class="refpurpose"> — A standard X based videosink</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-ximagesink.html">ximagesink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-xvimagesink.html">xvimagesink</a></span><span class="refpurpose"> — A Xv based videosink</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-xvimagesink.html">xvimagesink</a></span><span class="refpurpose"></span>
 </dt>
 </dl></div>
 </div>
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 437b323..51b61d2 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-1.0.devhelp2
+++ b/docs/plugins/html/gst-plugins-base-plugins-1.0.devhelp2
@@ -273,6 +273,8 @@
     <keyword type="property" name="The “volume” property" link="gst-plugins-base-plugins-playbin.html#GstPlayBin--volume"/>
     <keyword type="property" name="The “audio-filter” property" link="gst-plugins-base-plugins-playbin.html#GstPlayBin--audio-filter"/>
     <keyword type="property" name="The “video-filter” property" link="gst-plugins-base-plugins-playbin.html#GstPlayBin--video-filter"/>
+    <keyword type="property" name="The “video-multiview-flags” property" link="gst-plugins-base-plugins-playbin.html#GstPlayBin--video-multiview-flags"/>
+    <keyword type="property" name="The “video-multiview-mode” property" link="gst-plugins-base-plugins-playbin.html#GstPlayBin--video-multiview-mode"/>
     <keyword type="signal" name="The “about-to-finish” signal" link="gst-plugins-base-plugins-playbin.html#GstPlayBin-about-to-finish"/>
     <keyword type="signal" name="The “audio-changed” signal" link="gst-plugins-base-plugins-playbin.html#GstPlayBin-audio-changed"/>
     <keyword type="signal" name="The “audio-tags-changed” signal" link="gst-plugins-base-plugins-playbin.html#GstPlayBin-audio-tags-changed"/>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-adder.html b/docs/plugins/html/gst-plugins-base-plugins-adder.html
index 8e5070d..661e1ae 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-adder.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-adder.html
@@ -30,7 +30,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-adder.top_of_page"></a>adder</span></h2>
-<p>adder — Add N audio channels together</p>
+<p>adder</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -181,8 +181,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-adder.functions_details"></a><h2>Functions</h2>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-alsasink.html b/docs/plugins/html/gst-plugins-base-plugins-alsasink.html
index c8ffe64..7435e26 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-alsasink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-alsasink.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-alsasink.top_of_page"></a>alsasink</span></h2>
-<p>alsasink — Output to a sound card via ALSA</p>
+<p>alsasink</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -162,8 +162,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-alsasink.functions_details"></a><h2>Functions</h2>
@@ -174,8 +172,6 @@
 <div class="refsect2">
 <a name="GstAlsaSink-struct"></a><h3>struct GstAlsaSink</h3>
 <pre class="programlisting">struct GstAlsaSink;</pre>
-<p>
-</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-alsasrc.html b/docs/plugins/html/gst-plugins-base-plugins-alsasrc.html
index 1e4e137..54438ac 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-alsasrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-alsasrc.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-alsasrc.top_of_page"></a>alsasrc</span></h2>
-<p>alsasrc — Read from a sound card via ALSA</p>
+<p>alsasrc</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -147,8 +147,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-alsasrc.functions_details"></a><h2>Functions</h2>
@@ -159,8 +157,6 @@
 <div class="refsect2">
 <a name="GstAlsaSrc-struct"></a><h3>struct GstAlsaSrc</h3>
 <pre class="programlisting">struct GstAlsaSrc;</pre>
-<p>
-</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-appsink.html b/docs/plugins/html/gst-plugins-base-plugins-appsink.html
index 1c2f0a8..280d259 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-appsink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-appsink.html
@@ -31,7 +31,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-appsink.top_of_page"></a>appsink</span></h2>
-<p>appsink — Allow the application to get access to raw buffer</p>
+<p>appsink</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -85,29 +85,29 @@
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-appsink.html#GstAppSink-eos" title="The “eos” signal">eos</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-appsink.html#GstAppSink-new-preroll" title="The “new-preroll” signal">new-preroll</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-appsink.html#GstAppSink-new-sample" title="The “new-sample” signal">new-sample</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type">
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSample.html"><span class="returnvalue">GstSample</span></a>*</td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-appsink.html#GstAppSink-pull-preroll" title="The “pull-preroll” signal">pull-preroll</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 <tr>
 <td class="signal_type">
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSample.html"><span class="returnvalue">GstSample</span></a>*</td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-appsink.html#GstAppSink-pull-sample" title="The “pull-sample” signal">pull-sample</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 </tbody>
 </table></div>
@@ -152,7 +152,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.4.9.5.1.1"></a><h3>Element Information</h3>
+<a name="id-1.2.4.9.6.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -178,7 +178,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.4.9.5.1.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.4.9.6.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -205,8 +205,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-appsink.functions_details"></a><h2>Functions</h2>
@@ -217,8 +215,6 @@
 <div class="refsect2">
 <a name="GstAppSink-struct"></a><h3>struct GstAppSink</h3>
 <pre class="programlisting">struct GstAppSink;</pre>
-<p>
-</p>
 </div>
 </div>
 <div class="refsect1">
@@ -269,31 +265,7 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 user_function (<a class="link" href="gst-plugins-base-plugins-appsink.html#GstAppSink"><span class="type">GstAppSink</span></a> *gstappsink,
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
-<p>
-</p>
-<div class="refsect3">
-<a name="id-1.2.4.13.2.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>gstappsink</p></td>
-<td class="parameter_description"><p>the object which received the signal.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -301,31 +273,7 @@
 <pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
 user_function (<a class="link" href="gst-plugins-base-plugins-appsink.html#GstAppSink"><span class="type">GstAppSink</span></a> *gstappsink,
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
-<p>
-</p>
-<div class="refsect3">
-<a name="id-1.2.4.13.3.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>gstappsink</p></td>
-<td class="parameter_description"><p>the object which received the signal.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -333,31 +281,7 @@
 <pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
 user_function (<a class="link" href="gst-plugins-base-plugins-appsink.html#GstAppSink"><span class="type">GstAppSink</span></a> *gstappsink,
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
-<p>
-</p>
-<div class="refsect3">
-<a name="id-1.2.4.13.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>gstappsink</p></td>
-<td class="parameter_description"><p>the object which received the signal.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -365,31 +289,7 @@
 <pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSample.html"><span class="returnvalue">GstSample</span></a>*
 user_function (<a class="link" href="gst-plugins-base-plugins-appsink.html#GstAppSink"><span class="type">GstAppSink</span></a> *gstappsink,
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
-<p>
-</p>
-<div class="refsect3">
-<a name="id-1.2.4.13.5.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>gstappsink</p></td>
-<td class="parameter_description"><p>the object which received the signal.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -397,31 +297,7 @@
 <pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSample.html"><span class="returnvalue">GstSample</span></a>*
 user_function (<a class="link" href="gst-plugins-base-plugins-appsink.html#GstAppSink"><span class="type">GstAppSink</span></a> *gstappsink,
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
-<p>
-</p>
-<div class="refsect3">
-<a name="id-1.2.4.13.6.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>gstappsink</p></td>
-<td class="parameter_description"><p>the object which received the signal.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 </div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-appsrc.html b/docs/plugins/html/gst-plugins-base-plugins-appsrc.html
index b5962d8..97e38c1 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-appsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-appsrc.html
@@ -31,7 +31,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-appsrc.top_of_page"></a>appsrc</span></h2>
-<p>appsrc — Allow the application to feed buffers to a pipeline</p>
+<p>appsrc</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -120,32 +120,32 @@
 <tr>
 <td class="signal_type"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-appsrc.html#GstAppSrc-end-of-stream" title="The “end-of-stream” signal">end-of-stream</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-appsrc.html#GstAppSrc-enough-data" title="The “enough-data” signal">enough-data</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-appsrc.html#GstAppSrc-need-data" title="The “need-data” signal">need-data</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-appsrc.html#GstAppSrc-push-buffer" title="The “push-buffer” signal">push-buffer</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 <tr>
 <td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-appsrc.html#GstAppSrc-seek-data" title="The “seek-data” signal">seek-data</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-appsrc.html#GstAppSrc-push-sample" title="The “push-sample” signal">push-sample</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 </tbody>
 </table></div>
@@ -190,7 +190,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.3.9.5.1.1"></a><h3>Element Information</h3>
+<a name="id-1.2.3.9.6.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -216,7 +216,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.3.9.5.1.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.3.9.6.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -243,8 +243,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-appsrc.functions_details"></a><h2>Functions</h2>
@@ -255,8 +253,6 @@
 <div class="refsect2">
 <a name="GstAppSrc-struct"></a><h3>struct GstAppSrc</h3>
 <pre class="programlisting">struct GstAppSrc;</pre>
-<p>
-</p>
 </div>
 </div>
 <div class="refsect1">
@@ -367,31 +363,7 @@
 <pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
 user_function (<a class="link" href="gst-plugins-base-plugins-appsrc.html#GstAppSrc"><span class="type">GstAppSrc</span></a> *gstappsrc,
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)</pre>
-<p>
-</p>
-<div class="refsect3">
-<a name="id-1.2.3.13.2.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>gstappsrc</p></td>
-<td class="parameter_description"><p>the object which received the signal.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -399,31 +371,7 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 user_function (<a class="link" href="gst-plugins-base-plugins-appsrc.html#GstAppSrc"><span class="type">GstAppSrc</span></a> *gstappsrc,
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)</pre>
-<p>
-</p>
-<div class="refsect3">
-<a name="id-1.2.3.13.3.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>gstappsrc</p></td>
-<td class="parameter_description"><p>the object which received the signal.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -432,31 +380,7 @@
 user_function (<a class="link" href="gst-plugins-base-plugins-appsrc.html#GstAppSrc"><span class="type">GstAppSrc</span></a> *gstappsrc,
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      arg1,
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)</pre>
-<p>
-</p>
-<div class="refsect3">
-<a name="id-1.2.3.13.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>gstappsrc</p></td>
-<td class="parameter_description"><p>the object which received the signal.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -465,31 +389,7 @@
 user_function (<a class="link" href="gst-plugins-base-plugins-appsrc.html#GstAppSrc"><span class="type">GstAppSrc</span></a> *gstappsrc,
                <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBuffer.html"><span class="type">GstBuffer</span></a> *arg1,
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)</pre>
-<p>
-</p>
-<div class="refsect3">
-<a name="id-1.2.3.13.5.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>gstappsrc</p></td>
-<td class="parameter_description"><p>the object which received the signal.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -498,31 +398,7 @@
 user_function (<a class="link" href="gst-plugins-base-plugins-appsrc.html#GstAppSrc"><span class="type">GstAppSrc</span></a> *gstappsrc,
                <span class="type">guint64</span>    arg1,
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)</pre>
-<p>
-</p>
-<div class="refsect3">
-<a name="id-1.2.3.13.6.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>gstappsrc</p></td>
-<td class="parameter_description"><p>the object which received the signal.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -531,31 +407,7 @@
 user_function (<a class="link" href="gst-plugins-base-plugins-appsrc.html#GstAppSrc"><span class="type">GstAppSrc</span></a> *gstappsrc,
                <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSample.html"><span class="type">GstSample</span></a> *arg1,
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)</pre>
-<p>
-</p>
-<div class="refsect3">
-<a name="id-1.2.3.13.7.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>gstappsrc</p></td>
-<td class="parameter_description"><p>the object which received the signal.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 </div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-audioconvert.html b/docs/plugins/html/gst-plugins-base-plugins-audioconvert.html
index 4350041..14804d0 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-audioconvert.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-audioconvert.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-audioconvert.top_of_page"></a>audioconvert</span></h2>
-<p>audioconvert — Convert audio to different formats</p>
+<p>audioconvert</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -203,8 +203,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-audioconvert.functions_details"></a><h2>Functions</h2>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-audiorate.html b/docs/plugins/html/gst-plugins-base-plugins-audiorate.html
index 8a9286a..fc7808a 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-audiorate.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-audiorate.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-audiorate.top_of_page"></a>audiorate</span></h2>
-<p>audiorate — Drops/duplicates/adjusts timestamps on audio samples to make a perfect stream</p>
+<p>audiorate</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -235,8 +235,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-audiorate.functions_details"></a><h2>Functions</h2>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-audioresample.html b/docs/plugins/html/gst-plugins-base-plugins-audioresample.html
index c483c4f..45111ab 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-audioresample.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-audioresample.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-audioresample.top_of_page"></a>audioresample</span></h2>
-<p>audioresample — Resamples audio</p>
+<p>audioresample</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -190,8 +190,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-audioresample.functions_details"></a><h2>Functions</h2>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-audiotestsrc.html b/docs/plugins/html/gst-plugins-base-plugins-audiotestsrc.html
index 147411d..6c3c549 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-audiotestsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-audiotestsrc.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-audiotestsrc.top_of_page"></a>audiotestsrc</span></h2>
-<p>audiotestsrc — Creates audio test signals of given frequency and volume</p>
+<p>audiotestsrc</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -202,8 +202,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-audiotestsrc.functions_details"></a><h2>Functions</h2>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-cdparanoiasrc.html b/docs/plugins/html/gst-plugins-base-plugins-cdparanoiasrc.html
index 387fa67..a531435 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-cdparanoiasrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-cdparanoiasrc.html
@@ -31,7 +31,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-cdparanoiasrc.top_of_page"></a>cdparanoiasrc</span></h2>
-<p>cdparanoiasrc — Read audio from CD in paranoid mode</p>
+<p>cdparanoiasrc</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -85,12 +85,12 @@
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-cdparanoiasrc.html#GstCdParanoiaSrc-transport-error" title="The “transport-error” signal">transport-error</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-cdparanoiasrc.html#GstCdParanoiaSrc-uncorrected-error" title="The “uncorrected-error” signal">uncorrected-error</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 </tbody>
 </table></div>
@@ -184,8 +184,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-cdparanoiasrc.functions_details"></a><h2>Functions</h2>
@@ -196,8 +194,6 @@
 <div class="refsect2">
 <a name="GstCdParanoiaSrc-struct"></a><h3>struct GstCdParanoiaSrc</h3>
 <pre class="programlisting">struct GstCdParanoiaSrc;</pre>
-<p>
-</p>
 </div>
 </div>
 <div class="refsect1">
@@ -253,31 +249,7 @@
 user_function (<a class="link" href="gst-plugins-base-plugins-cdparanoiasrc.html#GstCdParanoiaSrc"><span class="type">GstCdParanoiaSrc</span></a> *gstcdparanoiasrc,
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>              arg1,
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>          user_data)</pre>
-<p>
-</p>
-<div class="refsect3">
-<a name="id-1.2.11.13.2.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>gstcdparanoiasrc</p></td>
-<td class="parameter_description"><p>the object which received the signal.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -286,31 +258,7 @@
 user_function (<a class="link" href="gst-plugins-base-plugins-cdparanoiasrc.html#GstCdParanoiaSrc"><span class="type">GstCdParanoiaSrc</span></a> *gstcdparanoiasrc,
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>              arg1,
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>          user_data)</pre>
-<p>
-</p>
-<div class="refsect3">
-<a name="id-1.2.11.13.3.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>gstcdparanoiasrc</p></td>
-<td class="parameter_description"><p>the object which received the signal.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 </div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-clockoverlay.html b/docs/plugins/html/gst-plugins-base-plugins-clockoverlay.html
index 2e628bb..55769ad 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-clockoverlay.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-clockoverlay.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-clockoverlay.top_of_page"></a>clockoverlay</span></h2>
-<p>clockoverlay — Overlays the current clock time on a video stream</p>
+<p>clockoverlay</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -162,8 +162,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-clockoverlay.functions_details"></a><h2>Functions</h2>
@@ -174,8 +172,6 @@
 <div class="refsect2">
 <a name="GstClockOverlay-struct"></a><h3>struct GstClockOverlay</h3>
 <pre class="programlisting">struct GstClockOverlay;</pre>
-<p>
-</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-decodebin.html b/docs/plugins/html/gst-plugins-base-plugins-decodebin.html
index c3c05d9..0187812 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-decodebin.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-decodebin.html
@@ -31,7 +31,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-decodebin.top_of_page"></a>decodebin</span></h2>
-<p>decodebin — Autoplug and decode to raw media</p>
+<p>decodebin</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -122,39 +122,39 @@
 <tr>
 <td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-decodebin.html#GstDecodeBin-autoplug-continue" title="The “autoplug-continue” signal">autoplug-continue</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type">
 <a href="https://developer.gnome.org/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="returnvalue">GValueArray</span></a>*</td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-decodebin.html#GstDecodeBin-autoplug-factories" title="The “autoplug-factories” signal">autoplug-factories</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-decodebin.html#GstDecodeBin-autoplug-query" title="The “autoplug-query” signal">autoplug-query</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GstAutoplugSelectResult" title="enum GstAutoplugSelectResult"><span class="returnvalue">GstAutoplugSelectResult</span></a></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-decodebin.html#GstDecodeBin-autoplug-select" title="The “autoplug-select” signal">autoplug-select</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type">
 <a href="https://developer.gnome.org/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="returnvalue">GValueArray</span></a>*</td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-decodebin.html#GstDecodeBin-autoplug-sort" title="The “autoplug-sort” signal">autoplug-sort</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-decodebin.html#GstDecodeBin-drained" title="The “drained” signal">drained</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-decodebin.html#GstDecodeBin-unknown-type" title="The “unknown-type” signal">unknown-type</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 </tbody>
 </table></div>
@@ -198,7 +198,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.13.9.3.3.1"></a><h3>Element Information</h3>
+<a name="id-1.2.13.9.4.1"></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="id-1.2.13.9.3.3.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.13.9.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -275,8 +275,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-decodebin.functions_details"></a><h2>Functions</h2>
@@ -445,7 +443,7 @@
 final and the pad will be exposed as such (see 'pad-added' signal of
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>).</p>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -466,7 +464,7 @@
 having an unhandled type media type.</p>
 <div class="note">
   Only the signal handler that is connected first will ever by invoked.
-  Don't connect signal handlers with the <span class="type">G_CONNECT_AFTER</span> flag to this
+  Don't connect signal handlers with the <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-CONNECT-AFTER:CAPS"><span class="type">G_CONNECT_AFTER</span></a> flag to this
   signal, they will never be invoked!
 </div>
 <div class="refsect3">
@@ -507,7 +505,7 @@
 by default tried in the returned order or based on the index returned by
 "autoplug-select".</p>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -568,7 +566,7 @@
 <a name="id-1.2.13.13.4.6"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if the query was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a> otherwise.</p>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -644,7 +642,7 @@
 operation. the default handler will always return
 <a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-TRY:CAPS"><span class="type">GST_AUTOPLUG_SELECT_TRY</span></a>.</p>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -668,7 +666,7 @@
   Invocation of signal handlers stops after one signal handler has
   returned something else than <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>. Signal handlers are invoked in
   the order they were connected in.
-  Don't connect signal handlers with the <span class="type">G_CONNECT_AFTER</span> flag to this
+  Don't connect signal handlers with the <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-CONNECT-AFTER:CAPS"><span class="type">G_CONNECT_AFTER</span></a> flag to this
   signal, they will never be invoked!
 </div>
 <div class="refsect3">
@@ -712,7 +710,7 @@
 <a name="id-1.2.13.13.6.8"></a><h4>Returns</h4>
 <p> A new sorted array of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElementFactory.html"><span class="type">GstElementFactory</span></a> objects.</p>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -743,7 +741,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -788,7 +786,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 </div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-encodebin.html b/docs/plugins/html/gst-plugins-base-plugins-encodebin.html
index 2bfafb3..3373e7c 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-encodebin.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-encodebin.html
@@ -31,7 +31,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-encodebin.top_of_page"></a>encodebin</span></h2>
-<p>encodebin — Convenience encoding/muxing element</p>
+<p>encodebin</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -96,13 +96,13 @@
 <td class="signal_type">
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a>*</td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-encodebin.html#GstEncodeBin-request-pad" title="The “request-pad” signal">request-pad</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 <tr>
 <td class="signal_type">
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a>*</td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-encodebin.html#GstEncodeBin-request-profile-pad" title="The “request-profile-pad” signal">request-profile-pad</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 </tbody>
 </table></div>
@@ -334,8 +334,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-encodebin.functions_details"></a><h2>Functions</h2>
@@ -346,8 +344,6 @@
 <div class="refsect2">
 <a name="GstEncodeBin-struct"></a><h3>GstEncodeBin</h3>
 <pre class="programlisting">typedef struct _GstEncodeBin GstEncodeBin;</pre>
-<p>
-</p>
 </div>
 </div>
 <div class="refsect1">
@@ -379,7 +375,7 @@
 <a name="GstEncodeBin--profile"></a><h3>The <code class="literal">“profile”</code> property</h3>
 <pre class="programlisting">  “profile”                  <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *</pre>
 <p>The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> to use. This property must be set before going
-to <code class="literal">GST_STATE_PAUSED</code> or higher.</p>
+to <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-PAUSED:CAPS"><code class="literal">GST_STATE_PAUSED</code></a> or higher.</p>
 <p>Flags: Read / Write</p>
 </div>
 <hr>
@@ -451,7 +447,7 @@
 <p> A compatible <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no compatible <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> could be
 created or is available.</p>
 </div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -496,7 +492,7 @@
 <p> A compatible <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no compatible <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> could be
 created or is available.</p>
 </div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 </div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-giosink.html b/docs/plugins/html/gst-plugins-base-plugins-giosink.html
index 820ecbd..f1988ac 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-giosink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-giosink.html
@@ -30,7 +30,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-giosink.top_of_page"></a>giosink</span></h2>
-<p>giosink — Write to any GIO-supported location</p>
+<p>giosink</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -95,7 +95,7 @@
 the GIO library or it's VFS backends. Common protocols are 'file', 'ftp',
 or 'smb'.</p>
 <p>If the URI or <a href="https://developer.gnome.org/gio/unstable/GFile.html"><span class="type">GFile</span></a> already exists giosink will post a message of
-type <code class="literal">GST_MESSAGE_ELEMENT</code> with name "file-exists" on the bus. The message
+type <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#GST-MESSAGE-ELEMENT:CAPS"><code class="literal">GST_MESSAGE_ELEMENT</code></a> with name "file-exists" on the bus. The message
 also contains the <a href="https://developer.gnome.org/gio/unstable/GFile.html"><span class="type">GFile</span></a> and the corresponding URI.
 Applications can use the "file-exists" message to notify the user about
 the problem and to set a different target location or to remove the
@@ -204,8 +204,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-giosink.functions_details"></a><h2>Functions</h2>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-giosrc.html b/docs/plugins/html/gst-plugins-base-plugins-giosrc.html
index bd0fc55..713ec19 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-giosrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-giosrc.html
@@ -30,7 +30,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-giosrc.top_of_page"></a>giosrc</span></h2>
-<p>giosrc — Read from any GIO-supported location</p>
+<p>giosrc</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -95,7 +95,7 @@
 the GIO library or it's VFS backends. Common protocols are 'file', 'http',
 'ftp', or 'smb'.</p>
 <p>If an URI or <a href="https://developer.gnome.org/gio/unstable/GFile.html"><span class="type">GFile</span></a> is not mounted giosrc will post a message of type
-<code class="literal">GST_MESSAGE_ELEMENT</code> with name "not-mounted" on the bus. The message
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#GST-MESSAGE-ELEMENT:CAPS"><code class="literal">GST_MESSAGE_ELEMENT</code></a> with name "not-mounted" on the bus. The message
 also contains the <a href="https://developer.gnome.org/gio/unstable/GFile.html"><span class="type">GFile</span></a> and the corresponding URI.
 Applications can use the "not-mounted" message to mount the <a href="https://developer.gnome.org/gio/unstable/GFile.html"><span class="type">GFile</span></a>
 by calling <a href="https://developer.gnome.org/gio/unstable/GFile.html#g-file-mount-enclosing-volume"><code class="function">g_file_mount_enclosing_volume()</code></a> and then restart the
@@ -201,8 +201,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-giosrc.functions_details"></a><h2>Functions</h2>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-giostreamsink.html b/docs/plugins/html/gst-plugins-base-plugins-giostreamsink.html
index 72117f0..2ec2477 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-giostreamsink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-giostreamsink.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-giostreamsink.top_of_page"></a>giostreamsink</span></h2>
-<p>giostreamsink — Write to any GIO stream</p>
+<p>giostreamsink</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -197,8 +197,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-giostreamsink.functions_details"></a><h2>Functions</h2>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-giostreamsrc.html b/docs/plugins/html/gst-plugins-base-plugins-giostreamsrc.html
index be54674..3465049 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-giostreamsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-giostreamsrc.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-giostreamsrc.top_of_page"></a>giostreamsrc</span></h2>
-<p>giostreamsrc — Read from any GIO stream</p>
+<p>giostreamsrc</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -196,8 +196,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-giostreamsrc.functions_details"></a><h2>Functions</h2>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-multifdsink.html b/docs/plugins/html/gst-plugins-base-plugins-multifdsink.html
index 965b2d8..aae81d8 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-multifdsink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-multifdsink.html
@@ -30,7 +30,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-multifdsink.top_of_page"></a>multifdsink</span></h2>
-<p>multifdsink — Send data to multiple filedescriptors</p>
+<p>multifdsink</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -61,43 +61,43 @@
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-multifdsink.html#GstMultiFdSink-add" title="The “add” signal">add</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-multifdsink.html#GstMultiFdSink-add-full" title="The “add-full” signal">add-full</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-multifdsink.html#GstMultiFdSink-client-added" title="The “client-added” signal">client-added</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-multifdsink.html#GstMultiFdSink-client-fd-removed" title="The “client-fd-removed” signal">client-fd-removed</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-multifdsink.html#GstMultiFdSink-client-removed" title="The “client-removed” signal">client-removed</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type">
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstStructure.html"><span class="returnvalue">GstStructure</span></a>*</td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-multifdsink.html#GstMultiFdSink-get-stats" title="The “get-stats” signal">get-stats</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-multifdsink.html#GstMultiFdSink-remove" title="The “remove” signal">remove</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-multifdsink.html#GstMultiFdSink-remove-flush" title="The “remove-flush” signal">remove-flush</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 </tbody>
 </table></div>
@@ -209,7 +209,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.20.8.12.1.1"></a><h3>Element Information</h3>
+<a name="id-1.2.20.8.13.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -235,7 +235,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.20.8.12.1.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.20.8.13.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -262,8 +262,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-multifdsink.functions_details"></a><h2>Functions</h2>
@@ -499,7 +497,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -573,7 +571,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -612,7 +610,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -658,7 +656,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -709,7 +707,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -758,7 +756,7 @@
 All times are expressed in nanoseconds (GstClockTime).
 The array can be 0-length if the client was not found.</p>
 </div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -795,7 +793,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -833,7 +831,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-multisocketsink.html b/docs/plugins/html/gst-plugins-base-plugins-multisocketsink.html
index d92f026..b06dca9 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-multisocketsink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-multisocketsink.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-multisocketsink.top_of_page"></a>multisocketsink</span></h2>
-<p>multisocketsink — Send data to multiple sockets</p>
+<p>multisocketsink</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -45,43 +45,43 @@
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-multisocketsink.html#GstMultiSocketSink-add" title="The “add” signal">add</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-multisocketsink.html#GstMultiSocketSink-add-full" title="The “add-full” signal">add-full</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-multisocketsink.html#GstMultiSocketSink-client-added" title="The “client-added” signal">client-added</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-multisocketsink.html#GstMultiSocketSink-client-removed" title="The “client-removed” signal">client-removed</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-multisocketsink.html#GstMultiSocketSink-client-socket-removed" title="The “client-socket-removed” signal">client-socket-removed</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type">
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstStructure.html"><span class="returnvalue">GstStructure</span></a>*</td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-multisocketsink.html#GstMultiSocketSink-get-stats" title="The “get-stats” signal">get-stats</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-multisocketsink.html#GstMultiSocketSink-remove" title="The “remove” signal">remove</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-multisocketsink.html#GstMultiSocketSink-remove-flush" title="The “remove-flush” signal">remove-flush</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 </tbody>
 </table></div>
@@ -192,7 +192,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.21.7.11.1.1"></a><h3>Element Information</h3>
+<a name="id-1.2.21.7.12.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -218,7 +218,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.21.7.11.1.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.21.7.12.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -245,8 +245,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-multisocketsink.functions_details"></a><h2>Functions</h2>
@@ -275,22 +273,30 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RECOVER-POLICY-NONE:CAPS"></a>GST_RECOVER_POLICY_NONE</p></td>
-<td class="enum_member_description"> </td>
+<td class="enum_member_description">
+<p>no recovering is done</p>
+</td>
 <td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RECOVER-POLICY-RESYNC-LATEST:CAPS"></a>GST_RECOVER_POLICY_RESYNC_LATEST</p></td>
-<td class="enum_member_description"> </td>
+<td class="enum_member_description">
+<p>client is moved to last buffer</p>
+</td>
 <td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RECOVER-POLICY-RESYNC-SOFT-LIMIT:CAPS"></a>GST_RECOVER_POLICY_RESYNC_SOFT_LIMIT</p></td>
-<td class="enum_member_description"> </td>
+<td class="enum_member_description">
+<p>client is moved to the soft limit</p>
+</td>
 <td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RECOVER-POLICY-RESYNC-KEYFRAME:CAPS"></a>GST_RECOVER_POLICY_RESYNC_KEYFRAME</p></td>
-<td class="enum_member_description"> </td>
+<td class="enum_member_description">
+<p>client is moved to latest keyframe</p>
+</td>
 <td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
@@ -313,32 +319,47 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-SYNC-METHOD-LATEST:CAPS"></a>GST_SYNC_METHOD_LATEST</p></td>
-<td class="enum_member_description"> </td>
+<td class="enum_member_description">
+<p>client receives most recent buffer</p>
+</td>
 <td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-SYNC-METHOD-NEXT-KEYFRAME:CAPS"></a>GST_SYNC_METHOD_NEXT_KEYFRAME</p></td>
-<td class="enum_member_description"> </td>
+<td class="enum_member_description">
+<p>client receives next keyframe</p>
+</td>
 <td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-SYNC-METHOD-LATEST-KEYFRAME:CAPS"></a>GST_SYNC_METHOD_LATEST_KEYFRAME</p></td>
-<td class="enum_member_description"> </td>
+<td class="enum_member_description">
+<p>client receives latest keyframe (burst)</p>
+</td>
 <td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-SYNC-METHOD-BURST:CAPS"></a>GST_SYNC_METHOD_BURST</p></td>
-<td class="enum_member_description"> </td>
+<td class="enum_member_description">
+<p>client receives specific amount of data</p>
+</td>
 <td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-SYNC-METHOD-BURST-KEYFRAME:CAPS"></a>GST_SYNC_METHOD_BURST_KEYFRAME</p></td>
-<td class="enum_member_description"> </td>
+<td class="enum_member_description">
+<p>client receives specific amount of data 
+                                       starting from latest keyframe</p>
+</td>
 <td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-SYNC-METHOD-BURST-WITH-KEYFRAME:CAPS"></a>GST_SYNC_METHOD_BURST_WITH_KEYFRAME</p></td>
-<td class="enum_member_description"> </td>
+<td class="enum_member_description">
+<p>client receives specific amount of data from
+                                       a keyframe, or if there is not enough data after
+                                       the keyframe, starting before the keyframe</p>
+</td>
 <td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
@@ -361,37 +382,51 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-CLIENT-STATUS-OK:CAPS"></a>GST_CLIENT_STATUS_OK</p></td>
-<td class="enum_member_description"> </td>
+<td class="enum_member_description">
+<p>client is ok</p>
+</td>
 <td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-CLIENT-STATUS-CLOSED:CAPS"></a>GST_CLIENT_STATUS_CLOSED</p></td>
-<td class="enum_member_description"> </td>
+<td class="enum_member_description">
+<p>client closed the socket</p>
+</td>
 <td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-CLIENT-STATUS-REMOVED:CAPS"></a>GST_CLIENT_STATUS_REMOVED</p></td>
-<td class="enum_member_description"> </td>
+<td class="enum_member_description">
+<p>client is removed</p>
+</td>
 <td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-CLIENT-STATUS-SLOW:CAPS"></a>GST_CLIENT_STATUS_SLOW</p></td>
-<td class="enum_member_description"> </td>
+<td class="enum_member_description">
+<p>client is too slow</p>
+</td>
 <td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-CLIENT-STATUS-ERROR:CAPS"></a>GST_CLIENT_STATUS_ERROR</p></td>
-<td class="enum_member_description"> </td>
+<td class="enum_member_description">
+<p>client is in error</p>
+</td>
 <td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-CLIENT-STATUS-DUPLICATE:CAPS"></a>GST_CLIENT_STATUS_DUPLICATE</p></td>
-<td class="enum_member_description"> </td>
+<td class="enum_member_description">
+<p>same client added twice</p>
+</td>
 <td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-CLIENT-STATUS-FLUSHING:CAPS"></a>GST_CLIENT_STATUS_FLUSHING</p></td>
-<td class="enum_member_description"> </td>
+<td class="enum_member_description">
+<p>client is flushing out the remaining buffers.</p>
+</td>
 <td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
@@ -435,7 +470,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -509,7 +544,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -548,7 +583,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -599,7 +634,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -645,7 +680,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -692,7 +727,7 @@
 time (in epoch seconds), number of buffers dropped.
 All times are expressed in nanoseconds (GstClockTime).</p>
 </div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -729,7 +764,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -767,7 +802,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-oggdemux.html b/docs/plugins/html/gst-plugins-base-plugins-oggdemux.html
index 3afedfb..0e8b95c 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-oggdemux.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-oggdemux.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-oggdemux.top_of_page"></a>oggdemux</span></h2>
-<p>oggdemux — demux ogg streams (info about ogg: http://xiph.org)</p>
+<p>oggdemux</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -148,8 +148,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-oggdemux.functions_details"></a><h2>Functions</h2>
@@ -160,8 +158,6 @@
 <div class="refsect2">
 <a name="GstOggDemux-struct"></a><h3>struct GstOggDemux</h3>
 <pre class="programlisting">struct GstOggDemux;</pre>
-<p>
-</p>
 </div>
 </div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-oggmux.html b/docs/plugins/html/gst-plugins-base-plugins-oggmux.html
index 685f26f..4a8dddf 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-oggmux.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-oggmux.html
@@ -30,7 +30,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-oggmux.top_of_page"></a>oggmux</span></h2>
-<p>oggmux — mux ogg streams (info about ogg: http://xiph.org)</p>
+<p>oggmux</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -280,8 +280,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-oggmux.functions_details"></a><h2>Functions</h2>
@@ -292,8 +290,6 @@
 <div class="refsect2">
 <a name="GstOggMux-struct"></a><h3>struct GstOggMux</h3>
 <pre class="programlisting">struct GstOggMux;</pre>
-<p>
-</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-playbin.html b/docs/plugins/html/gst-plugins-base-plugins-playbin.html
index 126a41a..5aba420 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-playbin.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-playbin.html
@@ -31,7 +31,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-playbin.top_of_page"></a>playbin</span></h2>
-<p>playbin — Autoplug and play media from an uri</p>
+<p>playbin</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -221,6 +221,16 @@
 <td class="property_name"><a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--video-filter" title="The “video-filter” property">video-filter</a></td>
 <td class="property_flags">Read / Write</td>
 </tr>
+<tr>
+<td class="property_type"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFlags"><span class="type">GstVideoMultiviewFlags</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--video-multiview-flags" title="The “video-multiview-flags” property">video-multiview-flags</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFramePacking"><span class="type">GstVideoMultiviewFramePacking</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--video-multiview-mode" title="The “video-multiview-mode” property">video-multiview-mode</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
 </tbody>
 </table></div>
 </div>
@@ -236,84 +246,84 @@
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-about-to-finish" title="The “about-to-finish” signal">about-to-finish</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-audio-changed" title="The “audio-changed” signal">audio-changed</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-audio-tags-changed" title="The “audio-tags-changed” signal">audio-tags-changed</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type">
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSample.html"><span class="returnvalue">GstSample</span></a>*</td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-convert-sample" title="The “convert-sample” signal">convert-sample</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 <tr>
 <td class="signal_type">
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a>*</td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-get-audio-pad" title="The “get-audio-pad” signal">get-audio-pad</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 <tr>
 <td class="signal_type">
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html"><span class="returnvalue">GstTagList</span></a>*</td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-get-audio-tags" title="The “get-audio-tags” signal">get-audio-tags</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 <tr>
 <td class="signal_type">
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a>*</td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-get-text-pad" title="The “get-text-pad” signal">get-text-pad</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 <tr>
 <td class="signal_type">
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html"><span class="returnvalue">GstTagList</span></a>*</td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-get-text-tags" title="The “get-text-tags” signal">get-text-tags</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 <tr>
 <td class="signal_type">
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a>*</td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-get-video-pad" title="The “get-video-pad” signal">get-video-pad</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 <tr>
 <td class="signal_type">
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html"><span class="returnvalue">GstTagList</span></a>*</td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-get-video-tags" title="The “get-video-tags” signal">get-video-tags</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-source-setup" title="The “source-setup” signal">source-setup</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-text-changed" title="The “text-changed” signal">text-changed</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-text-tags-changed" title="The “text-tags-changed” signal">text-tags-changed</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-video-changed" title="The “video-changed” signal">video-changed</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-video-tags-changed" title="The “video-tags-changed” signal">video-tags-changed</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 </tbody>
 </table></div>
@@ -624,8 +634,6 @@
 <a name="id-1.2.24.9.13.2"></a><h3>Element Pads</h3>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-playbin.functions_details"></a><h2>Functions</h2>
@@ -1015,6 +1023,21 @@
 <p>the video filter(s) to apply, if possible.</p>
 <p>Flags: Read / Write</p>
 </div>
+<hr>
+<div class="refsect2">
+<a name="GstPlayBin--video-multiview-flags"></a><h3>The <code class="literal">“video-multiview-flags”</code> property</h3>
+<pre class="programlisting">  “video-multiview-flags”    <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFlags"><span class="type">GstVideoMultiviewFlags</span></a></pre>
+<p>Override details of the multiview frame layout.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstPlayBin--video-multiview-mode"></a><h3>The <code class="literal">“video-multiview-mode”</code> property</h3>
+<pre class="programlisting">  “video-multiview-mode”     <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFramePacking"><span class="type">GstVideoMultiviewFramePacking</span></a></pre>
+<p>Re-interpret a video stream as one of several frame-packed stereoscopic modes.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE</p>
+</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-playbin.signal-details"></a><h2>Signal Details</h2>
@@ -1048,7 +1071,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1084,7 +1107,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1125,7 +1148,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1174,7 +1197,7 @@
 <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned when no current buffer can be retrieved or when the
 conversion failed.</p>
 </div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1218,7 +1241,7 @@
 <a name="id-1.2.24.13.6.6"></a><h4>Returns</h4>
 <p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>, or NULL when the stream number does not exist.</p>
 </div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1261,7 +1284,7 @@
 <p> a GstTagList with tags or NULL when the stream number does not
 exist.</p>
 </div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1305,7 +1328,7 @@
 <a name="id-1.2.24.13.8.6"></a><h4>Returns</h4>
 <p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>, or NULL when the stream number does not exist.</p>
 </div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1348,7 +1371,7 @@
 <p> a GstTagList with tags or NULL when the stream number does not
 exist.</p>
 </div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1392,7 +1415,7 @@
 <a name="id-1.2.24.13.10.6"></a><h4>Returns</h4>
 <p> a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>, or NULL when the stream number does not exist.</p>
 </div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1435,7 +1458,7 @@
 <p> a GstTagList with tags or NULL when the stream number does not
 exist.</p>
 </div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1478,7 +1501,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1514,7 +1537,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1555,7 +1578,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1591,7 +1614,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1632,7 +1655,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 </div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-playsink.html b/docs/plugins/html/gst-plugins-base-plugins-playsink.html
index 162fe6a..5c5c5e3 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-playsink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-playsink.html
@@ -31,7 +31,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-playsink.top_of_page"></a>playsink</span></h2>
-<p>playsink — Convenience sink for multiple streams</p>
+<p>playsink</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -144,12 +144,12 @@
 <td class="signal_type">
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSample.html"><span class="returnvalue">GstSample</span></a>*</td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-playsink.html#GstPlaySink-convert-sample" title="The “convert-sample” signal">convert-sample</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 <tr>
 <td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-playsink.html#GstPlaySink-reconfigure" title="The “reconfigure” signal">reconfigure</a></td>
-<td class="signal_flags">Action</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
 </tr>
 </tbody>
 </table></div>
@@ -337,8 +337,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-playsink.functions_details"></a><h2>Functions</h2>
@@ -349,8 +347,6 @@
 <div class="refsect2">
 <a name="GstPlaySink-struct"></a><h3>GstPlaySink</h3>
 <pre class="programlisting">typedef struct _GstPlaySink GstPlaySink;</pre>
-<p>
-</p>
 </div>
 </div>
 <div class="refsect1">
@@ -359,7 +355,7 @@
 <a name="GstPlaySink--audio-sink"></a><h3>The <code class="literal">“audio-sink”</code> property</h3>
 <pre class="programlisting">  “audio-sink”               <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *</pre>
 <p>Set the used audio sink element. NULL will use the default sink. playsink
-must be in <code class="literal">GST_STATE_NULL</code></p>
+must be in <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-NULL:CAPS"><code class="literal">GST_STATE_NULL</code></a></p>
 <p>Flags: Read / Write</p>
 </div>
 <hr>
@@ -433,7 +429,7 @@
 <a name="GstPlaySink--text-sink"></a><h3>The <code class="literal">“text-sink”</code> property</h3>
 <pre class="programlisting">  “text-sink”                <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *</pre>
 <p>Set the used text sink element. NULL will use the default sink. playsink
-must be in <code class="literal">GST_STATE_NULL</code></p>
+must be in <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-NULL:CAPS"><code class="literal">GST_STATE_NULL</code></a></p>
 <p>Flags: Read / Write</p>
 </div>
 <hr>
@@ -441,7 +437,7 @@
 <a name="GstPlaySink--video-sink"></a><h3>The <code class="literal">“video-sink”</code> property</h3>
 <pre class="programlisting">  “video-sink”               <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *</pre>
 <p>Set the used video sink element. NULL will use the default sink. playsink
-must be in <code class="literal">GST_STATE_NULL</code></p>
+must be in <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-NULL:CAPS"><code class="literal">GST_STATE_NULL</code></a></p>
 <p>Flags: Read / Write</p>
 </div>
 <hr>
@@ -467,7 +463,7 @@
 <pre class="programlisting">  “audio-filter”             <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *</pre>
 <p>Set the audio filter element/bin to use. Will apply on a best-effort basis
 unless GST_PLAY_FLAG_FORCE_FILTERS is set. playsink must be in
-<code class="literal">GST_STATE_NULL</code></p>
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-NULL:CAPS"><code class="literal">GST_STATE_NULL</code></a></p>
 <p>Flags: Read / Write</p>
 </div>
 <hr>
@@ -476,7 +472,7 @@
 <pre class="programlisting">  “video-filter”             <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *</pre>
 <p>Set the video filter element/bin to use. Will apply on a best-effort basis
 unless GST_PLAY_FLAG_FORCE_FILTERS is set. playsink must be in
-<code class="literal">GST_STATE_NULL</code></p>
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-NULL:CAPS"><code class="literal">GST_STATE_NULL</code></a></p>
 <p>Flags: Read / Write</p>
 </div>
 </div>
@@ -528,7 +524,7 @@
 <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned when no current sample can be retrieved or when the
 conversion failed.</p>
 </div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -536,31 +532,7 @@
 <pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 user_function (<a class="link" href="gst-plugins-base-plugins-playsink.html#GstPlaySink"><span class="type">GstPlaySink</span></a> *gstplaysink,
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)</pre>
-<p>
-</p>
-<div class="refsect3">
-<a name="id-1.2.25.13.3.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>gstplaysink</p></td>
-<td class="parameter_description"><p>the object which received the signal.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p>Flags: Action</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
 </div>
 </div>
 </div>
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 39c81d2..c85ec9e 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-adder.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-adder.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-alsa.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-alsa.html
index e8354e0..029f692 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-alsa.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-alsa.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-app.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-app.html
index 747fba1..4871260 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-app.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-app.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-audioconvert.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-audioconvert.html
index 6c87405..d903736 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-audioconvert.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-audioconvert.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-audiorate.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-audiorate.html
index c353f97..18e16aa 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-audiorate.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-audiorate.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-audioresample.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-audioresample.html
index 339e948..a51dc9e 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-audioresample.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-audioresample.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-audiotestsrc.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-audiotestsrc.html
index fc928e1..ebdf950 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-audiotestsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-audiotestsrc.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-cdparanoia.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-cdparanoia.html
index 63e211d..a2022cf 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-cdparanoia.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-cdparanoia.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-encoding.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-encoding.html
index 6741d9c..1c07521 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-encoding.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-encoding.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-gio.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-gio.html
index 7a452d4..238a0b5 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-gio.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-gio.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-libvisual.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-libvisual.html
index c4eab1b..a9cfaee 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-libvisual.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-libvisual.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-ogg.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-ogg.html
index 0f7c249..a0ba66c 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-ogg.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-ogg.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-pango.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-pango.html
index c63087b..ae7ebca 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-pango.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-pango.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-playback.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-playback.html
index df88435..51e5dbb 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-playback.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-playback.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-subparse.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-subparse.html
index 3bcc1a1..4c8dc7e 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-subparse.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-subparse.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-tcp.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-tcp.html
index f37a388..2ac3346 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-tcp.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-tcp.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-theora.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-theora.html
index 82b3134..4b30870 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-theora.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-theora.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-typefindfunctions.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-typefindfunctions.html
index f9f5e73..16aa1a1 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-typefindfunctions.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-typefindfunctions.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-videoconvert.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-videoconvert.html
index 39742b2..34696da 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-videoconvert.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-videoconvert.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-videorate.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-videorate.html
index b6789ce..4fed1e9 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-videorate.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-videorate.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-videoscale.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-videoscale.html
index de10a98..6fa80f5 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-videoscale.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-videoscale.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-videotestsrc.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-videotestsrc.html
index 4ef8468..a408fab 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-videotestsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-videotestsrc.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-volume.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-volume.html
index 03e3f11..e422468 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-volume.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-volume.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-vorbis.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-vorbis.html
index b069109..a66c128 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-vorbis.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-vorbis.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-ximagesink.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-ximagesink.html
index effad85..4062702 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-ximagesink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-ximagesink.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-xvimagesink.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-xvimagesink.html
index 8cc199c..4c2dfae 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-xvimagesink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-xvimagesink.html
@@ -41,7 +41,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.5.1</td>
+<td>1.5.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-socketsrc.html b/docs/plugins/html/gst-plugins-base-plugins-socketsrc.html
index cd7d4ba..cf90fcf 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-socketsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-socketsrc.html
@@ -30,7 +30,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-socketsrc.top_of_page"></a>socketsrc</span></h2>
-<p>socketsrc — Receive data from a socket</p>
+<p>socketsrc</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -61,7 +61,7 @@
 <tbody><tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-socketsrc.html#GstSocketSrc-connection-closed-by-peer" title="The “connection-closed-by-peer” signal">connection-closed-by-peer</a></td>
-<td class="signal_flags">Run First</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></td>
 </tr></tbody>
 </table></div>
 </div>
@@ -108,7 +108,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.28.8.7.3.1"></a><h3>Element Information</h3>
+<a name="id-1.2.28.8.8.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -134,7 +134,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.28.8.7.3.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.28.8.8.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -161,8 +161,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-socketsrc.functions_details"></a><h2>Functions</h2>
@@ -173,8 +171,6 @@
 <div class="refsect2">
 <a name="GstSocketSrc-struct"></a><h3>struct GstSocketSrc</h3>
 <pre class="programlisting">struct GstSocketSrc;</pre>
-<p>
-</p>
 </div>
 </div>
 <div class="refsect1">
@@ -193,31 +189,7 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 user_function (<a class="link" href="gst-plugins-base-plugins-socketsrc.html#GstSocketSrc"><span class="type">GstSocketSrc</span></a> *gstsocketsrc,
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data)</pre>
-<p>
-</p>
-<div class="refsect3">
-<a name="id-1.2.28.12.2.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>gstsocketsrc</p></td>
-<td class="parameter_description"><p>the object which received the signal.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p>Flags: Run First</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></p>
 </div>
 </div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-streamsynchronizer.html b/docs/plugins/html/gst-plugins-base-plugins-streamsynchronizer.html
index 5193f25..02346db 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-streamsynchronizer.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-streamsynchronizer.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-streamsynchronizer.top_of_page"></a>streamsynchronizer</span></h2>
-<p>streamsynchronizer — Synchronizes a group of streams to have equal durations and starting points</p>
+<p>streamsynchronizer</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -136,8 +136,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-streamsynchronizer.functions_details"></a><h2>Functions</h2>
@@ -148,8 +146,6 @@
 <div class="refsect2">
 <a name="GstStreamSynchronizer-struct"></a><h3>struct GstStreamSynchronizer</h3>
 <pre class="programlisting">struct GstStreamSynchronizer;</pre>
-<p>
-</p>
 </div>
 </div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-subtitleoverlay.html b/docs/plugins/html/gst-plugins-base-plugins-subtitleoverlay.html
index e2578f3..031d8d0 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-subtitleoverlay.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-subtitleoverlay.html
@@ -30,7 +30,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-subtitleoverlay.top_of_page"></a>subtitleoverlay</span></h2>
-<p>subtitleoverlay — Overlays a video stream with subtitles</p>
+<p>subtitleoverlay</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -216,8 +216,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-subtitleoverlay.functions_details"></a><h2>Functions</h2>
@@ -228,8 +226,6 @@
 <div class="refsect2">
 <a name="GstSubtitleOverlay-struct"></a><h3>struct GstSubtitleOverlay</h3>
 <pre class="programlisting">struct GstSubtitleOverlay;</pre>
-<p>
-</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-tcpclientsink.html b/docs/plugins/html/gst-plugins-base-plugins-tcpclientsink.html
index 9887e0a..2141ec4 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-tcpclientsink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-tcpclientsink.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-tcpclientsink.top_of_page"></a>tcpclientsink</span></h2>
-<p>tcpclientsink — Send data as a client over the network via TCP</p>
+<p>tcpclientsink</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -158,8 +158,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-tcpclientsink.functions_details"></a><h2>Functions</h2>
@@ -170,8 +168,6 @@
 <div class="refsect2">
 <a name="GstTCPClientSink-struct"></a><h3>struct GstTCPClientSink</h3>
 <pre class="programlisting">struct GstTCPClientSink;</pre>
-<p>
-</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-tcpclientsrc.html b/docs/plugins/html/gst-plugins-base-plugins-tcpclientsrc.html
index 049a530..bb81172 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-tcpclientsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-tcpclientsrc.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-tcpclientsrc.top_of_page"></a>tcpclientsrc</span></h2>
-<p>tcpclientsrc — Receive data as a client over the network via TCP</p>
+<p>tcpclientsrc</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -158,8 +158,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-tcpclientsrc.functions_details"></a><h2>Functions</h2>
@@ -170,8 +168,6 @@
 <div class="refsect2">
 <a name="GstTCPClientSrc-struct"></a><h3>struct GstTCPClientSrc</h3>
 <pre class="programlisting">struct GstTCPClientSrc;</pre>
-<p>
-</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-tcpserversink.html b/docs/plugins/html/gst-plugins-base-plugins-tcpserversink.html
index 48809b9..923da89 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-tcpserversink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-tcpserversink.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-tcpserversink.top_of_page"></a>tcpserversink</span></h2>
-<p>tcpserversink — Send data as a server over the network via TCP</p>
+<p>tcpserversink</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -164,8 +164,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-tcpserversink.functions_details"></a><h2>Functions</h2>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-tcpserversrc.html b/docs/plugins/html/gst-plugins-base-plugins-tcpserversrc.html
index 1d4ccc5..f7ec353 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-tcpserversrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-tcpserversrc.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-tcpserversrc.top_of_page"></a>tcpserversrc</span></h2>
-<p>tcpserversrc — Receive data as a server over the network via TCP</p>
+<p>tcpserversrc</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -163,8 +163,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-tcpserversrc.functions_details"></a><h2>Functions</h2>
@@ -175,8 +173,6 @@
 <div class="refsect2">
 <a name="GstTCPServerSrc-struct"></a><h3>struct GstTCPServerSrc</h3>
 <pre class="programlisting">struct GstTCPServerSrc;</pre>
-<p>
-</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-textoverlay.html b/docs/plugins/html/gst-plugins-base-plugins-textoverlay.html
index 74a672d..36b4dd1 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-textoverlay.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-textoverlay.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-textoverlay.top_of_page"></a>textoverlay</span></h2>
-<p>textoverlay — Adds text strings on top of a video buffer</p>
+<p>textoverlay</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -169,8 +169,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-textoverlay.functions_details"></a><h2>Functions</h2>
@@ -181,8 +179,6 @@
 <div class="refsect2">
 <a name="GstTextOverlay-struct"></a><h3>struct GstTextOverlay</h3>
 <pre class="programlisting">struct GstTextOverlay;</pre>
-<p>
-</p>
 </div>
 </div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-textrender.html b/docs/plugins/html/gst-plugins-base-plugins-textrender.html
index ed58b12..03a3864 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-textrender.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-textrender.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-textrender.top_of_page"></a>textrender</span></h2>
-<p>textrender — Renders a text string to an image bitmap</p>
+<p>textrender</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -180,8 +180,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-textrender.functions_details"></a><h2>Functions</h2>
@@ -192,8 +190,6 @@
 <div class="refsect2">
 <a name="GstTextRender-struct"></a><h3>struct GstTextRender</h3>
 <pre class="programlisting">struct GstTextRender;</pre>
-<p>
-</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-theoradec.html b/docs/plugins/html/gst-plugins-base-plugins-theoradec.html
index d1c7e45..6938770 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-theoradec.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-theoradec.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-theoradec.top_of_page"></a>theoradec</span></h2>
-<p>theoradec — decode raw theora streams to raw YUV video</p>
+<p>theoradec</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -137,8 +137,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-theoradec.functions_details"></a><h2>Functions</h2>
@@ -149,8 +147,6 @@
 <div class="refsect2">
 <a name="GstTheoraDec-struct"></a><h3>struct GstTheoraDec</h3>
 <pre class="programlisting">struct GstTheoraDec;</pre>
-<p>
-</p>
 </div>
 </div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-theoraenc.html b/docs/plugins/html/gst-plugins-base-plugins-theoraenc.html
index 15628d1..8a03b4e 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-theoraenc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-theoraenc.html
@@ -30,7 +30,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-theoraenc.top_of_page"></a>theoraenc</span></h2>
-<p>theoraenc — encode raw YUV video to a theora stream</p>
+<p>theoraenc</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -223,8 +223,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-theoraenc.functions_details"></a><h2>Functions</h2>
@@ -235,8 +233,6 @@
 <div class="refsect2">
 <a name="GstTheoraEnc-struct"></a><h3>struct GstTheoraEnc</h3>
 <pre class="programlisting">struct GstTheoraEnc;</pre>
-<p>
-</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-theoraparse.html b/docs/plugins/html/gst-plugins-base-plugins-theoraparse.html
index 0e2c56e..4943c2c 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-theoraparse.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-theoraparse.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-theoraparse.top_of_page"></a>theoraparse</span></h2>
-<p>theoraparse — parse raw theora streams</p>
+<p>theoraparse</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -136,8 +136,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-theoraparse.functions_details"></a><h2>Functions</h2>
@@ -148,8 +146,6 @@
 <div class="refsect2">
 <a name="GstTheoraParse-struct"></a><h3>struct GstTheoraParse</h3>
 <pre class="programlisting">struct GstTheoraParse;</pre>
-<p>
-</p>
 </div>
 </div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-timeoverlay.html b/docs/plugins/html/gst-plugins-base-plugins-timeoverlay.html
index e169eef..b102af4 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-timeoverlay.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-timeoverlay.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-timeoverlay.top_of_page"></a>timeoverlay</span></h2>
-<p>timeoverlay — Overlays buffer time stamps on a video stream</p>
+<p>timeoverlay</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -161,8 +161,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-timeoverlay.functions_details"></a><h2>Functions</h2>
@@ -173,8 +171,6 @@
 <div class="refsect2">
 <a name="GstTimeOverlay-struct"></a><h3>struct GstTimeOverlay</h3>
 <pre class="programlisting">struct GstTimeOverlay;</pre>
-<p>
-</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-uridecodebin.html b/docs/plugins/html/gst-plugins-base-plugins-uridecodebin.html
index a9028b4..519d563 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-uridecodebin.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-uridecodebin.html
@@ -31,7 +31,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-uridecodebin.top_of_page"></a>uridecodebin</span></h2>
-<p>uridecodebin — Autoplug and decode an URI to raw media</p>
+<p>uridecodebin</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -118,44 +118,44 @@
 <tr>
 <td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin-autoplug-continue" title="The “autoplug-continue” signal">autoplug-continue</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type">
 <a href="https://developer.gnome.org/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="returnvalue">GValueArray</span></a>*</td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin-autoplug-factories" title="The “autoplug-factories” signal">autoplug-factories</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin-autoplug-query" title="The “autoplug-query” signal">autoplug-query</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GstAutoplugSelectResult" title="enum GstAutoplugSelectResult"><span class="returnvalue">GstAutoplugSelectResult</span></a></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin-autoplug-select" title="The “autoplug-select” signal">autoplug-select</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type">
 <a href="https://developer.gnome.org/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="returnvalue">GValueArray</span></a>*</td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin-autoplug-sort" title="The “autoplug-sort” signal">autoplug-sort</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin-drained" title="The “drained” signal">drained</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin-source-setup" title="The “source-setup” signal">source-setup</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 <tr>
 <td class="signal_type"><span class="returnvalue">void</span></td>
 <td class="signal_name"><a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin-unknown-type" title="The “unknown-type” signal">unknown-type</a></td>
-<td class="signal_flags">Run Last</td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
 </tbody>
 </table></div>
@@ -202,7 +202,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.39.9.2.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.39.9.3.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -228,7 +228,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.39.9.2.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.39.9.3.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -255,8 +255,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-uridecodebin.functions_details"></a><h2>Functions</h2>
@@ -456,7 +454,7 @@
 final and the pad will be exposed as such (see 'pad-added' signal of
 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>).</p>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -477,7 +475,7 @@
 having an unhandled type media type.</p>
 <div class="note">
   Only the signal handler that is connected first will ever by invoked.
-  Don't connect signal handlers with the <span class="type">G_CONNECT_AFTER</span> flag to this
+  Don't connect signal handlers with the <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-CONNECT-AFTER:CAPS"><span class="type">G_CONNECT_AFTER</span></a> flag to this
   signal, they will never be invoked!
 </div>
 <div class="refsect3">
@@ -518,7 +516,7 @@
 by default tried in the returned order or based on the index returned by
 "autoplug-select".</p>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -529,31 +527,7 @@
                <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>      *arg2,
                <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstQuery.html"><span class="type">GstQuery</span></a>        *arg3,
                <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>         user_data)</pre>
-<p>
-</p>
-<div class="refsect3">
-<a name="id-1.2.39.13.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>gsturidecodebin</p></td>
-<td class="parameter_description"><p>the object which received the signal.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -629,7 +603,7 @@
 operation. The default handler will always return
 <a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-TRY:CAPS"><span class="type">GST_AUTOPLUG_SELECT_TRY</span></a>.</p>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -653,7 +627,7 @@
   Invocation of signal handlers stops after one signal handler has
   returned something else than <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>. Signal handlers are invoked in
   the order they were connected in.
-  Don't connect signal handlers with the <span class="type">G_CONNECT_AFTER</span> flag to this
+  Don't connect signal handlers with the <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-CONNECT-AFTER:CAPS"><span class="type">G_CONNECT_AFTER</span></a> flag to this
   signal, they will never be invoked!
 </div>
 <div class="refsect3">
@@ -697,7 +671,7 @@
 <a name="id-1.2.39.13.6.8"></a><h4>Returns</h4>
 <p> A new sorted array of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElementFactory.html"><span class="type">GstElementFactory</span></a> objects.</p>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 <p class="since">Since: 0.10.33</p>
 </div>
 <hr>
@@ -722,7 +696,7 @@
 </tr></tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
@@ -763,7 +737,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 <p class="since">Since: 0.10.33</p>
 </div>
 <hr>
@@ -809,7 +783,7 @@
 </tbody>
 </table></div>
 </div>
-<p>Flags: Run Last</p>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 </div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-videoconvert.html b/docs/plugins/html/gst-plugins-base-plugins-videoconvert.html
index 9342656..ec55616 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-videoconvert.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-videoconvert.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-videoconvert.top_of_page"></a>videoconvert</span></h2>
-<p>videoconvert — Converts video from one colorspace to another</p>
+<p>videoconvert</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -221,8 +221,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-videoconvert.functions_details"></a><h2>Functions</h2>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-videorate.html b/docs/plugins/html/gst-plugins-base-plugins-videorate.html
index 35a02de..0061d9a 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-videorate.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-videorate.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-videorate.top_of_page"></a>videorate</span></h2>
-<p>videorate — Drops/duplicates/adjusts timestamps on video frames to make a perfect stream</p>
+<p>videorate</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -278,8 +278,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-videorate.functions_details"></a><h2>Functions</h2>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-videoscale.html b/docs/plugins/html/gst-plugins-base-plugins-videoscale.html
index 71e478e..84b1d07 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-videoscale.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-videoscale.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-videoscale.top_of_page"></a>videoscale</span></h2>
-<p>videoscale — Resizes video</p>
+<p>videoscale</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -235,8 +235,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-videoscale.functions_details"></a><h2>Functions</h2>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-videotestsrc.html b/docs/plugins/html/gst-plugins-base-plugins-videotestsrc.html
index 53fd629..ed9d010 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-videotestsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-videotestsrc.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-videotestsrc.top_of_page"></a>videotestsrc</span></h2>
-<p>videotestsrc — Creates a test video stream</p>
+<p>videotestsrc</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -244,8 +244,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-videotestsrc.functions_details"></a><h2>Functions</h2>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-volume.html b/docs/plugins/html/gst-plugins-base-plugins-volume.html
index 4c34710..ffcf8cd 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-volume.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-volume.html
@@ -30,7 +30,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-volume.top_of_page"></a>volume</span></h2>
-<p>volume — Set volume on audio/raw streams</p>
+<p>volume</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -185,8 +185,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-volume.functions_details"></a><h2>Functions</h2>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-vorbisdec.html b/docs/plugins/html/gst-plugins-base-plugins-vorbisdec.html
index 7ac5695..a003941 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-vorbisdec.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-vorbisdec.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-vorbisdec.top_of_page"></a>vorbisdec</span></h2>
-<p>vorbisdec — decode raw vorbis streams to float audio</p>
+<p>vorbisdec</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -137,8 +137,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-vorbisdec.functions_details"></a><h2>Functions</h2>
@@ -149,8 +147,6 @@
 <div class="refsect2">
 <a name="GstVorbisDec-struct"></a><h3>struct GstVorbisDec</h3>
 <pre class="programlisting">struct GstVorbisDec;</pre>
-<p>
-</p>
 </div>
 </div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-vorbisenc.html b/docs/plugins/html/gst-plugins-base-plugins-vorbisenc.html
index 7b8bc66..cc74c9e 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-vorbisenc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-vorbisenc.html
@@ -30,7 +30,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-vorbisenc.top_of_page"></a>vorbisenc</span></h2>
-<p>vorbisenc — Encodes audio in Vorbis format</p>
+<p>vorbisenc</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -188,8 +188,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-vorbisenc.functions_details"></a><h2>Functions</h2>
@@ -200,8 +198,6 @@
 <div class="refsect2">
 <a name="GstVorbisEnc-struct"></a><h3>struct GstVorbisEnc</h3>
 <pre class="programlisting">struct GstVorbisEnc;</pre>
-<p>
-</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-vorbisparse.html b/docs/plugins/html/gst-plugins-base-plugins-vorbisparse.html
index 4cd292f..8fbbb4f 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-vorbisparse.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-vorbisparse.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-vorbisparse.top_of_page"></a>vorbisparse</span></h2>
-<p>vorbisparse — parse raw vorbis streams</p>
+<p>vorbisparse</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -137,8 +137,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-vorbisparse.functions_details"></a><h2>Functions</h2>
@@ -149,8 +147,6 @@
 <div class="refsect2">
 <a name="GstVorbisParse-struct"></a><h3>struct GstVorbisParse</h3>
 <pre class="programlisting">struct GstVorbisParse;</pre>
-<p>
-</p>
 </div>
 </div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-vorbistag.html b/docs/plugins/html/gst-plugins-base-plugins-vorbistag.html
index f282320..575167b 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-vorbistag.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-vorbistag.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-vorbistag.top_of_page"></a>vorbistag</span></h2>
-<p>vorbistag — Retags vorbis streams</p>
+<p>vorbistag</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -144,8 +144,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-vorbistag.functions_details"></a><h2>Functions</h2>
@@ -156,8 +154,6 @@
 <div class="refsect2">
 <a name="GstVorbisTag-struct"></a><h3>struct GstVorbisTag</h3>
 <pre class="programlisting">struct GstVorbisTag;</pre>
-<p>
-</p>
 </div>
 </div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-ximagesink.html b/docs/plugins/html/gst-plugins-base-plugins-ximagesink.html
index 9119cce..1007c65 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-ximagesink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-ximagesink.html
@@ -30,7 +30,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-ximagesink.top_of_page"></a>ximagesink</span></h2>
-<p>ximagesink — A standard X based videosink</p>
+<p>ximagesink</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -176,8 +176,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-ximagesink.functions_details"></a><h2>Functions</h2>
@@ -188,8 +186,6 @@
 <div class="refsect2">
 <a name="GstXImageSink-struct"></a><h3>struct GstXImageSink</h3>
 <pre class="programlisting">struct GstXImageSink;</pre>
-<p>
-</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-xvimagesink.html b/docs/plugins/html/gst-plugins-base-plugins-xvimagesink.html
index 1831f81..1b9b45c 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-xvimagesink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-xvimagesink.html
@@ -30,7 +30,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-xvimagesink.top_of_page"></a>xvimagesink</span></h2>
-<p>xvimagesink — A Xv based videosink</p>
+<p>xvimagesink</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -228,8 +228,6 @@
 </table></div>
 </div>
 </div>
-<p>
-</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-xvimagesink.functions_details"></a><h2>Functions</h2>
@@ -240,8 +238,6 @@
 <div class="refsect2">
 <a name="GstXvImageSink-struct"></a><h3>struct GstXvImageSink</h3>
 <pre class="programlisting">struct GstXvImageSink;</pre>
-<p>
-</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html
index 4fe58bf..17f11d3 100644
--- a/docs/plugins/html/index.html
+++ b/docs/plugins/html/index.html
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer Base Plugins 1.0 Plugins Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GStreamer Base Plugins 1.0 (1.5.1)
+      for GStreamer Base Plugins 1.0 (1.5.2)
       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>
@@ -26,148 +26,148 @@
 <dt><span class="chapter"><a href="ch01.html">gst-plugins-base Elements</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-adder.html">adder</a></span><span class="refpurpose"> — Add N audio channels together</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-adder.html">adder</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-appsrc.html">appsrc</a></span><span class="refpurpose"> — Allow the application to feed buffers to a pipeline</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-appsrc.html">appsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-appsink.html">appsink</a></span><span class="refpurpose"> — Allow the application to get access to raw buffer</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-appsink.html">appsink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-alsasink.html">alsasink</a></span><span class="refpurpose"> — Output to a sound card via ALSA</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-alsasink.html">alsasink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-alsasrc.html">alsasrc</a></span><span class="refpurpose"> — Read from a sound card via ALSA</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-alsasrc.html">alsasrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-audioconvert.html">audioconvert</a></span><span class="refpurpose"> — Convert audio to different formats</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-audioconvert.html">audioconvert</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-audiorate.html">audiorate</a></span><span class="refpurpose"> — Drops/duplicates/adjusts timestamps on audio samples to make a perfect stream</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-audiorate.html">audiorate</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-audioresample.html">audioresample</a></span><span class="refpurpose"> — Resamples audio</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-audioresample.html">audioresample</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-audiotestsrc.html">audiotestsrc</a></span><span class="refpurpose"> — Creates audio test signals of given frequency and volume</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-audiotestsrc.html">audiotestsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-cdparanoiasrc.html">cdparanoiasrc</a></span><span class="refpurpose"> — Read audio from CD in paranoid mode</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-cdparanoiasrc.html">cdparanoiasrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-clockoverlay.html">clockoverlay</a></span><span class="refpurpose"> — Overlays the current clock time on a video stream</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-clockoverlay.html">clockoverlay</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-decodebin.html">decodebin</a></span><span class="refpurpose"> — Autoplug and decode to raw media</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-decodebin.html">decodebin</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-encodebin.html">encodebin</a></span><span class="refpurpose"> — Convenience encoding/muxing element</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-encodebin.html">encodebin</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-videoconvert.html">videoconvert</a></span><span class="refpurpose"> — Converts video from one colorspace to another</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-videoconvert.html">videoconvert</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-giosink.html">giosink</a></span><span class="refpurpose"> — Write to any GIO-supported location</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-giosink.html">giosink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-giosrc.html">giosrc</a></span><span class="refpurpose"> — Read from any GIO-supported location</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-giosrc.html">giosrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-giostreamsink.html">giostreamsink</a></span><span class="refpurpose"> — Write to any GIO stream</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-giostreamsink.html">giostreamsink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-giostreamsrc.html">giostreamsrc</a></span><span class="refpurpose"> — Read from any GIO stream</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-giostreamsrc.html">giostreamsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-multifdsink.html">multifdsink</a></span><span class="refpurpose"> — Send data to multiple filedescriptors</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-multifdsink.html">multifdsink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-multisocketsink.html">multisocketsink</a></span><span class="refpurpose"> — Send data to multiple sockets</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-multisocketsink.html">multisocketsink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-oggdemux.html">oggdemux</a></span><span class="refpurpose"> — demux ogg streams (info about ogg: http://xiph.org)</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-oggdemux.html">oggdemux</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-oggmux.html">oggmux</a></span><span class="refpurpose"> — mux ogg streams (info about ogg: http://xiph.org)</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-oggmux.html">oggmux</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-playbin.html">playbin</a></span><span class="refpurpose"> — Autoplug and play media from an uri</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-playbin.html">playbin</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-playsink.html">playsink</a></span><span class="refpurpose"> — Convenience sink for multiple streams</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-playsink.html">playsink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-streamsynchronizer.html">streamsynchronizer</a></span><span class="refpurpose"> — Synchronizes a group of streams to have equal durations and starting points</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-streamsynchronizer.html">streamsynchronizer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-subtitleoverlay.html">subtitleoverlay</a></span><span class="refpurpose"> — Overlays a video stream with subtitles</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-subtitleoverlay.html">subtitleoverlay</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-socketsrc.html">socketsrc</a></span><span class="refpurpose"> — Receive data from a socket</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-socketsrc.html">socketsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpclientsrc.html">tcpclientsrc</a></span><span class="refpurpose"> — Receive data as a client over the network via TCP</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpclientsrc.html">tcpclientsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpclientsink.html">tcpclientsink</a></span><span class="refpurpose"> — Send data as a client over the network via TCP</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpclientsink.html">tcpclientsink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpserversrc.html">tcpserversrc</a></span><span class="refpurpose"> — Receive data as a server over the network via TCP</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpserversrc.html">tcpserversrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpserversink.html">tcpserversink</a></span><span class="refpurpose"> — Send data as a server over the network via TCP</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-tcpserversink.html">tcpserversink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-textoverlay.html">textoverlay</a></span><span class="refpurpose"> — Adds text strings on top of a video buffer</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-textoverlay.html">textoverlay</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-textrender.html">textrender</a></span><span class="refpurpose"> — Renders a text string to an image bitmap</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-textrender.html">textrender</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-theoradec.html">theoradec</a></span><span class="refpurpose"> — decode raw theora streams to raw YUV video</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-theoradec.html">theoradec</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-theoraenc.html">theoraenc</a></span><span class="refpurpose"> — encode raw YUV video to a theora stream</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-theoraenc.html">theoraenc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-theoraparse.html">theoraparse</a></span><span class="refpurpose"> — parse raw theora streams</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-theoraparse.html">theoraparse</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-timeoverlay.html">timeoverlay</a></span><span class="refpurpose"> — Overlays buffer time stamps on a video stream</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-timeoverlay.html">timeoverlay</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-uridecodebin.html">uridecodebin</a></span><span class="refpurpose"> — Autoplug and decode an URI to raw media</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-uridecodebin.html">uridecodebin</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-videorate.html">videorate</a></span><span class="refpurpose"> — Drops/duplicates/adjusts timestamps on video frames to make a perfect stream</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-videorate.html">videorate</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-videoscale.html">videoscale</a></span><span class="refpurpose"> — Resizes video</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-videoscale.html">videoscale</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-videotestsrc.html">videotestsrc</a></span><span class="refpurpose"> — Creates a test video stream</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-videotestsrc.html">videotestsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-volume.html">volume</a></span><span class="refpurpose"> — Set volume on audio/raw streams</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-volume.html">volume</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-vorbisdec.html">vorbisdec</a></span><span class="refpurpose"> — decode raw vorbis streams to float audio</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-vorbisdec.html">vorbisdec</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-vorbisenc.html">vorbisenc</a></span><span class="refpurpose"> — Encodes audio in Vorbis format</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-vorbisenc.html">vorbisenc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-vorbisparse.html">vorbisparse</a></span><span class="refpurpose"> — parse raw vorbis streams</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-vorbisparse.html">vorbisparse</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-vorbistag.html">vorbistag</a></span><span class="refpurpose"> — Retags vorbis streams</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-vorbistag.html">vorbistag</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-ximagesink.html">ximagesink</a></span><span class="refpurpose"> — A standard X based videosink</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-ximagesink.html">ximagesink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-xvimagesink.html">xvimagesink</a></span><span class="refpurpose"> — A Xv based videosink</span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-xvimagesink.html">xvimagesink</a></span><span class="refpurpose"></span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="ch02.html">gst-plugins-base Plugins</a></span></dt>
diff --git a/docs/plugins/html/index.sgml b/docs/plugins/html/index.sgml
index 2823ded..8d1276e 100644
--- a/docs/plugins/html/index.sgml
+++ b/docs/plugins/html/index.sgml
@@ -492,6 +492,8 @@
 <ANCHOR id="GstPlayBin--volume" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-playbin.html#GstPlayBin--volume">
 <ANCHOR id="GstPlayBin--audio-filter" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-playbin.html#GstPlayBin--audio-filter">
 <ANCHOR id="GstPlayBin--video-filter" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-playbin.html#GstPlayBin--video-filter">
+<ANCHOR id="GstPlayBin--video-multiview-flags" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-playbin.html#GstPlayBin--video-multiview-flags">
+<ANCHOR id="GstPlayBin--video-multiview-mode" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-playbin.html#GstPlayBin--video-multiview-mode">
 <ANCHOR id="gst-plugins-base-plugins-playbin.signal-details" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-playbin.html#gst-plugins-base-plugins-playbin.signal-details">
 <ANCHOR id="GstPlayBin-about-to-finish" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-playbin.html#GstPlayBin-about-to-finish">
 <ANCHOR id="GstPlayBin-audio-changed" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-playbin.html#GstPlayBin-audio-changed">
diff --git a/docs/plugins/inspect/plugin-adder.xml b/docs/plugins/inspect/plugin-adder.xml
index 4ab215e..3c5e203 100644
--- a/docs/plugins/inspect/plugin-adder.xml
+++ b/docs/plugins/inspect/plugin-adder.xml
@@ -3,7 +3,7 @@
   <description>Adds multiple streams</description>
   <filename>../../gst/adder/.libs/libgstadder.so</filename>
   <basename>libgstadder.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</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 7874b92..c82f279 100644
--- a/docs/plugins/inspect/plugin-alsa.xml
+++ b/docs/plugins/inspect/plugin-alsa.xml
@@ -3,7 +3,7 @@
   <description>ALSA plugin library</description>
   <filename>../../ext/alsa/.libs/libgstalsa.so</filename>
   <basename>libgstalsa.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</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 1484b7e..9c1b7bc 100644
--- a/docs/plugins/inspect/plugin-app.xml
+++ b/docs/plugins/inspect/plugin-app.xml
@@ -3,7 +3,7 @@
   <description>Elements used to communicate with applications</description>
   <filename>../../gst/app/.libs/libgstapp.so</filename>
   <basename>libgstapp.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</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 5d0f921..ff51de8 100644
--- a/docs/plugins/inspect/plugin-audioconvert.xml
+++ b/docs/plugins/inspect/plugin-audioconvert.xml
@@ -3,7 +3,7 @@
   <description>Convert audio to different formats</description>
   <filename>../../gst/audioconvert/.libs/libgstaudioconvert.so</filename>
   <basename>libgstaudioconvert.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</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 02ae0e3..0364c09 100644
--- a/docs/plugins/inspect/plugin-audiorate.xml
+++ b/docs/plugins/inspect/plugin-audiorate.xml
@@ -3,7 +3,7 @@
   <description>Adjusts audio frames</description>
   <filename>../../gst/audiorate/.libs/libgstaudiorate.so</filename>
   <basename>libgstaudiorate.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</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 2ac5693..eac44e9 100644
--- a/docs/plugins/inspect/plugin-audioresample.xml
+++ b/docs/plugins/inspect/plugin-audioresample.xml
@@ -3,7 +3,7 @@
   <description>Resamples audio</description>
   <filename>../../gst/audioresample/.libs/libgstaudioresample.so</filename>
   <basename>libgstaudioresample.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</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 9ebc58f..7c0b8a8 100644
--- a/docs/plugins/inspect/plugin-audiotestsrc.xml
+++ b/docs/plugins/inspect/plugin-audiotestsrc.xml
@@ -3,7 +3,7 @@
   <description>Creates audio test signals of given frequency and volume</description>
   <filename>../../gst/audiotestsrc/.libs/libgstaudiotestsrc.so</filename>
   <basename>libgstaudiotestsrc.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</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 3fec2c1..76f76d2 100644
--- a/docs/plugins/inspect/plugin-cdparanoia.xml
+++ b/docs/plugins/inspect/plugin-cdparanoia.xml
@@ -3,7 +3,7 @@
   <description>Read audio from CD in paranoid mode</description>
   <filename>../../ext/cdparanoia/.libs/libgstcdparanoia.so</filename>
   <basename>libgstcdparanoia.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</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 704e3ee..12a9225 100644
--- a/docs/plugins/inspect/plugin-encoding.xml
+++ b/docs/plugins/inspect/plugin-encoding.xml
@@ -3,7 +3,7 @@
   <description>various encoding-related elements</description>
   <filename>../../gst/encoding/.libs/libgstencodebin.so</filename>
   <basename>libgstencodebin.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</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 e88cde2..939de97 100644
--- a/docs/plugins/inspect/plugin-gio.xml
+++ b/docs/plugins/inspect/plugin-gio.xml
@@ -3,7 +3,7 @@
   <description>GIO elements</description>
   <filename>../../gst/gio/.libs/libgstgio.so</filename>
   <basename>libgstgio.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</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 5e7e892..de82646 100644
--- a/docs/plugins/inspect/plugin-libvisual.xml
+++ b/docs/plugins/inspect/plugin-libvisual.xml
@@ -3,7 +3,7 @@
   <description>libvisual visualization plugins</description>
   <filename>../../ext/libvisual/.libs/libgstlibvisual.so</filename>
   <basename>libgstlibvisual.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</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 4a23ebf..34c32bf 100644
--- a/docs/plugins/inspect/plugin-ogg.xml
+++ b/docs/plugins/inspect/plugin-ogg.xml
@@ -3,7 +3,7 @@
   <description>ogg stream manipulation (info about ogg: http://xiph.org)</description>
   <filename>../../ext/ogg/.libs/libgstogg.so</filename>
   <basename>libgstogg.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</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 0b72cf7..790f9b1 100644
--- a/docs/plugins/inspect/plugin-pango.xml
+++ b/docs/plugins/inspect/plugin-pango.xml
@@ -3,7 +3,7 @@
   <description>Pango-based text rendering and overlay</description>
   <filename>../../ext/pango/.libs/libgstpango.so</filename>
   <basename>libgstpango.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</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 1e2dcb6..0a0246e 100644
--- a/docs/plugins/inspect/plugin-playback.xml
+++ b/docs/plugins/inspect/plugin-playback.xml
@@ -3,7 +3,7 @@
   <description>various playback elements</description>
   <filename>../../gst/playback/.libs/libgstplayback.so</filename>
   <basename>libgstplayback.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</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 ec90bdc..83d980a 100644
--- a/docs/plugins/inspect/plugin-subparse.xml
+++ b/docs/plugins/inspect/plugin-subparse.xml
@@ -3,7 +3,7 @@
   <description>Subtitle parsing</description>
   <filename>../../gst/subparse/.libs/libgstsubparse.so</filename>
   <basename>libgstsubparse.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-tcp.xml b/docs/plugins/inspect/plugin-tcp.xml
index 1bafb8e..edff6ea 100644
--- a/docs/plugins/inspect/plugin-tcp.xml
+++ b/docs/plugins/inspect/plugin-tcp.xml
@@ -3,7 +3,7 @@
   <description>transfer data over the network via TCP</description>
   <filename>../../gst/tcp/.libs/libgsttcp.so</filename>
   <basename>libgsttcp.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</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 6ead57d..d194067 100644
--- a/docs/plugins/inspect/plugin-theora.xml
+++ b/docs/plugins/inspect/plugin-theora.xml
@@ -3,7 +3,7 @@
   <description>Theora plugin library</description>
   <filename>../../ext/theora/.libs/libgsttheora.so</filename>
   <basename>libgsttheora.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</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 a855478..f514c09 100644
--- a/docs/plugins/inspect/plugin-typefindfunctions.xml
+++ b/docs/plugins/inspect/plugin-typefindfunctions.xml
@@ -3,7 +3,7 @@
   <description>default typefind functions</description>
   <filename>../../gst/typefind/.libs/libgsttypefindfunctions.so</filename>
   <basename>libgsttypefindfunctions.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</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 99b7a75..b84534f 100644
--- a/docs/plugins/inspect/plugin-videoconvert.xml
+++ b/docs/plugins/inspect/plugin-videoconvert.xml
@@ -3,7 +3,7 @@
   <description>Colorspace conversion</description>
   <filename>../../gst/videoconvert/.libs/libgstvideoconvert.so</filename>
   <basename>libgstvideoconvert.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videorate.xml b/docs/plugins/inspect/plugin-videorate.xml
index b8a4c55..99d5859 100644
--- a/docs/plugins/inspect/plugin-videorate.xml
+++ b/docs/plugins/inspect/plugin-videorate.xml
@@ -3,7 +3,7 @@
   <description>Adjusts video frames</description>
   <filename>../../gst/videorate/.libs/libgstvideorate.so</filename>
   <basename>libgstvideorate.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</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 a35e3b5..664f0c3 100644
--- a/docs/plugins/inspect/plugin-videoscale.xml
+++ b/docs/plugins/inspect/plugin-videoscale.xml
@@ -3,7 +3,7 @@
   <description>Resizes video</description>
   <filename>../../gst/videoscale/.libs/libgstvideoscale.so</filename>
   <basename>libgstvideoscale.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</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 568d630..6fec0c2 100644
--- a/docs/plugins/inspect/plugin-videotestsrc.xml
+++ b/docs/plugins/inspect/plugin-videotestsrc.xml
@@ -3,7 +3,7 @@
   <description>Creates a test video stream</description>
   <filename>../../gst/videotestsrc/.libs/libgstvideotestsrc.so</filename>
   <basename>libgstvideotestsrc.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-volume.xml b/docs/plugins/inspect/plugin-volume.xml
index 15cf981..bf342f6 100644
--- a/docs/plugins/inspect/plugin-volume.xml
+++ b/docs/plugins/inspect/plugin-volume.xml
@@ -3,7 +3,7 @@
   <description>plugin for controlling audio volume</description>
   <filename>../../gst/volume/.libs/libgstvolume.so</filename>
   <basename>libgstvolume.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</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 8eabc7a..c4a3020 100644
--- a/docs/plugins/inspect/plugin-vorbis.xml
+++ b/docs/plugins/inspect/plugin-vorbis.xml
@@ -3,7 +3,7 @@
   <description>Vorbis plugin library</description>
   <filename>../../ext/vorbis/.libs/libgstvorbis.so</filename>
   <basename>libgstvorbis.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</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 c9bfe0b..f75c7a6 100644
--- a/docs/plugins/inspect/plugin-ximagesink.xml
+++ b/docs/plugins/inspect/plugin-ximagesink.xml
@@ -3,7 +3,7 @@
   <description>X11 video output element based on standard Xlib calls</description>
   <filename>../../sys/ximage/.libs/libgstximagesink.so</filename>
   <basename>libgstximagesink.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</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 d197a37..cff3be9 100644
--- a/docs/plugins/inspect/plugin-xvimagesink.xml
+++ b/docs/plugins/inspect/plugin-xvimagesink.xml
@@ -3,7 +3,7 @@
   <description>XFree86 video output plugin using Xv extension</description>
   <filename>../../sys/xvimage/.libs/libgstxvimagesink.so</filename>
   <basename>libgstxvimagesink.so</basename>
-  <version>1.5.1</version>
+  <version>1.5.2</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/ext/Makefile.in b/ext/Makefile.in
index ddd12a1..9af1d44 100644
--- a/ext/Makefile.in
+++ b/ext/Makefile.in
@@ -339,6 +339,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/ext/alsa/Makefile.in b/ext/alsa/Makefile.in
index 73beb3e..3695125 100644
--- a/ext/alsa/Makefile.in
+++ b/ext/alsa/Makefile.in
@@ -362,6 +362,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/ext/alsa/gstalsasink.c b/ext/alsa/gstalsasink.c
index 77fa0a1..cc72304 100644
--- a/ext/alsa/gstalsasink.c
+++ b/ext/alsa/gstalsasink.c
@@ -994,6 +994,7 @@
       GST_WARNING_OBJECT (alsa,
           "Can't recover from underrun, prepare failed: %s",
           snd_strerror (err));
+    gst_audio_base_sink_report_device_failure (GST_AUDIO_BASE_SINK (alsa));
     return 0;
   } else if (err == -ESTRPIPE) {
     while ((err = snd_pcm_resume (handle)) == -EAGAIN)
@@ -1006,6 +1007,8 @@
             "Can't recover from suspend, prepare failed: %s",
             snd_strerror (err));
     }
+    if (err == 0)
+      gst_audio_base_sink_report_device_failure (GST_AUDIO_BASE_SINK (alsa));
     return 0;
   }
   return err;
diff --git a/ext/cdparanoia/Makefile.in b/ext/cdparanoia/Makefile.in
index 7d5c831..f5221a8 100644
--- a/ext/cdparanoia/Makefile.in
+++ b/ext/cdparanoia/Makefile.in
@@ -362,6 +362,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/ext/libvisual/Makefile.in b/ext/libvisual/Makefile.in
index 62d6c08..4af10a6 100644
--- a/ext/libvisual/Makefile.in
+++ b/ext/libvisual/Makefile.in
@@ -363,6 +363,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/ext/libvisual/gstaudiovisualizer.c b/ext/libvisual/gstaudiovisualizer.c
index cbb3b53..805336d 100644
--- a/ext/libvisual/gstaudiovisualizer.c
+++ b/ext/libvisual/gstaudiovisualizer.c
@@ -1,5 +1,6 @@
 /* GStreamer
  * Copyright (C) <2011> Stefan Kost <ensonic@users.sf.net>
+ * Copyright (C) <2015> Luis de Bethencourt <luis@debethencourt.com>
  *
  * gstaudiovisualizer.h: base class for audio visualisation elements
  *
@@ -92,6 +93,48 @@
 static gboolean
 default_decide_allocation (GstAudioVisualizer * scope, GstQuery * query);
 
+#define GST_AUDIO_VISUALIZER_GET_PRIVATE(obj)  \
+    (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GST_TYPE_AUDIO_VISUALIZER, GstAudioVisualizerPrivate))
+
+struct _GstAudioVisualizerPrivate
+{
+  gboolean negotiated;
+
+  GstBufferPool *pool;
+  gboolean pool_active;
+  GstAllocator *allocator;
+  GstAllocationParams params;
+  GstQuery *query;
+
+  /* pads */
+  GstPad *srcpad, *sinkpad;
+
+  GstAudioVisualizerShader shader_type;
+  GstAudioVisualizerShaderFunc shader;
+  guint32 shade_amount;
+
+  GstAdapter *adapter;
+
+  GstBuffer *inbuf;
+  GstBuffer *tempbuf;
+  GstVideoFrame tempframe;
+
+  guint spf;                    /* samples per video frame */
+  guint64 frame_duration;
+
+  /* QoS stuff *//* with LOCK */
+  gdouble proportion;
+  GstClockTime earliest_time;
+
+  guint dropped;                /* frames dropped / not dropped */
+  guint processed;
+
+  /* configuration mutex */
+  GMutex config_lock;
+
+  GstSegment segment;
+};
+
 /* shading functions */
 
 #define GST_TYPE_AUDIO_VISUALIZER_SHADER (gst_audio_visualizer_shader_get_type())
@@ -159,9 +202,10 @@
     GstVideoFrame * dframe)
 {
   guint i, j;
-  guint r = (scope->shade_amount >> 16) & 0xff;
-  guint g = (scope->shade_amount >> 8) & 0xff;
-  guint b = (scope->shade_amount >> 0) & 0xff;
+  guint32 shade_amount = scope->priv->shade_amount;
+  guint r = (shade_amount >> 16) & 0xff;
+  guint g = (shade_amount >> 8) & 0xff;
+  guint b = (shade_amount >> 0) & 0xff;
   guint8 *s, *d;
   gint ss, ds, width, height;
 
@@ -187,9 +231,10 @@
     const GstVideoFrame * sframe, GstVideoFrame * dframe)
 {
   guint i, j;
-  guint r = (scope->shade_amount >> 16) & 0xff;
-  guint g = (scope->shade_amount >> 8) & 0xff;
-  guint b = (scope->shade_amount >> 0) & 0xff;
+  guint32 shade_amount = scope->priv->shade_amount;
+  guint r = (shade_amount >> 16) & 0xff;
+  guint g = (shade_amount >> 8) & 0xff;
+  guint b = (shade_amount >> 0) & 0xff;
   guint8 *s, *d;
   gint ss, ds, width, height;
 
@@ -215,9 +260,10 @@
     const GstVideoFrame * sframe, GstVideoFrame * dframe)
 {
   guint i, j;
-  guint r = (scope->shade_amount >> 16) & 0xff;
-  guint g = (scope->shade_amount >> 8) & 0xff;
-  guint b = (scope->shade_amount >> 0) & 0xff;
+  guint32 shade_amount = scope->priv->shade_amount;
+  guint r = (shade_amount >> 16) & 0xff;
+  guint g = (shade_amount >> 8) & 0xff;
+  guint b = (shade_amount >> 0) & 0xff;
   guint8 *s, *d;
   gint ss, ds, width, height;
 
@@ -243,9 +289,10 @@
     const GstVideoFrame * sframe, GstVideoFrame * dframe)
 {
   guint i, j;
-  guint r = (scope->shade_amount >> 16) & 0xff;
-  guint g = (scope->shade_amount >> 8) & 0xff;
-  guint b = (scope->shade_amount >> 0) & 0xff;
+  guint32 shade_amount = scope->priv->shade_amount;
+  guint r = (shade_amount >> 16) & 0xff;
+  guint g = (shade_amount >> 8) & 0xff;
+  guint b = (shade_amount >> 0) & 0xff;
   guint8 *s, *d;
   gint ss, ds, width, height;
 
@@ -275,9 +322,10 @@
     const GstVideoFrame * sframe, GstVideoFrame * dframe)
 {
   guint i, j;
-  guint r = (scope->shade_amount >> 16) & 0xff;
-  guint g = (scope->shade_amount >> 8) & 0xff;
-  guint b = (scope->shade_amount >> 0) & 0xff;
+  guint32 shade_amount = scope->priv->shade_amount;
+  guint r = (shade_amount >> 16) & 0xff;
+  guint g = (shade_amount >> 8) & 0xff;
+  guint b = (shade_amount >> 0) & 0xff;
   guint8 *s, *d;
   gint ss, ds, width, height;
 
@@ -307,9 +355,10 @@
     const GstVideoFrame * sframe, GstVideoFrame * dframe)
 {
   guint i, j;
-  guint r = (scope->shade_amount >> 16) & 0xff;
-  guint g = (scope->shade_amount >> 8) & 0xff;
-  guint b = (scope->shade_amount >> 0) & 0xff;
+  guint32 shade_amount = scope->priv->shade_amount;
+  guint r = (shade_amount >> 16) & 0xff;
+  guint g = (shade_amount >> 8) & 0xff;
+  guint b = (shade_amount >> 0) & 0xff;
   guint8 *s, *d;
   gint ss, ds, width, height;
 
@@ -344,9 +393,10 @@
     const GstVideoFrame * sframe, GstVideoFrame * dframe)
 {
   guint i, j;
-  guint r = (scope->shade_amount >> 16) & 0xff;
-  guint g = (scope->shade_amount >> 8) & 0xff;
-  guint b = (scope->shade_amount >> 0) & 0xff;
+  guint32 shade_amount = scope->priv->shade_amount;
+  guint r = (shade_amount >> 16) & 0xff;
+  guint g = (shade_amount >> 8) & 0xff;
+  guint b = (shade_amount >> 0) & 0xff;
   guint8 *s, *d;
   gint ss, ds, width, height;
 
@@ -381,9 +431,10 @@
     const GstVideoFrame * sframe, GstVideoFrame * dframe)
 {
   guint i, j;
-  guint r = (scope->shade_amount >> 16) & 0xff;
-  guint g = (scope->shade_amount >> 8) & 0xff;
-  guint b = (scope->shade_amount >> 0) & 0xff;
+  guint32 shade_amount = scope->priv->shade_amount;
+  guint r = (shade_amount >> 16) & 0xff;
+  guint g = (shade_amount >> 8) & 0xff;
+  guint b = (shade_amount >> 0) & 0xff;
   guint8 *s, *s1, *d, *d1;
   gint ss, ds, width, height;
 
@@ -416,9 +467,10 @@
     const GstVideoFrame * sframe, GstVideoFrame * dframe)
 {
   guint i, j;
-  guint r = (scope->shade_amount >> 16) & 0xff;
-  guint g = (scope->shade_amount >> 8) & 0xff;
-  guint b = (scope->shade_amount >> 0) & 0xff;
+  guint32 shade_amount = scope->priv->shade_amount;
+  guint r = (shade_amount >> 16) & 0xff;
+  guint g = (shade_amount >> 8) & 0xff;
+  guint b = (shade_amount >> 0) & 0xff;
   guint8 *s, *s1, *d, *d1;
   gint ss, ds, width, height;
 
@@ -449,63 +501,50 @@
 static void
 gst_audio_visualizer_change_shader (GstAudioVisualizer * scope)
 {
-  switch (scope->shader_type) {
+  GstAudioVisualizerShaderFunc shader;
+
+  switch (scope->priv->shader_type) {
     case GST_AUDIO_VISUALIZER_SHADER_NONE:
-      scope->shader = NULL;
+      shader = NULL;
       break;
     case GST_AUDIO_VISUALIZER_SHADER_FADE:
-      scope->shader = shader_fade;
+      shader = shader_fade;
       break;
     case GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_UP:
-      scope->shader = shader_fade_and_move_up;
+      shader = shader_fade_and_move_up;
       break;
     case GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_DOWN:
-      scope->shader = shader_fade_and_move_down;
+      shader = shader_fade_and_move_down;
       break;
     case GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_LEFT:
-      scope->shader = shader_fade_and_move_left;
+      shader = shader_fade_and_move_left;
       break;
     case GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_RIGHT:
-      scope->shader = shader_fade_and_move_right;
+      shader = shader_fade_and_move_right;
       break;
     case GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_HORIZ_OUT:
-      scope->shader = shader_fade_and_move_horiz_out;
+      shader = shader_fade_and_move_horiz_out;
       break;
     case GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_HORIZ_IN:
-      scope->shader = shader_fade_and_move_horiz_in;
+      shader = shader_fade_and_move_horiz_in;
       break;
     case GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_VERT_OUT:
-      scope->shader = shader_fade_and_move_vert_out;
+      shader = shader_fade_and_move_vert_out;
       break;
     case GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_VERT_IN:
-      scope->shader = shader_fade_and_move_vert_in;
+      shader = shader_fade_and_move_vert_in;
       break;
     default:
       GST_ERROR ("invalid shader function");
-      scope->shader = NULL;
+      shader = NULL;
       break;
   }
+
+  scope->priv->shader = shader;
 }
 
 /* base class */
 
-#define GST_AUDIO_VISUALIZER_GET_PRIVATE(obj)  \
-    (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GST_TYPE_AUDIO_VISUALIZER, GstAudioVisualizerPrivate))
-
-struct _GstAudioVisualizerPrivate
-{
-  gboolean negotiated;
-
-  GstBufferPool *pool;
-  gboolean pool_active;
-  GstAllocator *allocator;
-  GstAllocationParams params;
-  GstQuery *query;
-
-  guint dropped;                /* frames dropped / not dropped */
-  guint processed;
-};
-
 GType
 libvisual_gst_audio_visualizer_get_type (void)
 {
@@ -581,40 +620,40 @@
   pad_template =
       gst_element_class_get_pad_template (GST_ELEMENT_CLASS (g_class), "sink");
   g_return_if_fail (pad_template != NULL);
-  scope->sinkpad = gst_pad_new_from_template (pad_template, "sink");
-  gst_pad_set_chain_function (scope->sinkpad,
+  scope->priv->sinkpad = gst_pad_new_from_template (pad_template, "sink");
+  gst_pad_set_chain_function (scope->priv->sinkpad,
       GST_DEBUG_FUNCPTR (gst_audio_visualizer_chain));
-  gst_pad_set_event_function (scope->sinkpad,
+  gst_pad_set_event_function (scope->priv->sinkpad,
       GST_DEBUG_FUNCPTR (gst_audio_visualizer_sink_event));
-  gst_element_add_pad (GST_ELEMENT (scope), scope->sinkpad);
+  gst_element_add_pad (GST_ELEMENT (scope), scope->priv->sinkpad);
 
   pad_template =
       gst_element_class_get_pad_template (GST_ELEMENT_CLASS (g_class), "src");
   g_return_if_fail (pad_template != NULL);
-  scope->srcpad = gst_pad_new_from_template (pad_template, "src");
-  gst_pad_set_event_function (scope->srcpad,
+  scope->priv->srcpad = gst_pad_new_from_template (pad_template, "src");
+  gst_pad_set_event_function (scope->priv->srcpad,
       GST_DEBUG_FUNCPTR (gst_audio_visualizer_src_event));
-  gst_pad_set_query_function (scope->srcpad,
+  gst_pad_set_query_function (scope->priv->srcpad,
       GST_DEBUG_FUNCPTR (gst_audio_visualizer_src_query));
-  gst_element_add_pad (GST_ELEMENT (scope), scope->srcpad);
+  gst_element_add_pad (GST_ELEMENT (scope), scope->priv->srcpad);
 
-  scope->adapter = gst_adapter_new ();
-  scope->inbuf = gst_buffer_new ();
+  scope->priv->adapter = gst_adapter_new ();
+  scope->priv->inbuf = gst_buffer_new ();
 
   /* properties */
-  scope->shader_type = DEFAULT_SHADER;
+  scope->priv->shader_type = DEFAULT_SHADER;
   gst_audio_visualizer_change_shader (scope);
-  scope->shade_amount = DEFAULT_SHADE_AMOUNT;
+  scope->priv->shade_amount = DEFAULT_SHADE_AMOUNT;
 
   /* reset the initial video state */
   gst_video_info_init (&scope->vinfo);
-  scope->frame_duration = GST_CLOCK_TIME_NONE;
+  scope->priv->frame_duration = GST_CLOCK_TIME_NONE;
 
   /* reset the initial state */
   gst_audio_info_init (&scope->ainfo);
   gst_video_info_init (&scope->vinfo);
 
-  g_mutex_init (&scope->config_lock);
+  g_mutex_init (&scope->priv->config_lock);
 }
 
 static void
@@ -625,11 +664,11 @@
 
   switch (prop_id) {
     case PROP_SHADER:
-      scope->shader_type = g_value_get_enum (value);
+      scope->priv->shader_type = g_value_get_enum (value);
       gst_audio_visualizer_change_shader (scope);
       break;
     case PROP_SHADE_AMOUNT:
-      scope->shade_amount = g_value_get_uint (value);
+      scope->priv->shade_amount = g_value_get_uint (value);
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -645,10 +684,10 @@
 
   switch (prop_id) {
     case PROP_SHADER:
-      g_value_set_enum (value, scope->shader_type);
+      g_value_set_enum (value, scope->priv->shader_type);
       break;
     case PROP_SHADE_AMOUNT:
-      g_value_set_uint (value, scope->shade_amount);
+      g_value_set_uint (value, scope->priv->shade_amount);
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -660,22 +699,23 @@
 gst_audio_visualizer_finalize (GObject * object)
 {
   GstAudioVisualizer *scope = GST_AUDIO_VISUALIZER (object);
+  GstAudioVisualizerPrivate *priv = scope->priv;
 
-  if (scope->adapter) {
-    g_object_unref (scope->adapter);
-    scope->adapter = NULL;
+  if (priv->adapter) {
+    g_object_unref (priv->adapter);
+    priv->adapter = NULL;
   }
-  if (scope->inbuf) {
-    gst_buffer_unref (scope->inbuf);
-    scope->inbuf = NULL;
+  if (priv->inbuf) {
+    gst_buffer_unref (priv->inbuf);
+    priv->inbuf = NULL;
   }
-  if (scope->tempbuf) {
-    gst_video_frame_unmap (&scope->tempframe);
-    gst_buffer_unref (scope->tempbuf);
-    scope->tempbuf = NULL;
+  if (priv->tempbuf) {
+    gst_video_frame_unmap (&priv->tempframe);
+    gst_buffer_unref (priv->tempbuf);
+    priv->tempbuf = NULL;
   }
 
-  g_mutex_clear (&scope->config_lock);
+  g_mutex_clear (&priv->config_lock);
 
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
@@ -683,14 +723,16 @@
 static void
 gst_audio_visualizer_reset (GstAudioVisualizer * scope)
 {
-  gst_adapter_clear (scope->adapter);
-  gst_segment_init (&scope->segment, GST_FORMAT_UNDEFINED);
+  GstAudioVisualizerPrivate *priv = scope->priv;
+
+  gst_adapter_clear (priv->adapter);
+  gst_segment_init (&priv->segment, GST_FORMAT_UNDEFINED);
 
   GST_OBJECT_LOCK (scope);
-  scope->proportion = 1.0;
-  scope->earliest_time = -1;
-  scope->priv->dropped = 0;
-  scope->priv->processed = 0;
+  priv->proportion = 1.0;
+  priv->earliest_time = -1;
+  priv->dropped = 0;
+  priv->processed = 0;
   GST_OBJECT_UNLOCK (scope);
 }
 
@@ -731,6 +773,7 @@
 {
   GstVideoInfo info;
   GstAudioVisualizerClass *klass;
+  GstAudioVisualizerPrivate *priv;
   gboolean res;
 
   if (!gst_video_info_from_caps (&info, caps))
@@ -738,21 +781,23 @@
 
   klass = GST_AUDIO_VISUALIZER_CLASS (G_OBJECT_GET_CLASS (scope));
 
+  priv = scope->priv;
+
   scope->vinfo = info;
 
-  scope->frame_duration = gst_util_uint64_scale_int (GST_SECOND,
+  priv->frame_duration = gst_util_uint64_scale_int (GST_SECOND,
       GST_VIDEO_INFO_FPS_D (&info), GST_VIDEO_INFO_FPS_N (&info));
-  scope->spf = gst_util_uint64_scale_int (GST_AUDIO_INFO_RATE (&scope->ainfo),
+  priv->spf = gst_util_uint64_scale_int (GST_AUDIO_INFO_RATE (&scope->ainfo),
       GST_VIDEO_INFO_FPS_D (&info), GST_VIDEO_INFO_FPS_N (&info));
-  scope->req_spf = scope->spf;
+  scope->req_spf = priv->spf;
 
-  if (scope->tempbuf) {
-    gst_video_frame_unmap (&scope->tempframe);
-    gst_buffer_unref (scope->tempbuf);
+  if (priv->tempbuf) {
+    gst_video_frame_unmap (&priv->tempframe);
+    gst_buffer_unref (priv->tempbuf);
   }
-  scope->tempbuf = gst_buffer_new_wrapped (g_malloc0 (scope->vinfo.size),
+  priv->tempbuf = gst_buffer_new_wrapped (g_malloc0 (scope->vinfo.size),
       scope->vinfo.size);
-  gst_video_frame_map (&scope->tempframe, &scope->vinfo, scope->tempbuf,
+  gst_video_frame_map (&priv->tempframe, &scope->vinfo, priv->tempbuf,
       GST_MAP_READWRITE);
 
   if (klass->setup && !klass->setup (scope))
@@ -761,10 +806,10 @@
   GST_DEBUG_OBJECT (scope, "video: dimension %dx%d, framerate %d/%d",
       GST_VIDEO_INFO_WIDTH (&info), GST_VIDEO_INFO_HEIGHT (&info),
       GST_VIDEO_INFO_FPS_N (&info), GST_VIDEO_INFO_FPS_D (&info));
-  GST_DEBUG_OBJECT (scope, "blocks: spf %u, req_spf %u",
-      scope->spf, scope->req_spf);
+  GST_DEBUG_OBJECT (scope, "blocks: spf %u, req_spf %u", priv->spf,
+      scope->req_spf);
 
-  gst_pad_set_caps (scope->srcpad, caps);
+  gst_pad_set_caps (priv->srcpad, caps);
 
   /* find a pool for the negotiated caps now */
   res = gst_audio_visualizer_do_bufferpool (scope, caps);
@@ -795,12 +840,12 @@
   GstCaps *templ;
   gboolean ret;
 
-  templ = gst_pad_get_pad_template_caps (scope->srcpad);
+  templ = gst_pad_get_pad_template_caps (scope->priv->srcpad);
 
   GST_DEBUG_OBJECT (scope, "performing negotiation");
 
   /* see what the peer can do */
-  othercaps = gst_pad_peer_query_caps (scope->srcpad, NULL);
+  othercaps = gst_pad_peer_query_caps (scope->priv->srcpad, NULL);
   if (othercaps) {
     target = gst_caps_intersect (othercaps, templ);
     gst_caps_unref (othercaps);
@@ -893,7 +938,7 @@
   GST_DEBUG_OBJECT (scope, "doing allocation query");
   query = gst_query_new_allocation (outcaps, TRUE);
 
-  if (!gst_pad_peer_query (scope->srcpad, query)) {
+  if (!gst_pad_peer_query (scope->priv->srcpad, query)) {
     /* not a problem, we use the query defaults */
     GST_DEBUG_OBJECT (scope, "allocation query failed");
   }
@@ -1040,6 +1085,7 @@
 {
   GstFlowReturn ret = GST_FLOW_OK;
   GstAudioVisualizer *scope;
+  GstAudioVisualizerPrivate *priv;
   GstAudioVisualizerClass *klass;
   GstBuffer *inbuf;
   guint64 dist, ts;
@@ -1048,19 +1094,20 @@
   gint bps, channels, rate;
 
   scope = GST_AUDIO_VISUALIZER (parent);
+  priv = scope->priv;
   klass = GST_AUDIO_VISUALIZER_CLASS (G_OBJECT_GET_CLASS (scope));
 
   GST_LOG_OBJECT (scope, "chainfunc called");
 
   /* resync on DISCONT */
   if (GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_FLAG_DISCONT)) {
-    gst_adapter_clear (scope->adapter);
+    gst_adapter_clear (priv->adapter);
   }
 
   /* Make sure have an output format */
-  if (gst_pad_check_reconfigure (scope->srcpad)) {
+  if (gst_pad_check_reconfigure (priv->srcpad)) {
     if (!gst_audio_visualizer_src_negotiate (scope)) {
-      gst_pad_mark_reconfigure (scope->srcpad);
+      gst_pad_mark_reconfigure (priv->srcpad);
       goto not_negotiated;
     }
   }
@@ -1074,26 +1121,26 @@
     goto beach;
   }
 
-  gst_adapter_push (scope->adapter, buffer);
+  gst_adapter_push (priv->adapter, buffer);
 
-  g_mutex_lock (&scope->config_lock);
+  g_mutex_lock (&priv->config_lock);
 
   /* this is what we want */
   sbpf = scope->req_spf * channels * sizeof (gint16);
 
-  inbuf = scope->inbuf;
+  inbuf = priv->inbuf;
   /* FIXME: the timestamp in the adapter would be different */
   gst_buffer_copy_into (inbuf, buffer, GST_BUFFER_COPY_METADATA, 0, -1);
 
   /* this is what we have */
-  avail = gst_adapter_available (scope->adapter);
+  avail = gst_adapter_available (priv->adapter);
   GST_LOG_OBJECT (scope, "avail: %u, bpf: %u", avail, sbpf);
   while (avail >= sbpf) {
     GstBuffer *outbuf;
     GstVideoFrame outframe;
 
     /* get timestamp of the current adapter content */
-    ts = gst_adapter_prev_pts (scope->adapter, &dist);
+    ts = gst_adapter_prev_pts (priv->adapter, &dist);
     if (GST_CLOCK_TIME_IS_VALID (ts)) {
       /* convert bytes to time */
       dist /= bps;
@@ -1107,12 +1154,12 @@
       gint64 qostime;
 
       qostime =
-          gst_segment_to_running_time (&scope->segment, GST_FORMAT_TIME, ts) +
-          scope->frame_duration;
+          gst_segment_to_running_time (&priv->segment, GST_FORMAT_TIME,
+          ts) + priv->frame_duration;
 
       GST_OBJECT_LOCK (scope);
-      earliest_time = scope->earliest_time;
-      proportion = scope->proportion;
+      earliest_time = priv->earliest_time;
+      proportion = priv->proportion;
       GST_OBJECT_UNLOCK (scope);
 
       if (GST_CLOCK_TIME_IS_VALID (earliest_time) && qostime <= earliest_time) {
@@ -1123,26 +1170,26 @@
             "QoS: skip ts: %" GST_TIME_FORMAT ", earliest: %" GST_TIME_FORMAT,
             GST_TIME_ARGS (qostime), GST_TIME_ARGS (earliest_time));
 
-        ++scope->priv->dropped;
-        stream_time = gst_segment_to_stream_time (&scope->segment,
+        ++priv->dropped;
+        stream_time = gst_segment_to_stream_time (&priv->segment,
             GST_FORMAT_TIME, ts);
         jitter = GST_CLOCK_DIFF (qostime, earliest_time);
         qos_msg = gst_message_new_qos (GST_OBJECT (scope), FALSE, qostime,
             stream_time, ts, GST_BUFFER_DURATION (buffer));
         gst_message_set_qos_values (qos_msg, jitter, proportion, 1000000);
         gst_message_set_qos_stats (qos_msg, GST_FORMAT_BUFFERS,
-            scope->priv->processed, scope->priv->dropped);
+            priv->processed, priv->dropped);
         gst_element_post_message (GST_ELEMENT (scope), qos_msg);
 
         goto skip;
       }
     }
 
-    ++scope->priv->processed;
+    ++priv->processed;
 
-    g_mutex_unlock (&scope->config_lock);
+    g_mutex_unlock (&priv->config_lock);
     ret = default_prepare_output_buffer (scope, &outbuf);
-    g_mutex_lock (&scope->config_lock);
+    g_mutex_lock (&priv->config_lock);
     /* recheck as the value could have changed */
     sbpf = scope->req_spf * channels * sizeof (gint16);
 
@@ -1155,16 +1202,16 @@
       gst_object_sync_values (GST_OBJECT (scope), ts);
 
     GST_BUFFER_TIMESTAMP (outbuf) = ts;
-    GST_BUFFER_DURATION (outbuf) = scope->frame_duration;
+    GST_BUFFER_DURATION (outbuf) = priv->frame_duration;
 
     /* this can fail as the data size we need could have changed */
-    if (!(adata = (gpointer) gst_adapter_map (scope->adapter, sbpf)))
+    if (!(adata = (gpointer) gst_adapter_map (priv->adapter, sbpf)))
       break;
 
     gst_video_frame_map (&outframe, &scope->vinfo, outbuf, GST_MAP_READWRITE);
 
-    if (scope->shader) {
-      gst_video_frame_copy (&outframe, &scope->tempframe);
+    if (priv->shader) {
+      gst_video_frame_copy (&outframe, &priv->tempframe);
     } else {
       /* gst_video_frame_clear() or is output frame already cleared */
       gint i;
@@ -1187,18 +1234,17 @@
       } else {
         /* run various post processing (shading and geometric transformation) */
         /* FIXME: SHADER assumes 32bpp */
-        if (scope->shader &&
-            GST_VIDEO_INFO_COMP_PSTRIDE (&scope->vinfo, 0) == 4) {
-          scope->shader (scope, &outframe, &scope->tempframe);
+        if (priv->shader && GST_VIDEO_INFO_COMP_PSTRIDE (&scope->vinfo, 0) == 4) {
+          priv->shader (scope, &outframe, &priv->tempframe);
         }
       }
     }
     gst_video_frame_unmap (&outframe);
 
-    g_mutex_unlock (&scope->config_lock);
-    ret = gst_pad_push (scope->srcpad, outbuf);
+    g_mutex_unlock (&priv->config_lock);
+    ret = gst_pad_push (priv->srcpad, outbuf);
     outbuf = NULL;
-    g_mutex_lock (&scope->config_lock);
+    g_mutex_lock (&priv->config_lock);
 
   skip:
     /* recheck as the value could have changed */
@@ -1206,21 +1252,21 @@
     GST_LOG_OBJECT (scope, "avail: %u, bpf: %u", avail, sbpf);
     /* we want to take less or more, depending on spf : req_spf */
     if (avail - sbpf >= sbpf) {
-      gst_adapter_flush (scope->adapter, sbpf);
-      gst_adapter_unmap (scope->adapter);
+      gst_adapter_flush (priv->adapter, sbpf);
+      gst_adapter_unmap (priv->adapter);
     } else if (avail >= sbpf) {
       /* just flush a bit and stop */
-      gst_adapter_flush (scope->adapter, (avail - sbpf));
-      gst_adapter_unmap (scope->adapter);
+      gst_adapter_flush (priv->adapter, (avail - sbpf));
+      gst_adapter_unmap (priv->adapter);
       break;
     }
-    avail = gst_adapter_available (scope->adapter);
+    avail = gst_adapter_available (priv->adapter);
 
     if (ret != GST_FLOW_OK)
       break;
   }
 
-  g_mutex_unlock (&scope->config_lock);
+  g_mutex_unlock (&priv->config_lock);
 
 beach:
   return ret;
@@ -1239,8 +1285,10 @@
 {
   gboolean res;
   GstAudioVisualizer *scope;
+  GstAudioVisualizerPrivate *priv;
 
   scope = GST_AUDIO_VISUALIZER (parent);
+  priv = scope->priv;
 
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_QOS:
@@ -1253,16 +1301,16 @@
 
       /* save stuff for the _chain() function */
       GST_OBJECT_LOCK (scope);
-      scope->proportion = proportion;
+      priv->proportion = proportion;
       if (diff >= 0)
         /* we're late, this is a good estimate for next displayable
          * frame (see part-qos.txt) */
-        scope->earliest_time = timestamp + 2 * diff + scope->frame_duration;
+        priv->earliest_time = timestamp + 2 * diff + priv->frame_duration;
       else
-        scope->earliest_time = timestamp + diff;
+        priv->earliest_time = timestamp + diff;
       GST_OBJECT_UNLOCK (scope);
 
-      res = gst_pad_push_event (scope->sinkpad, event);
+      res = gst_pad_push_event (priv->sinkpad, event);
       break;
     }
     case GST_EVENT_RECONFIGURE:
@@ -1299,16 +1347,16 @@
     }
     case GST_EVENT_FLUSH_STOP:
       gst_audio_visualizer_reset (scope);
-      res = gst_pad_push_event (scope->srcpad, event);
+      res = gst_pad_push_event (scope->priv->srcpad, event);
       break;
     case GST_EVENT_SEGMENT:
     {
       /* the newsegment values are used to clip the input samples
        * and to convert the incomming timestamps to running time so
        * we can do QoS */
-      gst_event_copy_segment (event, &scope->segment);
+      gst_event_copy_segment (event, &scope->priv->segment);
 
-      res = gst_pad_push_event (scope->srcpad, event);
+      res = gst_pad_push_event (scope->priv->srcpad, event);
       break;
     }
     default:
@@ -1342,7 +1390,7 @@
       if (rate == 0)
         break;
 
-      if ((res = gst_pad_peer_query (scope->sinkpad, query))) {
+      if ((res = gst_pad_peer_query (scope->priv->sinkpad, query))) {
         gst_query_parse_latency (query, &us_live, &min_latency, &max_latency);
 
         GST_DEBUG_OBJECT (scope, "Peer latency: min %"
@@ -1350,7 +1398,7 @@
             GST_TIME_ARGS (min_latency), GST_TIME_ARGS (max_latency));
 
         /* the max samples we must buffer buffer */
-        max_samples = MAX (scope->req_spf, scope->spf);
+        max_samples = MAX (scope->req_spf, scope->priv->spf);
         our_latency = gst_util_uint64_scale_int (max_samples, GST_SECOND, rate);
 
         GST_DEBUG_OBJECT (scope, "Our latency: %" GST_TIME_FORMAT,
diff --git a/ext/libvisual/gstaudiovisualizer.h b/ext/libvisual/gstaudiovisualizer.h
index e17a914..9dbf0bc 100644
--- a/ext/libvisual/gstaudiovisualizer.h
+++ b/ext/libvisual/gstaudiovisualizer.h
@@ -1,5 +1,6 @@
 /* GStreamer
  * Copyright (C) <2011> Stefan Kost <ensonic@users.sf.net>
+ * Copyright (C) <2015> Luis de Bethencourt <luis@debethencourt.com>
  *
  * gstaudiovisualizer.c: base class for audio visualisation elements
  *
@@ -74,37 +75,14 @@
 {
   GstElement parent;
 
-  /* pads */
-  GstPad *srcpad, *sinkpad;
-
-  GstAdapter *adapter;
-  GstBuffer *inbuf;
-  GstBuffer *tempbuf;
-  GstVideoFrame tempframe;
-
-  GstAudioVisualizerShader shader_type;
-  GstAudioVisualizerShaderFunc shader;
-  guint32 shade_amount;
-
-  guint spf;                    /* samples per video frame */
   guint req_spf;                /* min samples per frame wanted by the subclass */
 
   /* video state */
   GstVideoInfo vinfo;
-  guint64 frame_duration;
 
   /* audio state */
   GstAudioInfo ainfo;
 
-  /* configuration mutex */
-  GMutex config_lock;
-
-  /* QoS stuff *//* with LOCK */
-  gdouble proportion;
-  GstClockTime earliest_time;
-
-  GstSegment segment;
-
   /* <private> */
   GstAudioVisualizerPrivate *priv;
 };
diff --git a/ext/ogg/Makefile.in b/ext/ogg/Makefile.in
index ec5dfea..553b7fa 100644
--- a/ext/ogg/Makefile.in
+++ b/ext/ogg/Makefile.in
@@ -367,6 +367,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/ext/ogg/gstoggdemux.c b/ext/ogg/gstoggdemux.c
index 34f472c..b758934 100644
--- a/ext/ogg/gstoggdemux.c
+++ b/ext/ogg/gstoggdemux.c
@@ -2775,6 +2775,8 @@
   /* if we cannot seek back to the chain, we can destroy the chain 
    * completely */
   if (!ogg->pullmode) {
+    if (ogg->building_chain == chain)
+      ogg->building_chain = NULL;
     gst_ogg_chain_free (chain);
   }
 
diff --git a/ext/pango/Makefile.in b/ext/pango/Makefile.in
index be830dd..86f983a 100644
--- a/ext/pango/Makefile.in
+++ b/ext/pango/Makefile.in
@@ -365,6 +365,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/ext/pango/gstbasetextoverlay.c b/ext/pango/gstbasetextoverlay.c
index e76e2d2..301db50 100644
--- a/ext/pango/gstbasetextoverlay.c
+++ b/ext/pango/gstbasetextoverlay.c
@@ -62,6 +62,8 @@
 #define DEFAULT_PROP_WAIT_TEXT	TRUE
 #define DEFAULT_PROP_AUTO_ADJUST_SIZE TRUE
 #define DEFAULT_PROP_VERTICAL_RENDER  FALSE
+#define DEFAULT_PROP_DRAW_SHADOW TRUE
+#define DEFAULT_PROP_DRAW_OUTLINE TRUE
 #define DEFAULT_PROP_COLOR      0xffffffff
 #define DEFAULT_PROP_OUTLINE_COLOR 0xff000000
 #define DEFAULT_PROP_SHADING_VALUE    80
@@ -91,7 +93,8 @@
   PROP_AUTO_ADJUST_SIZE,
   PROP_VERTICAL_RENDER,
   PROP_COLOR,
-  PROP_SHADOW,
+  PROP_DRAW_SHADOW,
+  PROP_DRAW_OUTLINE,
   PROP_OUTLINE_COLOR,
   PROP_LAST
 };
@@ -458,6 +461,30 @@
           DEFAULT_PROP_SILENT,
           G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
   /**
+   * GstBaseTextOverlay:draw-shadow:
+   *
+   * If set, a text shadow is drawn.
+   *
+   * Since: 1.6
+   */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_DRAW_SHADOW,
+      g_param_spec_boolean ("draw-shadow", "draw-shadow",
+          "Whether to draw shadow",
+          DEFAULT_PROP_DRAW_SHADOW,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  /**
+   * GstBaseTextOverlay:draw-outline:
+   *
+   * If set, an outline is drawn.
+   *
+   * Since: 1.6
+   */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_DRAW_OUTLINE,
+      g_param_spec_boolean ("draw-outline", "draw-outline",
+          "Whether to draw outline",
+          DEFAULT_PROP_DRAW_OUTLINE,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  /**
    * GstBaseTextOverlay:wait-text:
    *
    * If set, the video will block until a subtitle is received on the text pad.
@@ -588,6 +615,8 @@
   overlay->want_shading = DEFAULT_PROP_SHADING;
   overlay->shading_value = DEFAULT_PROP_SHADING_VALUE;
   overlay->silent = DEFAULT_PROP_SILENT;
+  overlay->draw_shadow = DEFAULT_PROP_DRAW_SHADOW;
+  overlay->draw_outline = DEFAULT_PROP_DRAW_OUTLINE;
   overlay->wait_text = DEFAULT_PROP_WAIT_TEXT;
   overlay->auto_adjust_size = DEFAULT_PROP_AUTO_ADJUST_SIZE;
 
@@ -669,14 +698,13 @@
 static gboolean
 gst_base_text_overlay_negotiate (GstBaseTextOverlay * overlay, GstCaps * caps)
 {
-  GstQuery *query;
+  gboolean upstream_has_meta = FALSE;
+  gboolean caps_has_meta = FALSE;
+  gboolean alloc_has_meta = FALSE;
   gboolean attach = FALSE;
-  gboolean caps_has_meta = TRUE;
-  gboolean ret;
+  gboolean ret = TRUE;
   GstCapsFeatures *f;
-  GstCaps *original_caps;
-  gboolean original_has_meta = FALSE;
-  gboolean allocation_ret = TRUE;
+  GstCaps *overlay_caps;
 
   GST_DEBUG_OBJECT (overlay, "performing negotiation");
 
@@ -688,76 +716,77 @@
   if (!caps || gst_caps_is_empty (caps))
     goto no_format;
 
-  original_caps = caps;
+  /* Check if upstream caps have meta */
+  if ((f = gst_caps_get_features (caps, 0))) {
+    caps_has_meta = gst_caps_features_contains (f,
+        GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION);
+  }
 
-  /* Try to use the overlay meta if possible */
-  f = gst_caps_get_features (caps, 0);
+  if (upstream_has_meta) {
+    overlay_caps = gst_caps_ref (caps);
+  } else {
+    GstQuery *query;
 
-  /* if the caps doesn't have the overlay meta, we query if downstream
-   * accepts it before trying the version without the meta
-   * If upstream already is using the meta then we can only use it */
-  if (!f
-      || !gst_caps_features_contains (f,
-          GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION)) {
-    GstCaps *overlay_caps;
+    /* First check if the allocation meta has compositon */
+    query = gst_query_new_allocation (caps, FALSE);
 
-    /* In this case we added the meta, but we can work without it
-     * so preserve the original caps so we can use it as a fallback */
+    if (!gst_pad_peer_query (overlay->srcpad, query)) {
+      /* no problem, we use the query defaults */
+      GST_DEBUG_OBJECT (overlay, "ALLOCATION query failed");
+
+      /* In case we were flushing, mark reconfigure and fail this method,
+       * will make it retry */
+      if (overlay->video_flushing)
+        ret = FALSE;
+    }
+
+    alloc_has_meta = gst_query_find_allocation_meta (query,
+        GST_VIDEO_OVERLAY_COMPOSITION_META_API_TYPE, NULL);
+
+    gst_query_unref (query);
+
+    /* Then check if downstream accept overlay composition in caps */
     overlay_caps = gst_caps_copy (caps);
 
     f = gst_caps_get_features (overlay_caps, 0);
     gst_caps_features_add (f,
         GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION);
 
-    ret = gst_pad_peer_query_accept_caps (overlay->srcpad, overlay_caps);
-    GST_DEBUG_OBJECT (overlay, "Downstream accepts the overlay meta: %d", ret);
-    if (ret) {
-      gst_caps_unref (caps);
-      caps = overlay_caps;
+    caps_has_meta = gst_pad_peer_query_accept_caps (overlay->srcpad,
+        overlay_caps);
+  }
 
+  /* For backward compatbility, we will prefer bliting if downstream
+   * allocation does not support the meta. In other case we will prefer
+   * attaching, and will fail the negotiation in the unlikely case we are
+   * force to blit, but format isn't supported. */
+
+  if (upstream_has_meta) {
+    attach = TRUE;
+  } else if (caps_has_meta) {
+    if (alloc_has_meta) {
+      attach = TRUE;
     } else {
-      /* fallback to the original */
-      gst_caps_unref (overlay_caps);
-      caps_has_meta = FALSE;
+      /* Don't attach unless we cannot handle the format */
+      attach = !gst_base_text_overlay_can_handle_caps (caps);
     }
   } else {
-    original_has_meta = TRUE;
+    ret = gst_base_text_overlay_can_handle_caps (caps);
   }
-  GST_DEBUG_OBJECT (overlay, "Using caps %" GST_PTR_FORMAT, caps);
-  ret = gst_pad_set_caps (overlay->srcpad, caps);
 
+  /* If we attach, then pick the overlay caps */
+  if (attach) {
+    gst_caps_unref (caps);
+    caps = overlay_caps;
+  } else {
+    gst_caps_unref (overlay_caps);
+  }
+
+  /* If negotiation worked, set the caps and remember to attach */
   if (ret) {
-    /* find supported meta */
-    query = gst_query_new_allocation (caps, FALSE);
-
-    if (!gst_pad_peer_query (overlay->srcpad, query)) {
-      /* no problem, we use the query defaults */
-      GST_DEBUG_OBJECT (overlay, "ALLOCATION query failed");
-      allocation_ret = FALSE;
-    }
-
-    if (caps_has_meta && gst_query_find_allocation_meta (query,
-            GST_VIDEO_OVERLAY_COMPOSITION_META_API_TYPE, NULL))
-      attach = TRUE;
-
-    gst_query_unref (query);
-  }
-
-  overlay->attach_compo_to_buffer = attach;
-
-  if (!allocation_ret && overlay->video_flushing) {
-    ret = FALSE;
-  } else if (original_caps && !original_has_meta && !attach) {
-    if (caps_has_meta) {
-      /* Some elements (fakesink) claim to accept the meta on caps but won't
-         put it in the allocation query result, this leads below
-         check to fail. Prevent this by removing the meta from caps */
-      gst_caps_unref (caps);
-      caps = gst_caps_ref (original_caps);
-      ret = gst_pad_set_caps (overlay->srcpad, caps);
-      if (ret && !gst_base_text_overlay_can_handle_caps (caps))
-        ret = FALSE;
-    }
+    GST_DEBUG_OBJECT (overlay, "Using caps %" GST_PTR_FORMAT, caps);
+    overlay->attach_compo_to_buffer = attach;
+    ret = gst_pad_set_caps (overlay->srcpad, caps);
   }
 
   if (!ret) {
@@ -909,6 +938,12 @@
     case PROP_SILENT:
       overlay->silent = g_value_get_boolean (value);
       break;
+    case PROP_DRAW_SHADOW:
+      overlay->draw_shadow = g_value_get_boolean (value);
+      break;
+    case PROP_DRAW_OUTLINE:
+      overlay->draw_outline = g_value_get_boolean (value);
+      break;
     case PROP_LINE_ALIGNMENT:
       overlay->line_align = g_value_get_enum (value);
       g_mutex_lock (GST_BASE_TEXT_OVERLAY_GET_CLASS (overlay)->pango_lock);
@@ -986,6 +1021,12 @@
     case PROP_SILENT:
       g_value_set_boolean (value, overlay->silent);
       break;
+    case PROP_DRAW_SHADOW:
+      g_value_set_boolean (value, overlay->draw_shadow);
+      break;
+    case PROP_DRAW_OUTLINE:
+      g_value_set_boolean (value, overlay->draw_outline);
+      break;
     case PROP_LINE_ALIGNMENT:
       g_value_set_enum (value, overlay->line_align);
       break;
@@ -1513,7 +1554,7 @@
    */
 
   /* draw shadow text */
-  {
+  if (overlay->draw_shadow) {
     PangoAttrList *origin_attr, *filtered_attr, *temp_attr;
 
     /* Store a ref on the original attributes for later restoration */
@@ -1538,18 +1579,20 @@
     cairo_restore (cr);
   }
 
-  a = (overlay->outline_color >> 24) & 0xff;
-  r = (overlay->outline_color >> 16) & 0xff;
-  g = (overlay->outline_color >> 8) & 0xff;
-  b = (overlay->outline_color >> 0) & 0xff;
-
   /* draw outline text */
-  cairo_save (cr);
-  cairo_set_source_rgba (cr, r / 255.0, g / 255.0, b / 255.0, a / 255.0);
-  cairo_set_line_width (cr, overlay->outline_offset);
-  pango_cairo_layout_path (cr, overlay->layout);
-  cairo_stroke (cr);
-  cairo_restore (cr);
+  if (overlay->draw_outline) {
+    a = (overlay->outline_color >> 24) & 0xff;
+    r = (overlay->outline_color >> 16) & 0xff;
+    g = (overlay->outline_color >> 8) & 0xff;
+    b = (overlay->outline_color >> 0) & 0xff;
+
+    cairo_save (cr);
+    cairo_set_source_rgba (cr, r / 255.0, g / 255.0, b / 255.0, a / 255.0);
+    cairo_set_line_width (cr, overlay->outline_offset);
+    pango_cairo_layout_path (cr, overlay->layout);
+    cairo_stroke (cr);
+    cairo_restore (cr);
+  }
 
   a = (overlay->color >> 24) & 0xff;
   r = (overlay->color >> 16) & 0xff;
diff --git a/ext/pango/gstbasetextoverlay.h b/ext/pango/gstbasetextoverlay.h
index 4eac45e..3409c9e 100644
--- a/ext/pango/gstbasetextoverlay.h
+++ b/ext/pango/gstbasetextoverlay.h
@@ -173,6 +173,9 @@
     gboolean                 auto_adjust_size;
     gboolean                 need_render;
 
+    gboolean                 draw_shadow;
+    gboolean                 draw_outline;
+
     gint                     shading_value;  /* for timeoverlay subclass */
 
     gboolean                 have_pango_markup;
diff --git a/ext/theora/Makefile.in b/ext/theora/Makefile.in
index 957610c..ff3b30c 100644
--- a/ext/theora/Makefile.in
+++ b/ext/theora/Makefile.in
@@ -365,6 +365,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/ext/vorbis/Makefile.in b/ext/vorbis/Makefile.in
index 1536596..419acec 100644
--- a/ext/vorbis/Makefile.in
+++ b/ext/vorbis/Makefile.in
@@ -391,6 +391,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/gst-libs/Makefile.in b/gst-libs/Makefile.in
index f4ae586..2d7779d 100644
--- a/gst-libs/Makefile.in
+++ b/gst-libs/Makefile.in
@@ -334,6 +334,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/gst-libs/gst/Makefile.in b/gst-libs/gst/Makefile.in
index 3df41d4..3c9f071 100644
--- a/gst-libs/gst/Makefile.in
+++ b/gst-libs/gst/Makefile.in
@@ -337,6 +337,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/gst-libs/gst/allocators/Makefile.in b/gst-libs/gst/allocators/Makefile.in
index 1494869..7e32f29 100644
--- a/gst-libs/gst/allocators/Makefile.in
+++ b/gst-libs/gst/allocators/Makefile.in
@@ -353,6 +353,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/gst-libs/gst/app/Makefile.am b/gst-libs/gst/app/Makefile.am
index 9e40db3..8f3bb59 100644
--- a/gst-libs/gst/app/Makefile.am
+++ b/gst-libs/gst/app/Makefile.am
@@ -56,7 +56,7 @@
 		--pkg gstreamer-@GST_API_VERSION@ \
 		--pkg gstreamer-base-@GST_API_VERSION@ \
 		--pkg-export gstreamer-app-@GST_API_VERSION@ \
-		--add-init-section="gst_init(NULL,NULL);" \
+		--add-init-section="$(INTROSPECTION_INIT)" \
 		--output $@ \
 		$(gir_headers) \
 		$(gir_sources)
diff --git a/gst-libs/gst/app/Makefile.in b/gst-libs/gst/app/Makefile.in
index 8f66ae3..599da55 100644
--- a/gst-libs/gst/app/Makefile.in
+++ b/gst-libs/gst/app/Makefile.in
@@ -363,6 +363,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
@@ -987,7 +988,7 @@
 @HAVE_INTROSPECTION_TRUE@		--pkg gstreamer-@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--pkg gstreamer-base-@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--pkg-export gstreamer-app-@GST_API_VERSION@ \
-@HAVE_INTROSPECTION_TRUE@		--add-init-section="gst_init(NULL,NULL);" \
+@HAVE_INTROSPECTION_TRUE@		--add-init-section="$(INTROSPECTION_INIT)" \
 @HAVE_INTROSPECTION_TRUE@		--output $@ \
 @HAVE_INTROSPECTION_TRUE@		$(gir_headers) \
 @HAVE_INTROSPECTION_TRUE@		$(gir_sources)
diff --git a/gst-libs/gst/audio/Makefile.am b/gst-libs/gst/audio/Makefile.am
index cd39fd4..275d222 100644
--- a/gst-libs/gst/audio/Makefile.am
+++ b/gst-libs/gst/audio/Makefile.am
@@ -110,7 +110,7 @@
 		--pkg gstreamer-@GST_API_VERSION@ \
 		--pkg gstreamer-base-@GST_API_VERSION@ \
 		--pkg-export gstreamer-audio-@GST_API_VERSION@ \
-		--add-init-section="gst_init(NULL,NULL);" \
+		--add-init-section="$(INTROSPECTION_INIT)" \
 		--output $@ \
 		$(gir_headers) \
 		$(gir_sources)
diff --git a/gst-libs/gst/audio/Makefile.in b/gst-libs/gst/audio/Makefile.in
index c307c3f..0382dde 100644
--- a/gst-libs/gst/audio/Makefile.in
+++ b/gst-libs/gst/audio/Makefile.in
@@ -428,6 +428,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
@@ -1367,7 +1368,7 @@
 @HAVE_INTROSPECTION_TRUE@		--pkg gstreamer-@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--pkg gstreamer-base-@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--pkg-export gstreamer-audio-@GST_API_VERSION@ \
-@HAVE_INTROSPECTION_TRUE@		--add-init-section="gst_init(NULL,NULL);" \
+@HAVE_INTROSPECTION_TRUE@		--add-init-section="$(INTROSPECTION_INIT)" \
 @HAVE_INTROSPECTION_TRUE@		--output $@ \
 @HAVE_INTROSPECTION_TRUE@		$(gir_headers) \
 @HAVE_INTROSPECTION_TRUE@		$(gir_sources)
diff --git a/gst-libs/gst/audio/audio-info.c b/gst-libs/gst/audio/audio-info.c
index 26b96dd..e5f3341 100644
--- a/gst-libs/gst/audio/audio-info.c
+++ b/gst-libs/gst/audio/audio-info.c
@@ -16,12 +16,6 @@
  * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
  * Boston, MA 02110-1301, USA.
  */
-/**
- * SECTION:gstaudio
- * @short_description: Support library for audio elements
- *
- * This library contains some helper functions for audio elements.
- */
 
 #ifdef HAVE_CONFIG_H
 #  include "config.h"
diff --git a/gst-libs/gst/audio/gstaudiobasesink.c b/gst-libs/gst/audio/gstaudiobasesink.c
index 32013fe..28988f4 100644
--- a/gst-libs/gst/audio/gstaudiobasesink.c
+++ b/gst-libs/gst/audio/gstaudiobasesink.c
@@ -69,6 +69,11 @@
 
   /* number of nanoseconds to wait until creating a discontinuity */
   GstClockTime discont_wait;
+
+  /* custom slaving algorithm callback */
+  GstAudioBaseSinkCustomSlavingCallback custom_slaving_callback;
+  gpointer custom_slaving_cb_data;
+  GDestroyNotify custom_slaving_cb_notify;
 };
 
 /* BaseAudioSink signals and args */
@@ -124,6 +129,8 @@
         "resample"},
     {GST_AUDIO_BASE_SINK_SLAVE_SKEW, "GST_AUDIO_BASE_SINK_SLAVE_SKEW", "skew"},
     {GST_AUDIO_BASE_SINK_SLAVE_NONE, "GST_AUDIO_BASE_SINK_SLAVE_NONE", "none"},
+    {GST_AUDIO_BASE_SINK_SLAVE_CUSTOM, "GST_AUDIO_BASE_SINK_SLAVE_CUSTOM",
+        "custom"},
     {0, NULL, NULL},
   };
 
@@ -304,6 +311,9 @@
   audiobasesink->priv->drift_tolerance = DEFAULT_DRIFT_TOLERANCE;
   audiobasesink->priv->alignment_threshold = DEFAULT_ALIGNMENT_THRESHOLD;
   audiobasesink->priv->discont_wait = DEFAULT_DISCONT_WAIT;
+  audiobasesink->priv->custom_slaving_callback = NULL;
+  audiobasesink->priv->custom_slaving_cb_data = NULL;
+  audiobasesink->priv->custom_slaving_cb_notify = NULL;
 
   audiobasesink->provided_clock = gst_audio_clock_new ("GstAudioSinkClock",
       (GstAudioClockGetTimeFunc) gst_audio_base_sink_get_time, audiobasesink,
@@ -327,6 +337,9 @@
 
   sink = GST_AUDIO_BASE_SINK (object);
 
+  if (sink->priv->custom_slaving_cb_notify)
+    sink->priv->custom_slaving_cb_notify (sink->priv->custom_slaving_cb_data);
+
   if (sink->provided_clock) {
     gst_audio_clock_invalidate (sink->provided_clock);
     gst_object_unref (sink->provided_clock);
@@ -744,6 +757,73 @@
 }
 
 /**
+ * gst_audio_base_sink_set_custom_slaving_callback:
+ * @sink: a #GstAudioBaseSink
+ * @callback: a #GstAudioBaseSinkCustomSlavingCallback
+ * @user_data: user data passed to the callback
+ * @notify : called when user_data becomes unused
+ *
+ * Sets the custom slaving callback. This callback will
+ * be invoked if the slave-method property is set to
+ * GST_AUDIO_BASE_SINK_SLAVE_CUSTOM and the audio sink
+ * receives and plays samples.
+ *
+ * Setting the callback to NULL causes the sink to
+ * behave as if the GST_AUDIO_BASE_SINK_SLAVE_NONE
+ * method were used.
+ *
+ * Since: 1.6
+ */
+void
+gst_audio_base_sink_set_custom_slaving_callback (GstAudioBaseSink * sink,
+    GstAudioBaseSinkCustomSlavingCallback callback,
+    gpointer user_data, GDestroyNotify notify)
+{
+  g_return_if_fail (GST_IS_AUDIO_BASE_SINK (sink));
+
+  GST_OBJECT_LOCK (sink);
+  sink->priv->custom_slaving_callback = callback;
+  sink->priv->custom_slaving_cb_data = user_data;
+  sink->priv->custom_slaving_cb_notify = notify;
+  GST_OBJECT_UNLOCK (sink);
+}
+
+static void
+gst_audio_base_sink_custom_cb_report_discont (GstAudioBaseSink * sink,
+    GstAudioBaseSinkDiscontReason discont_reason)
+{
+  if ((sink->priv->custom_slaving_callback != NULL) &&
+      (sink->priv->slave_method == GST_AUDIO_BASE_SINK_SLAVE_CUSTOM)) {
+    sink->priv->custom_slaving_callback (sink, GST_CLOCK_TIME_NONE,
+        GST_CLOCK_TIME_NONE, NULL, discont_reason,
+        sink->priv->custom_slaving_cb_data);
+  }
+}
+
+/**
+ * gst_audio_base_sink_report_device_failure:
+ * @sink: a #GstAudioBaseSink
+ *
+ * Informs this base class that the audio output device has failed for
+ * some reason, causing a discontinuity (for example, because the device
+ * recovered from the error, but lost all contents of its ring buffer).
+ * This function is typically called by derived classes, and is useful
+ * for the custom slave method.
+ *
+ * Since: 1.6
+ */
+void
+gst_audio_base_sink_report_device_failure (GstAudioBaseSink * sink)
+{
+  g_return_if_fail (GST_IS_AUDIO_BASE_SINK (sink));
+
+  GST_OBJECT_LOCK (sink);
+  gst_audio_base_sink_custom_cb_report_discont (sink,
+      GST_AUDIO_BASE_SINK_DISCONT_REASON_DEVICE_FAILURE);
+  GST_OBJECT_UNLOCK (sink);
+}
+
+/**
  * gst_audio_base_sink_get_discont_wait:
  * @sink: a #GstAudioBaseSink
  *
@@ -903,6 +983,9 @@
   /* We need to resync since the ringbuffer restarted */
   gst_audio_base_sink_reset_sync (sink);
 
+  gst_audio_base_sink_custom_cb_report_discont (sink,
+      GST_AUDIO_BASE_SINK_DISCONT_REASON_NEW_CAPS);
+
   if (bsink->pad_mode == GST_PAD_MODE_PUSH) {
     GST_DEBUG_OBJECT (sink, "activate ringbuffer");
     gst_audio_ring_buffer_activate (sink->ringbuffer, TRUE);
@@ -1096,6 +1179,10 @@
     case GST_EVENT_FLUSH_STOP:
       /* always resync on sample after a flush */
       gst_audio_base_sink_reset_sync (sink);
+
+      gst_audio_base_sink_custom_cb_report_discont (sink,
+          GST_AUDIO_BASE_SINK_DISCONT_REASON_FLUSH);
+
       if (sink->ringbuffer)
         gst_audio_ring_buffer_set_flushing (sink->ringbuffer, FALSE);
       break;
@@ -1179,6 +1266,104 @@
   return external;
 }
 
+
+/* apply the clock offset and invoke a custom callback
+ * which might also request changes to the playout pointer
+ *
+ * this reuses code from the skewing algorithm, but leaves
+ * decision on whether or not to skew (and how much to skew)
+ * up to the callback */
+static void
+gst_audio_base_sink_custom_slaving (GstAudioBaseSink * sink,
+    GstClockTime render_start, GstClockTime render_stop,
+    GstClockTime * srender_start, GstClockTime * srender_stop)
+{
+  GstClockTime cinternal, cexternal, crate_num, crate_denom;
+  GstClockTime etime, itime;
+  GstClockTimeDiff requested_skew;
+  gint driftsamples;
+  gint64 last_align;
+
+  /* get calibration parameters to compensate for offsets */
+  gst_clock_get_calibration (sink->provided_clock, &cinternal, &cexternal,
+      &crate_num, &crate_denom);
+
+  /* sample clocks and figure out clock skew */
+  etime = gst_clock_get_time (GST_ELEMENT_CLOCK (sink));
+  itime = gst_audio_clock_get_time (sink->provided_clock);
+  itime = gst_audio_clock_adjust (sink->provided_clock, itime);
+
+  GST_DEBUG_OBJECT (sink,
+      "internal %" GST_TIME_FORMAT " external %" GST_TIME_FORMAT
+      " cinternal %" GST_TIME_FORMAT " cexternal %" GST_TIME_FORMAT,
+      GST_TIME_ARGS (itime), GST_TIME_ARGS (etime),
+      GST_TIME_ARGS (cinternal), GST_TIME_ARGS (cexternal));
+
+  /* make sure we never go below 0 */
+  etime = etime > cexternal ? etime - cexternal : 0;
+  itime = itime > cinternal ? itime - cinternal : 0;
+
+  /* don't do any skewing unless the callback explicitely requests one */
+  requested_skew = 0;
+
+  if (sink->priv->custom_slaving_callback != NULL) {
+    sink->priv->custom_slaving_callback (sink, etime, itime, &requested_skew,
+        FALSE, sink->priv->custom_slaving_cb_data);
+    GST_DEBUG_OBJECT (sink, "custom slaving requested skew %" G_GINT64_FORMAT,
+        requested_skew);
+  } else {
+    GST_DEBUG_OBJECT (sink,
+        "no custom slaving callback set - clock drift will not be compensated");
+  }
+
+  if (requested_skew > 0) {
+    cexternal = (cexternal > requested_skew) ? (cexternal - requested_skew) : 0;
+
+    driftsamples =
+        (sink->ringbuffer->spec.info.rate * requested_skew) / GST_SECOND;
+    last_align = sink->priv->last_align;
+
+    /* if we were aligning in the wrong direction or we aligned more than what we
+     * will correct, resync */
+    if ((last_align < 0) || (last_align > driftsamples))
+      sink->next_sample = -1;
+
+    GST_DEBUG_OBJECT (sink,
+        "last_align %" G_GINT64_FORMAT " driftsamples %u, next %"
+        G_GUINT64_FORMAT, last_align, driftsamples, sink->next_sample);
+
+    gst_clock_set_calibration (sink->provided_clock, cinternal, cexternal,
+        crate_num, crate_denom);
+  } else if (requested_skew < 0) {
+    cexternal += ABS (requested_skew);
+
+    driftsamples =
+        (sink->ringbuffer->spec.info.rate * ABS (requested_skew)) / GST_SECOND;
+    last_align = sink->priv->last_align;
+
+    /* if we were aligning in the wrong direction or we aligned more than what we
+     * will correct, resync */
+    if ((last_align > 0) || (-last_align > driftsamples))
+      sink->next_sample = -1;
+
+    GST_DEBUG_OBJECT (sink,
+        "last_align %" G_GINT64_FORMAT " driftsamples %u, next %"
+        G_GUINT64_FORMAT, last_align, driftsamples, sink->next_sample);
+
+    gst_clock_set_calibration (sink->provided_clock, cinternal, cexternal,
+        crate_num, crate_denom);
+  }
+
+  /* convert, ignoring speed */
+  render_start = clock_convert_external (render_start, cinternal, cexternal,
+      crate_num, crate_denom);
+  render_stop = clock_convert_external (render_stop, cinternal, cexternal,
+      crate_num, crate_denom);
+
+  *srender_start = render_start;
+  *srender_stop = render_stop;
+}
+
 /* algorithm to calculate sample positions that will result in resampling to
  * match the clock rate of the master */
 static void
@@ -1395,6 +1580,10 @@
       gst_audio_base_sink_none_slaving (sink, render_start, render_stop,
           srender_start, srender_stop);
       break;
+    case GST_AUDIO_BASE_SINK_SLAVE_CUSTOM:
+      gst_audio_base_sink_custom_slaving (sink, render_start, render_stop,
+          srender_start, srender_stop);
+      break;
     default:
       g_warning ("unknown slaving method %d", sink->priv->slave_method);
       break;
@@ -1511,12 +1700,16 @@
       break;
     case GST_AUDIO_BASE_SINK_SLAVE_SKEW:
     case GST_AUDIO_BASE_SINK_SLAVE_NONE:
+    case GST_AUDIO_BASE_SINK_SLAVE_CUSTOM:
     default:
       break;
   }
 
   gst_audio_base_sink_reset_sync (sink);
 
+  gst_audio_base_sink_custom_cb_report_discont (sink,
+      GST_AUDIO_BASE_SINK_DISCONT_REASON_SYNC_LATENCY);
+
   return GST_FLOW_OK;
 
   /* ERRORS */
@@ -1607,6 +1800,9 @@
         "%s%" GST_TIME_FORMAT ", resyncing",
         sample_offset > sink->next_sample ? "+" : "-", GST_TIME_ARGS (diff_s));
     align = 0;
+
+    gst_audio_base_sink_custom_cb_report_discont (sink,
+        GST_AUDIO_BASE_SINK_DISCONT_REASON_ALIGNMENT);
   }
 
   return align;
diff --git a/gst-libs/gst/audio/gstaudiobasesink.h b/gst-libs/gst/audio/gstaudiobasesink.h
index 49ee19d..ce5b3e2 100644
--- a/gst-libs/gst/audio/gstaudiobasesink.h
+++ b/gst-libs/gst/audio/gstaudiobasesink.h
@@ -86,6 +86,7 @@
  * @GST_AUDIO_BASE_SINK_SLAVE_SKEW: Adjust playout pointer when master clock
  * drifts too much.
  * @GST_AUDIO_BASE_SINK_SLAVE_NONE: No adjustment is done.
+ * @GST_AUDIO_BASE_SINK_SLAVE_CUSTOM: Use custom clock slaving algorithm (Since: 1.6)
  *
  * Different possible clock slaving algorithms used when the internal audio
  * clock is not selected as the pipeline master clock.
@@ -94,7 +95,8 @@
 {
   GST_AUDIO_BASE_SINK_SLAVE_RESAMPLE,
   GST_AUDIO_BASE_SINK_SLAVE_SKEW,
-  GST_AUDIO_BASE_SINK_SLAVE_NONE
+  GST_AUDIO_BASE_SINK_SLAVE_NONE,
+  GST_AUDIO_BASE_SINK_SLAVE_CUSTOM
 } GstAudioBaseSinkSlaveMethod;
 
 #define GST_TYPE_AUDIO_BASE_SINK_SLAVE_METHOD (gst_audio_base_sink_slave_method_get_type ())
@@ -104,6 +106,65 @@
 typedef struct _GstAudioBaseSinkPrivate GstAudioBaseSinkPrivate;
 
 /**
+ * GstAudioBaseSinkDiscontReason:
+ * GST_AUDIO_BASE_SINK_DISCONT_REASON_NO_DISCONT: No discontinuity occurred
+ * GST_AUDIO_BASE_SINK_DISCONT_REASON_NEW_CAPS: New caps are set, causing renegotiotion
+ * GST_AUDIO_BASE_SINK_DISCONT_REASON_FLUSH: Samples have been flushed
+ * GST_AUDIO_BASE_SINK_DISCONT_REASON_SYNC_LATENCY: Sink was synchronized to the estimated latency (occurs during initialization)
+ * GST_AUDIO_BASE_SINK_DISCONT_REASON_ALIGNMENT: Aligning buffers failed because the timestamps are too discontinuous
+ * GST_AUDIO_BASE_SINK_DISCONT_REASON_DEVICE_FAILURE: Audio output device experienced and recovered from an error but introduced latency in the process (see also @gst_audio_base_sink_report_device_failure)
+ *
+ * Different possible reasons for discontinuities. This enum is useful for the custom
+ * slave method.
+ *
+ * Since: 1.6
+ */
+typedef enum
+{
+  GST_AUDIO_BASE_SINK_DISCONT_REASON_NO_DISCONT,
+  GST_AUDIO_BASE_SINK_DISCONT_REASON_NEW_CAPS,
+  GST_AUDIO_BASE_SINK_DISCONT_REASON_FLUSH,
+  GST_AUDIO_BASE_SINK_DISCONT_REASON_SYNC_LATENCY,
+  GST_AUDIO_BASE_SINK_DISCONT_REASON_ALIGNMENT,
+  GST_AUDIO_BASE_SINK_DISCONT_REASON_DEVICE_FAILURE
+} GstAudioBaseSinkDiscontReason;
+
+/**
+ * GstAudioBaseSinkCustomSlavingCallback:
+ * @sink: a #GstAudioBaseSink
+ * @etime: external clock time
+ * @itime: internal clock time
+ * @requested_skew: skew amount requested by the callback
+ * @discont_reason: TRUE if there was a discontinuity in the average skew
+ * @user_data: user data
+ *
+ * This function is set with gst_audio_base_sink_set_custom_slaving_callback()
+ * and is called during playback. It receives the current time of external and
+ * internal clocks, which the callback can then use to apply any custom
+ * slaving/synchronization schemes. The external clock is the sink's element clock,
+ * the internal one is the internal audio clock. The internal audio clock's
+ * calibration is applied to the timestamps before they are passed to the
+ * callback. The difference between etime and itime is the skew; how much
+ * internal and external clock lie apart from each other. A skew of 0 means
+ * both clocks are perfectly in sync. itime > etime means the external clock
+ * is going slower, while itime < etime means it is going faster than the
+ * internal clock. etime and itime are always valid timestamps, except for when
+ * discont is set to TRUE.
+ * requested_skew is an output value the callback can write to. It informs the sink
+ * of whether or not it should move the playout pointer, and if so, by how much.
+ * This pointer is only NULL if discont is true; otherwise, it is safe to write
+ * to *requested_skew. The default skew is 0.
+ *
+ * The sink may experience discontinuities. If one happens, discont is TRUE,
+ * itime, etime are set to GST_CLOCK_TIME_NONE, and requested_skew is NULL.
+ * This makes it possible to reset custom clock slaving algorithms when a
+ * discontinuity happens.
+ *
+ * Since: 1.6
+ */
+typedef void (*GstAudioBaseSinkCustomSlavingCallback) (GstAudioBaseSink *sink, GstClockTime etime, GstClockTime itime, GstClockTimeDiff *requested_skew, GstAudioBaseSinkDiscontReason discont_reason, gpointer user_data);
+
+/**
  * GstAudioBaseSink:
  *
  * Opaque #GstAudioBaseSink.
@@ -187,6 +248,14 @@
 GstClockTime
            gst_audio_base_sink_get_discont_wait        (GstAudioBaseSink * sink);
 
+void
+gst_audio_base_sink_set_custom_slaving_callback        (GstAudioBaseSink * sink,
+                                                        GstAudioBaseSinkCustomSlavingCallback callback,
+                                                        gpointer user_data,
+                                                        GDestroyNotify notify);
+
+void gst_audio_base_sink_report_device_failure         (GstAudioBaseSink * sink);
+
 G_END_DECLS
 
 #endif /* __GST_AUDIO_BASE_SINK_H__ */
diff --git a/gst-libs/gst/audio/gstaudiometa.c b/gst-libs/gst/audio/gstaudiometa.c
index 0cadc02..9d674f3 100644
--- a/gst-libs/gst/audio/gstaudiometa.c
+++ b/gst-libs/gst/audio/gstaudiometa.c
@@ -79,7 +79,7 @@
  * Find the #GstAudioDownmixMeta on @buffer for the given destination
  * channel positions.
  *
- * Returns: the #GstAudioDownmixMeta on @buffer.
+ * Returns: (transfer none): the #GstAudioDownmixMeta on @buffer.
  */
 GstAudioDownmixMeta *
 gst_buffer_get_audio_downmix_meta_for_channels (GstBuffer * buffer,
@@ -119,7 +119,7 @@
  * the input channels with the coefficients in @matrix[i] and taking the sum
  * of the results.
  *
- * Returns: the #GstAudioDownmixMeta on @buffer.
+ * Returns: (transfer none): the #GstAudioDownmixMeta on @buffer.
  */
 GstAudioDownmixMeta *
 gst_buffer_add_audio_downmix_meta (GstBuffer * buffer,
diff --git a/gst-libs/gst/audio/gstaudioringbuffer.c b/gst-libs/gst/audio/gstaudioringbuffer.c
index d6f65f3..246c6f6 100644
--- a/gst-libs/gst/audio/gstaudioringbuffer.c
+++ b/gst-libs/gst/audio/gstaudioringbuffer.c
@@ -218,6 +218,10 @@
             gst_structure_get_int (structure, "channels", &info.channels)))
       goto parse_error;
 
+    if (!(gst_audio_channel_positions_from_mask (info.channels, 0,
+                info.position)))
+      goto parse_error;
+
     spec->type = GST_AUDIO_RING_BUFFER_FORMAT_TYPE_A_LAW;
     info.bpf = info.channels;
   } else if (g_str_equal (mimetype, "audio/x-mulaw")) {
@@ -226,6 +230,10 @@
             gst_structure_get_int (structure, "channels", &info.channels)))
       goto parse_error;
 
+    if (!(gst_audio_channel_positions_from_mask (info.channels, 0,
+                info.position)))
+      goto parse_error;
+
     spec->type = GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MU_LAW;
     info.bpf = info.channels;
   } else if (g_str_equal (mimetype, "audio/x-iec958")) {
diff --git a/gst-libs/gst/fft/Makefile.in b/gst-libs/gst/fft/Makefile.in
index 4f2922a..ef03066 100644
--- a/gst-libs/gst/fft/Makefile.in
+++ b/gst-libs/gst/fft/Makefile.in
@@ -381,6 +381,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/gst-libs/gst/fft/gstfftf32.c b/gst-libs/gst/fft/gstfftf32.c
index c803d30..eff4413 100644
--- a/gst-libs/gst/fft/gstfftf32.c
+++ b/gst-libs/gst/fft/gstfftf32.c
@@ -69,7 +69,7 @@
 };
 
 /**
- * gst_fft_f32_new:
+ * gst_fft_f32_new: (skip)
  * @len: Length of the FFT in the time domain
  * @inverse: %TRUE if the #GstFFTF32 instance should be used for the inverse FFT
  *
diff --git a/gst-libs/gst/fft/gstfftf64.c b/gst-libs/gst/fft/gstfftf64.c
index 33be8fd..7ccbcb0 100644
--- a/gst-libs/gst/fft/gstfftf64.c
+++ b/gst-libs/gst/fft/gstfftf64.c
@@ -69,7 +69,7 @@
 };
 
 /**
- * gst_fft_f64_new:
+ * gst_fft_f64_new: (skip)
  * @len: Length of the FFT in the time domain
  * @inverse: %TRUE if the #GstFFTF64 instance should be used for the inverse FFT
  *
diff --git a/gst-libs/gst/fft/gstffts16.c b/gst-libs/gst/fft/gstffts16.c
index 9d07749..0188243 100644
--- a/gst-libs/gst/fft/gstffts16.c
+++ b/gst-libs/gst/fft/gstffts16.c
@@ -69,7 +69,7 @@
 };
 
 /**
- * gst_fft_s16_new:
+ * gst_fft_s16_new: (skip)
  * @len: Length of the FFT in the time domain
  * @inverse: %TRUE if the #GstFFTS16 instance should be used for the inverse FFT
  *
diff --git a/gst-libs/gst/fft/gstffts32.c b/gst-libs/gst/fft/gstffts32.c
index 597955f..ae7d5e5 100644
--- a/gst-libs/gst/fft/gstffts32.c
+++ b/gst-libs/gst/fft/gstffts32.c
@@ -68,7 +68,7 @@
 };
 
 /**
- * gst_fft_s32_new:
+ * gst_fft_s32_new: (skip)
  * @len: Length of the FFT in the time domain
  * @inverse: %TRUE if the #GstFFTS32 instance should be used for the inverse FFT
  *
diff --git a/gst-libs/gst/pbutils/Makefile.am b/gst-libs/gst/pbutils/Makefile.am
index 34553c1..64d5eb0 100644
--- a/gst-libs/gst/pbutils/Makefile.am
+++ b/gst-libs/gst/pbutils/Makefile.am
@@ -100,7 +100,7 @@
 		--pkg gstreamer-video-@GST_API_VERSION@ \
 		--pkg gstreamer-audio-@GST_API_VERSION@ \
 		--pkg-export gstreamer-pbutils-@GST_API_VERSION@ \
-		--add-init-section="gst_init(NULL,NULL);" \
+		--add-init-section="$(INTROSPECTION_INIT)" \
 		--output $@ \
 		$(gir_headers) \
 		$(gir_sources)
diff --git a/gst-libs/gst/pbutils/Makefile.in b/gst-libs/gst/pbutils/Makefile.in
index 06010f7..87f9acf 100644
--- a/gst-libs/gst/pbutils/Makefile.in
+++ b/gst-libs/gst/pbutils/Makefile.in
@@ -395,6 +395,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
@@ -1211,7 +1212,7 @@
 @HAVE_INTROSPECTION_TRUE@		--pkg gstreamer-video-@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--pkg gstreamer-audio-@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--pkg-export gstreamer-pbutils-@GST_API_VERSION@ \
-@HAVE_INTROSPECTION_TRUE@		--add-init-section="gst_init(NULL,NULL);" \
+@HAVE_INTROSPECTION_TRUE@		--add-init-section="$(INTROSPECTION_INIT)" \
 @HAVE_INTROSPECTION_TRUE@		--output $@ \
 @HAVE_INTROSPECTION_TRUE@		$(gir_headers) \
 @HAVE_INTROSPECTION_TRUE@		$(gir_sources)
diff --git a/gst-libs/gst/pbutils/gstdiscoverer-types.c b/gst-libs/gst/pbutils/gstdiscoverer-types.c
index 1d38a5c..e743430 100644
--- a/gst-libs/gst/pbutils/gstdiscoverer-types.c
+++ b/gst-libs/gst/pbutils/gstdiscoverer-types.c
@@ -690,7 +690,7 @@
  * @info: a #GstDiscovererStreamInfo
  *
  * Deprecated: This functions is deprecated since version 1.4, use
- * gst_discoverer_stream_get_missing_elements_installer_details
+ * #gst_discoverer_info_get_missing_elements_installer_details
  *
  * Returns: (transfer none): additional information regarding the stream (for
  * example codec version, profile, etc..). If you wish to use the #GstStructure
@@ -1016,7 +1016,7 @@
  * @info: a #GstDiscovererInfo
  *
  * Deprecated: This functions is deprecated since version 1.4, use
- * gst_discoverer_info_get_missing_elements_installer_details
+ * #gst_discoverer_info_get_missing_elements_installer_details
  *
  * Returns: (transfer none): Miscellaneous information stored as a #GstStructure
  * (for example: information about missing plugins). If you wish to use the
diff --git a/gst-libs/gst/riff/Makefile.am b/gst-libs/gst/riff/Makefile.am
index 0c428c5..83d83cb 100644
--- a/gst-libs/gst/riff/Makefile.am
+++ b/gst-libs/gst/riff/Makefile.am
@@ -20,57 +20,62 @@
 libgstriff_@GST_API_VERSION@_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS)
 libgstriff_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
 
-if HAVE_INTROSPECTION
-BUILT_GIRSOURCES = GstRiff-@GST_API_VERSION@.gir
-
-gir_headers=$(patsubst %,$(srcdir)/%, $(libgstriff_@GST_API_VERSION@include_HEADERS))
-gir_sources=$(patsubst %,$(srcdir)/%, $(libgstriff_@GST_API_VERSION@_la_SOURCES))
-
-GstRiff-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstriff-@GST_API_VERSION@.la
-	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
-		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
-		$(INTROSPECTION_SCANNER) -v --namespace GstRiff \
-		--nsversion=@GST_API_VERSION@ \
-		--strip-prefix=Gst \
-		--warn-all \
-		--c-include "gst/riff/riff.h" \
-		--add-include-path=$(builddir)/../tag \
-		--add-include-path=$(builddir)/../audio \
-		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-		--library=libgstriff-@GST_API_VERSION@.la \
-		--include=GstAudio-@GST_API_VERSION@ \
-		--include=GstTag-@GST_API_VERSION@ \
-		--include=Gst-@GST_API_VERSION@ \
-		--libtool="$(top_builddir)/libtool" \
-		--pkg gstreamer-@GST_API_VERSION@ \
-		--pkg gstreamer-tag-@GST_API_VERSION@ \
-		--pkg gstreamer-audio-@GST_API_VERSION@ \
-		--pkg-export gstreamer-riff-@GST_API_VERSION@ \
-		--add-init-section="gst_init(NULL,NULL);" \
-		--output $@ \
-		$(gir_headers) \
-		$(gir_sources)
-
-# INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR aren't the right place to
-# install anything - we need to install inside our prefix.
-girdir = $(datadir)/gir-1.0
-gir_DATA = $(BUILT_GIRSOURCES)
-
-typelibsdir = $(libdir)/girepository-1.0/
-
-typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
-
-%.typelib: %.gir $(INTROSPECTION_COMPILER)
-	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
-		$(INTROSPECTION_COMPILER) \
-		--includedir=$(srcdir) \
-		--includedir=$(builddir) \
-		--includedir=$(builddir)/../tag \
-		--includedir=$(builddir)/../audio \
-		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-		$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
-
-CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
-endif
+# *** GIR DISABLED for this library ***
+# 
+# This library does not respect the type naming conventions required to be
+# usable in binded languages.
+#
+#if HAVE_INTROSPECTION
+#BUILT_GIRSOURCES = GstRiff-@GST_API_VERSION@.gir
+#
+#gir_headers=$(patsubst %,$(srcdir)/%, $(libgstriff_@GST_API_VERSION@include_HEADERS))
+#gir_sources=$(patsubst %,$(srcdir)/%, $(libgstriff_@GST_API_VERSION@_la_SOURCES))
+#
+#GstRiff-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstriff-@GST_API_VERSION@.la
+#	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
+#		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+#		$(INTROSPECTION_SCANNER) -v --namespace GstRiff \
+#		--nsversion=@GST_API_VERSION@ \
+#		--strip-prefix=Gst \
+#		--warn-all \
+#		--c-include "gst/riff/riff.h" \
+#		--add-include-path=$(builddir)/../tag \
+#		--add-include-path=$(builddir)/../audio \
+#		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+#		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
+#		--library=libgstriff-@GST_API_VERSION@.la \
+#		--include=GstAudio-@GST_API_VERSION@ \
+#		--include=GstTag-@GST_API_VERSION@ \
+#		--include=Gst-@GST_API_VERSION@ \
+#		--libtool="$(top_builddir)/libtool" \
+#		--pkg gstreamer-@GST_API_VERSION@ \
+#		--pkg gstreamer-tag-@GST_API_VERSION@ \
+#		--pkg gstreamer-audio-@GST_API_VERSION@ \
+#		--pkg-export gstreamer-riff-@GST_API_VERSION@ \
+#		--add-init-section="$(INTROSPECTION_INIT)" \
+#		--output $@ \
+#		$(gir_headers) \
+#		$(gir_sources)
+#
+## INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR aren't the right place to
+## install anything - we need to install inside our prefix.
+#girdir = $(datadir)/gir-1.0
+#gir_DATA = $(BUILT_GIRSOURCES)
+#
+#typelibsdir = $(libdir)/girepository-1.0/
+#
+#typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
+#
+#%.typelib: %.gir $(INTROSPECTION_COMPILER)
+#	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
+#		$(INTROSPECTION_COMPILER) \
+#		--includedir=$(srcdir) \
+#		--includedir=$(builddir) \
+#		--includedir=$(builddir)/../tag \
+#		--includedir=$(builddir)/../audio \
+#		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+#		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
+#		$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
+#
+#CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
+#endif
diff --git a/gst-libs/gst/riff/Makefile.in b/gst-libs/gst/riff/Makefile.in
index 4278943..940539b 100644
--- a/gst-libs/gst/riff/Makefile.in
+++ b/gst-libs/gst/riff/Makefile.in
@@ -15,7 +15,6 @@
 @SET_MAKE@
 
 
-
 VPATH = @srcdir@
 am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
 am__make_running_with_option = \
@@ -152,8 +151,7 @@
     || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
          $(am__cd) "$$dir" && rm -f $$files; }; \
   }
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(girdir)" \
-	"$(DESTDIR)$(typelibsdir)" \
+am__installdirs = "$(DESTDIR)$(libdir)" \
 	"$(DESTDIR)$(libgstriff_@GST_API_VERSION@includedir)"
 LTLIBRARIES = $(lib_LTLIBRARIES)
 am__DEPENDENCIES_1 =
@@ -215,7 +213,6 @@
     n|no|NO) false;; \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
-DATA = $(gir_DATA) $(typelibs_DATA)
 HEADERS = $(libgstriff_@GST_API_VERSION@include_HEADERS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -352,6 +349,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
@@ -531,17 +529,6 @@
 
 libgstriff_@GST_API_VERSION@_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS)
 libgstriff_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
-@HAVE_INTROSPECTION_TRUE@BUILT_GIRSOURCES = GstRiff-@GST_API_VERSION@.gir
-@HAVE_INTROSPECTION_TRUE@gir_headers = $(patsubst %,$(srcdir)/%, $(libgstriff_@GST_API_VERSION@include_HEADERS))
-@HAVE_INTROSPECTION_TRUE@gir_sources = $(patsubst %,$(srcdir)/%, $(libgstriff_@GST_API_VERSION@_la_SOURCES))
-
-# INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR aren't the right place to
-# install anything - we need to install inside our prefix.
-@HAVE_INTROSPECTION_TRUE@girdir = $(datadir)/gir-1.0
-@HAVE_INTROSPECTION_TRUE@gir_DATA = $(BUILT_GIRSOURCES)
-@HAVE_INTROSPECTION_TRUE@typelibsdir = $(libdir)/girepository-1.0/
-@HAVE_INTROSPECTION_TRUE@typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
-@HAVE_INTROSPECTION_TRUE@CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
 all: all-am
 
 .SUFFIXES:
@@ -675,48 +662,6 @@
 
 clean-libtool:
 	-rm -rf .libs _libs
-install-girDATA: $(gir_DATA)
-	@$(NORMAL_INSTALL)
-	@list='$(gir_DATA)'; test -n "$(girdir)" || list=; \
-	if test -n "$$list"; then \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(girdir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(girdir)" || exit 1; \
-	fi; \
-	for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  echo "$$d$$p"; \
-	done | $(am__base_list) | \
-	while read files; do \
-	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(girdir)'"; \
-	  $(INSTALL_DATA) $$files "$(DESTDIR)$(girdir)" || exit $$?; \
-	done
-
-uninstall-girDATA:
-	@$(NORMAL_UNINSTALL)
-	@list='$(gir_DATA)'; test -n "$(girdir)" || list=; \
-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	dir='$(DESTDIR)$(girdir)'; $(am__uninstall_files_from_dir)
-install-typelibsDATA: $(typelibs_DATA)
-	@$(NORMAL_INSTALL)
-	@list='$(typelibs_DATA)'; test -n "$(typelibsdir)" || list=; \
-	if test -n "$$list"; then \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(typelibsdir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(typelibsdir)" || exit 1; \
-	fi; \
-	for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  echo "$$d$$p"; \
-	done | $(am__base_list) | \
-	while read files; do \
-	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(typelibsdir)'"; \
-	  $(INSTALL_DATA) $$files "$(DESTDIR)$(typelibsdir)" || exit $$?; \
-	done
-
-uninstall-typelibsDATA:
-	@$(NORMAL_UNINSTALL)
-	@list='$(typelibs_DATA)'; test -n "$(typelibsdir)" || list=; \
-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	dir='$(DESTDIR)$(typelibsdir)'; $(am__uninstall_files_from_dir)
 install-libgstriff_@GST_API_VERSION@includeHEADERS: $(libgstriff_@GST_API_VERSION@include_HEADERS)
 	@$(NORMAL_INSTALL)
 	@list='$(libgstriff_@GST_API_VERSION@include_HEADERS)'; test -n "$(libgstriff_@GST_API_VERSION@includedir)" || list=; \
@@ -777,9 +722,9 @@
 	done
 check-am: all-am
 check: check-am
-all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS)
+all-am: Makefile $(LTLIBRARIES) $(HEADERS)
 installdirs:
-	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(girdir)" "$(DESTDIR)$(typelibsdir)" "$(DESTDIR)$(libgstriff_@GST_API_VERSION@includedir)"; do \
+	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libgstriff_@GST_API_VERSION@includedir)"; do \
 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
 install: install-am
@@ -804,7 +749,6 @@
 mostlyclean-generic:
 
 clean-generic:
-	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
@@ -835,9 +779,7 @@
 
 info-am:
 
-install-data-am: install-girDATA \
-	install-libgstriff_@GST_API_VERSION@includeHEADERS \
-	install-typelibsDATA
+install-data-am: install-libgstriff_@GST_API_VERSION@includeHEADERS
 
 install-dvi: install-dvi-am
 
@@ -883,9 +825,8 @@
 
 ps-am:
 
-uninstall-am: uninstall-girDATA uninstall-libLTLIBRARIES \
-	uninstall-libgstriff_@GST_API_VERSION@includeHEADERS \
-	uninstall-typelibsDATA
+uninstall-am: uninstall-libLTLIBRARIES \
+	uninstall-libgstriff_@GST_API_VERSION@includeHEADERS
 
 .MAKE: install-am install-strip
 
@@ -894,57 +835,76 @@
 	distclean distclean-compile distclean-generic \
 	distclean-libtool distdir dvi dvi-am html html-am info info-am \
 	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-girDATA \
-	install-html install-html-am install-info install-info-am \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am \
 	install-libLTLIBRARIES \
 	install-libgstriff_@GST_API_VERSION@includeHEADERS install-man \
 	install-pdf install-pdf-am install-ps install-ps-am \
-	install-strip install-typelibsDATA installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags-am uninstall uninstall-am uninstall-girDATA \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags-am uninstall uninstall-am \
 	uninstall-libLTLIBRARIES \
-	uninstall-libgstriff_@GST_API_VERSION@includeHEADERS \
-	uninstall-typelibsDATA
+	uninstall-libgstriff_@GST_API_VERSION@includeHEADERS
 
 
-@HAVE_INTROSPECTION_TRUE@GstRiff-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstriff-@GST_API_VERSION@.la
-@HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
-@HAVE_INTROSPECTION_TRUE@		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
-@HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstRiff \
-@HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
-@HAVE_INTROSPECTION_TRUE@		--strip-prefix=Gst \
-@HAVE_INTROSPECTION_TRUE@		--warn-all \
-@HAVE_INTROSPECTION_TRUE@		--c-include "gst/riff/riff.h" \
-@HAVE_INTROSPECTION_TRUE@		--add-include-path=$(builddir)/../tag \
-@HAVE_INTROSPECTION_TRUE@		--add-include-path=$(builddir)/../audio \
-@HAVE_INTROSPECTION_TRUE@		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-@HAVE_INTROSPECTION_TRUE@		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-@HAVE_INTROSPECTION_TRUE@		--library=libgstriff-@GST_API_VERSION@.la \
-@HAVE_INTROSPECTION_TRUE@		--include=GstAudio-@GST_API_VERSION@ \
-@HAVE_INTROSPECTION_TRUE@		--include=GstTag-@GST_API_VERSION@ \
-@HAVE_INTROSPECTION_TRUE@		--include=Gst-@GST_API_VERSION@ \
-@HAVE_INTROSPECTION_TRUE@		--libtool="$(top_builddir)/libtool" \
-@HAVE_INTROSPECTION_TRUE@		--pkg gstreamer-@GST_API_VERSION@ \
-@HAVE_INTROSPECTION_TRUE@		--pkg gstreamer-tag-@GST_API_VERSION@ \
-@HAVE_INTROSPECTION_TRUE@		--pkg gstreamer-audio-@GST_API_VERSION@ \
-@HAVE_INTROSPECTION_TRUE@		--pkg-export gstreamer-riff-@GST_API_VERSION@ \
-@HAVE_INTROSPECTION_TRUE@		--add-init-section="gst_init(NULL,NULL);" \
-@HAVE_INTROSPECTION_TRUE@		--output $@ \
-@HAVE_INTROSPECTION_TRUE@		$(gir_headers) \
-@HAVE_INTROSPECTION_TRUE@		$(gir_sources)
-
-@HAVE_INTROSPECTION_TRUE@%.typelib: %.gir $(INTROSPECTION_COMPILER)
-@HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
-@HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_COMPILER) \
-@HAVE_INTROSPECTION_TRUE@		--includedir=$(srcdir) \
-@HAVE_INTROSPECTION_TRUE@		--includedir=$(builddir) \
-@HAVE_INTROSPECTION_TRUE@		--includedir=$(builddir)/../tag \
-@HAVE_INTROSPECTION_TRUE@		--includedir=$(builddir)/../audio \
-@HAVE_INTROSPECTION_TRUE@		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-@HAVE_INTROSPECTION_TRUE@		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-@HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
+# *** GIR DISABLED for this library ***
+# 
+# This library does not respect the type naming conventions required to be
+# usable in binded languages.
+#
+#if HAVE_INTROSPECTION
+#BUILT_GIRSOURCES = GstRiff-@GST_API_VERSION@.gir
+#
+#gir_headers=$(patsubst %,$(srcdir)/%, $(libgstriff_@GST_API_VERSION@include_HEADERS))
+#gir_sources=$(patsubst %,$(srcdir)/%, $(libgstriff_@GST_API_VERSION@_la_SOURCES))
+#
+#GstRiff-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstriff-@GST_API_VERSION@.la
+#	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
+#		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+#		$(INTROSPECTION_SCANNER) -v --namespace GstRiff \
+#		--nsversion=@GST_API_VERSION@ \
+#		--strip-prefix=Gst \
+#		--warn-all \
+#		--c-include "gst/riff/riff.h" \
+#		--add-include-path=$(builddir)/../tag \
+#		--add-include-path=$(builddir)/../audio \
+#		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+#		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
+#		--library=libgstriff-@GST_API_VERSION@.la \
+#		--include=GstAudio-@GST_API_VERSION@ \
+#		--include=GstTag-@GST_API_VERSION@ \
+#		--include=Gst-@GST_API_VERSION@ \
+#		--libtool="$(top_builddir)/libtool" \
+#		--pkg gstreamer-@GST_API_VERSION@ \
+#		--pkg gstreamer-tag-@GST_API_VERSION@ \
+#		--pkg gstreamer-audio-@GST_API_VERSION@ \
+#		--pkg-export gstreamer-riff-@GST_API_VERSION@ \
+#		--add-init-section="$(INTROSPECTION_INIT)" \
+#		--output $@ \
+#		$(gir_headers) \
+#		$(gir_sources)
+#
+#girdir = $(datadir)/gir-1.0
+#gir_DATA = $(BUILT_GIRSOURCES)
+#
+#typelibsdir = $(libdir)/girepository-1.0/
+#
+#typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
+#
+#%.typelib: %.gir $(INTROSPECTION_COMPILER)
+#	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
+#		$(INTROSPECTION_COMPILER) \
+#		--includedir=$(srcdir) \
+#		--includedir=$(builddir) \
+#		--includedir=$(builddir)/../tag \
+#		--includedir=$(builddir)/../audio \
+#		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+#		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
+#		$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
+#
+#CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
+#endif
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/gst-libs/gst/rtp/Makefile.am b/gst-libs/gst/rtp/Makefile.am
index 613cc12..fdd01c1 100644
--- a/gst-libs/gst/rtp/Makefile.am
+++ b/gst-libs/gst/rtp/Makefile.am
@@ -68,7 +68,7 @@
 		--pkg gstreamer-@GST_API_VERSION@ \
 		--pkg gstreamer-base-@GST_API_VERSION@ \
 		--pkg-export gstreamer-rtp-@GST_API_VERSION@ \
-		--add-init-section="gst_init(NULL,NULL);" \
+		--add-init-section="$(INTROSPECTION_INIT)" \
 		--output $@ \
 		$(gir_headers) \
 		$(gir_sources)
diff --git a/gst-libs/gst/rtp/Makefile.in b/gst-libs/gst/rtp/Makefile.in
index ccc68ce..79db931 100644
--- a/gst-libs/gst/rtp/Makefile.in
+++ b/gst-libs/gst/rtp/Makefile.in
@@ -387,6 +387,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
@@ -1133,7 +1134,7 @@
 @HAVE_INTROSPECTION_TRUE@		--pkg gstreamer-@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--pkg gstreamer-base-@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--pkg-export gstreamer-rtp-@GST_API_VERSION@ \
-@HAVE_INTROSPECTION_TRUE@		--add-init-section="gst_init(NULL,NULL);" \
+@HAVE_INTROSPECTION_TRUE@		--add-init-section="$(INTROSPECTION_INIT)" \
 @HAVE_INTROSPECTION_TRUE@		--output $@ \
 @HAVE_INTROSPECTION_TRUE@		$(gir_headers) \
 @HAVE_INTROSPECTION_TRUE@		$(gir_sources)
diff --git a/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c b/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c
index d3da4c9..b1bedf1 100644
--- a/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c
+++ b/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c
@@ -415,7 +415,7 @@
   }
   gst_rtp_buffer_unmap (&rtp);
 
-  GST_BUFFER_TIMESTAMP (buffer) = timestamp;
+  GST_BUFFER_PTS (buffer) = timestamp;
 
   /* get the offset in RTP time */
   GST_BUFFER_OFFSET (buffer) = priv->bytes_to_rtptime (payload, priv->offset);
@@ -820,7 +820,7 @@
   payload = GST_RTP_BASE_AUDIO_PAYLOAD_CAST (basepayload);
   priv = payload->priv;
 
-  timestamp = GST_BUFFER_TIMESTAMP (buffer);
+  timestamp = GST_BUFFER_PTS (buffer);
   discont = GST_BUFFER_IS_DISCONT (buffer);
   if (discont) {
 
diff --git a/gst-libs/gst/rtp/gstrtphdrext.c b/gst-libs/gst/rtp/gstrtphdrext.c
index 9314ba4..0b9174a 100644
--- a/gst-libs/gst/rtp/gstrtphdrext.c
+++ b/gst-libs/gst/rtp/gstrtphdrext.c
@@ -18,7 +18,7 @@
  */
 
 /**
- * SECTION:gstrtpexthdr
+ * SECTION:gstrtphdrext
  * @short_description: Helper methods for dealing with RTP header extensions
  * @see_also: #GstRTPBasePayload, #GstRTPBaseDepayload, gstrtpbuffer
  *
diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am
index ce990fe..ede5706 100644
--- a/gst-libs/gst/rtsp/Makefile.am
+++ b/gst-libs/gst/rtsp/Makefile.am
@@ -76,7 +76,7 @@
 		--pkg gstreamer-@GST_API_VERSION@ \
 		--pkg gstreamer-sdp-@GST_API_VERSION@ \
 		--pkg-export gstreamer-rtsp-@GST_API_VERSION@ \
-		--add-init-section="gst_init(NULL,NULL);" \
+		--add-init-section="$(INTROSPECTION_INIT)" \
 		--output $@ \
 		$(gir_headers) \
 		$(gir_sources)
diff --git a/gst-libs/gst/rtsp/Makefile.in b/gst-libs/gst/rtsp/Makefile.in
index 58930dd..8855c26 100644
--- a/gst-libs/gst/rtsp/Makefile.in
+++ b/gst-libs/gst/rtsp/Makefile.in
@@ -387,6 +387,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
@@ -1141,7 +1142,7 @@
 @HAVE_INTROSPECTION_TRUE@		--pkg gstreamer-@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--pkg gstreamer-sdp-@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--pkg-export gstreamer-rtsp-@GST_API_VERSION@ \
-@HAVE_INTROSPECTION_TRUE@		--add-init-section="gst_init(NULL,NULL);" \
+@HAVE_INTROSPECTION_TRUE@		--add-init-section="$(INTROSPECTION_INIT)" \
 @HAVE_INTROSPECTION_TRUE@		--output $@ \
 @HAVE_INTROSPECTION_TRUE@		$(gir_headers) \
 @HAVE_INTROSPECTION_TRUE@		$(gir_sources)
diff --git a/gst-libs/gst/rtsp/gstrtspconnection.c b/gst-libs/gst/rtsp/gstrtspconnection.c
index 08120d2..2063767 100644
--- a/gst-libs/gst/rtsp/gstrtspconnection.c
+++ b/gst-libs/gst/rtsp/gstrtspconnection.c
@@ -159,6 +159,7 @@
 
   /* TLS */
   GTlsDatabase *tls_database;
+  GTlsInteraction *tls_interaction;
 
   DecodeCtx ctx;
   DecodeCtx *ctxp;
@@ -253,7 +254,7 @@
 
 static void
 socket_client_event (GSocketClient * client, GSocketClientEvent event,
-    GSocketConnectable * connectable, GIOStream * connection,
+    GSocketConnectable * connectable, GTlsConnection * connection,
     GstRTSPConnection * rtspconn)
 {
   if (event == G_SOCKET_CLIENT_TLS_HANDSHAKING) {
@@ -261,6 +262,8 @@
 
     g_signal_connect (connection, "accept-certificate",
         (GCallback) tls_accept_certificate, rtspconn);
+
+    g_tls_connection_set_interaction (connection, rtspconn->tls_interaction);
   }
 }
 
@@ -353,6 +356,8 @@
  *
  * Returns: #GST_RTSP_OK when @conn contains a valid connection.
  */
+/* FIXME 2.0 We don't need the ip and port since they can be got from the
+ * GSocket */
 GstRTSPResult
 gst_rtsp_connection_create_from_socket (GSocket * socket, const gchar * ip,
     guint16 port, const gchar * initial_buffer, GstRTSPConnection ** conn)
@@ -622,6 +627,61 @@
   return result;
 }
 
+/**
+ * gst_rtsp_connection_set_tls_interaction:
+ * @conn: a #GstRTSPConnection
+ * @interaction: a #GTlsInteraction
+ *
+ * Sets a #GTlsInteraction object to be used when the connection or certificate
+ * database need to interact with the user. This will be used to prompt the
+ * user for passwords where necessary.
+ *
+ * Since: 1.6
+ */
+void
+gst_rtsp_connection_set_tls_interaction (GstRTSPConnection * conn,
+    GTlsInteraction * interaction)
+{
+  GTlsInteraction *old_interaction;
+
+  g_return_if_fail (conn != NULL);
+
+  if (interaction)
+    g_object_ref (interaction);
+
+  old_interaction = conn->tls_interaction;
+  conn->tls_interaction = interaction;
+
+  if (old_interaction)
+    g_object_unref (old_interaction);
+}
+
+/**
+ * gst_rtsp_connection_get_tls_interaction:
+ * @conn: a #GstRTSPConnection
+ *
+ * Gets a #GTlsInteraction object to be used when the connection or certificate
+ * database need to interact with the user. This will be used to prompt the
+ * user for passwords where necessary.
+ *
+ * Returns: (transfer full): a reference on the #GTlsInteraction. Use
+ * g_object_unref() to release.
+ *
+ * Since: 1.6
+ */
+GTlsInteraction *
+gst_rtsp_connection_get_tls_interaction (GstRTSPConnection * conn)
+{
+  GTlsInteraction *result;
+
+  g_return_val_if_fail (conn != NULL, NULL);
+
+  if ((result = conn->tls_interaction))
+    g_object_ref (result);
+
+  return result;
+}
+
 static GstRTSPResult
 setup_tunneling (GstRTSPConnection * conn, GTimeVal * timeout, gchar * uri)
 {
@@ -1782,7 +1842,7 @@
       next_value++;
     }
 
-    if (field == GST_RTSP_HDR_SESSION) {
+    if (msg->type == GST_RTSP_MESSAGE_REQUEST && field == GST_RTSP_HDR_SESSION) {
       /* The timeout parameter is only allowed in a session response header
        * but some clients send it as part of the session request header.
        * Ignore everything from the semicolon to the end of the line. */
@@ -2298,6 +2358,8 @@
     g_object_unref (conn->client);
   if (conn->tls_database)
     g_object_unref (conn->tls_database);
+  if (conn->tls_interaction)
+    g_object_unref (conn->tls_interaction);
 
   g_timer_destroy (conn->timer);
   gst_rtsp_url_free (conn->url);
@@ -2775,7 +2837,7 @@
 }
 
 /**
- * gst_rtsp_connection_get_readfd:
+ * gst_rtsp_connection_get_read_socket:
  * @conn: a #GstRTSPConnection
  *
  * Get the file descriptor for reading.
@@ -3434,7 +3496,7 @@
 };
 
 /**
- * gst_rtsp_watch_new:
+ * gst_rtsp_watch_new: (skip)
  * @conn: a #GstRTSPConnection
  * @funcs: watch functions
  * @user_data: user data to pass to @funcs
diff --git a/gst-libs/gst/rtsp/gstrtspconnection.h b/gst-libs/gst/rtsp/gstrtspconnection.h
index bc2dc62..464764b 100644
--- a/gst-libs/gst/rtsp/gstrtspconnection.h
+++ b/gst-libs/gst/rtsp/gstrtspconnection.h
@@ -78,6 +78,8 @@
 GTlsCertificateFlags gst_rtsp_connection_get_tls_validation_flags (GstRTSPConnection * conn);
 void                 gst_rtsp_connection_set_tls_database (GstRTSPConnection * conn, GTlsDatabase * database);
 GTlsDatabase *       gst_rtsp_connection_get_tls_database (GstRTSPConnection * conn);
+void                 gst_rtsp_connection_set_tls_interaction (GstRTSPConnection * conn, GTlsInteraction * interaction);
+GTlsInteraction *    gst_rtsp_connection_get_tls_interaction (GstRTSPConnection * conn);
 
 /* sending/receiving raw bytes */
 GstRTSPResult      gst_rtsp_connection_read           (GstRTSPConnection * conn, guint8 * data,
diff --git a/gst-libs/gst/sdp/Makefile.in b/gst-libs/gst/sdp/Makefile.in
index 13f7b97..4a84dc8 100644
--- a/gst-libs/gst/sdp/Makefile.in
+++ b/gst-libs/gst/sdp/Makefile.in
@@ -366,6 +366,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/gst-libs/gst/tag/Makefile.am b/gst-libs/gst/tag/Makefile.am
index 2c404a9..c534a4d 100644
--- a/gst-libs/gst/tag/Makefile.am
+++ b/gst-libs/gst/tag/Makefile.am
@@ -48,7 +48,7 @@
 		--pkg gstreamer-@GST_API_VERSION@ \
 		--pkg gstreamer-base-@GST_API_VERSION@ \
 		--pkg-export gstreamer-tag-@GST_API_VERSION@ \
-		--add-init-section="gst_init(NULL,NULL);" \
+		--add-init-section="$(INTROSPECTION_INIT)" \
 		--output $@ \
 		$(gir_headers) \
 		$(gir_sources)
diff --git a/gst-libs/gst/tag/Makefile.in b/gst-libs/gst/tag/Makefile.in
index 0c413f1..19dcdfb 100644
--- a/gst-libs/gst/tag/Makefile.in
+++ b/gst-libs/gst/tag/Makefile.in
@@ -397,6 +397,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
@@ -1178,7 +1179,7 @@
 @HAVE_INTROSPECTION_TRUE@		--pkg gstreamer-@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--pkg gstreamer-base-@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--pkg-export gstreamer-tag-@GST_API_VERSION@ \
-@HAVE_INTROSPECTION_TRUE@		--add-init-section="gst_init(NULL,NULL);" \
+@HAVE_INTROSPECTION_TRUE@		--add-init-section="$(INTROSPECTION_INIT)" \
 @HAVE_INTROSPECTION_TRUE@		--output $@ \
 @HAVE_INTROSPECTION_TRUE@		$(gir_headers) \
 @HAVE_INTROSPECTION_TRUE@		$(gir_sources)
diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am
index 7ac5f44..72b436a 100644
--- a/gst-libs/gst/video/Makefile.am
+++ b/gst-libs/gst/video/Makefile.am
@@ -45,7 +45,8 @@
 	gstvideoutilsprivate.c	\
 	video-resampler.c	\
 	video-blend.c		\
-	video-overlay-composition.c
+	video-overlay-composition.c \
+	video-multiview.c
 
 nodist_libgstvideo_@GST_API_VERSION@_la_SOURCES = $(BUILT_SOURCES)
 
@@ -76,7 +77,8 @@
 	gstvideoutils.h		\
 	video-resampler.h	\
 	video-blend.h		\
-	video-overlay-composition.h
+	video-overlay-composition.h \
+	video-multiview.h
 
 nodist_libgstvideo_@GST_API_VERSION@include_HEADERS = $(built_headers)
 noinst_HEADERS = gstvideoutilsprivate.h
@@ -115,7 +117,7 @@
 		--pkg gstreamer-@GST_API_VERSION@ \
 		--pkg gstreamer-base-@GST_API_VERSION@ \
 		--pkg-export gstreamer-video-@GST_API_VERSION@ \
-		--add-init-section="gst_init(NULL,NULL);" \
+		--add-init-section="$(INTROSPECTION_INIT)" \
 		--output $@ \
 		$(gir_headers) \
 		$(gir_sources)
diff --git a/gst-libs/gst/video/Makefile.in b/gst-libs/gst/video/Makefile.in
index 730b7d4..81f9200 100644
--- a/gst-libs/gst/video/Makefile.in
+++ b/gst-libs/gst/video/Makefile.in
@@ -222,7 +222,8 @@
 	libgstvideo_@GST_API_VERSION@_la-gstvideoutilsprivate.lo \
 	libgstvideo_@GST_API_VERSION@_la-video-resampler.lo \
 	libgstvideo_@GST_API_VERSION@_la-video-blend.lo \
-	libgstvideo_@GST_API_VERSION@_la-video-overlay-composition.lo
+	libgstvideo_@GST_API_VERSION@_la-video-overlay-composition.lo \
+	libgstvideo_@GST_API_VERSION@_la-video-multiview.lo
 am__objects_1 = libgstvideo_@GST_API_VERSION@_la-video-enumtypes.lo
 am__objects_2 =
 am__objects_3 = libgstvideo_@GST_API_VERSION@_la-tmp-orc.lo \
@@ -438,6 +439,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
@@ -649,7 +651,8 @@
 	gstvideoutilsprivate.c	\
 	video-resampler.c	\
 	video-blend.c		\
-	video-overlay-composition.c
+	video-overlay-composition.c \
+	video-multiview.c
 
 nodist_libgstvideo_@GST_API_VERSION@_la_SOURCES = $(BUILT_SOURCES)
 libgstvideo_@GST_API_VERSION@includedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/video
@@ -679,7 +682,8 @@
 	gstvideoutils.h		\
 	video-resampler.h	\
 	video-blend.h		\
-	video-overlay-composition.h
+	video-overlay-composition.h \
+	video-multiview.h
 
 nodist_libgstvideo_@GST_API_VERSION@include_HEADERS = $(built_headers)
 noinst_HEADERS = gstvideoutilsprivate.h
@@ -809,6 +813,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvideo_@GST_API_VERSION@_la-video-format.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvideo_@GST_API_VERSION@_la-video-frame.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvideo_@GST_API_VERSION@_la-video-info.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvideo_@GST_API_VERSION@_la-video-multiview.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvideo_@GST_API_VERSION@_la-video-overlay-composition.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvideo_@GST_API_VERSION@_la-video-resampler.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvideo_@GST_API_VERSION@_la-video-scaler.Plo@am__quote@
@@ -1037,6 +1042,13 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvideo_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstvideo_@GST_API_VERSION@_la-video-overlay-composition.lo `test -f 'video-overlay-composition.c' || echo '$(srcdir)/'`video-overlay-composition.c
 
+libgstvideo_@GST_API_VERSION@_la-video-multiview.lo: video-multiview.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvideo_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstvideo_@GST_API_VERSION@_la-video-multiview.lo -MD -MP -MF $(DEPDIR)/libgstvideo_@GST_API_VERSION@_la-video-multiview.Tpo -c -o libgstvideo_@GST_API_VERSION@_la-video-multiview.lo `test -f 'video-multiview.c' || echo '$(srcdir)/'`video-multiview.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstvideo_@GST_API_VERSION@_la-video-multiview.Tpo $(DEPDIR)/libgstvideo_@GST_API_VERSION@_la-video-multiview.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='video-multiview.c' object='libgstvideo_@GST_API_VERSION@_la-video-multiview.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvideo_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstvideo_@GST_API_VERSION@_la-video-multiview.lo `test -f 'video-multiview.c' || echo '$(srcdir)/'`video-multiview.c
+
 libgstvideo_@GST_API_VERSION@_la-tmp-orc.lo: tmp-orc.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvideo_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstvideo_@GST_API_VERSION@_la-tmp-orc.lo -MD -MP -MF $(DEPDIR)/libgstvideo_@GST_API_VERSION@_la-tmp-orc.Tpo -c -o libgstvideo_@GST_API_VERSION@_la-tmp-orc.lo `test -f 'tmp-orc.c' || echo '$(srcdir)/'`tmp-orc.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstvideo_@GST_API_VERSION@_la-tmp-orc.Tpo $(DEPDIR)/libgstvideo_@GST_API_VERSION@_la-tmp-orc.Plo
@@ -1461,7 +1473,7 @@
 @HAVE_INTROSPECTION_TRUE@		--pkg gstreamer-@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--pkg gstreamer-base-@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--pkg-export gstreamer-video-@GST_API_VERSION@ \
-@HAVE_INTROSPECTION_TRUE@		--add-init-section="gst_init(NULL,NULL);" \
+@HAVE_INTROSPECTION_TRUE@		--add-init-section="$(INTROSPECTION_INIT)" \
 @HAVE_INTROSPECTION_TRUE@		--output $@ \
 @HAVE_INTROSPECTION_TRUE@		$(gir_headers) \
 @HAVE_INTROSPECTION_TRUE@		$(gir_sources)
diff --git a/gst-libs/gst/video/gstvideodecoder.c b/gst-libs/gst/video/gstvideodecoder.c
index 3420b1c..fc7b8b7 100644
--- a/gst-libs/gst/video/gstvideodecoder.c
+++ b/gst-libs/gst/video/gstvideodecoder.c
@@ -754,6 +754,12 @@
     tgt->par_d = ref->par_d;
     tgt->fps_n = ref->fps_n;
     tgt->fps_d = ref->fps_d;
+    tgt->views = ref->views;
+    if (GST_VIDEO_INFO_MULTIVIEW_MODE (ref) != GST_VIDEO_MULTIVIEW_MODE_NONE) {
+      GST_VIDEO_INFO_MULTIVIEW_MODE (tgt) = GST_VIDEO_INFO_MULTIVIEW_MODE (ref);
+      GST_VIDEO_INFO_MULTIVIEW_FLAGS (tgt) =
+          GST_VIDEO_INFO_MULTIVIEW_FLAGS (ref);
+    }
   }
 
   GST_DEBUG ("reference par %d/%d fps %d/%d",
diff --git a/gst-libs/gst/video/gstvideoencoder.c b/gst-libs/gst/video/gstvideoencoder.c
index 0f85cd9..ebeaa7a 100644
--- a/gst-libs/gst/video/gstvideoencoder.c
+++ b/gst-libs/gst/video/gstvideoencoder.c
@@ -164,6 +164,11 @@
 
   GstTagList *tags;
   gboolean tags_changed;
+
+  GstClockTime min_pts;
+  /* adjustment needed on pts, dts, segment start and stop to accomodate
+   * min_pts */
+  GstClockTime time_adjustment;
 };
 
 typedef struct _ForcedKeyUnitEvent ForcedKeyUnitEvent;
@@ -343,6 +348,8 @@
   priv->bytes = 0;
   priv->time = 0;
 
+  priv->time_adjustment = GST_CLOCK_TIME_NONE;
+
   if (hard) {
     gst_segment_init (&encoder->input_segment, GST_FORMAT_TIME);
     gst_segment_init (&encoder->output_segment, GST_FORMAT_TIME);
@@ -455,6 +462,8 @@
 
   priv->min_latency = 0;
   priv->max_latency = 0;
+  priv->min_pts = GST_CLOCK_TIME_NONE;
+  priv->time_adjustment = GST_CLOCK_TIME_NONE;
 
   gst_video_encoder_reset (encoder, TRUE);
 }
@@ -565,6 +574,9 @@
     tgt->par_d = ref->par_d;
     tgt->fps_n = ref->fps_n;
     tgt->fps_d = ref->fps_d;
+
+    GST_VIDEO_INFO_MULTIVIEW_MODE (tgt) = GST_VIDEO_INFO_MULTIVIEW_MODE (ref);
+    GST_VIDEO_INFO_MULTIVIEW_FLAGS (tgt) = GST_VIDEO_INFO_MULTIVIEW_FLAGS (ref);
   }
 
   return state;
@@ -882,8 +894,19 @@
         break;
       }
 
+      if (encoder->priv->time_adjustment != GST_CLOCK_TIME_NONE) {
+        segment.start += encoder->priv->time_adjustment;
+        if (GST_CLOCK_TIME_IS_VALID (segment.stop)) {
+          segment.stop += encoder->priv->time_adjustment;
+        }
+      }
+
       encoder->output_segment = segment;
       GST_VIDEO_ENCODER_STREAM_UNLOCK (encoder);
+
+      gst_event_unref (event);
+      event = gst_event_new_segment (&encoder->output_segment);
+
       break;
     }
     default:
@@ -1320,6 +1343,17 @@
   else
     duration = GST_CLOCK_TIME_NONE;
 
+  if (priv->min_pts != GST_CLOCK_TIME_NONE
+      && priv->time_adjustment == GST_CLOCK_TIME_NONE) {
+    if (cstart < priv->min_pts) {
+      priv->time_adjustment = priv->min_pts - cstart;
+    }
+  }
+
+  if (priv->time_adjustment != GST_CLOCK_TIME_NONE) {
+    cstart += priv->time_adjustment;
+  }
+
   /* incoming DTS is not really relevant and does not make sense anyway,
    * so pass along _NONE and maybe come up with something better later on */
   frame = gst_video_encoder_new_frame (encoder, buf, cstart,
@@ -1517,6 +1551,16 @@
     if (state->codec_data)
       gst_caps_set_simple (state->caps, "codec_data", GST_TYPE_BUFFER,
           state->codec_data, NULL);
+
+    if (GST_VIDEO_INFO_MULTIVIEW_MODE (info) != GST_VIDEO_MULTIVIEW_MODE_NONE) {
+      const gchar *caps_mview_mode =
+          gst_video_multiview_mode_to_caps_string (GST_VIDEO_INFO_MULTIVIEW_MODE
+          (info));
+
+      gst_caps_set_simple (state->caps, "multiview-mode", G_TYPE_STRING,
+          caps_mview_mode, "multiview-flags", GST_TYPE_VIDEO_MULTIVIEW_FLAGSET,
+          GST_VIDEO_INFO_MULTIVIEW_FLAGS (info), GST_FLAG_SET_MASK_EXACT, NULL);
+    }
     encoder->priv->output_state_changed = FALSE;
   }
 
@@ -2284,3 +2328,23 @@
   if (params)
     *params = encoder->priv->params;
 }
+
+/**
+ * gst_video_encoder_set_min_pts:
+ * @encoder: a #GstVideoEncoder
+ * @min_pts: minimal PTS that will be passed to handle_frame
+ *
+ * Request minimal value for PTS passed to handle_frame.
+ *
+ * For streams with reordered frames this can be used to ensure that there
+ * is enough time to accomodate first DTS, which may be less than first PTS
+ *
+ * Since 1.6
+ */
+void
+gst_video_encoder_set_min_pts (GstVideoEncoder * encoder, GstClockTime min_pts)
+{
+  g_return_if_fail (GST_IS_VIDEO_ENCODER (encoder));
+  encoder->priv->min_pts = min_pts;
+  encoder->priv->time_adjustment = GST_CLOCK_TIME_NONE;
+}
diff --git a/gst-libs/gst/video/gstvideoencoder.h b/gst-libs/gst/video/gstvideoencoder.h
index aea119d..5299062 100644
--- a/gst-libs/gst/video/gstvideoencoder.h
+++ b/gst-libs/gst/video/gstvideoencoder.h
@@ -333,6 +333,8 @@
                                                       GstAllocator **allocator,
                                                       GstAllocationParams *params);
 
+void                 gst_video_encoder_set_min_pts(GstVideoEncoder *encoder, GstClockTime min_pts);
+
 G_END_DECLS
 
 #endif
diff --git a/gst-libs/gst/video/gstvideometa.c b/gst-libs/gst/video/gstvideometa.c
index 5ba9f36..789ed2f 100644
--- a/gst-libs/gst/video/gstvideometa.c
+++ b/gst-libs/gst/video/gstvideometa.c
@@ -105,7 +105,7 @@
  * Buffers can contain multiple #GstVideoMeta metadata items when dealing with
  * multiview buffers.
  *
- * Returns: the #GstVideoMeta with lowest id (usually 0) or %NULL when there
+ * Returns: (transfer none): the #GstVideoMeta with lowest id (usually 0) or %NULL when there
  * is no such metadata on @buffer.
  */
 GstVideoMeta *
@@ -138,7 +138,7 @@
  * Buffers can contain multiple #GstVideoMeta metadata items when dealing with
  * multiview buffers.
  *
- * Returns: the #GstVideoMeta with @id or %NULL when there is no such metadata
+ * Returns: (transfer none): the #GstVideoMeta with @id or %NULL when there is no such metadata
  * on @buffer.
  */
 GstVideoMeta *
@@ -218,7 +218,7 @@
  * This function calculates the default offsets and strides and then calls
  * gst_buffer_add_video_meta_full() with them.
  *
- * Returns: the #GstVideoMeta on @buffer.
+ * Returns: (transfer none): the #GstVideoMeta on @buffer.
  */
 GstVideoMeta *
 gst_buffer_add_video_meta (GstBuffer * buffer,
@@ -249,7 +249,7 @@
  *
  * Attaches GstVideoMeta metadata to @buffer with the given parameters.
  *
- * Returns: the #GstVideoMeta on @buffer.
+ * Returns: (transfer none): the #GstVideoMeta on @buffer.
  */
 GstVideoMeta *
 gst_buffer_add_video_meta_full (GstBuffer * buffer,
@@ -509,15 +509,18 @@
 /**
  * gst_buffer_add_video_gl_texture_upload_meta:
  * @buffer: a #GstBuffer
- * @upload: the function to upload the buffer to a specific texture ID
+ * @texture_orientation: the #GstVideoGLTextureOrientation
+ * @n_textures: the number of textures
+ * @texture_type: array of #GstVideoGLTextureType
+ * @upload: (scope call): the function to upload the buffer to a specific texture ID
  * @user_data: user data for the implementor of @upload
- * @user_data_copy: function to copy @user_data
- * @user_data_free: function to free @user_data
+ * @user_data_copy: (scope call): function to copy @user_data
+ * @user_data_free: (scope call): function to free @user_data
  *
  * Attaches GstVideoGLTextureUploadMeta metadata to @buffer with the given
  * parameters.
  *
- * Returns: the #GstVideoGLTextureUploadMeta on @buffer.
+ * Returns: (transfer none): the #GstVideoGLTextureUploadMeta on @buffer.
  */
 GstVideoGLTextureUploadMeta *
 gst_buffer_add_video_gl_texture_upload_meta (GstBuffer * buffer,
@@ -677,7 +680,7 @@
  * Buffers can contain multiple #GstVideoRegionOfInterestMeta metadata items if
  * multiple regions of interests are marked on a frame.
  *
- * Returns: the #GstVideoRegionOfInterestMeta with @id or %NULL when there is
+ * Returns: (transfer none): the #GstVideoRegionOfInterestMeta with @id or %NULL when there is
  * no such metadata on @buffer.
  */
 GstVideoRegionOfInterestMeta *
@@ -710,7 +713,7 @@
  * Attaches #GstVideoRegionOfInterestMeta metadata to @buffer with the given
  * parameters.
  *
- * Returns: the #GstVideoRegionOfInterestMeta on @buffer.
+ * Returns: (transfer none): the #GstVideoRegionOfInterestMeta on @buffer.
  */
 GstVideoRegionOfInterestMeta *
 gst_buffer_add_video_region_of_interest_meta (GstBuffer * buffer,
@@ -732,7 +735,7 @@
  * Attaches #GstVideoRegionOfInterestMeta metadata to @buffer with the given
  * parameters.
  *
- * Returns: the #GstVideoRegionOfInterestMeta on @buffer.
+ * Returns: (transfer none): the #GstVideoRegionOfInterestMeta on @buffer.
  */
 GstVideoRegionOfInterestMeta *
 gst_buffer_add_video_region_of_interest_meta_id (GstBuffer * buffer,
diff --git a/gst-libs/gst/video/video-chroma.c b/gst-libs/gst/video/video-chroma.c
index d0b4407..337c974 100644
--- a/gst-libs/gst/video/video-chroma.c
+++ b/gst-libs/gst/video/video-chroma.c
@@ -897,7 +897,7 @@
 };
 
 /**
- * gst_video_chroma_resample_new:
+ * gst_video_chroma_resample_new: (skip)
  * @method: a #GstVideoChromaMethod
  * @site: a #GstVideoChromaSite
  * @flags: #GstVideoChromaFlags
diff --git a/gst-libs/gst/video/video-color.c b/gst-libs/gst/video/video-color.c
index d09a860..8892e92 100644
--- a/gst-libs/gst/video/video-color.c
+++ b/gst-libs/gst/video/video-color.c
@@ -53,9 +53,9 @@
   MAKE_COLORIMETRY (BT709, _16_235, BT709, BT709, BT709),
   MAKE_COLORIMETRY (SMPTE240M, _16_235, SMPTE240M, SMPTE240M, SMPTE240M),
   MAKE_COLORIMETRY (SRGB, _0_255, RGB, SRGB, BT709),
+  MAKE_COLORIMETRY (BT2020, _16_235, BT2020, BT2020_12, BT2020),
   MAKE_COLORIMETRY (NONAME, _0_255, BT601, UNKNOWN, UNKNOWN),
   MAKE_COLORIMETRY (NONAME, _UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN),
-  MAKE_COLORIMETRY (BT2020, _16_235, BT2020, BT2020_12, BT2020),
 };
 
 static const ColorimetryInfo *
diff --git a/gst-libs/gst/video/video-converter.c b/gst-libs/gst/video/video-converter.c
index 2fa64fa..2fd5c64 100644
--- a/gst-libs/gst/video/video-converter.c
+++ b/gst-libs/gst/video/video-converter.c
@@ -2012,7 +2012,7 @@
 }
 
 /**
- * gst_video_converter_new:
+ * gst_video_converter_new: (skip)
  * @in_info: a #GstVideoInfo
  * @out_info: a #GstVideoInfo
  * @config: (transfer full): a #GstStructure with configuration options
@@ -3627,12 +3627,6 @@
         GST_VIDEO_FORMAT_INFO_SCALE_HEIGHT (out_finfo, k,
         convert->out_maxheight);
 
-    r_border = out_x + out_width;
-    rb_width = out_maxwidth - r_border;
-    lb_width = out_x;
-
-    borders = &convert->borders[k];
-
     pstride = GST_VIDEO_FORMAT_INFO_PSTRIDE (out_finfo, k);
 
     switch (GST_VIDEO_FORMAT_INFO_FORMAT (out_finfo)) {
@@ -3640,12 +3634,19 @@
       case GST_VIDEO_FORMAT_YVYU:
       case GST_VIDEO_FORMAT_UYVY:
         pgroup = 42;
+        out_maxwidth = GST_ROUND_UP_2 (out_maxwidth);
         break;
       default:
         pgroup = pstride;
         break;
     }
 
+    r_border = out_x + out_width;
+    rb_width = out_maxwidth - r_border;
+    lb_width = out_x;
+
+    borders = &convert->borders[k];
+
     switch (pgroup) {
       case 1:
       {
@@ -4040,7 +4041,8 @@
                 in_width), GST_VIDEO_FORMAT_INFO_SCALE_WIDTH (out_finfo,
                 GST_VIDEO_COMP_Y, out_width), convert->config);
         uv_scaler =
-            gst_video_scaler_new (method, GST_VIDEO_SCALER_FLAG_NONE, taps,
+            gst_video_scaler_new (method, GST_VIDEO_SCALER_FLAG_NONE,
+            gst_video_scaler_get_max_taps (y_scaler),
             GST_VIDEO_FORMAT_INFO_SCALE_WIDTH (in_finfo, GST_VIDEO_COMP_U,
                 in_width), GST_VIDEO_FORMAT_INFO_SCALE_WIDTH (out_finfo,
                 GST_VIDEO_COMP_U, out_width), convert->config);
diff --git a/gst-libs/gst/video/video-dither.c b/gst-libs/gst/video/video-dither.c
index 64e0f9f..45809e6 100644
--- a/gst-libs/gst/video/video-dither.c
+++ b/gst-libs/gst/video/video-dither.c
@@ -351,7 +351,7 @@
 }
 
 /**
- * gst_video_dither_new:
+ * gst_video_dither_new: (skip)
  * @method: a #GstVideoDitherMethod
  * @flags: a #GstVideoDitherFlags
  * @format: a #GstVideoFormat
diff --git a/gst-libs/gst/video/video-frame.h b/gst-libs/gst/video/video-frame.h
index 929ebab..27d5e44 100644
--- a/gst-libs/gst/video/video-frame.h
+++ b/gst-libs/gst/video/video-frame.h
@@ -35,6 +35,10 @@
  * @GST_VIDEO_FRAME_FLAG_TFF: The video frame has the top field first
  * @GST_VIDEO_FRAME_FLAG_RFF: The video frame has the repeat flag
  * @GST_VIDEO_FRAME_FLAG_ONEFIELD: The video frame has one field
+ * @GST_VIDEO_FRAME_FLAG_MULTIPLE_VIEW: The video contains one or
+ *     more non-mono views
+ * @GST_VIDEO_FRAME_FLAG_FIRST_IN_BUNDLE: The video frame is the first
+ *     in a set of corresponding views provided as sequential frames.
  *
  * Extra video frame flags
  */
@@ -43,7 +47,9 @@
   GST_VIDEO_FRAME_FLAG_INTERLACED   = (1 << 0),
   GST_VIDEO_FRAME_FLAG_TFF          = (1 << 1),
   GST_VIDEO_FRAME_FLAG_RFF          = (1 << 2),
-  GST_VIDEO_FRAME_FLAG_ONEFIELD     = (1 << 3)
+  GST_VIDEO_FRAME_FLAG_ONEFIELD     = (1 << 3),
+  GST_VIDEO_FRAME_FLAG_MULTIPLE_VIEW = (1 << 4),
+  GST_VIDEO_FRAME_FLAG_FIRST_IN_BUNDLE = (1 << 5)
 } GstVideoFrameFlags;
 
 /* circular dependency, need to include this after defining the enums */
@@ -136,9 +142,19 @@
  * @GST_VIDEO_BUFFER_FLAG_ONEFIELD:    If the #GstBuffer is interlaced, then only the
  *                                     first field (as defined by the %GST_VIDEO_BUFFER_TFF
  *                                     flag setting) is to be displayed.
+ * @GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW: The #GstBuffer contains one or more specific views,
+ *                                     such as left or right eye view. This flags is set on
+ *                                     any buffer that contains non-mono content - even for
+ *                                     streams that contain only a single viewpoint. In mixed
+ *                                     mono / non-mono streams, the absense of the flag marks
+ *                                     mono buffers.
+ * @GST_VIDEO_BUFFER_FLAG_FIRST_IN_BUNDLE: When conveying stereo/multiview content with
+ *                                     frame-by-frame methods, this flag marks the first buffer
+ *                                      in a bundle of frames that belong together.
  * @GST_VIDEO_BUFFER_FLAG_LAST:        Offset to define more flags
  *
- * Additional video buffer flags.
+ * Additional video buffer flags. These flags can potentially be used on any
+ * buffers carrying video data - even encoded data.
  */
 typedef enum {
   GST_VIDEO_BUFFER_FLAG_INTERLACED  = (GST_BUFFER_FLAG_LAST << 0),
@@ -146,6 +162,9 @@
   GST_VIDEO_BUFFER_FLAG_RFF         = (GST_BUFFER_FLAG_LAST << 2),
   GST_VIDEO_BUFFER_FLAG_ONEFIELD    = (GST_BUFFER_FLAG_LAST << 3),
 
+  GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW = (GST_BUFFER_FLAG_LAST << 4),
+  GST_VIDEO_BUFFER_FLAG_FIRST_IN_BUNDLE = (GST_BUFFER_FLAG_LAST << 5),
+
   GST_VIDEO_BUFFER_FLAG_LAST        = (GST_BUFFER_FLAG_LAST << 8)
 } GstVideoBufferFlags;
 
diff --git a/gst-libs/gst/video/video-info.c b/gst-libs/gst/video/video-info.c
index 5b9b380..0aa9ebb 100644
--- a/gst-libs/gst/video/video-info.c
+++ b/gst-libs/gst/video/video-info.c
@@ -52,6 +52,7 @@
   info->fps_d = 1;
   info->par_n = 1;
   info->par_d = 1;
+  GST_VIDEO_INFO_MULTIVIEW_MODE (info) = GST_VIDEO_MULTIVIEW_MODE_NONE;
 }
 
 #define MAKE_COLORIMETRY(r,m,t,p) {  \
@@ -140,6 +141,7 @@
   info->finfo = gst_video_format_get_info (format);
   info->width = width;
   info->height = height;
+  info->views = 1;
 
   set_default_colorimetry (info);
 
@@ -210,7 +212,7 @@
   GstStructure *structure;
   const gchar *s;
   GstVideoFormat format = GST_VIDEO_FORMAT_UNKNOWN;
-  gint width = 0, height = 0, views;
+  gint width = 0, height = 0;
   gint fps_n, fps_d;
   gint par_n, par_d;
 
@@ -266,15 +268,38 @@
     info->fps_d = 1;
   }
 
+  if (gst_structure_get_fraction (structure, "pixel-aspect-ratio",
+          &par_n, &par_d)) {
+    info->par_n = par_n;
+    info->par_d = par_d;
+  } else {
+    info->par_n = 1;
+    info->par_d = 1;
+  }
+
   if ((s = gst_structure_get_string (structure, "interlace-mode")))
     info->interlace_mode = gst_video_interlace_mode_from_string (s);
   else
     info->interlace_mode = GST_VIDEO_INTERLACE_MODE_PROGRESSIVE;
 
-  if (gst_structure_get_int (structure, "views", &views))
-    info->views = views;
-  else
-    info->views = 1;
+  {
+    if ((s = gst_structure_get_string (structure, "multiview-mode")))
+      GST_VIDEO_INFO_MULTIVIEW_MODE (info) =
+          gst_video_multiview_mode_from_caps_string (s);
+    else
+      GST_VIDEO_INFO_MULTIVIEW_MODE (info) = GST_VIDEO_MULTIVIEW_MODE_NONE;
+
+    gst_structure_get_flagset (structure, "multiview-flags",
+        &GST_VIDEO_INFO_MULTIVIEW_FLAGS (info), NULL);
+
+    if (!gst_structure_get_int (structure, "views", &info->views))
+      info->views = 1;
+
+    /* At one point, I tried normalising the half-aspect flag here,
+     * but it behaves weird for GstVideoInfo operations other than
+     * directly converting to/from caps - sometimes causing the
+     * PAR to be doubled/halved too many times */
+  }
 
   if ((s = gst_structure_get_string (structure, "chroma-site")))
     info->chroma_site = gst_video_chroma_from_string (s);
@@ -294,14 +319,6 @@
     set_default_colorimetry (info);
   }
 
-  if (gst_structure_get_fraction (structure, "pixel-aspect-ratio",
-          &par_n, &par_d)) {
-    info->par_n = par_n;
-    info->par_d = par_d;
-  } else {
-    info->par_n = 1;
-    info->par_d = 1;
-  }
   fill_planes (info);
 
   return TRUE;
@@ -375,6 +392,14 @@
     return FALSE;
   if (GST_VIDEO_INFO_CHROMA_SITE (info) != GST_VIDEO_INFO_CHROMA_SITE (other))
     return FALSE;
+  if (GST_VIDEO_INFO_MULTIVIEW_MODE (info) !=
+      GST_VIDEO_INFO_MULTIVIEW_MODE (other))
+    return FALSE;
+  if (GST_VIDEO_INFO_MULTIVIEW_FLAGS (info) !=
+      GST_VIDEO_INFO_MULTIVIEW_FLAGS (other))
+    return FALSE;
+  if (GST_VIDEO_INFO_VIEWS (info) != GST_VIDEO_INFO_VIEWS (other))
+    return FALSE;
 
   for (i = 0; i < info->finfo->n_planes; i++) {
     if (info->stride[i] != other->stride[i])
@@ -400,6 +425,7 @@
   GstCaps *caps;
   const gchar *format;
   gchar *color;
+  gint par_n, par_d;
 
   g_return_val_if_fail (info != NULL, NULL);
   g_return_val_if_fail (info->finfo != NULL, NULL);
@@ -411,12 +437,53 @@
   caps = gst_caps_new_simple ("video/x-raw",
       "format", G_TYPE_STRING, format,
       "width", G_TYPE_INT, info->width,
-      "height", G_TYPE_INT, info->height,
-      "pixel-aspect-ratio", GST_TYPE_FRACTION, info->par_n, info->par_d, NULL);
+      "height", G_TYPE_INT, info->height, NULL);
+
+  par_n = info->par_n;
+  par_d = info->par_d;
 
   gst_caps_set_simple (caps, "interlace-mode", G_TYPE_STRING,
       gst_video_interlace_mode_to_string (info->interlace_mode), NULL);
 
+  if (GST_VIDEO_INFO_MULTIVIEW_MODE (info) != GST_VIDEO_MULTIVIEW_MODE_NONE) {
+    const gchar *caps_str = NULL;
+
+    /* If the half-aspect flag is set, applying it into the PAR of the
+     * resulting caps now seems safe, and helps with automatic behaviour
+     * in elements that aren't explicitly multiview aware */
+    if (GST_VIDEO_INFO_MULTIVIEW_FLAGS (info) &
+        GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT) {
+      GST_VIDEO_INFO_MULTIVIEW_FLAGS (info) &=
+          ~GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT;
+      switch (GST_VIDEO_INFO_MULTIVIEW_MODE (info)) {
+        case GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE:
+        case GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX:
+        case GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED:
+        case GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD:
+          par_n *= 2;           /* double the width / half the height */
+          break;
+        case GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED:
+        case GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM:
+          par_d *= 2;           /* half the width / double the height */
+          break;
+        default:
+          break;
+      }
+    }
+
+    caps_str =
+        gst_video_multiview_mode_to_caps_string (GST_VIDEO_INFO_MULTIVIEW_MODE
+        (info));
+    if (caps_str != NULL) {
+      gst_caps_set_simple (caps, "multiview-mode", G_TYPE_STRING,
+          caps_str, "multiview-flags", GST_TYPE_VIDEO_MULTIVIEW_FLAGSET,
+          GST_VIDEO_INFO_MULTIVIEW_FLAGS (info), GST_FLAG_SET_MASK_EXACT, NULL);
+    }
+  }
+
+  gst_caps_set_simple (caps, "pixel-aspect-ratio",
+      GST_TYPE_FRACTION, par_n, par_d, NULL);
+
   if (info->chroma_site != GST_VIDEO_CHROMA_SITE_UNKNOWN)
     gst_caps_set_simple (caps, "chroma-site", G_TYPE_STRING,
         gst_video_chroma_to_string (info->chroma_site), NULL);
diff --git a/gst-libs/gst/video/video-info.h b/gst-libs/gst/video/video-info.h
index 20c653b..d1d2611 100644
--- a/gst-libs/gst/video/video-info.h
+++ b/gst-libs/gst/video/video-info.h
@@ -59,6 +59,159 @@
 GstVideoInterlaceMode  gst_video_interlace_mode_from_string  (const gchar * mode);
 
 /**
+ * GstVideoMultiviewMode:
+ * @GST_VIDEO_MULTIVIEW_MODE_NONE: A special value indicating
+ * no multiview information. Used in GstVideoInfo and other places to
+ * indicate that no specific multiview handling has been requested or
+ * provided. This value is never carried on caps.
+ * @GST_VIDEO_MULTIVIEW_MODE_MONO: All frames are monoscopic.
+ * @GST_VIDEO_MULTIVIEW_MODE_LEFT: All frames represent a left-eye view.
+ * @GST_VIDEO_MULTIVIEW_MODE_RIGHT: All frames represent a right-eye view.
+ * @GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE: Left and right eye views are
+ * provided in the left and right half of the frame respectively.
+ * @GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX: Left and right eye
+ * views are provided in the left and right half of the frame, but
+ * have been sampled using quincunx method, with half-pixel offset
+ * between the 2 views.
+ * @GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED: Alternating vertical
+ * columns of pixels represent the left and right eye view respectively.
+ * @GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED: Alternating horizontal
+ * rows of pixels represent the left and right eye view respectively.
+ * @GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM: The top half of the frame
+ * contains the left eye, and the bottom half the right eye.
+ * @GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD: Pixels are arranged with
+ * alternating pixels representing left and right eye views in a
+ * checkerboard fashion.
+ * @GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME: Left and right eye views
+ * are provided in separate frames alternately.
+ * @GST_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME: Multiple
+ * independent views are provided in separate frames in sequence.
+ * This method only applies to raw video buffers at the moment.
+ * Specific view identification is via the #GstVideoMultiviewMeta
+ * and #GstVideoMeta(s) on raw video buffers.
+ * @GST_VIDEO_MULTIVIEW_MODE_SEPARATED: Multiple views are
+ * provided as separate #GstMemory framebuffers attached to each
+ * #GstBuffer, described by the #GstVideoMultiviewMeta
+ * and #GstVideoMeta(s)
+ *
+ * All possible stereoscopic 3D and multiview representations.
+ * In conjunction with #GstVideoMultiviewFlags, describes how
+ * multiview content is being transported in the stream.
+ */
+typedef enum {
+  GST_VIDEO_MULTIVIEW_MODE_NONE = -1,
+  GST_VIDEO_MULTIVIEW_MODE_MONO = 0,
+  /* Single view modes */
+  GST_VIDEO_MULTIVIEW_MODE_LEFT,
+  GST_VIDEO_MULTIVIEW_MODE_RIGHT,
+  /* Stereo view modes */
+  GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE,
+  GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX,
+  GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED,
+  GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED,
+  GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM,
+  GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD,
+  /* Padding for new frame packing modes */
+
+  GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME = 32,
+  /* Multivew mode(s) */
+  GST_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME,
+  GST_VIDEO_MULTIVIEW_MODE_SEPARATED
+  /* future expansion for annotated modes */
+} GstVideoMultiviewMode;
+
+/**
+ * GstVideoMultiviewFramePacking:
+ * @GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE: A special value indicating
+ * no frame packing info.
+ * @GST_VIDEO_MULTIVIEW_FRAME_PACKING_MONO: All frames are monoscopic.
+ * @GST_VIDEO_MULTIVIEW_FRAME_PACKING_LEFT: All frames represent a left-eye view.
+ * @GST_VIDEO_MULTIVIEW_FRAME_PACKING_RIGHT: All frames represent a right-eye view.
+ * @GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE: Left and right eye views are
+ * provided in the left and right half of the frame respectively.
+ * @GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE_QUINCUNX: Left and right eye
+ * views are provided in the left and right half of the frame, but
+ * have been sampled using quincunx method, with half-pixel offset
+ * between the 2 views.
+ * @GST_VIDEO_MULTIVIEW_FRAME_PACKING_COLUMN_INTERLEAVED: Alternating vertical
+ * columns of pixels represent the left and right eye view respectively.
+ * @GST_VIDEO_MULTIVIEW_FRAME_PACKING_ROW_INTERLEAVED: Alternating horizontal
+ * rows of pixels represent the left and right eye view respectively.
+ * @GST_VIDEO_MULTIVIEW_FRAME_PACKING_TOP_BOTTOM: The top half of the frame
+ * contains the left eye, and the bottom half the right eye.
+ * @GST_VIDEO_MULTIVIEW_FRAME_PACKING_CHECKERBOARD: Pixels are arranged with
+ * alternating pixels representing left and right eye views in a
+ * checkerboard fashion.
+ *
+ * #GstVideoMultiviewFramePacking represents the subset of #GstVideoMultiviewMode
+ * values that can be applied to any video frame without needing extra metadata.
+ * It can be used by elements that provide a property to override the
+ * multiview interpretation of a video stream when the video doesn't contain
+ * any markers.
+ *
+ * This enum is used (for example) on playbin, to re-interpret a played
+ * video stream as a stereoscopic video. The individual enum values are
+ * equivalent to and have the same value as the matching #GstVideoMultiviewMode.
+ *
+ */
+typedef enum {
+  GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE = GST_VIDEO_MULTIVIEW_MODE_NONE,
+  GST_VIDEO_MULTIVIEW_FRAME_PACKING_MONO = GST_VIDEO_MULTIVIEW_MODE_MONO,
+  GST_VIDEO_MULTIVIEW_FRAME_PACKING_LEFT = GST_VIDEO_MULTIVIEW_MODE_LEFT,
+  GST_VIDEO_MULTIVIEW_FRAME_PACKING_RIGHT = GST_VIDEO_MULTIVIEW_MODE_RIGHT,
+  GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE = GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE,
+  GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE_QUINCUNX = GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX,
+  GST_VIDEO_MULTIVIEW_FRAME_PACKING_COLUMN_INTERLEAVED = GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED,
+  GST_VIDEO_MULTIVIEW_FRAME_PACKING_ROW_INTERLEAVED = GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED,
+  GST_VIDEO_MULTIVIEW_FRAME_PACKING_TOP_BOTTOM = GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM,
+  GST_VIDEO_MULTIVIEW_FRAME_PACKING_CHECKERBOARD = GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD
+} GstVideoMultiviewFramePacking;
+
+#define GST_VIDEO_MULTIVIEW_MAX_FRAME_PACKING GST_VIDEO_MULTIVIEW_FRAME_PACKING_CHECKERBOARD
+
+/**
+ * GstVideoMultiviewFlags:
+ * @GST_VIDEO_MULTIVIEW_FLAGS_NONE: No flags
+ * @GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST: For stereo streams, the
+ *     normal arrangement of left and right views is reversed.
+ * @GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED: The left view is vertically
+ *     mirrored.
+ * @GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED: The left view is horizontally
+ *     mirrored.
+ * @GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED: The right view is
+ *     vertically mirrored.
+ * @GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED: The right view is
+ *     horizontally mirrored.
+ * @GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT: For frame-packed
+ *     multiview modes, indicates that the individual
+ *     views have been encoded with half the true width or height
+ *     and should be scaled back up for display. This flag
+ *     is used for overriding input layout interpretation
+ *     by adjusting pixel-aspect-ratio.
+ *     For side-by-side, column interleaved or checkerboard packings, the
+ *     pixel width will be doubled. For row interleaved and top-bottom
+ *     encodings, pixel height will be doubled.
+ * @GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO: The video stream contains both
+ *     mono and multiview portions, signalled on each buffer by the
+ *     absence or presence of the @GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW
+ *     buffer flag.
+ *
+ * GstVideoMultiviewFlags are used to indicate extra properties of a
+ * stereo/multiview stream beyond the frame layout and buffer mapping
+ * that is conveyed in the #GstMultiviewMode.
+ */
+typedef enum {
+  GST_VIDEO_MULTIVIEW_FLAGS_NONE             = 0,
+  GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST = (1 << 0),
+  GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED     = (1 << 1),
+  GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED     = (1 << 2),
+  GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED    = (1 << 3),
+  GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED    = (1 << 4),
+  GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT      = (1 << 14),
+  GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO       = (1 << 15)
+} GstVideoMultiviewFlags;
+
+/**
  * GstVideoFlags:
  * @GST_VIDEO_FLAG_NONE: no flags
  * @GST_VIDEO_FLAG_VARIABLE_FPS: a variable fps is selected, fps_n and fps_d
@@ -91,6 +244,8 @@
  * @fps_d: the framerate demnominator
  * @offset: offsets of the planes
  * @stride: strides of the planes
+ * @multiview_mode: delivery mode for multiple views. (Since 1.6)
+ * @multiview_flags: flags for multiple views configuration (Since 1.6)
  *
  * Information describing image properties. This information can be filled
  * in from GstCaps with gst_video_info_from_caps(). The information is also used
@@ -120,8 +275,16 @@
   gsize                     offset[GST_VIDEO_MAX_PLANES];
   gint                      stride[GST_VIDEO_MAX_PLANES];
 
-  /*< private >*/
-  gpointer _gst_reserved[GST_PADDING];
+  /* Union preserves padded struct size for backwards compat
+   * Consumer code should use the accessor macros for fields */
+  union {
+    struct {
+      GstVideoMultiviewMode     multiview_mode;
+      GstVideoMultiviewFlags    multiview_flags;
+    } abi;
+    /*< private >*/
+    gpointer _gst_reserved[GST_PADDING];
+  } ABI;
 };
 
 /* general info */
@@ -147,6 +310,9 @@
 #define GST_VIDEO_INFO_COLORIMETRY(i) ((i)->colorimetry)
 #define GST_VIDEO_INFO_CHROMA_SITE(i) ((i)->chroma_site)
 
+#define GST_VIDEO_INFO_MULTIVIEW_MODE(i)          ((i)->ABI.abi.multiview_mode)
+#define GST_VIDEO_INFO_MULTIVIEW_FLAGS(i)          ((i)->ABI.abi.multiview_flags)
+
 /* dealing with GstVideoInfo flags */
 #define GST_VIDEO_INFO_FLAG_IS_SET(i,flag) ((GST_VIDEO_INFO_FLAGS(i) & (flag)) == (flag))
 #define GST_VIDEO_INFO_FLAG_SET(i,flag)    (GST_VIDEO_INFO_FLAGS(i) |= (flag))
@@ -184,7 +350,7 @@
                                          GstFormat     dest_format,
                                          gint64       *dest_value);
 gboolean     gst_video_info_is_equal    (const GstVideoInfo *info,
-					 const GstVideoInfo *other);
+                     const GstVideoInfo *other);
 
 #include <gst/video/video.h>
 
diff --git a/gst-libs/gst/video/video-multiview.c b/gst-libs/gst/video/video-multiview.c
new file mode 100644
index 0000000..2b2a5bc
--- /dev/null
+++ b/gst-libs/gst/video/video-multiview.c
@@ -0,0 +1,493 @@
+/* GStreamer
+ * Copyright (C) <2015> Jan Schmidt <jan@centricular.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.
+ */
+
+#ifdef HAVE_CONFIG_H
+#  include "config.h"
+#endif
+
+#include <string.h>
+
+#include "video.h"
+
+GType
+gst_video_multiview_flagset_get_type (void)
+{
+  static volatile GType type = 0;
+
+  if (g_once_init_enter (&type)) {
+    GType _type = gst_flagset_register (GST_TYPE_VIDEO_MULTIVIEW_FLAGS);
+    g_once_init_leave (&type, _type);
+  }
+  return type;
+}
+
+
+/* Caps mnemonics for the various multiview representations */
+
+static const struct mview_map_t
+{
+  const gchar *caps_repr;
+  GstVideoMultiviewMode mode;
+} gst_multiview_modes[] = {
+  {
+  "mono", GST_VIDEO_MULTIVIEW_MODE_MONO}, {
+  "left", GST_VIDEO_MULTIVIEW_MODE_LEFT}, {
+  "right", GST_VIDEO_MULTIVIEW_MODE_RIGHT}, {
+  "side-by-side", GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE}, {
+  "side-by-side-quincunx", GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX}, {
+  "column-interleaved", GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED}, {
+  "row-interleaved", GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED}, {
+  "top-bottom", GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM}, {
+  "checkerboard", GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD}, {
+  "frame-by-frame", GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME}, {
+  "multiview-frame-by-frame",
+        GST_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME}, {
+  "separated", GST_VIDEO_MULTIVIEW_MODE_SEPARATED}
+};
+
+/**
+ * gst_video_multiview_mode_to_caps_string:
+ * @mview_mode: A #GstVideoMultiviewMode value
+ *
+ * Returns: The caps string representation of the mode, or NULL if invalid.
+ *
+ * Given a #GstVideoMultiviewMode returns the multiview-mode caps string
+ * for insertion into a caps structure
+ *
+ * Since: 1.6
+ */
+const gchar *
+gst_video_multiview_mode_to_caps_string (GstVideoMultiviewMode mview_mode)
+{
+  gint i;
+
+  for (i = 0; i < G_N_ELEMENTS (gst_multiview_modes); i++) {
+    if (gst_multiview_modes[i].mode == mview_mode) {
+      return gst_multiview_modes[i].caps_repr;
+    }
+  }
+
+  return NULL;
+}
+
+/**
+ * gst_video_multiview_mode_from_caps_string:
+ * @caps_mview_mode: multiview-mode field string from caps
+ *
+ * Returns: The #GstVideoMultiviewMode value
+ *
+ * Given a string from a caps multiview-mode field,
+ * output the corresponding #GstVideoMultiviewMode
+ * or #GST_VIDEO_MULTIVIEW_MODE_NONE
+ *
+ * Since: 1.6
+ */
+GstVideoMultiviewMode
+gst_video_multiview_mode_from_caps_string (const gchar * caps_mview_mode)
+{
+  gint i;
+
+  for (i = 0; i < G_N_ELEMENTS (gst_multiview_modes); i++) {
+    if (g_str_equal (gst_multiview_modes[i].caps_repr, caps_mview_mode)) {
+      return gst_multiview_modes[i].mode;
+    }
+  }
+
+  GST_ERROR ("Invalid multiview info %s", caps_mview_mode);
+  g_warning ("Invalid multiview info %s", caps_mview_mode);
+
+  return GST_VIDEO_MULTIVIEW_MODE_NONE;
+}
+
+/* Array of mono, unpacked, double-height and double-width modes */
+static GValue mode_values[5];
+
+static void
+init_mview_mode_vals (void)
+{
+  static gsize mview_mode_vals_init = 0;
+
+  if (g_once_init_enter (&mview_mode_vals_init)) {
+    GValue item = { 0, };
+    GValue *list;
+
+    g_value_init (&item, G_TYPE_STRING);
+
+    /* Mono modes */
+    list = mode_values;
+    g_value_init (list, GST_TYPE_LIST);
+    g_value_set_static_string (&item, "mono");
+    gst_value_list_append_value (list, &item);
+    g_value_set_static_string (&item, "left");
+    gst_value_list_append_value (list, &item);
+    g_value_set_static_string (&item, "right");
+    gst_value_list_append_value (list, &item);
+
+    /* Unpacked modes - ones split across buffers or memories */
+    list = mode_values + 1;
+    g_value_init (list, GST_TYPE_LIST);
+    g_value_set_static_string (&item, "separated");
+    gst_value_list_append_value (list, &item);
+    g_value_set_static_string (&item, "frame-by-frame");
+    gst_value_list_append_value (list, &item);
+    g_value_set_static_string (&item, "multiview-frame-by-frame");
+    gst_value_list_append_value (list, &item);
+
+    /* Double height modes */
+    list = mode_values + 2;
+    g_value_init (list, GST_TYPE_LIST);
+    g_value_set_static_string (&item, "top-bottom");
+    gst_value_list_append_value (list, &item);
+    g_value_set_static_string (&item, "row-interleaved");
+    gst_value_list_append_value (list, &item);
+
+    /* Double width modes */
+    list = mode_values + 3;
+    g_value_init (list, GST_TYPE_LIST);
+    g_value_set_static_string (&item, "side-by-side");
+    gst_value_list_append_value (list, &item);
+    g_value_set_static_string (&item, "side-by-side-quincunx");
+    gst_value_list_append_value (list, &item);
+    g_value_set_static_string (&item, "column-interleaved");
+    gst_value_list_append_value (list, &item);
+
+    /* Double size (both width & height) modes */
+    list = mode_values + 4;
+    g_value_init (list, GST_TYPE_LIST);
+    g_value_set_static_string (&item, "checkerboard");
+    gst_value_list_append_value (list, &item);
+
+    g_value_unset (&item);
+    g_once_init_leave (&mview_mode_vals_init, 1);
+  }
+}
+
+/**
+ * gst_video_multiview_get_mono_modes:
+ *
+ * Returns: A const #GValue containing a list of mono video modes
+ *
+ * Utility function that returns a #GValue with a GstList of mono video
+ * modes (mono/left/right) for use in caps negotiations.
+ *
+ * Since: 1.6
+ */
+const GValue *
+gst_video_multiview_get_mono_modes (void)
+{
+  init_mview_mode_vals ();
+  return mode_values;
+}
+
+/**
+ * gst_video_multiview_get_unpacked_modes:
+ *
+ * Returns: A const #GValue containing a list of 'unpacked' stereo video modes
+ *
+ * Utility function that returns a #GValue with a GstList of unpacked
+ * stereo video modes (separated/frame-by-frame/frame-by-frame-multiview)
+ * for use in caps negotiations.
+ *
+ * Since: 1.6
+ */
+const GValue *
+gst_video_multiview_get_unpacked_modes (void)
+{
+  init_mview_mode_vals ();
+  return mode_values + 1;
+}
+
+/**
+ * gst_video_multiview_get_doubled_height_modes:
+ *
+ * Returns: A const #GValue containing a list of stereo video modes
+ *
+ * Utility function that returns a #GValue with a GstList of packed stereo
+ * video modes with double the height of a single view for use in
+ * caps negotiations. Currently this is top-bottom and row-interleaved.
+ *
+ * Since: 1.6
+ */
+const GValue *
+gst_video_multiview_get_doubled_height_modes (void)
+{
+  init_mview_mode_vals ();
+  return mode_values + 2;
+}
+
+/**
+ * gst_video_multiview_get_doubled_width_modes:
+ *
+ * Returns: A const #GValue containing a list of stereo video modes
+ *
+ * Utility function that returns a #GValue with a GstList of packed stereo
+ * video modes with double the width of a single view for use in
+ * caps negotiations. Currently this is side-by-side, side-by-side-quincunx
+ * and column-interleaved.
+ *
+ * Since: 1.6
+ */
+const GValue *
+gst_video_multiview_get_doubled_width_modes (void)
+{
+  init_mview_mode_vals ();
+  return mode_values + 3;
+}
+
+/**
+ * gst_video_multiview_get_doubled_size_modes:
+ *
+ * Returns: A const #GValue containing a list of stereo video modes
+ *
+ * Utility function that returns a #GValue with a GstList of packed
+ * stereo video modes that have double the width/height of a single
+ * view for use in caps negotiation. Currently this is just
+ * 'checkerboard' layout.
+ *
+ * Since: 1.6
+ */
+const GValue *
+gst_video_multiview_get_doubled_size_modes (void)
+{
+  init_mview_mode_vals ();
+  return mode_values + 4;
+}
+
+static void
+gst_video_multiview_separated_video_info_from_packed (GstVideoInfo * info)
+{
+  GstVideoMultiviewMode mview_mode;
+
+  mview_mode = GST_VIDEO_INFO_MULTIVIEW_MODE (info);
+
+  /* Normalise the half-aspect flag by adjusting PAR */
+  switch (mview_mode) {
+    case GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE:
+    case GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX:
+    case GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED:
+    case GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD:
+      info->width /= 2;
+      info->views *= 2;
+      GST_VIDEO_INFO_MULTIVIEW_MODE (info) = GST_VIDEO_MULTIVIEW_MODE_SEPARATED;
+      if (GST_VIDEO_INFO_MULTIVIEW_FLAGS (info) &
+          GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT)
+        info->par_n *= 2;
+      break;
+    case GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED:
+    case GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM:
+      info->height /= 2;
+      info->views *= 2;
+      GST_VIDEO_INFO_MULTIVIEW_MODE (info) = GST_VIDEO_MULTIVIEW_MODE_SEPARATED;
+      if (GST_VIDEO_INFO_MULTIVIEW_FLAGS (info) &
+          GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT)
+        info->par_d *= 2;
+      break;
+    default:
+      /* Mono/left/right/frame-by-frame/already separated */
+      break;
+  }
+  GST_VIDEO_INFO_MULTIVIEW_FLAGS (info) &=
+      ~GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT;
+}
+
+static void
+gst_video_multiview_separated_video_info_to_packed (GstVideoInfo * info,
+    GstVideoMultiviewMode packed_mview_mode,
+    GstVideoMultiviewFlags packed_mview_flags)
+{
+  /* Convert single-frame info to a packed mode */
+  GST_VIDEO_INFO_MULTIVIEW_MODE (info) = packed_mview_mode;
+  GST_VIDEO_INFO_MULTIVIEW_FLAGS (info) = packed_mview_flags;
+
+  switch (packed_mview_mode) {
+    case GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE:
+    case GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX:
+    case GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED:
+    case GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD:
+      info->width *= 2;
+      info->views /= 2;
+      if (packed_mview_flags & GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT)
+        info->par_d *= 2;
+      break;
+    case GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED:
+    case GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM:
+      info->height *= 2;
+      info->views /= 2;
+      if (packed_mview_flags & GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT)
+        info->par_n *= 2;
+      break;
+    default:
+      break;
+  }
+}
+
+/**
+ * gst_video_multiview_video_info_change_mode:
+ * @info: A #GstVideoInfo structure to operate on
+ * @out_mview_mode: A #GstVideoMultiviewMode value
+ * @out_mview_flags: A set of #GstVideoMultiviewFlags
+ *
+ * Utility function that transforms the width/height/PAR
+ * and multiview mode and flags of a #GstVideoInfo into
+ * the requested mode.
+ *
+ * Since: 1.6
+ */
+void
+gst_video_multiview_video_info_change_mode (GstVideoInfo * info,
+    GstVideoMultiviewMode out_mview_mode,
+    GstVideoMultiviewFlags out_mview_flags)
+{
+  gst_video_multiview_separated_video_info_from_packed (info);
+  gst_video_multiview_separated_video_info_to_packed (info, out_mview_mode,
+      out_mview_flags);
+}
+
+/**
+ * gst_video_multiview_guess_half_aspect:
+ * @mv_mode: A #GstVideoMultiviewMode
+ * @width: Video frame width in pixels
+ * @height: Video frame height in pixels
+ * @par_n: Numerator of the video pixel-aspect-ratio
+ * @par_d: Denominator of the video pixel-aspect-ratio
+ *
+ * Returns: A boolean indicating whether the
+ *   #GST_VIDEO_MULTIVIEW_FLAG_HALF_ASPECT flag should be set.
+ *
+ * Utility function that heuristically guess whether a
+ * frame-packed stereoscopic video contains half width/height
+ * encoded views, or full-frame views by looking at the
+ * overall display aspect ratio.
+ *
+ * Since: 1.6
+ */
+gboolean
+gst_video_multiview_guess_half_aspect (GstVideoMultiviewMode mv_mode,
+    guint width, guint height, guint par_n, guint par_d)
+{
+  switch (mv_mode) {
+    case GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM:
+    case GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED:
+      /* If the video is wider than it is tall, assume half aspect */
+      if (height * par_d <= width * par_n)
+        return TRUE;
+      break;
+    case GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE:
+    case GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX:
+    case GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED:
+      /* If the video DAR is less than 2.39:1, assume half-aspect */
+      if (width * par_n < 2.39 * height * par_d)
+        return TRUE;
+      break;
+    default:
+      break;
+  }
+  return FALSE;
+}
+
+#if 0                           /* Multiview meta disabled for now */
+GType
+gst_video_multiview_meta_api_get_type (void)
+{
+  static volatile GType type = 0;
+  static const gchar *tags[] =
+      { GST_META_TAG_VIDEO_STR, GST_META_TAG_MEMORY_STR,
+    NULL
+  };
+
+  if (g_once_init_enter (&type)) {
+    GType _type = gst_meta_api_type_register ("GstVideoMultiviewMetaAPI", tags);
+    g_once_init_leave (&type, _type);
+  }
+  return type;
+}
+
+static void
+gst_video_multiview_meta_free (GstVideoMultiviewMeta * mview_meta,
+    GstBuffer * buffer)
+{
+  g_free (mview_meta->view_info);
+}
+
+/* video multiview metadata */
+const GstMetaInfo *
+gst_video_multiview_meta_get_info (void)
+{
+  static const GstMetaInfo *video_meta_info = NULL;
+
+  if (g_once_init_enter (&video_meta_info)) {
+    const GstMetaInfo *meta =
+        gst_meta_register (GST_VIDEO_MULTIVIEW_META_API_TYPE,
+        "GstVideoMultiviewMeta",
+        sizeof (GstVideoMultiviewMeta),
+        (GstMetaInitFunction) NULL,
+        (GstMetaFreeFunction) gst_video_multiview_meta_free,
+        NULL);
+    g_once_init_leave (&video_meta_info, meta);
+  }
+
+  return video_meta_info;
+}
+
+
+GstVideoMultiviewMeta *
+gst_buffer_add_video_multiview_meta (GstBuffer * buffer, guint n_views)
+{
+  GstVideoMultiviewMeta *meta;
+
+  meta =
+      (GstVideoMultiviewMeta *) gst_buffer_add_meta (buffer,
+      GST_VIDEO_MULTIVIEW_META_INFO, NULL);
+
+  if (!meta)
+    return NULL;
+
+  meta->view_info = g_new0 (GstVideoMultiviewViewInfo, n_views);
+  meta->n_views = n_views;
+
+  return meta;
+}
+
+void
+gst_video_multiview_meta_set_n_views (GstVideoMultiviewMeta * mview_meta,
+    guint n_views)
+{
+  guint i;
+
+  mview_meta->view_info =
+      g_renew (GstVideoMultiviewViewInfo, mview_meta->view_info, n_views);
+
+  if (mview_meta->view_info == NULL) {
+    if (n_views > 0)
+      g_warning ("Failed to allocate GstVideoMultiview data");
+    mview_meta->n_views = 0;
+    return;
+  }
+
+  /* Make sure new entries are zero */
+  for (i = mview_meta->n_views; i < n_views; i++) {
+    GstVideoMultiviewViewInfo *info = mview_meta->view_info + i;
+
+    info->meta_id = 0;
+    info->view_label = GST_VIDEO_MULTIVIEW_VIEW_UNKNOWN;
+  }
+  mview_meta->n_views = n_views;
+}
+
+#endif
diff --git a/gst-libs/gst/video/video-multiview.h b/gst-libs/gst/video/video-multiview.h
new file mode 100644
index 0000000..2c02272
--- /dev/null
+++ b/gst-libs/gst/video/video-multiview.h
@@ -0,0 +1,86 @@
+/* GStreamer
+ * Copyright (C) <2015> Jan Schmidt <jan@centricular.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_VIDEO_MULTIVIEW_H__
+#define __GST_VIDEO_MULTIVIEW_H__
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_VIDEO_MULTIVIEW_FLAGSET (gst_video_multiview_flagset_get_type())
+GType gst_video_multiview_flagset_get_type (void);
+
+const gchar * gst_video_multiview_mode_to_caps_string (GstVideoMultiviewMode mview_mode);
+GstVideoMultiviewMode gst_video_multiview_mode_from_caps_string (const gchar * caps_mview_mode);
+
+const GValue *gst_video_multiview_get_mono_modes(void);
+const GValue *gst_video_multiview_get_unpacked_modes(void);
+const GValue *gst_video_multiview_get_doubled_height_modes(void);
+const GValue *gst_video_multiview_get_doubled_width_modes(void);
+const GValue *gst_video_multiview_get_doubled_size_modes(void);
+
+void gst_video_multiview_video_info_change_mode (GstVideoInfo *info,
+    GstVideoMultiviewMode out_mview_mode, GstVideoMultiviewFlags out_mview_flags);
+gboolean gst_video_multiview_guess_half_aspect (GstVideoMultiviewMode mv_mode,
+    guint width, guint height, guint par_n, guint par_d);
+
+
+#if 0 /* Place-holder for later MVC support */
+#define GST_VIDEO_MULTIVIEW_META_API_TYPE (gst_video_multiview_meta_api_get_type())
+#define GST_VIDEO_MULTIVIEW_META_INFO  (gst_video_multiview_meta_get_info())
+
+typedef struct _GstVideoMultiviewMeta GstVideoMultiviewMeta;
+typedef struct _GstVideoMultiviewViewInfo GstVideoMultiviewViewInfo;
+
+GType gst_video_multiview_meta_api_get_type (void);
+const GstMetaInfo * gst_video_multiview_meta_get_info (void);
+
+GstVideoMultiviewMeta * gst_buffer_add_video_multiview_meta (GstBuffer *buffer, guint n_views);
+#define gst_buffer_get_video_multiview_meta(b) ((GstVideoMultiviewMeta *)gst_buffer_get_meta((b),GST_VIDEO_MULTIVIEW_META_API_TYPE))
+
+void gst_video_multiview_meta_set_n_views (GstVideoMultiviewMeta *mview_meta, guint n_views);
+
+typedef enum {
+  GST_VIDEO_MULTIVIEW_VIEW_UNKNOWN = 0,
+  GST_VIDEO_MULTIVIEW_VIEW_MONO = 1,
+  GST_VIDEO_MULTIVIEW_VIEW_LEFT = 2,
+  GST_VIDEO_MULTIVIEW_VIEW_RIGHT = 3
+} GstVideoMultiviewViewLabel;
+
+struct _GstVideoMultiviewViewInfo {
+  GstVideoMultiviewViewLabel view_label;
+
+  guint meta_id; /* id of the GstVideoMeta for this view */
+
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+struct _GstVideoMultiviewMeta {
+  GstMeta       meta;
+
+  guint         n_views;
+  GstVideoMultiviewViewInfo *view_info;
+};
+#endif
+
+G_END_DECLS
+
+#endif
diff --git a/gst-libs/gst/video/video-orc-dist.c b/gst-libs/gst/video/video-orc-dist.c
index 71838d2..215cb05 100644
--- a/gst-libs/gst/video/video-orc-dist.c
+++ b/gst-libs/gst/video/video-orc-dist.c
@@ -12545,7 +12545,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 31, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 98, 105, 108, 105, 110, 101, 97, 114, 95,
-            117,
+        117,
         51, 50, 11, 4, 4, 12, 4, 4, 16, 4, 16, 4, 51, 0, 4, 24,
         25, 2, 0,
       };
@@ -22038,14 +22038,18 @@
 _backup_video_orc_matrix8 (OrcExecutor * ORC_RESTRICT ex)
 {
   _custom_video_orc_matrix8 (ex->arrays[ORC_VAR_D1], ex->arrays[ORC_VAR_S1],
-      (ex->params[ORC_VAR_P1] & 0xffffffff) | ((orc_uint64) (ex->
-              params[ORC_VAR_T1]) << 32),
-      (ex->params[ORC_VAR_P2] & 0xffffffff) | ((orc_uint64) (ex->
-              params[ORC_VAR_T2]) << 32),
-      (ex->params[ORC_VAR_P3] & 0xffffffff) | ((orc_uint64) (ex->
-              params[ORC_VAR_T3]) << 32),
-      (ex->params[ORC_VAR_P4] & 0xffffffff) | ((orc_uint64) (ex->
-              params[ORC_VAR_T4]) << 32), ex->n);
+      (ex->
+          params[ORC_VAR_P1] & 0xffffffff) |
+      ((orc_uint64) (ex->params[ORC_VAR_T1]) << 32),
+      (ex->
+          params[ORC_VAR_P2] & 0xffffffff) |
+      ((orc_uint64) (ex->params[ORC_VAR_T2]) << 32),
+      (ex->
+          params[ORC_VAR_P3] & 0xffffffff) |
+      ((orc_uint64) (ex->params[ORC_VAR_T3]) << 32),
+      (ex->
+          params[ORC_VAR_P4] & 0xffffffff) |
+      ((orc_uint64) (ex->params[ORC_VAR_T4]) << 32), ex->n);
 }
 
 void
@@ -24379,7 +24383,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 31, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 116, 97, 112, 115,
-            95,
+        95,
         117, 56, 11, 4, 4, 12, 1, 1, 12, 2, 2, 20, 2, 150, 32, 4,
         176, 0, 32, 5, 2, 0,
       };
@@ -24531,7 +24535,7 @@
       static const orc_uint8 bc[] = {
         1, 7, 9, 34, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101,
         115, 97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 97, 100, 100,
-            116,
+        116,
         97, 112, 115, 95, 117, 56, 11, 4, 4, 12, 1, 1, 12, 2, 2, 20,
         2, 20, 4, 150, 32, 4, 176, 33, 32, 5, 103, 0, 0, 33, 2, 0,
 
@@ -24687,7 +24691,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 31, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 115, 99, 97, 108, 101, 116, 97, 112, 115,
-            95,
+        95,
         117, 56, 11, 1, 1, 12, 4, 4, 14, 4, 255, 15, 0, 0, 14, 4,
         12, 0, 0, 0, 20, 2, 20, 4, 103, 33, 4, 16, 125, 33, 33, 17,
         166, 32, 33, 160, 0, 32, 2, 0,
@@ -24824,7 +24828,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 34, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 116, 97, 112, 115,
-            95,
+        95,
         117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 12, 2, 2, 20, 2,
         150, 32, 4, 89, 0, 32, 5, 2, 0,
       };
@@ -24976,7 +24980,7 @@
       static const orc_uint8 bc[] = {
         1, 7, 9, 37, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101,
         115, 97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 97, 100, 100,
-            116,
+        116,
         97, 112, 115, 95, 117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 12,
         2, 2, 20, 2, 150, 32, 4, 89, 32, 32, 5, 70, 0, 0, 32, 2,
         0,
@@ -25195,7 +25199,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 35, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 116, 97, 112, 115,
-            51,
+        51,
         95, 117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 12, 1, 1, 12,
         1, 1, 12, 2, 2, 12, 2, 2, 12, 2, 2, 20, 2, 20, 2, 150,
         32, 4, 89, 32, 32, 7, 150, 33, 5, 89, 33, 33, 8, 70, 32, 32,
@@ -25441,7 +25445,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 38, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 97, 100, 100, 116,
-            97,
+        97,
         112, 115, 51, 95, 117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 12,
         1, 1, 12, 1, 1, 12, 2, 2, 12, 2, 2, 12, 2, 2, 20, 2,
         20, 2, 150, 32, 4, 89, 32, 32, 7, 150, 33, 5, 89, 33, 33, 8,
@@ -25729,7 +25733,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 43, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 97, 100, 100, 115,
-            99,
+        99,
         97, 108, 101, 116, 97, 112, 115, 51, 95, 117, 56, 95, 108, 113, 11, 1,
         1, 12, 1, 1, 12, 1, 1, 12, 1, 1, 12, 2, 2, 12, 2, 2,
         12, 2, 2, 12, 2, 2, 14, 2, 32, 0, 0, 0, 14, 2, 6, 0,
@@ -25908,7 +25912,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 34, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 115, 99, 97, 108, 101, 116, 97, 112, 115,
-            95,
+        95,
         117, 56, 95, 108, 113, 11, 1, 1, 12, 2, 2, 14, 2, 32, 0, 0,
         0, 14, 2, 6, 0, 0, 0, 20, 2, 70, 32, 4, 16, 94, 32, 32,
         17, 160, 0, 32, 2, 0,
@@ -26048,7 +26052,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 32, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 116, 97, 112, 115,
-            95,
+        95,
         117, 49, 54, 11, 4, 4, 12, 2, 2, 12, 2, 2, 20, 4, 20, 4,
         154, 32, 4, 153, 33, 5, 120, 0, 32, 33, 2, 0,
       };
@@ -26209,7 +26213,7 @@
       static const orc_uint8 bc[] = {
         1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101,
         115, 97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 97, 100, 100,
-            116,
+        116,
         97, 112, 115, 95, 117, 49, 54, 11, 4, 4, 12, 2, 2, 12, 2, 2,
         20, 4, 20, 4, 154, 32, 4, 153, 33, 5, 120, 32, 32, 33, 103, 0,
         0, 32, 2, 0,
@@ -26361,7 +26365,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 32, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 115, 99, 97, 108, 101, 116, 97, 112, 115,
-            95,
+        95,
         117, 49, 54, 11, 2, 2, 12, 4, 4, 14, 4, 255, 15, 0, 0, 14,
         4, 12, 0, 0, 0, 20, 4, 103, 32, 4, 16, 125, 32, 32, 17, 166,
         0, 32, 2, 0,
@@ -26491,7 +26495,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 31, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 116, 97, 112, 115,
-            95,
+        95,
         117, 56, 11, 4, 4, 12, 1, 1, 16, 2, 20, 2, 150, 32, 4, 176,
         0, 32, 24, 2, 0,
       };
@@ -26630,7 +26634,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 34, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 97, 100, 100, 116,
-            97,
+        97,
         112, 115, 95, 117, 56, 11, 4, 4, 12, 1, 1, 16, 2, 20, 2, 20,
         4, 150, 32, 4, 176, 33, 32, 24, 103, 0, 0, 33, 2, 0,
       };
@@ -26760,7 +26764,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 32, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 116, 97, 112, 115,
-            95,
+        95,
         117, 49, 54, 11, 4, 4, 12, 2, 2, 16, 2, 20, 4, 154, 32, 4,
         120, 0, 32, 24, 2, 0,
       };
@@ -26905,7 +26909,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 35, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 97, 100, 100, 116,
-            97,
+        97,
         112, 115, 95, 117, 49, 54, 11, 4, 4, 12, 2, 2, 16, 2, 20, 4,
         20, 4, 154, 32, 4, 153, 33, 24, 120, 32, 32, 33, 103, 0, 0, 32,
         2, 0,
@@ -27038,7 +27042,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 34, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 116, 97, 112, 115,
-            95,
+        95,
         117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 16, 2, 20, 2, 150,
         32, 4, 89, 0, 32, 24, 2, 0,
       };
@@ -27271,7 +27275,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 35, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 116, 97, 112, 115,
-            52,
+        52,
         95, 117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 12, 1, 1, 12,
         1, 1, 12, 1, 1, 16, 2, 16, 2, 16, 2, 16, 2, 20, 2, 20,
         2, 150, 32, 4, 89, 32, 32, 24, 150, 33, 5, 89, 33, 33, 25, 70,
@@ -27444,7 +27448,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 37, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 97, 100, 100, 116,
-            97,
+        97,
         112, 115, 95, 117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 16, 2,
         20, 2, 150, 32, 4, 89, 32, 32, 24, 70, 0, 0, 32, 2, 0,
       };
@@ -27691,7 +27695,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 38, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 97, 100, 100, 116,
-            97,
+        97,
         112, 115, 52, 95, 117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 12,
         1, 1, 12, 1, 1, 12, 1, 1, 16, 2, 16, 2, 16, 2, 16, 2,
         20, 2, 20, 2, 150, 32, 4, 89, 32, 32, 24, 150, 33, 5, 89, 33,
@@ -28010,7 +28014,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 43, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 97, 100, 100, 115,
-            99,
+        99,
         97, 108, 101, 116, 97, 112, 115, 52, 95, 117, 56, 95, 108, 113, 11, 1,
         1, 12, 1, 1, 12, 1, 1, 12, 1, 1, 12, 1, 1, 12, 2, 2,
         14, 2, 32, 0, 0, 0, 14, 2, 6, 0, 0, 0, 16, 2, 16, 2,
@@ -30234,7 +30238,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 30, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 100, 105, 116,
         104, 101, 114, 95, 110, 111, 110, 101, 95, 52, 117, 56, 95, 109, 97,
-            115,
+        115,
         107, 11, 4, 4, 16, 4, 20, 4, 115, 32, 24, 21, 2, 37, 0, 32,
         0, 2, 0,
       };
@@ -30544,7 +30548,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 33, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 100, 105, 116,
         104, 101, 114, 95, 118, 101, 114, 116, 101, 114, 114, 95, 52, 117, 56,
-            95,
+        95,
         109, 97, 115, 107, 11, 4, 4, 11, 8, 8, 18, 8, 20, 8, 20, 8,
         134, 32, 24, 21, 2, 150, 33, 0, 21, 2, 70, 33, 1, 33, 21, 2,
         73, 1, 32, 33, 21, 2, 74, 33, 32, 33, 21, 2, 160, 0, 33, 2,
@@ -30727,7 +30731,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 29, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 100, 105, 116,
         104, 101, 114, 95, 102, 115, 95, 109, 117, 108, 97, 100, 100, 95, 117,
-            56,
+        56,
         11, 2, 2, 14, 4, 4, 0, 0, 0, 14, 2, 5, 0, 0, 0, 14,
         4, 8, 0, 0, 0, 14, 2, 3, 0, 0, 0, 20, 2, 20, 2, 83,
         33, 0, 16, 89, 33, 33, 17, 70, 32, 33, 0, 83, 33, 0, 18, 89,
@@ -30859,7 +30863,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 27, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 100, 105, 116,
         104, 101, 114, 95, 111, 114, 100, 101, 114, 101, 100, 95, 117, 56, 11,
-            1,
+        1,
         1, 12, 1, 1, 35, 0, 0, 4, 2, 0,
       };
       p = orc_program_new_from_static_bytecode (bc);
@@ -31022,7 +31026,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 33, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 100, 105, 116,
         104, 101, 114, 95, 111, 114, 100, 101, 114, 101, 100, 95, 52, 117, 56,
-            95,
+        95,
         109, 97, 115, 107, 11, 4, 4, 12, 8, 8, 18, 8, 20, 8, 20, 8,
         134, 33, 24, 21, 2, 150, 32, 0, 21, 2, 70, 32, 32, 4, 21, 2,
         74, 32, 33, 32, 21, 2, 160, 0, 32, 2, 0,
@@ -31182,7 +31186,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 34, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 100, 105, 116,
         104, 101, 114, 95, 111, 114, 100, 101, 114, 101, 100, 95, 52, 117, 49,
-            54,
+        54,
         95, 109, 97, 115, 107, 11, 8, 8, 12, 8, 8, 18, 8, 20, 8, 20,
         8, 134, 33, 24, 21, 2, 70, 32, 0, 4, 21, 2, 74, 0, 33, 32,
         2, 0,
diff --git a/gst-libs/gst/video/video-overlay-composition.c b/gst-libs/gst/video/video-overlay-composition.c
index c8fa935..2c57596 100644
--- a/gst-libs/gst/video/video-overlay-composition.c
+++ b/gst-libs/gst/video/video-overlay-composition.c
@@ -262,6 +262,8 @@
  * Sets an overlay composition on a buffer. The buffer will obtain its own
  * reference to the composition, meaning this function does not take ownership
  * of @comp.
+ *
+ * Returns: (transfer none): a #GstVideoOverlayCompositionMeta
  */
 GstVideoOverlayCompositionMeta *
 gst_buffer_add_video_overlay_composition_meta (GstBuffer * buf,
diff --git a/gst-libs/gst/video/video-scaler.c b/gst-libs/gst/video/video-scaler.c
index 25e8b01..4bc156c 100644
--- a/gst-libs/gst/video/video-scaler.c
+++ b/gst-libs/gst/video/video-scaler.c
@@ -163,7 +163,7 @@
 }
 
 /**
- * gst_video_scaler_new:
+ * gst_video_scaler_new: (skip)
  * @method: a #GstVideoResamplerMethod
  * @flags: #GstVideoScalerFlags
  * @n_taps: number of taps to use
@@ -249,6 +249,22 @@
 }
 
 /**
+ * gst_video_scaler_get_max_taps:
+ * @scale: a #GstVideoScaler
+ *
+ * Get the maximum number of taps for @scale.
+ *
+ * Returns: the maximum number of taps
+ */
+guint
+gst_video_scaler_get_max_taps (GstVideoScaler * scale)
+{
+  g_return_val_if_fail (scale != NULL, 0);
+
+  return scale->resampler.max_taps;
+}
+
+/**
  * gst_video_scaler_get_coeff:
  * @scale: a #GstVideoScaler
  * @out_offset: an output offset
@@ -1069,7 +1085,7 @@
 }
 
 /**
- * gst_video_scaler_combine_packed_YUV:
+ * gst_video_scaler_combine_packed_YUV: (skip)
  * @y_scale: a scaler for the Y component
  * @uv_scale: a scaler for the U and V components
  * @in_format: the input video format
@@ -1094,6 +1110,8 @@
 
   g_return_val_if_fail (y_scale != NULL, NULL);
   g_return_val_if_fail (uv_scale != NULL, NULL);
+  g_return_val_if_fail (uv_scale->resampler.max_taps ==
+      y_scale->resampler.max_taps, NULL);
 
   scale = g_slice_new0 (GstVideoScaler);
 
@@ -1103,8 +1121,8 @@
 
   resampler = &scale->resampler;
 
-  out_size = y_scale->resampler.out_size * 2;
-  max_taps = MAX (y_scale->resampler.max_taps, uv_scale->resampler.max_taps);
+  out_size = GST_ROUND_UP_4 (y_scale->resampler.out_size * 2);
+  max_taps = y_scale->resampler.max_taps;
   n_phases = out_size;
   offset = g_malloc (sizeof (guint32) * out_size);
   phase = g_malloc (sizeof (guint32) * n_phases);
@@ -1121,17 +1139,21 @@
 
   scale->in_y_offset = get_y_offset (in_format);
   scale->out_y_offset = get_y_offset (out_format);
+  scale->inc = y_scale->inc;
 
   for (i = 0; i < out_size; i++) {
+    gint ic;
+
     if ((i & 1) == scale->out_y_offset) {
-      offset[i] = y_scale->resampler.offset[i / 2] * 2 + scale->in_y_offset;
+      ic = CLAMP (i / 2, 0, y_scale->resampler.out_size - 1);
+      offset[i] = y_scale->resampler.offset[ic] * 2 + scale->in_y_offset;
       memcpy (taps + i * max_taps, y_scale->resampler.taps +
-          y_scale->resampler.phase[i / 2] * max_taps,
-          max_taps * sizeof (gdouble));
+          y_scale->resampler.phase[ic] * max_taps, max_taps * sizeof (gdouble));
     } else {
-      offset[i] = uv_scale->resampler.offset[i / 4] * 4 + (i & 3);
+      ic = CLAMP (i / 4, 0, uv_scale->resampler.out_size - 1);
+      offset[i] = uv_scale->resampler.offset[ic] * 4 + (i & 3);
       memcpy (taps + i * max_taps, uv_scale->resampler.taps +
-          uv_scale->resampler.phase[i / 4] * max_taps,
+          uv_scale->resampler.phase[ic] * max_taps,
           max_taps * sizeof (gdouble));
     }
     phase[i] = i;
@@ -1146,23 +1168,23 @@
 get_functions (GstVideoScaler * hscale, GstVideoScaler * vscale,
     GstVideoFormat format,
     GstVideoScalerHFunc * hfunc, GstVideoScalerVFunc * vfunc,
-    gint * n_elems, gint * width_mult)
+    gint * n_elems, guint * width)
 {
   gint bits;
-
-  *width_mult = 1;
+  gboolean mono = FALSE;
 
   switch (format) {
     case GST_VIDEO_FORMAT_GRAY8:
       bits = 8;
       *n_elems = 1;
+      mono = TRUE;
       break;
     case GST_VIDEO_FORMAT_YUY2:
     case GST_VIDEO_FORMAT_YVYU:
     case GST_VIDEO_FORMAT_UYVY:
       bits = 8;
       *n_elems = 1;
-      *width_mult = 2;
+      *width = GST_ROUND_UP_4 (*width * 2);
       break;
     case GST_VIDEO_FORMAT_RGB:
     case GST_VIDEO_FORMAT_BGR:
@@ -1191,6 +1213,7 @@
     case GST_VIDEO_FORMAT_GRAY16_BE:
       bits = 16;
       *n_elems = 1;
+      mono = TRUE;
       break;
     case GST_VIDEO_FORMAT_NV12:
     case GST_VIDEO_FORMAT_NV16:
@@ -1218,7 +1241,7 @@
           *hfunc = video_scale_h_near_u32;
         break;
       case 2:
-        if (*n_elems == 1 && *width_mult == 1)
+        if (*n_elems == 1 && mono)
           *hfunc = video_scale_h_2tap_1u8;
         else if (*n_elems == 4)
           *hfunc = video_scale_h_2tap_4u8;
@@ -1292,7 +1315,7 @@
 gst_video_scaler_horizontal (GstVideoScaler * scale, GstVideoFormat format,
     gpointer src, gpointer dest, guint dest_offset, guint width)
 {
-  gint n_elems, mult;
+  gint n_elems;
   GstVideoScalerHFunc func;
 
   g_return_if_fail (scale != NULL);
@@ -1300,11 +1323,9 @@
   g_return_if_fail (dest != NULL);
   g_return_if_fail (dest_offset + width <= scale->resampler.out_size);
 
-  if (!get_functions (scale, NULL, format, &func, NULL, &n_elems, &mult))
+  if (!get_functions (scale, NULL, format, &func, NULL, &n_elems, &width))
     goto no_func;
 
-  width *= mult;
-
   if (scale->tmpwidth < width)
     realloc_tmplines (scale, n_elems, width);
 
@@ -1335,7 +1356,7 @@
 gst_video_scaler_vertical (GstVideoScaler * scale, GstVideoFormat format,
     gpointer src_lines[], gpointer dest, guint dest_offset, guint width)
 {
-  gint n_elems, mult;
+  gint n_elems;
   GstVideoScalerVFunc func;
 
   g_return_if_fail (scale != NULL);
@@ -1343,11 +1364,9 @@
   g_return_if_fail (dest != NULL);
   g_return_if_fail (dest_offset < scale->resampler.out_size);
 
-  if (!get_functions (NULL, scale, format, NULL, &func, &n_elems, &mult))
+  if (!get_functions (NULL, scale, format, NULL, &func, &n_elems, &width))
     goto no_func;
 
-  width *= mult;
-
   if (scale->tmpwidth < width)
     realloc_tmplines (scale, n_elems, width);
 
@@ -1390,7 +1409,7 @@
     gpointer dest, gint dest_stride, guint x, guint y,
     guint width, guint height)
 {
-  gint n_elems, mult;
+  gint n_elems;
   GstVideoScalerHFunc hfunc;
   GstVideoScalerVFunc vfunc;
   gint i;
@@ -1398,11 +1417,9 @@
   g_return_if_fail (src != NULL);
   g_return_if_fail (dest != NULL);
 
-  if (!get_functions (hscale, vscale, format, &hfunc, &vfunc, &n_elems, &mult))
+  if (!get_functions (hscale, vscale, format, &hfunc, &vfunc, &n_elems, &width))
     goto no_func;
 
-  width *= mult;
-
 #define LINE(s,ss,i)  ((guint8 *)(s) + ((i) * (ss)))
 #define TMP_LINE(s,i,v) ((guint8 *)(s->tmpline1) + (((i) % (v)) * (sizeof (gint32) * width * n_elems)))
 
@@ -1482,24 +1499,30 @@
           vfunc (vscale, lines, LINE (dest, dest_stride, i), i, width, n_elems);
         }
       } else {
-        guint vx, vw, w1;
+        guint vx, vw, w1, ws;
         guint h_taps;
 
         h_taps = hscale->resampler.max_taps;
         w1 = x + width - 1;
+        ws = hscale->resampler.offset[w1];
 
+        /* we need to estimate the area that we first need to scale in the
+         * vertical direction. Scale x and width to find the lower bound and
+         * overshoot the width to find the upper bound */
         vx = (hscale->inc * x) >> 16;
         vx = MIN (vx, hscale->resampler.offset[x]);
         vw = (hscale->inc * (x + width)) >> 16;
         if (hscale->merged) {
           if ((w1 & 1) == hscale->out_y_offset)
-            vw = MAX (vw, hscale->resampler.offset[w1] + (2 * h_taps));
+            vw = MAX (vw, ws + (2 * h_taps));
           else
-            vw = MAX (vw, hscale->resampler.offset[w1] + (4 * h_taps));
+            vw = MAX (vw, ws + (4 * h_taps));
         } else {
-          vw = MAX (vw, hscale->resampler.offset[w1] + h_taps);
+          vw = MAX (vw, ws + h_taps);
         }
         vw += 1;
+        /* but clamp to max size */
+        vw = MIN (vw, hscale->resampler.in_size);
 
         if (vscale->tmpwidth < vw)
           realloc_tmplines (vscale, n_elems, vw);
diff --git a/gst-libs/gst/video/video-scaler.h b/gst-libs/gst/video/video-scaler.h
index 891a49d..e4b752f 100644
--- a/gst-libs/gst/video/video-scaler.h
+++ b/gst-libs/gst/video/video-scaler.h
@@ -57,6 +57,7 @@
                                                        GstStructure * options);
 void                  gst_video_scaler_free           (GstVideoScaler *scale);
 
+guint                 gst_video_scaler_get_max_taps   (GstVideoScaler *scale);
 const gdouble *       gst_video_scaler_get_coeff      (GstVideoScaler *scale,
                                                        guint out_offset,
                                                        guint *in_offset,
diff --git a/gst-libs/gst/video/video.h b/gst-libs/gst/video/video.h
index b6235b1..5399182 100644
--- a/gst-libs/gst/video/video.h
+++ b/gst-libs/gst/video/video.h
@@ -32,6 +32,7 @@
 #include <gst/video/video-enumtypes.h>
 #include <gst/video/video-converter.h>
 #include <gst/video/video-scaler.h>
+#include <gst/video/video-multiview.h>
 
 G_BEGIN_DECLS
 
diff --git a/gst-plugins-base.doap b/gst-plugins-base.doap
index 670d453..15a2994 100644
--- a/gst-plugins-base.doap
+++ b/gst-plugins-base.doap
@@ -36,6 +36,16 @@
 
  <release>
   <Version>
+   <revision>1.5.2</revision>
+   <branch>1.5</branch>
+   <name></name>
+   <created>2015-06-24</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.5.2.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.5.1</revision>
    <branch>1.5</branch>
    <name></name>
diff --git a/gst-plugins-base.spec b/gst-plugins-base.spec
index 776946a..0befe47 100644
--- a/gst-plugins-base.spec
+++ b/gst-plugins-base.spec
@@ -4,7 +4,7 @@
 %define gst_minver  0.11.0
 
 Name: 		%{gstreamer}-plugins-base
-Version: 	1.5.1
+Version: 	1.5.2
 Release: 	1.gst
 Summary: 	GStreamer streaming media framework plug-ins
 
diff --git a/gst/Makefile.in b/gst/Makefile.in
index 04a64af..9bc5995 100644
--- a/gst/Makefile.in
+++ b/gst/Makefile.in
@@ -339,6 +339,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/gst/adder/Makefile.in b/gst/adder/Makefile.in
index 2b038c7..7f49180 100644
--- a/gst/adder/Makefile.in
+++ b/gst/adder/Makefile.in
@@ -386,6 +386,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/gst/app/Makefile.in b/gst/app/Makefile.in
index 98b028d..707c138 100644
--- a/gst/app/Makefile.in
+++ b/gst/app/Makefile.in
@@ -358,6 +358,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/gst/audioconvert/Makefile.in b/gst/audioconvert/Makefile.in
index f0f22f2..109bcda 100644
--- a/gst/audioconvert/Makefile.in
+++ b/gst/audioconvert/Makefile.in
@@ -392,6 +392,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/gst/audiorate/Makefile.in b/gst/audiorate/Makefile.in
index 33583ee..9a1889a 100644
--- a/gst/audiorate/Makefile.in
+++ b/gst/audiorate/Makefile.in
@@ -360,6 +360,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/gst/audioresample/Makefile.in b/gst/audioresample/Makefile.in
index b96a6fe..a3fdf0b 100644
--- a/gst/audioresample/Makefile.in
+++ b/gst/audioresample/Makefile.in
@@ -366,6 +366,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/gst/audiotestsrc/Makefile.in b/gst/audiotestsrc/Makefile.in
index 60d57bf..e68b6cc 100644
--- a/gst/audiotestsrc/Makefile.in
+++ b/gst/audiotestsrc/Makefile.in
@@ -362,6 +362,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/gst/encoding/Makefile.in b/gst/encoding/Makefile.in
index a07befa..14db7fd 100644
--- a/gst/encoding/Makefile.in
+++ b/gst/encoding/Makefile.in
@@ -372,6 +372,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/gst/gio/Makefile.in b/gst/gio/Makefile.in
index 26eacf0..cdbd6c9 100644
--- a/gst/gio/Makefile.in
+++ b/gst/gio/Makefile.in
@@ -366,6 +366,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/gst/playback/Makefile.am b/gst/playback/Makefile.am
index cc2c5ce..081b224 100644
--- a/gst/playback/Makefile.am
+++ b/gst/playback/Makefile.am
@@ -13,7 +13,8 @@
 	gstplaysinkvideoconvert.c \
 	gstplaysinkaudioconvert.c \
 	gstplaysinkconvertbin.c \
-	gststreamsynchronizer.c
+	gststreamsynchronizer.c \
+	gstplaybackutils.c
 
 nodist_libgstplayback_la_SOURCES = $(built_sources)
 libgstplayback_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) $(csp_cflags)
@@ -34,7 +35,8 @@
 	gstplaysinkvideoconvert.h \
 	gstplaysinkaudioconvert.h \
 	gstplaysinkconvertbin.h \
-	gststreamsynchronizer.h
+	gststreamsynchronizer.h \
+	gstplaybackutils.h
 
 BUILT_SOURCES = $(built_headers) $(built_sources)
 
diff --git a/gst/playback/Makefile.in b/gst/playback/Makefile.in
index 4640c8d..76e1e98 100644
--- a/gst/playback/Makefile.in
+++ b/gst/playback/Makefile.in
@@ -167,7 +167,8 @@
 	libgstplayback_la-gstplaysinkvideoconvert.lo \
 	libgstplayback_la-gstplaysinkaudioconvert.lo \
 	libgstplayback_la-gstplaysinkconvertbin.lo \
-	libgstplayback_la-gststreamsynchronizer.lo
+	libgstplayback_la-gststreamsynchronizer.lo \
+	libgstplayback_la-gstplaybackutils.lo
 nodist_libgstplayback_la_OBJECTS =
 libgstplayback_la_OBJECTS = $(am_libgstplayback_la_OBJECTS) \
 	$(nodist_libgstplayback_la_OBJECTS)
@@ -375,6 +376,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
@@ -547,7 +549,8 @@
 	gstplaysinkvideoconvert.c \
 	gstplaysinkaudioconvert.c \
 	gstplaysinkconvertbin.c \
-	gststreamsynchronizer.c
+	gststreamsynchronizer.c \
+	gstplaybackutils.c
 
 nodist_libgstplayback_la_SOURCES = $(built_sources)
 libgstplayback_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) $(csp_cflags)
@@ -568,7 +571,8 @@
 	gstplaysinkvideoconvert.h \
 	gstplaysinkaudioconvert.h \
 	gstplaysinkconvertbin.h \
-	gststreamsynchronizer.h
+	gststreamsynchronizer.h \
+	gstplaybackutils.h
 
 BUILT_SOURCES = $(built_headers) $(built_sources)
 CLEANFILES = $(BUILT_SOURCES)
@@ -655,6 +659,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstplayback_la-gstdecodebin2.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstplayback_la-gstplay-enum.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstplayback_la-gstplayback.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstplayback_la-gstplaybackutils.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstplayback_la-gstplaybin2.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstplayback_la-gstplaysink.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstplayback_la-gstplaysinkaudioconvert.Plo@am__quote@
@@ -765,6 +770,13 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstplayback_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstplayback_la_CFLAGS) $(CFLAGS) -c -o libgstplayback_la-gststreamsynchronizer.lo `test -f 'gststreamsynchronizer.c' || echo '$(srcdir)/'`gststreamsynchronizer.c
 
+libgstplayback_la-gstplaybackutils.lo: gstplaybackutils.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstplayback_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstplayback_la_CFLAGS) $(CFLAGS) -MT libgstplayback_la-gstplaybackutils.lo -MD -MP -MF $(DEPDIR)/libgstplayback_la-gstplaybackutils.Tpo -c -o libgstplayback_la-gstplaybackutils.lo `test -f 'gstplaybackutils.c' || echo '$(srcdir)/'`gstplaybackutils.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstplayback_la-gstplaybackutils.Tpo $(DEPDIR)/libgstplayback_la-gstplaybackutils.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstplaybackutils.c' object='libgstplayback_la-gstplaybackutils.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstplayback_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstplayback_la_CFLAGS) $(CFLAGS) -c -o libgstplayback_la-gstplaybackutils.lo `test -f 'gstplaybackutils.c' || echo '$(srcdir)/'`gstplaybackutils.c
+
 mostlyclean-libtool:
 	-rm -f *.lo
 
diff --git a/gst/playback/gstplaybackutils.c b/gst/playback/gstplaybackutils.c
new file mode 100644
index 0000000..d003c91
--- /dev/null
+++ b/gst/playback/gstplaybackutils.c
@@ -0,0 +1,133 @@
+/* Copyright (C) <2014> Intel Corporation
+ * Copyright (C) <2014> Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+ *
+ * Author: Sreerenj Balachandran <sreerenj.balachandran@intel.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.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <gst/gst.h>
+#include "gstplaybackutils.h"
+
+static GstStaticCaps raw_audio_caps = GST_STATIC_CAPS ("audio/x-raw(ANY)");
+static GstStaticCaps raw_video_caps = GST_STATIC_CAPS ("video/x-raw(ANY)");
+
+/* unref the caps after usage */
+static GstCaps *
+get_template_caps (GstElementFactory * factory, GstPadDirection direction)
+{
+  const GList *templates;
+  GstStaticPadTemplate *templ = NULL;
+  GList *walk;
+
+  templates = gst_element_factory_get_static_pad_templates (factory);
+  for (walk = (GList *) templates; walk; walk = g_list_next (walk)) {
+    templ = walk->data;
+    if (templ->direction == direction)
+      break;
+  }
+  if (templ)
+    return gst_static_caps_get (&templ->static_caps);
+  else
+    return NULL;
+}
+
+static gboolean
+is_included (GList * list, GstCapsFeatures * cf)
+{
+  for (; list; list = list->next) {
+    if (gst_caps_features_is_equal ((GstCapsFeatures *) list->data, cf))
+      return TRUE;
+  }
+  return FALSE;
+}
+
+/* compute the number of common caps features */
+guint
+gst_playback_utils_get_n_common_capsfeatures (GstElementFactory * fact1,
+    GstElementFactory * fact2, GstPlayFlags flags, gboolean isaudioelement)
+{
+  GstCaps *fact1_tmpl_caps, *fact2_tmpl_caps;
+  GstCapsFeatures *fact1_features, *fact2_features;
+  GstStructure *fact1_struct, *fact2_struct;
+  GList *cf_list = NULL;
+  guint fact1_caps_size, fact2_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);
+  gboolean native_raw =
+      (isaudioelement ? ! !(flags & GST_PLAY_FLAG_NATIVE_AUDIO) : ! !(flags &
+          GST_PLAY_FLAG_NATIVE_VIDEO));
+
+  fact1_tmpl_caps = get_template_caps (fact1, GST_PAD_SRC);
+  fact2_tmpl_caps = get_template_caps (fact2, GST_PAD_SINK);
+  if (!fact1_tmpl_caps || !fact2_tmpl_caps) {
+    GST_ERROR ("Failed to get template caps from decoder or sink");
+    return 0;
+  }
+
+  fact1_caps_size = gst_caps_get_size (fact1_tmpl_caps);
+  fact2_caps_size = gst_caps_get_size (fact2_tmpl_caps);
+
+  for (i = 0; i < fact1_caps_size; i++) {
+    fact1_features =
+        gst_caps_get_features ((const GstCaps *) fact1_tmpl_caps, i);
+    if (gst_caps_features_is_any (fact1_features))
+      continue;
+    fact1_struct =
+        gst_caps_get_structure ((const GstCaps *) fact1_tmpl_caps, i);
+    for (j = 0; j < fact2_caps_size; j++) {
+
+      fact2_features =
+          gst_caps_get_features ((const GstCaps *) fact2_tmpl_caps, j);
+      if (gst_caps_features_is_any (fact2_features))
+        continue;
+      fact2_struct =
+          gst_caps_get_structure ((const GstCaps *) fact2_tmpl_caps, j);
+
+      /* 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 (fact1_features, fact2_features) &&
+          (gst_structure_can_intersect (fact1_struct, fact2_struct) ||
+              (!native_raw
+                  && gst_caps_features_is_equal (fact1_features,
+                      GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY)
+                  && gst_structure_can_intersect (raw_struct, fact1_struct)
+                  && gst_structure_can_intersect (raw_struct, fact2_struct)))
+          && !is_included (cf_list, fact2_features)) {
+        cf_list = g_list_prepend (cf_list, fact2_features);
+        n_common_cf++;
+      }
+    }
+  }
+  if (cf_list)
+    g_list_free (cf_list);
+
+  gst_caps_unref (fact1_tmpl_caps);
+  gst_caps_unref (fact2_tmpl_caps);
+
+  return n_common_cf;
+}
diff --git a/gst/playback/gstplaybackutils.h b/gst/playback/gstplaybackutils.h
new file mode 100644
index 0000000..c9f895e
--- /dev/null
+++ b/gst/playback/gstplaybackutils.h
@@ -0,0 +1,37 @@
+/* Copyright (C) <2014> Intel Corporation
+ * Copyright (C) <2014> Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+ *
+ * Author: Sreerenj Balachandran <sreerenj.balachandran@intel.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_PLAYBACK_UTILS_H__
+#define __GST_PLAYBACK_UTILS_H__
+
+G_BEGIN_DECLS
+
+#include <gst/gst.h>
+#include "gstplay-enum.h"
+
+guint
+gst_playback_utils_get_n_common_capsfeatures (GstElementFactory * fact1,
+                                        GstElementFactory * fact2,
+                                        GstPlayFlags flags,
+                                        gboolean isaudioelement);
+G_END_DECLS
+
+#endif /* __GST_PLAYBACK_UTILS_H__ */
diff --git a/gst/playback/gstplaybin2.c b/gst/playback/gstplaybin2.c
index 3c19754..9100da5 100644
--- a/gst/playback/gstplaybin2.c
+++ b/gst/playback/gstplaybin2.c
@@ -230,6 +230,8 @@
 #include <gst/gst-i18n-plugin.h>
 #include <gst/pbutils/pbutils.h>
 #include <gst/audio/streamvolume.h>
+#include <gst/video/video-info.h>
+#include <gst/video/video-multiview.h>
 #include <gst/video/videooverlay.h>
 #include <gst/video/navigation.h>
 #include <gst/video/colorbalance.h>
@@ -237,6 +239,7 @@
 #include "gstplayback.h"
 #include "gstplaysink.h"
 #include "gstsubtitleoverlay.h"
+#include "gstplaybackutils.h"
 
 GST_DEBUG_CATEGORY_STATIC (gst_play_bin_debug);
 #define GST_CAT_DEFAULT gst_play_bin_debug
@@ -424,6 +427,10 @@
   guint buffer_size;            /* When buffering, the max buffer size (bytes) */
   gboolean force_aspect_ratio;
 
+  /* Multiview/stereoscopic overrides */
+  GstVideoMultiviewFramePacking multiview_mode;
+  GstVideoMultiviewFlags multiview_flags;
+
   /* our play sink */
   GstPlaySink *playsink;
 
@@ -570,7 +577,9 @@
   PROP_RING_BUFFER_MAX_SIZE,
   PROP_FORCE_ASPECT_RATIO,
   PROP_AUDIO_FILTER,
-  PROP_VIDEO_FILTER
+  PROP_VIDEO_FILTER,
+  PROP_MULTIVIEW_MODE,
+  PROP_MULTIVIEW_FLAGS
 };
 
 /* signals */
@@ -986,6 +995,41 @@
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   /**
+   * GstPlayBin::video-multiview-mode:
+   *
+   * Set the stereoscopic mode for video streams that don't contain
+   * any information in the stream, so they can be correctly played
+   * as 3D streams. If a video already has multiview information
+   * encoded, this property can override other modes in the set,
+   * but cannot be used to re-interpret MVC or mixed-mono streams.
+   *
+   * See Also: The #GstPlayBin::video-multiview-flags property
+   *
+   */
+  g_object_class_install_property (gobject_klass, PROP_MULTIVIEW_MODE,
+      g_param_spec_enum ("video-multiview-mode",
+          "Multiview Mode Override",
+          "Re-interpret a video stream as one of several frame-packed stereoscopic modes.",
+          GST_TYPE_VIDEO_MULTIVIEW_FRAME_PACKING,
+          GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  /**
+   * GstPlayBin::video-multiview-flags:
+   *
+   * When overriding the multiview mode of an input stream,
+   * these flags modify details of the view layout.
+   *
+   * See Also: The #GstPlayBin::video-multiview-mode property
+   */
+  g_object_class_install_property (gobject_klass, PROP_MULTIVIEW_FLAGS,
+      g_param_spec_flags ("video-multiview-flags",
+          "Multiview Flags Override",
+          "Override details of the multiview frame layout",
+          GST_TYPE_VIDEO_MULTIVIEW_FLAGS, GST_VIDEO_MULTIVIEW_FLAGS_NONE,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  /**
    * GstPlayBin::about-to-finish
    * @playbin: a #GstPlayBin
    *
@@ -1510,6 +1554,9 @@
   playbin->ring_buffer_max_size = DEFAULT_RING_BUFFER_MAX_SIZE;
 
   playbin->force_aspect_ratio = TRUE;
+
+  playbin->multiview_mode = GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE;
+  playbin->multiview_flags = GST_VIDEO_MULTIVIEW_FLAGS_NONE;
 }
 
 static void
@@ -2425,6 +2472,16 @@
       g_object_set (playbin->playsink, "force-aspect-ratio",
           g_value_get_boolean (value), NULL);
       break;
+    case PROP_MULTIVIEW_MODE:
+      GST_PLAY_BIN_LOCK (playbin);
+      playbin->multiview_mode = g_value_get_enum (value);
+      GST_PLAY_BIN_UNLOCK (playbin);
+      break;
+    case PROP_MULTIVIEW_FLAGS:
+      GST_PLAY_BIN_LOCK (playbin);
+      playbin->multiview_flags = g_value_get_flags (value);
+      GST_PLAY_BIN_UNLOCK (playbin);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -2669,6 +2726,16 @@
       g_value_set_boolean (value, v);
       break;
     }
+    case PROP_MULTIVIEW_MODE:
+      GST_OBJECT_LOCK (playbin);
+      g_value_set_enum (value, playbin->multiview_mode);
+      GST_OBJECT_UNLOCK (playbin);
+      break;
+    case PROP_MULTIVIEW_FLAGS:
+      GST_OBJECT_LOCK (playbin);
+      g_value_set_flags (value, playbin->multiview_flags);
+      GST_OBJECT_UNLOCK (playbin);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -2920,6 +2987,11 @@
         gst_bin_remove (bin, group->suburidecodebin);
         gst_element_set_locked_state (group->suburidecodebin, FALSE);
 
+        GST_SOURCE_GROUP_LOCK (group);
+        g_free (group->suburi);
+        group->suburi = NULL;
+        GST_SOURCE_GROUP_UNLOCK (group);
+
         if (group->sub_pending) {
           group->sub_pending = FALSE;
           no_more_pads_cb (NULL, group);
@@ -3008,6 +3080,52 @@
     g_object_notify (G_OBJECT (playbin), property);
 }
 
+static GstCaps *
+update_video_multiview_caps (GstPlayBin * playbin, GstCaps * caps)
+{
+  GstVideoMultiviewMode mv_mode;
+  GstVideoMultiviewMode cur_mv_mode;
+  GstVideoMultiviewFlags mv_flags, cur_mv_flags;
+  GstStructure *s;
+  const gchar *mview_mode_str;
+  GstCaps *out_caps;
+
+  GST_OBJECT_LOCK (playbin);
+  mv_mode = (GstVideoMultiviewMode) playbin->multiview_mode;
+  mv_flags = playbin->multiview_flags;
+  GST_OBJECT_UNLOCK (playbin);
+
+  if (mv_mode == GST_VIDEO_MULTIVIEW_MODE_NONE)
+    return NULL;
+
+  cur_mv_mode = GST_VIDEO_MULTIVIEW_MODE_NONE;
+  cur_mv_flags = GST_VIDEO_MULTIVIEW_FLAGS_NONE;
+
+  s = gst_caps_get_structure (caps, 0);
+
+  gst_structure_get_flagset (s, "multiview-flags", &cur_mv_flags, NULL);
+  if ((mview_mode_str = gst_structure_get_string (s, "multiview-mode")))
+    cur_mv_mode = gst_video_multiview_mode_from_caps_string (mview_mode_str);
+
+  /* We can't override an existing annotated multiview mode, except
+   * maybe (in the future) we could change some flags. */
+  if ((gint) cur_mv_mode > GST_VIDEO_MULTIVIEW_MAX_FRAME_PACKING) {
+    GST_INFO_OBJECT (playbin, "Cannot override existing multiview mode");
+    return NULL;
+  }
+
+  mview_mode_str = gst_video_multiview_mode_to_caps_string (mv_mode);
+  g_assert (mview_mode_str != NULL);
+  out_caps = gst_caps_copy (caps);
+  s = gst_caps_get_structure (out_caps, 0);
+
+  gst_structure_set (s, "multiview-mode", G_TYPE_STRING, mview_mode_str,
+      "multiview-flags", GST_TYPE_VIDEO_MULTIVIEW_FLAGSET, mv_flags,
+      GST_FLAG_SET_MASK_EXACT, NULL);
+
+  return out_caps;
+}
+
 static GstPadProbeReturn
 _uridecodebin_event_probe (GstPad * pad, GstPadProbeInfo * info, gpointer udata)
 {
@@ -3071,6 +3189,26 @@
       GST_SOURCE_GROUP_UNLOCK (group);
       break;
     }
+    case GST_EVENT_CAPS:{
+      GstCaps *caps = NULL;
+      const GstStructure *s;
+      const gchar *name;
+
+      gst_event_parse_caps (event, &caps);
+      /* If video caps, check if we should override multiview flags */
+      s = gst_caps_get_structure (caps, 0);
+      name = gst_structure_get_name (s);
+      if (g_str_has_prefix (name, "video/")) {
+        caps = update_video_multiview_caps (group->playbin, caps);
+        if (caps) {
+          gst_event_unref (event);
+          event = gst_event_new_caps (caps);
+          GST_PAD_PROBE_INFO_DATA (info) = event;
+          gst_caps_unref (caps);
+        }
+      }
+      break;
+    }
     default:
       break;
   }
@@ -3811,103 +3949,6 @@
   return strcmp (GST_OBJECT_NAME (fd1), GST_OBJECT_NAME (fd2));
 }
 
-/* unref the caps after usage */
-static GstCaps *
-get_template_caps (GstElementFactory * factory, GstPadDirection direction)
-{
-  const GList *templates;
-  GstStaticPadTemplate *templ = NULL;
-  GList *walk;
-
-  templates = gst_element_factory_get_static_pad_templates (factory);
-  for (walk = (GList *) templates; walk; walk = g_list_next (walk)) {
-    templ = walk->data;
-    if (templ->direction == direction)
-      break;
-  }
-  if (templ)
-    return gst_static_caps_get (&templ->static_caps);
-  else
-    return NULL;
-}
-
-static gboolean
-is_included (GList * list, GstCapsFeatures * cf)
-{
-  for (; list; list = list->next) {
-    if (gst_caps_features_is_equal ((GstCapsFeatures *) list->data, cf))
-      return TRUE;
-  }
-  return FALSE;
-}
-
-/* compute the number of common caps features */
-static guint
-get_n_common_capsfeatures (GstPlayBin * playbin, GstElementFactory * dec,
-    GstElementFactory * sink, gboolean isaudioelement)
-{
-  GstCaps *d_tmpl_caps, *s_tmpl_caps;
-  GstCapsFeatures *d_features, *s_features;
-  GstStructure *d_struct, *s_struct;
-  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);
-
-  if (!d_tmpl_caps || !s_tmpl_caps) {
-    GST_ERROR ("Failed to get template caps from decoder or sink");
-    return 0;
-  }
-
-  d_caps_size = gst_caps_get_size (d_tmpl_caps);
-  s_caps_size = gst_caps_get_size (s_tmpl_caps);
-
-  for (i = 0; i < d_caps_size; i++) {
-    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);
-
-      /* 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++;
-      }
-    }
-  }
-  if (cf_list)
-    g_list_free (cf_list);
-
-  gst_caps_unref (d_tmpl_caps);
-  gst_caps_unref (s_tmpl_caps);
-
-  return n_common_cf;
-}
-
 static GSequence *
 avelements_create (GstPlayBin * playbin, gboolean isaudioelement)
 {
@@ -3951,8 +3992,8 @@
       s_factory = (GstElementFactory *) sl->data;
 
       n_common_cf =
-          get_n_common_capsfeatures (playbin, d_factory, s_factory,
-          isaudioelement);
+          gst_playback_utils_get_n_common_capsfeatures (d_factory, s_factory,
+          gst_play_bin_get_flags (playbin), isaudioelement);
       if (n_common_cf < 1)
         continue;
 
@@ -4387,13 +4428,13 @@
         ret = !gst_pad_query_accept_caps (sinkpad, caps);
       gst_caps_unref (sinkcaps);
       gst_object_unref (sinkpad);
-    } else {
-      GstCaps *subcaps = gst_subtitle_overlay_create_factory_caps ();
-      ret = !gst_caps_is_subset (caps, subcaps);
-      gst_caps_unref (subcaps);
     }
     if (activated_sink)
       gst_element_set_state (group->text_sink, GST_STATE_NULL);
+  } else {
+    GstCaps *subcaps = gst_subtitle_overlay_create_factory_caps ();
+    ret = !gst_caps_is_subset (caps, subcaps);
+    gst_caps_unref (subcaps);
   }
   /* If autoplugging can stop don't do additional checks */
   if (!ret)
@@ -5277,6 +5318,8 @@
         group->sub_pending = FALSE;
       }
       gst_element_set_state (suburidecodebin, GST_STATE_READY);
+      g_free (group->suburi);
+      group->suburi = NULL;
       GST_SOURCE_GROUP_UNLOCK (group);
     }
   }
diff --git a/gst/playback/gstplaysink.c b/gst/playback/gstplaysink.c
index 3fe4763..e7ae9f8 100644
--- a/gst/playback/gstplaysink.c
+++ b/gst/playback/gstplaysink.c
@@ -3744,12 +3744,17 @@
               GST_PAD_LINK_CHECK_NOTHING);
           gst_object_unref (srcpad);
         } else {
-          if (need_deinterlace)
+          if (need_deinterlace) {
+            gst_pad_unlink (playsink->videodeinterlacechain->srcpad,
+                playsink->videochain->sinkpad);
             gst_pad_link_full (playsink->videodeinterlacechain->srcpad,
                 playsink->textchain->videosinkpad, GST_PAD_LINK_CHECK_NOTHING);
-          else
+          } else {
+            gst_pad_unlink (playsink->video_srcpad_stream_synchronizer,
+                playsink->videochain->sinkpad);
             gst_pad_link_full (playsink->video_srcpad_stream_synchronizer,
                 playsink->textchain->videosinkpad, GST_PAD_LINK_CHECK_NOTHING);
+          }
         }
         gst_pad_link_full (playsink->textchain->srcpad,
             playsink->videochain->sinkpad, GST_PAD_LINK_CHECK_NOTHING);
@@ -5310,7 +5315,7 @@
 
       channels = gst_color_balance_list_channels (balance_element);
       for (k = channels; k; k = k->next) {
-        GstColorBalanceChannel *tmp = l->data;
+        GstColorBalanceChannel *tmp = k->data;
 
         if (g_strrstr (tmp->label, proxy->label)) {
           channel = tmp;
diff --git a/gst/playback/gststreamsynchronizer.c b/gst/playback/gststreamsynchronizer.c
index dd1e3d1..b55e328 100644
--- a/gst/playback/gststreamsynchronizer.c
+++ b/gst/playback/gststreamsynchronizer.c
@@ -71,6 +71,8 @@
   gboolean seen_data;
   GstClockTime gap_duration;
 
+  GstStreamFlags flags;
+
   GCond stream_finish_cond;
 
   /* seqnum of the previously received STREAM_START
@@ -298,6 +300,8 @@
         break;
       }
 
+      gst_event_parse_stream_flags (event, &stream->flags);
+
       if ((have_group_id && stream->group_id != group_id) || (!have_group_id
               && stream->stream_start_seqnum != seqnum)) {
         stream->is_eos = FALSE;
@@ -342,8 +346,9 @@
         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);
+          all_wait = all_wait && ((ostream->flags & GST_STREAM_FLAG_SPARSE)
+              || (ostream->wait && (!have_group_id
+                      || ostream->group_id == group_id)));
           if (!all_wait)
             break;
         }
@@ -467,6 +472,8 @@
     }
     case GST_EVENT_FLUSH_STOP:{
       GstStream *stream;
+      GList *l;
+      GstClockTime new_group_start_time = 0;
 
       GST_STREAM_SYNCHRONIZER_LOCK (self);
       stream = gst_pad_get_element_private (pad);
@@ -481,9 +488,50 @@
         stream->wait = FALSE;
         g_cond_broadcast (&stream->stream_finish_cond);
       }
+
+      for (l = self->streams; l; l = l->next) {
+        GstStream *ostream = l->data;
+        GstClockTime start_running_time;
+
+        if (ostream == stream)
+          continue;
+
+        if (ostream->segment.format == GST_FORMAT_TIME) {
+          start_running_time =
+              gst_segment_to_running_time (&ostream->segment,
+              GST_FORMAT_TIME, ostream->segment.start);
+
+          new_group_start_time = MAX (new_group_start_time, start_running_time);
+        }
+      }
+
+      GST_DEBUG_OBJECT (pad,
+          "Updating group start time from %" GST_TIME_FORMAT " to %"
+          GST_TIME_FORMAT, GST_TIME_ARGS (self->group_start_time),
+          GST_TIME_ARGS (new_group_start_time));
+      self->group_start_time = new_group_start_time;
       GST_STREAM_SYNCHRONIZER_UNLOCK (self);
       break;
     }
+      /* unblocking EOS wait when track switch. */
+    case GST_EVENT_CUSTOM_DOWNSTREAM_OOB:{
+      if (gst_event_has_name (event, "playsink-custom-video-flush")
+          || gst_event_has_name (event, "playsink-custom-audio-flush")
+          || gst_event_has_name (event, "playsink-custom-subtitle-flush")) {
+        GstStream *stream;
+
+        GST_STREAM_SYNCHRONIZER_LOCK (self);
+        stream = gst_pad_get_element_private (pad);
+        if (stream) {
+          stream->is_eos = FALSE;
+          stream->eos_sent = FALSE;
+          stream->wait = FALSE;
+          g_cond_broadcast (&stream->stream_finish_cond);
+        }
+        GST_STREAM_SYNCHRONIZER_UNLOCK (self);
+      }
+      break;
+    }
     case GST_EVENT_EOS:{
       GstStream *stream;
       GList *l;
diff --git a/gst/subparse/Makefile.in b/gst/subparse/Makefile.in
index 864611c..b9d0a01 100644
--- a/gst/subparse/Makefile.in
+++ b/gst/subparse/Makefile.in
@@ -365,6 +365,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/gst/tcp/Makefile.in b/gst/tcp/Makefile.in
index 36ae055..b93b0c4 100644
--- a/gst/tcp/Makefile.in
+++ b/gst/tcp/Makefile.in
@@ -373,6 +373,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/gst/typefind/Makefile.in b/gst/typefind/Makefile.in
index 034173b..bac9947 100644
--- a/gst/typefind/Makefile.in
+++ b/gst/typefind/Makefile.in
@@ -362,6 +362,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/gst/typefind/gsttypefindfunctions.c b/gst/typefind/gsttypefindfunctions.c
index 2aa0bf0..024650c 100644
--- a/gst/typefind/gsttypefindfunctions.c
+++ b/gst/typefind/gsttypefindfunctions.c
@@ -3580,6 +3580,7 @@
   glong n_read = 0, size = 0;
   guint length;
   gchar *utf8;
+  gboolean utf8_bom_detected = FALSE;
 
   if (xml_check_first_element (tf, "SmoothStreamingMedia", 20, TRUE)) {
     gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, MSS_MANIFEST_CAPS);
@@ -3589,13 +3590,15 @@
   length = gst_type_find_get_length (tf);
 
   /* try detecting the charset */
-  data = gst_type_find_peek (tf, 0, 2);
+  data = gst_type_find_peek (tf, 0, 3);
 
   if (data == NULL)
     return;
 
   /* look for a possible BOM */
-  if (data[0] == 0xFF && data[1] == 0xFE)
+  if (data[0] == 0xEF && data[1] == 0xBB && data[2] == 0xBF)
+    utf8_bom_detected = TRUE;
+  else if (data[0] == 0xFF && data[1] == 0xFE)
     data_endianness = G_LITTLE_ENDIAN;
   else if (data[0] == 0xFE && data[1] == 0xFF)
     data_endianness = G_BIG_ENDIAN;
@@ -3619,20 +3622,29 @@
   data += 2;
   length -= 2;
 
-  length = GST_ROUND_DOWN_2 (length);
+  if (utf8_bom_detected) {
+    /* skip last byte of the BOM */
+    data++;
+    length--;
 
-  /* convert to native endian UTF-16 */
-  mss_manifest_load_utf16 (utf16_ne, data, length, data_endianness);
-
-  /* and now convert to UTF-8 */
-  utf8 = g_utf16_to_utf8 (utf16_ne, length / 2, &n_read, &size, NULL);
-  if (utf8 != NULL && n_read > 0) {
-    if (xml_check_first_element_from_data ((const guint8 *) utf8, size,
+    if (xml_check_first_element_from_data (data, length,
             "SmoothStreamingMedia", 20, TRUE))
       gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, MSS_MANIFEST_CAPS);
-  }
+  } else {
+    length = GST_ROUND_DOWN_2 (length);
 
-  g_free (utf8);
+    /* convert to native endian UTF-16 */
+    mss_manifest_load_utf16 (utf16_ne, data, length, data_endianness);
+
+    /* and now convert to UTF-8 */
+    utf8 = g_utf16_to_utf8 (utf16_ne, length / 2, &n_read, &size, NULL);
+    if (utf8 != NULL && n_read > 0) {
+      if (xml_check_first_element_from_data ((const guint8 *) utf8, size,
+              "SmoothStreamingMedia", 20, TRUE))
+        gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, MSS_MANIFEST_CAPS);
+    }
+    g_free (utf8);
+  }
 }
 
 /*** image/jpeg ***/
diff --git a/gst/videoconvert/Makefile.in b/gst/videoconvert/Makefile.in
index c697753..ff61959 100644
--- a/gst/videoconvert/Makefile.in
+++ b/gst/videoconvert/Makefile.in
@@ -365,6 +365,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/gst/videorate/Makefile.in b/gst/videorate/Makefile.in
index 28cd105..69c5981 100644
--- a/gst/videorate/Makefile.in
+++ b/gst/videorate/Makefile.in
@@ -360,6 +360,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/gst/videoscale/Makefile.in b/gst/videoscale/Makefile.in
index 35bfda8..d5dbd1f 100644
--- a/gst/videoscale/Makefile.in
+++ b/gst/videoscale/Makefile.in
@@ -361,6 +361,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/gst/videotestsrc/Makefile.in b/gst/videotestsrc/Makefile.in
index b442abe..1b89cf0 100644
--- a/gst/videotestsrc/Makefile.in
+++ b/gst/videotestsrc/Makefile.in
@@ -401,6 +401,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/gst/volume/Makefile.in b/gst/volume/Makefile.in
index 5888a69..896f163 100644
--- a/gst/volume/Makefile.in
+++ b/gst/volume/Makefile.in
@@ -386,6 +386,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/gst/volume/gstvolumeorc-dist.c b/gst/volume/gstvolumeorc-dist.c
index d4ccde8..4b6ee6d 100644
--- a/gst/volume/gstvolumeorc-dist.c
+++ b/gst/volume/gstvolumeorc-dist.c
@@ -258,7 +258,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 32, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 115, 99,
         97, 108, 97, 114, 109, 117, 108, 116, 105, 112, 108, 121, 95, 102, 54,
-            52,
+        52,
         95, 110, 115, 11, 8, 8, 18, 8, 214, 0, 0, 24, 2, 0,
       };
       p = orc_program_new_from_static_bytecode (bc);
@@ -388,7 +388,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 32, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 115, 99,
         97, 108, 97, 114, 109, 117, 108, 116, 105, 112, 108, 121, 95, 102, 51,
-            50,
+        50,
         95, 110, 115, 11, 4, 4, 17, 4, 202, 0, 0, 24, 2, 0,
       };
       p = orc_program_new_from_static_bytecode (bc);
@@ -1142,7 +1142,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 29, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 105, 110, 116, 56, 95, 99, 108, 97, 109,
-            112,
+        112,
         11, 1, 1, 14, 2, 3, 0, 0, 0, 16, 1, 20, 2, 174, 32, 0,
         24, 94, 32, 32, 16, 159, 0, 32, 2, 0,
       };
@@ -1564,7 +1564,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 37, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-            100,
+        100,
         95, 102, 54, 52, 95, 49, 99, 104, 11, 8, 8, 12, 8, 8, 214, 0,
         0, 4, 2, 0,
       };
@@ -1714,7 +1714,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 37, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-            100,
+        100,
         95, 102, 51, 50, 95, 49, 99, 104, 11, 4, 4, 12, 8, 8, 20, 4,
         225, 32, 4, 202, 0, 0, 32, 2, 0,
       };
@@ -1901,7 +1901,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 37, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-            100,
+        100,
         95, 102, 51, 50, 95, 50, 99, 104, 11, 8, 8, 12, 8, 8, 20, 4,
         20, 8, 225, 32, 4, 194, 33, 32, 32, 21, 1, 202, 0, 0, 33, 2,
         0,
@@ -2064,7 +2064,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 39, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-            100,
+        100,
         95, 105, 110, 116, 51, 50, 95, 49, 99, 104, 11, 4, 4, 12, 8, 8,
         20, 8, 223, 32, 0, 214, 32, 32, 4, 222, 0, 32, 2, 0,
       };
@@ -2255,7 +2255,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 39, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-            100,
+        100,
         95, 105, 110, 116, 49, 54, 95, 49, 99, 104, 11, 2, 2, 12, 8, 8,
         20, 4, 20, 4, 153, 32, 0, 211, 32, 32, 225, 33, 4, 202, 32, 32,
         33, 210, 32, 32, 165, 0, 32, 2, 0,
@@ -2508,7 +2508,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 39, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-            100,
+        100,
         95, 105, 110, 116, 49, 54, 95, 50, 99, 104, 11, 4, 4, 12, 8, 8,
         20, 8, 20, 4, 20, 8, 21, 1, 153, 32, 0, 21, 1, 211, 32, 32,
         225, 33, 4, 194, 34, 33, 33, 21, 1, 202, 34, 34, 32, 21, 1, 210,
@@ -2723,7 +2723,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 38, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-            100,
+        100,
         95, 105, 110, 116, 56, 95, 49, 99, 104, 11, 1, 1, 12, 8, 8, 20,
         2, 20, 4, 20, 4, 149, 32, 0, 153, 33, 32, 211, 33, 33, 225, 34,
         4, 202, 33, 33, 34, 210, 33, 33, 163, 32, 33, 159, 0, 32, 2, 0,
@@ -2998,7 +2998,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 38, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-            100,
+        100,
         95, 105, 110, 116, 56, 95, 50, 99, 104, 11, 2, 2, 12, 8, 8, 20,
         4, 20, 8, 20, 8, 21, 1, 149, 32, 0, 21, 1, 153, 33, 32, 21,
         1, 211, 33, 33, 225, 32, 4, 194, 34, 32, 32, 21, 1, 202, 33, 33,
diff --git a/m4/Makefile.in b/m4/Makefile.in
index 132f3ab..89d6e82 100644
--- a/m4/Makefile.in
+++ b/m4/Makefile.in
@@ -274,6 +274,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/pkgconfig/Makefile.in b/pkgconfig/Makefile.in
index d7d1d92..9e439c6 100644
--- a/pkgconfig/Makefile.in
+++ b/pkgconfig/Makefile.in
@@ -340,6 +340,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/po/af.gmo b/po/af.gmo
index 28a2115..bd2dafc 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index 3e906b3..e4aefb9 100644
--- a/po/af.po
+++ b/po/af.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins 0.7.6\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+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"
@@ -529,6 +529,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -588,6 +591,15 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+msgid "change audio track"
+msgstr ""
+
+msgid "change video track"
+msgstr ""
+
+msgid "change subtitle track"
+msgstr ""
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/az.gmo b/po/az.gmo
index 6531c8a..5ea113a 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index 747aec1..be7bb39 100644
--- a/po/az.po
+++ b/po/az.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-0.8.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+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"
@@ -530,6 +530,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -589,6 +592,15 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+msgid "change audio track"
+msgstr ""
+
+msgid "change video track"
+msgstr ""
+
+msgid "change subtitle track"
+msgstr ""
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/bg.gmo b/po/bg.gmo
index a2a9d50..a428367 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index b75e9e2..262b426 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+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"
@@ -531,6 +531,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -589,6 +592,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "В това CD липсва аудио"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "Субтитри, формат Kate"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/ca.gmo b/po/ca.gmo
index 49c4b6b..3526eea 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index 92d2b9e..5902a17 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+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"
@@ -543,6 +543,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -602,6 +605,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "Aquest CD no té pistes d'àudio"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "Format de subtítols Kate"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/cs.gmo b/po/cs.gmo
index d634a46..873b94b 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index 88db6e3..5c1bc42 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -8,10 +8,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-base-1.4.1\n"
+"Project-Id-Version: gst-plugins-base-1.5.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
-"PO-Revision-Date: 2015-02-16 10:33+0100\n"
+"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"PO-Revision-Date: 2015-06-17 17:31+0100\n"
 "Last-Translator: Marek Černocký <marek@manet.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
 "Language: cs\n"
@@ -519,9 +519,9 @@
 "Po zobrazení počátečního seznamu zařízení neskončit, ale ček na přidání/"
 "odebrání zařízení."
 
-#, fuzzy, c-format
+#, c-format
 msgid "Volume: %.0f%%"
-msgstr "Hlasitost"
+msgstr "Hlasitost: %.0f %%"
 
 msgid "Buffering..."
 msgstr "Ukládá se do vyrovnávací paměti…"
@@ -530,73 +530,85 @@
 msgstr "Bylo ztraceno časování, vybírá se nové\n"
 
 msgid "Reached end of play list."
+msgstr "Dosažen konec seznamu k přehrání"
+
+msgid "Paused"
 msgstr ""
 
 #, c-format
 msgid "Now playing %s\n"
-msgstr ""
+msgstr "Nyní se přehrává %s\n"
 
 #, c-format
 msgid "About to finish, preparing next title: %s"
-msgstr ""
+msgstr "Blíží se konec, připravuje se následující titul: %s"
 
 #, c-format
 msgid "Playback rate: %.2f"
-msgstr ""
+msgstr "Rychlost přehrávání: %.2f"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Could not change playback rate to %.2f"
-msgstr "Nezdařilo se otevřít zařízení pro přehrávání v režimu stereo."
+msgstr "Nezdařilo se změnit rychlost přehrávání na %.2f"
 
 msgid "space"
-msgstr ""
+msgstr "mezerník"
 
 msgid "pause/unpause"
-msgstr ""
+msgstr "pozastavit/pokračovat"
 
 msgid "q or ESC"
-msgstr ""
+msgstr "q nebo ESC"
 
 msgid "quit"
-msgstr ""
+msgstr "ukončit"
 
 msgid "play next"
-msgstr ""
+msgstr "přehrát následující"
 
 msgid "play previous"
-msgstr ""
+msgstr "přehrát předchozí"
 
 msgid "seek forward"
-msgstr ""
+msgstr "posounout vpřed"
 
 msgid "seek backward"
-msgstr ""
+msgstr "posunout zpět"
 
-#, fuzzy
 msgid "volume up"
-msgstr "Hlasitost"
+msgstr "zvýšit hlasitost"
 
 msgid "volume down"
-msgstr ""
+msgstr "snížit hlasitost"
 
 msgid "increase playback rate"
-msgstr ""
+msgstr "zvýšit rychlost přehrávání"
 
 msgid "decrease playback rate"
-msgstr ""
+msgstr "snížti rychlost přehrávání"
 
 msgid "change playback direction"
-msgstr ""
+msgstr "změnit směr přehrávání"
 
 msgid "enable/disable trick modes"
-msgstr ""
+msgstr "zapnout/vypnout trikový režim"
 
-msgid "show keyboard shortcuts"
+#, fuzzy
+msgid "change audio track"
+msgstr "Toto CD nemá žádné zvukové stopy"
+
+msgid "change video track"
 msgstr ""
 
 #, fuzzy
+msgid "change subtitle track"
+msgstr "Formát titulků Kate"
+
+msgid "show keyboard shortcuts"
+msgstr "zobrazit klávesové zkratky"
+
 msgid "Interactive mode - keyboard controls:"
-msgstr "Interaktivní ovládání přes klávesnici"
+msgstr "Interaktivní režim – ovládání klávesnicí:"
 
 msgid "Video sink to use (default is autovideosink)"
 msgstr "Spotřebič videa, který se má použít (výchozí je autovideosink)"
@@ -610,9 +622,8 @@
 msgid "Shuffle playlist"
 msgstr "Náhodně zamíchat seznam k přehrání"
 
-#, fuzzy
 msgid "Disable interactive control via the keyboard"
-msgstr "Interaktivní ovládání přes klávesnici"
+msgstr "Zakázat interaktivní ovládání klávesnicí"
 
 msgid "Volume"
 msgstr "Hlasitost"
@@ -621,7 +632,7 @@
 msgstr "Soubor se seznamem k přehrání obsahující vstupní multimediální soubory"
 
 msgid "Do not print any output (apart from errors)"
-msgstr ""
+msgstr "Nevypisovat žádný výstup (mimo chyb)"
 
 #, c-format
 msgid "Usage: %s FILE1|URI1 [FILE2|URI2] [FILE3|URI3] ..."
@@ -631,9 +642,4 @@
 msgstr "Musíte zadat minimálně jeden název souboru nebo adresu URI k přehrání."
 
 msgid "Press 'k' to see a list of keyboard shortcuts.\n"
-msgstr ""
-
-#~ msgid "A %s plugin is required to play this stream, but not installed."
-#~ msgstr ""
-#~ "K přehrání tohoto proudu je vyžadován zásuvný modul %s, ale není "
-#~ "nainstalován."
+msgstr "Zmáčknutím „k“ si zobrazíte seznam klávesových zkratek.\n"
diff --git a/po/da.gmo b/po/da.gmo
index ed6c42a..72a77e1 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 8ac3ea4..17f9f7b 100644
--- a/po/da.po
+++ b/po/da.po
@@ -33,7 +33,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+0200\n"
 "PO-Revision-Date: 2014-08-29 16:38+0100\n"
 "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -568,6 +568,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -627,6 +630,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "Denne cd har ingen lydspor"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "Kate-undertekstformat"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/de.gmo b/po/de.gmo
index 46515ec..8f108ab 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index b9eaf40..9235e25 100644
--- a/po/de.po
+++ b/po/de.po
@@ -7,10 +7,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-base 1.4.0\n"
+"Project-Id-Version: gst-plugins-base 1.5.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
-"PO-Revision-Date: 2014-07-24 23:58+0100\n"
+"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"PO-Revision-Date: 2015-06-11 21:00+0100\n"
 "Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
 "Language: de\n"
@@ -18,7 +18,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.7.5\n"
 
 msgid "Could not open device for playback in mono mode."
 msgstr "Gerät konnte nicht zur Wiedergabe in Mono geöffnet werden."
@@ -522,9 +522,9 @@
 "Nicht nach dem Anzeigen der anfänglichen Geräteliste beenden, sondern auf "
 "das Hinzufügen/Entfernen von Geräten warten."
 
-#, fuzzy, c-format
+#, c-format
 msgid "Volume: %.0f%%"
-msgstr "Lautstärke"
+msgstr "Lautstärke: %.0f%%"
 
 msgid "Buffering..."
 msgstr "Zwischenspeichern …"
@@ -533,73 +533,85 @@
 msgstr "Uhrzeit verloren, es wird eine neue gewählt\n"
 
 msgid "Reached end of play list."
+msgstr "Das Ende der Wiedergabeliste wurde erreicht."
+
+msgid "Paused"
 msgstr ""
 
 #, c-format
 msgid "Now playing %s\n"
-msgstr ""
+msgstr "Momentan wird %s wiedergegeben\n"
 
 #, c-format
 msgid "About to finish, preparing next title: %s"
-msgstr ""
+msgstr "Kurz vor dem Abschluss. Nächster Titel wird vorbereitet: %s"
 
 #, c-format
 msgid "Playback rate: %.2f"
-msgstr ""
+msgstr "Wiedergabegeschwindigkeit: %.2f"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Could not change playback rate to %.2f"
-msgstr "Gerät konnte nicht zur Wiedergabe in Stereo geöffnet werden."
+msgstr "Wiedergabegeschwindigkeit konnte nicht auf %.2f geändert werden"
 
 msgid "space"
-msgstr ""
+msgstr "Leertaste"
 
 msgid "pause/unpause"
-msgstr ""
+msgstr "Anhalten/Fortsetzen"
 
 msgid "q or ESC"
-msgstr ""
+msgstr "q oder ESC"
 
 msgid "quit"
-msgstr ""
+msgstr "Beenden"
 
 msgid "play next"
-msgstr ""
+msgstr "Nächsten wiedergeben"
 
 msgid "play previous"
-msgstr ""
+msgstr "Vorherigen wiedergeben"
 
 msgid "seek forward"
-msgstr ""
+msgstr "Vorspulen"
 
 msgid "seek backward"
-msgstr ""
+msgstr "Zurückspulen"
 
-#, fuzzy
 msgid "volume up"
-msgstr "Lautstärke"
+msgstr "Lauter"
 
 msgid "volume down"
-msgstr ""
+msgstr "Leiser"
 
 msgid "increase playback rate"
-msgstr ""
+msgstr "Schneller wiedergeben"
 
 msgid "decrease playback rate"
-msgstr ""
+msgstr "Langsamer wiedergeben"
 
 msgid "change playback direction"
-msgstr ""
+msgstr "Wiedergaberichtung ändern"
 
 msgid "enable/disable trick modes"
-msgstr ""
+msgstr "Trickmodi einschalten/ausschalten"
 
-msgid "show keyboard shortcuts"
+#, fuzzy
+msgid "change audio track"
+msgstr "Auf dieser CD befinden sich keine Audio-Titel"
+
+msgid "change video track"
 msgstr ""
 
 #, fuzzy
+msgid "change subtitle track"
+msgstr "Untertitel-Format Kate"
+
+msgid "show keyboard shortcuts"
+msgstr "Tastenkombinationen anzeigen"
+
 msgid "Interactive mode - keyboard controls:"
-msgstr "Interaktive Steuerung via Tastatur"
+msgstr "Interaktiver Modus - Tastatursteuerung:"
 
 msgid "Video sink to use (default is autovideosink)"
 msgstr "Zu verwendende Video-Ziel (Voreinstellung ist »autovideosink«)"
@@ -613,9 +625,8 @@
 msgid "Shuffle playlist"
 msgstr "Wiedergabeliste mischen"
 
-#, fuzzy
 msgid "Disable interactive control via the keyboard"
-msgstr "Interaktive Steuerung via Tastatur"
+msgstr "Interaktive Steuerung via Tastatur deaktivieren"
 
 msgid "Volume"
 msgstr "Lautstärke"
@@ -624,7 +635,7 @@
 msgstr "Datei mit Wiedergabeliste enthält Eingabe-Mediendateien"
 
 msgid "Do not print any output (apart from errors)"
-msgstr ""
+msgstr "Nichts ausgeben (außer Fehlermeldungen)"
 
 #, c-format
 msgid "Usage: %s FILE1|URI1 [FILE2|URI2] [FILE3|URI3] ..."
@@ -636,7 +647,7 @@
 "angeben."
 
 msgid "Press 'k' to see a list of keyboard shortcuts.\n"
-msgstr ""
+msgstr "Geben Sie »k« ein, um die Liste der Tastenkombinationen zu sehen.\n"
 
 #~ msgid "A %s plugin is required to play this stream, but not installed."
 #~ msgstr ""
diff --git a/po/el.gmo b/po/el.gmo
index b335f16..b2d0c03 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index bceefc7..514dcc7 100644
--- a/po/el.po
+++ b/po/el.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+0200\n"
 "PO-Revision-Date: 2012-05-05 19:13+0100\n"
 "Last-Translator: Savvas Radevic <vicedar@gmail.com>\n"
 "Language-Team: Greek <team@lists.gnome.gr>\n"
@@ -549,6 +549,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -607,6 +610,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "Αυτό το CD δεν έχει ηχητικά κομμάτια"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "Μορφή υποτίτλων Kate"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index 43ba65d..d02d7c6 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 2014696..595c299 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins 0.8.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+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"
@@ -528,6 +528,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -587,6 +590,15 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+msgid "change audio track"
+msgstr ""
+
+msgid "change video track"
+msgstr ""
+
+msgid "change subtitle track"
+msgstr ""
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/eo.gmo b/po/eo.gmo
index dc12c15..09ae428 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index b77df58..27a3d91 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+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"
@@ -524,6 +524,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -582,6 +585,15 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+msgid "change audio track"
+msgstr ""
+
+msgid "change video track"
+msgstr ""
+
+msgid "change subtitle track"
+msgstr ""
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/es.gmo b/po/es.gmo
index b235fa9..1e95759 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 1973cf7..4eafadc 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+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"
@@ -532,6 +532,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -590,6 +593,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "Este CD no tiene pistas de sonido"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "Formato de subtítulos kate"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/eu.gmo b/po/eu.gmo
index 625ff78..a748f0e 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index e48aea0..245fa5c 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base-0.10.26.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+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"
@@ -534,6 +534,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -592,6 +595,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "CD honek ez du audio-pistarik"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "'Kate' azpititulu-formatua"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/fi.gmo b/po/fi.gmo
index beb8d5b..89fb698 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index f339fa3..7a524ae 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -12,7 +12,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.30.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+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"
@@ -536,6 +536,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -594,6 +597,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "Tällä CD-levyllä ei ole ääniraitoja"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "Kate-tekstitysmuoto"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/fr.gmo b/po/fr.gmo
index a28dfe4..95d7e5a 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index 399d677..c437608 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+0200\n"
 "PO-Revision-Date: 2015-04-26 19:42+0200\n"
 "Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
 "Language-Team: French <traduc@traduc.org>\n"
@@ -546,6 +546,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -605,6 +608,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "Ce CD ne contient aucune piste audio"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "Format de sous-titres Kate"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/gl.gmo b/po/gl.gmo
index 4ba4be8..b50ca8c 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index f96f87d..9be98c4 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+0200\n"
 "PO-Revision-Date: 2012-12-15 03:40+0200\n"
 "Last-Translator: Fran Dieguez <frandieguez@ubuntu.com>\n"
 "Language-Team: Galician <proxecto@trasno.net>\n"
@@ -531,6 +531,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -590,6 +593,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "Este CD non contén pistas de son"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "Formato de subtítulos Kate"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/gst-plugins-base-1.0.pot b/po/gst-plugins-base-1.0.pot
index 3caa29c..8a4b6c2 100644
--- a/po/gst-plugins-base-1.0.pot
+++ b/po/gst-plugins-base-1.0.pot
@@ -5,9 +5,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-base 1.5.1\n"
+"Project-Id-Version: gst-plugins-base 1.5.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+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"
@@ -39,7 +39,7 @@
 msgid "Could not open audio device for playback."
 msgstr ""
 
-#: ext/alsa/gstalsasink.c:1078
+#: ext/alsa/gstalsasink.c:1081
 msgid "Error outputting to audio device. The device has been disconnected."
 msgstr ""
 
@@ -82,11 +82,11 @@
 msgid "Could not read CD."
 msgstr ""
 
-#: ext/ogg/gstoggdemux.c:4822
+#: ext/ogg/gstoggdemux.c:4824
 msgid "Internal data stream error."
 msgstr ""
 
-#: gst/encoding/gstencodebin.c:1571 gst/playback/gstplaybin2.c:3219
+#: gst/encoding/gstencodebin.c:1571 gst/playback/gstplaybin2.c:3357
 #: gst/playback/gstplaysink.c:1496 gst/playback/gstplaysink.c:1513
 #: gst/playback/gstplaysink.c:1847 gst/playback/gstplaysink.c:1876
 #: gst/playback/gstplaysink.c:2456 gst/playback/gstplaysink.c:2505
@@ -95,7 +95,7 @@
 #: gst/playback/gstplaysink.c:2750 gst/playback/gstplaysink.c:3143
 #: gst/playback/gstplaysink.c:3152 gst/playback/gstplaysink.c:3161
 #: gst/playback/gstplaysink.c:3170 gst/playback/gstplaysink.c:3546
-#: gst/playback/gstplaysink.c:4412 gst/playback/gstplaysinkconvertbin.c:97
+#: gst/playback/gstplaysink.c:4417 gst/playback/gstplaysinkconvertbin.c:97
 #: gst/playback/gstplaysinkconvertbin.c:117
 #: gst/playback/gsturidecodebin.c:1490
 #, c-format
@@ -110,7 +110,7 @@
 msgid "This appears to be a text file"
 msgstr ""
 
-#: gst/playback/gstplaybin2.c:5308
+#: gst/playback/gstplaybin2.c:5351
 msgid "Could not create \"uridecodebin\" element."
 msgstr ""
 
@@ -660,7 +660,7 @@
 msgid "Initial key in which the sound starts"
 msgstr ""
 
-#: tools/gst-device-monitor.c:123 tools/gst-play.c:982
+#: tools/gst-device-monitor.c:123 tools/gst-play.c:1099
 msgid "Print version information and exit"
 msgstr ""
 
@@ -670,149 +670,165 @@
 "added/removed."
 msgstr ""
 
-#: tools/gst-play.c:236
+#: tools/gst-play.c:249
 #, c-format
 msgid "Volume: %.0f%%"
 msgstr ""
 
-#: tools/gst-play.c:275
+#: tools/gst-play.c:288
 msgid "Buffering..."
 msgstr ""
 
-#: tools/gst-play.c:296
+#: tools/gst-play.c:309
 msgid "Clock lost, selecting a new one\n"
 msgstr ""
 
-#: tools/gst-play.c:326 tools/gst-play.c:372 tools/gst-play.c:691
-#: tools/gst-play.c:905
+#: tools/gst-play.c:339 tools/gst-play.c:385 tools/gst-play.c:731
+#: tools/gst-play.c:1013
 msgid "Reached end of play list."
 msgstr ""
 
-#: tools/gst-play.c:505
+#: tools/gst-play.c:465
+msgid "Paused"
+msgstr ""
+
+#: tools/gst-play.c:523
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
 
-#: tools/gst-play.c:568
+#: tools/gst-play.c:586
 #, c-format
 msgid "About to finish, preparing next title: %s"
 msgstr ""
 
-#: tools/gst-play.c:787
+#: tools/gst-play.c:827
 #, c-format
 msgid "Playback rate: %.2f"
 msgstr ""
 
-#: tools/gst-play.c:791
+#: tools/gst-play.c:831
 #, c-format
 msgid "Could not change playback rate to %.2f"
 msgstr ""
 
-#: tools/gst-play.c:855
+#: tools/gst-play.c:955
 msgid "space"
 msgstr ""
 
-#: tools/gst-play.c:855
+#: tools/gst-play.c:955
 msgid "pause/unpause"
 msgstr ""
 
-#: tools/gst-play.c:856
+#: tools/gst-play.c:956
 msgid "q or ESC"
 msgstr ""
 
-#: tools/gst-play.c:856
+#: tools/gst-play.c:956
 msgid "quit"
 msgstr ""
 
-#: tools/gst-play.c:857
+#: tools/gst-play.c:957
 msgid "play next"
 msgstr ""
 
-#: tools/gst-play.c:858
+#: tools/gst-play.c:958
 msgid "play previous"
 msgstr ""
 
-#: tools/gst-play.c:859
+#: tools/gst-play.c:959
 msgid "seek forward"
 msgstr ""
 
-#: tools/gst-play.c:860
+#: tools/gst-play.c:960
 msgid "seek backward"
 msgstr ""
 
-#: tools/gst-play.c:861
+#: tools/gst-play.c:961
 msgid "volume up"
 msgstr ""
 
-#: tools/gst-play.c:862
+#: tools/gst-play.c:962
 msgid "volume down"
 msgstr ""
 
-#: tools/gst-play.c:863
+#: tools/gst-play.c:963
 msgid "increase playback rate"
 msgstr ""
 
-#: tools/gst-play.c:864
+#: tools/gst-play.c:964
 msgid "decrease playback rate"
 msgstr ""
 
-#: tools/gst-play.c:865
+#: tools/gst-play.c:965
 msgid "change playback direction"
 msgstr ""
 
-#: tools/gst-play.c:866
+#: tools/gst-play.c:966
 msgid "enable/disable trick modes"
 msgstr ""
 
-#: tools/gst-play.c:867
+#: tools/gst-play.c:967
+msgid "change audio track"
+msgstr ""
+
+#: tools/gst-play.c:968
+msgid "change video track"
+msgstr ""
+
+#: tools/gst-play.c:969
+msgid "change subtitle track"
+msgstr ""
+
+#: tools/gst-play.c:970
 msgid "show keyboard shortcuts"
 msgstr ""
 
-#: tools/gst-play.c:870
+#: tools/gst-play.c:973
 msgid "Interactive mode - keyboard controls:"
 msgstr ""
 
-#: tools/gst-play.c:984
+#: tools/gst-play.c:1101
 msgid "Video sink to use (default is autovideosink)"
 msgstr ""
 
-#: tools/gst-play.c:986
+#: tools/gst-play.c:1103
 msgid "Audio sink to use (default is autoaudiosink)"
 msgstr ""
 
-#: tools/gst-play.c:988
+#: tools/gst-play.c:1105
 msgid "Enable gapless playback"
 msgstr ""
 
-#: tools/gst-play.c:990
+#: tools/gst-play.c:1107
 msgid "Shuffle playlist"
 msgstr ""
 
-#: tools/gst-play.c:993
+#: tools/gst-play.c:1110
 msgid "Disable interactive control via the keyboard"
 msgstr ""
 
-#: tools/gst-play.c:995
+#: tools/gst-play.c:1112
 msgid "Volume"
 msgstr ""
 
-#: tools/gst-play.c:997
+#: tools/gst-play.c:1114
 msgid "Playlist file containing input media files"
 msgstr ""
 
-#: tools/gst-play.c:999
+#: tools/gst-play.c:1116
 msgid "Do not print any output (apart from errors)"
 msgstr ""
 
-#: tools/gst-play.c:1068
+#: tools/gst-play.c:1185
 #, c-format
 msgid "Usage: %s FILE1|URI1 [FILE2|URI2] [FILE3|URI3] ..."
 msgstr ""
 
-#: tools/gst-play.c:1072
+#: tools/gst-play.c:1189
 msgid "You must provide at least one filename or URI to play."
 msgstr ""
 
-#: tools/gst-play.c:1105
+#: tools/gst-play.c:1228
 msgid "Press 'k' to see a list of keyboard shortcuts.\n"
 msgstr ""
diff --git a/po/hr.gmo b/po/hr.gmo
index f9d92ca..56708d1 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index 79f3ede..d3e785a 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+0200\n"
 "PO-Revision-Date: 2012-04-16 04:19+0200\n"
 "Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com>\n"
 "Language-Team: Croatian <lokalizacija@linux.hr>\n"
@@ -531,6 +531,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -589,6 +592,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "Ovaj CD nema zvučne pjesme"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "Kate oblik titlova"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/hu.gmo b/po/hu.gmo
index b3a7a30..39153b8 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 8ea4594..e8c36fd 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -4,13 +4,13 @@
 #
 # Laszlo Dvornik <dvornik@invitel.hu>, 2004.
 # Gabor Kelemen <kelemeng@gnome.hu>, 2006, 2007, 2008, 2009, 2012.
-# Balázs Úr <urbalazs@gmail.com>, 2014.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-base 1.4.0\n"
+"Project-Id-Version: gst-plugins-base 1.5.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
-"PO-Revision-Date: 2014-07-26 00:28+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"PO-Revision-Date: 2015-06-14 08:28+0200\n"
 "Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
 "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
 "Language: hu\n"
@@ -18,7 +18,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Rosetta-Export-Date: 2007-03-10 00:18+0000\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
 "Plural-Forms:  nplurals=2; plural=(n != 1);\n"
 
 msgid "Could not open device for playback in mono mode."
@@ -516,9 +516,9 @@
 "Ne lépjen ki a kezdeti eszközlista megjelenítése után, de várjon az eszközök "
 "hozzáadására/eltávolítására."
 
-#, fuzzy, c-format
+#, c-format
 msgid "Volume: %.0f%%"
-msgstr "Hangerő"
+msgstr "Hangerő: %.0f%%"
 
 msgid "Buffering..."
 msgstr "Pufferelés…"
@@ -527,73 +527,85 @@
 msgstr "Óra elveszítve, egy új kiválasztása\n"
 
 msgid "Reached end of play list."
+msgstr "A lejátszólista vége elérve."
+
+msgid "Paused"
 msgstr ""
 
 #, c-format
 msgid "Now playing %s\n"
-msgstr ""
+msgstr "Most játszott: %s\n"
 
 #, c-format
 msgid "About to finish, preparing next title: %s"
-msgstr ""
+msgstr "Hamarosan befejeződik, következő cím előkészítése: %s"
 
 #, c-format
 msgid "Playback rate: %.2f"
-msgstr ""
+msgstr "Lejátszási sebesség: %.2f"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Could not change playback rate to %.2f"
-msgstr "Nem lehet lejátszásra megnyitni az eszközt sztereó módban."
+msgstr "Nem lehet megváltoztatni a lejátszási sebességet erre: %.2f"
 
 msgid "space"
-msgstr ""
+msgstr "szóköz"
 
 msgid "pause/unpause"
-msgstr ""
+msgstr "szünet/folytatás"
 
 msgid "q or ESC"
-msgstr ""
+msgstr "q vagy ESC"
 
 msgid "quit"
-msgstr ""
+msgstr "kilépés"
 
 msgid "play next"
-msgstr ""
+msgstr "következő lejátszása"
 
 msgid "play previous"
-msgstr ""
+msgstr "előző lejátszása"
 
 msgid "seek forward"
-msgstr ""
+msgstr "tekerés előre"
 
 msgid "seek backward"
-msgstr ""
+msgstr "tekerés hátra"
 
-#, fuzzy
 msgid "volume up"
-msgstr "Hangerő"
+msgstr "hangerő fel"
 
 msgid "volume down"
-msgstr ""
+msgstr "hangerő le"
 
 msgid "increase playback rate"
-msgstr ""
+msgstr "lejátszási sebesség növelése"
 
 msgid "decrease playback rate"
-msgstr ""
+msgstr "lejátszási sebesség csökkentése"
 
 msgid "change playback direction"
-msgstr ""
+msgstr "lejátszási irány megváltoztatása"
 
 msgid "enable/disable trick modes"
-msgstr ""
+msgstr "trükk módok engedélyezése/letiltása"
 
-msgid "show keyboard shortcuts"
+#, fuzzy
+msgid "change audio track"
+msgstr "Ez a CD nem rendelkezik hangsávokkal"
+
+msgid "change video track"
 msgstr ""
 
 #, fuzzy
+msgid "change subtitle track"
+msgstr "Kate feliratformátum"
+
+msgid "show keyboard shortcuts"
+msgstr "gyorsbillentyűk megjelenítése"
+
 msgid "Interactive mode - keyboard controls:"
-msgstr "Interaktív vezérlés billentyűzettel"
+msgstr "Interaktív mód - billentyűzetvezérlők:"
 
 msgid "Video sink to use (default is autovideosink)"
 msgstr "Használandó videosüllyesztés (az alapértelmezett az autovideosink)"
@@ -607,9 +619,8 @@
 msgid "Shuffle playlist"
 msgstr "Lejátszólista keverése"
 
-#, fuzzy
 msgid "Disable interactive control via the keyboard"
-msgstr "Interaktív vezérlés billentyűzettel"
+msgstr "Interaktív vezérlés letiltása a billentyűzeten keresztül"
 
 msgid "Volume"
 msgstr "Hangerő"
@@ -618,7 +629,7 @@
 msgstr "Bemeneti médiafájlokat tartalmazó lejátszólista fájl"
 
 msgid "Do not print any output (apart from errors)"
-msgstr ""
+msgstr "Ne írjon ki semmilyen kimenetet (a hibákon kívül)"
 
 #, c-format
 msgid "Usage: %s FILE1|URI1 [FILE2|URI2] [FILE3|URI3] ..."
@@ -629,6 +640,7 @@
 
 msgid "Press 'k' to see a list of keyboard shortcuts.\n"
 msgstr ""
+"Nyomja meg a „k” billentyűt a gyorsbillentyűk listájának megtekintéséhez.\n"
 
 #~ msgid "A %s plugin is required to play this stream, but not installed."
 #~ msgstr ""
diff --git a/po/id.gmo b/po/id.gmo
index 85c9749..545391e 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index 14e5f5f..e6ae013 100644
--- a/po/id.po
+++ b/po/id.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.4.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+0200\n"
 "PO-Revision-Date: 2014-07-30 09:19+0700\n"
 "Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
 "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -526,6 +526,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -585,6 +588,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "CD ini tidak memiliki jalur audio"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "Format subjudul Kate"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/it.gmo b/po/it.gmo
index 08312aa..7b1c13f 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index 58c5a49..31abaf6 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.28.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+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"
@@ -563,6 +563,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -621,6 +624,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "Questo CD non presenta alcuna traccia audio"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "Sottotitoli formato Kate"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/ja.gmo b/po/ja.gmo
index 4230878..3fd896e 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index ada348b..89c5e31 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.30.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+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"
@@ -534,6 +534,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -592,6 +595,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "この CD にはオーディオトラックがありません"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "Kate 字幕形式"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/lt.gmo b/po/lt.gmo
index 3b9968c..b4dffdf 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index 5f266ed..5b012ee 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base-0.10.15.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+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"
@@ -538,6 +538,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -596,6 +599,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "Šiame CD nėra audio takelių"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "Sami titrų formatas"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/lv.gmo b/po/lv.gmo
index 6623a65..28ed628 100644
--- a/po/lv.gmo
+++ b/po/lv.gmo
Binary files differ
diff --git a/po/lv.po b/po/lv.po
index 2019c97..884ed96 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+0200\n"
 "PO-Revision-Date: 2014-04-20 16:15+0300\n"
 "Last-Translator: Rihards Prieditis <rprieditis@gmail.com>\n"
 "Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n"
@@ -529,6 +529,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -587,6 +590,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "Šajā CD nav neviena audio celiņa"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "Kate subtitru formāts"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/nb.gmo b/po/nb.gmo
index e58ff25..7abe0a0 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index 868f408..f499f32 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.4.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+0200\n"
 "PO-Revision-Date: 2014-07-22 12:38+0100\n"
 "Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
 "Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
@@ -527,6 +527,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -586,6 +589,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "Denne CDen har ingen lydspor"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "Kate undertekstformat"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/nl.gmo b/po/nl.gmo
index 9598672..3ff3d99 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 4efb2b7..9ef3790 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,13 +1,13 @@
-# translation of gst-plugins-base-1.4.0.po to Dutch
+# translation of gst-plugins-base-1.5.1.po to Dutch
 # This file is put in the public domain.
 #
-# Freek de Kruijf <f.de.kruijf@gmail.com>, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014.
+# Freek de Kruijf <f.de.kruijf@gmail.com>, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015.
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-base 1.4.0\n"
+"Project-Id-Version: gst-plugins-base 1.5.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
-"PO-Revision-Date: 2014-07-22 10:50+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"PO-Revision-Date: 2015-06-13 18:23+0200\n"
 "Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
 "Language: nl\n"
@@ -523,9 +523,9 @@
 "Niet beëindigen na het tonen van de initiële lijst apparaten, maar wacht op "
 "toegevoegde/verwijderde apparaten."
 
-#, fuzzy, c-format
+#, c-format
 msgid "Volume: %.0f%%"
-msgstr "Volume"
+msgstr "Volume: %.0f%%"
 
 msgid "Buffering..."
 msgstr "In buffer opslaan..."
@@ -534,73 +534,85 @@
 msgstr "Klok verloren, een nieuwe wordt geselecteerd\n"
 
 msgid "Reached end of play list."
+msgstr "Einde van de afspeellijst bereikt."
+
+msgid "Paused"
 msgstr ""
 
 #, c-format
 msgid "Now playing %s\n"
-msgstr ""
+msgstr "Nu aan het afspelen %s\n"
 
 #, c-format
 msgid "About to finish, preparing next title: %s"
-msgstr ""
+msgstr "Op het punt te eindigen, voorbereiden van volgende titel: %s"
 
 #, c-format
 msgid "Playback rate: %.2f"
-msgstr ""
+msgstr "Afspeelsnelheid: %.2f"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Could not change playback rate to %.2f"
-msgstr "Kan het apparaat niet openen voor afspelen in stereo."
+msgstr "Kon afspeelsnelheid niet wijzigen naar %.2f"
 
 msgid "space"
-msgstr ""
+msgstr "spatie"
 
 msgid "pause/unpause"
-msgstr ""
+msgstr "pauzeren/verder"
 
 msgid "q or ESC"
-msgstr ""
+msgstr "q of ESC"
 
 msgid "quit"
-msgstr ""
+msgstr "stoppen"
 
 msgid "play next"
-msgstr ""
+msgstr "volgende afspelen"
 
 msgid "play previous"
-msgstr ""
+msgstr "vorige afspelen"
 
 msgid "seek forward"
-msgstr ""
+msgstr "vooruit zoeken"
 
 msgid "seek backward"
-msgstr ""
+msgstr "achteruit zoeken"
 
-#, fuzzy
 msgid "volume up"
-msgstr "Volume"
+msgstr "volume omhoog"
 
 msgid "volume down"
-msgstr ""
+msgstr "volume omlaag"
 
 msgid "increase playback rate"
-msgstr ""
+msgstr "afspeelsnelheid verhogen"
 
 msgid "decrease playback rate"
-msgstr ""
+msgstr "afspeelsnelheid verlagen"
 
 msgid "change playback direction"
-msgstr ""
+msgstr "afspeelrichting wijzigen"
 
 msgid "enable/disable trick modes"
-msgstr ""
+msgstr "truc-modi in-/uitschakelen"
 
-msgid "show keyboard shortcuts"
+#, fuzzy
+msgid "change audio track"
+msgstr "Deze CD heeft geen audiotracks"
+
+msgid "change video track"
 msgstr ""
 
 #, fuzzy
+msgid "change subtitle track"
+msgstr "Kate ondertitelformaat"
+
+msgid "show keyboard shortcuts"
+msgstr "sneltoetsen tonen"
+
 msgid "Interactive mode - keyboard controls:"
-msgstr "Interactieve besturing via toetsenbord"
+msgstr "Interactieve modus - besturing op toetsenbord"
 
 msgid "Video sink to use (default is autovideosink)"
 msgstr "Te gebruiken video-sink (standaard is autovideosink)"
@@ -614,9 +626,8 @@
 msgid "Shuffle playlist"
 msgstr "Afspeellijst in willekeurige volgorde"
 
-#, fuzzy
 msgid "Disable interactive control via the keyboard"
-msgstr "Interactieve besturing via toetsenbord"
+msgstr "Interactieve besturing via toetsenbord uitschakelen"
 
 msgid "Volume"
 msgstr "Volume"
@@ -625,7 +636,7 @@
 msgstr "Afspeellijstbestand met mediabestanden voor invoer"
 
 msgid "Do not print any output (apart from errors)"
-msgstr ""
+msgstr "Geen uitvoer afdrukken (los van fouten)"
 
 #, c-format
 msgid "Usage: %s FILE1|URI1 [FILE2|URI2] [FILE3|URI3] ..."
@@ -635,7 +646,7 @@
 msgstr "U moet minstens één bestandsnaam of URI leveren om af te spelen."
 
 msgid "Press 'k' to see a list of keyboard shortcuts.\n"
-msgstr ""
+msgstr "Druk op 'k' om een lijst met sneltoetsen te zien.\n"
 
 #~ msgid "A %s plugin is required to play this stream, but not installed."
 #~ msgstr ""
diff --git a/po/or.gmo b/po/or.gmo
index 488edd7..7850f18 100644
--- a/po/or.gmo
+++ b/po/or.gmo
Binary files differ
diff --git a/po/or.po b/po/or.po
index 466dcdf..e2fa8c7 100644
--- a/po/or.po
+++ b/po/or.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-0.8.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+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"
@@ -530,6 +530,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -589,6 +592,15 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+msgid "change audio track"
+msgstr ""
+
+msgid "change video track"
+msgstr ""
+
+msgid "change subtitle track"
+msgstr ""
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/pl.gmo b/po/pl.gmo
index f12b8b9..f4f2ed5 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index a29d397..7d8ef98 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -1,13 +1,13 @@
 # Polish translation for gst-plugins-base.
 # This file is distributed under the same license as the gst-plugins-base package.
-# Jakub Bogusz <qboosh@pld-linux.org>, 2007-2014.
+# Jakub Bogusz <qboosh@pld-linux.org>, 2007-2015.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-base 1.4.0\n"
+"Project-Id-Version: gst-plugins-base 1.5.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
-"PO-Revision-Date: 2014-07-21 21:21+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"PO-Revision-Date: 2015-06-10 22:09+0200\n"
 "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
 "Language: pl\n"
@@ -521,9 +521,9 @@
 "Bez kończenia po wyświetleniu początkowej listy urządzeń, oczekiwanie na "
 "dodanie/usunięcie urządzeń."
 
-#, fuzzy, c-format
+#, c-format
 msgid "Volume: %.0f%%"
-msgstr "Głośność"
+msgstr "Głośność: %.0f%%"
 
 msgid "Buffering..."
 msgstr "Buforowanie..."
@@ -532,74 +532,85 @@
 msgstr "Utracono zegar, wybieranie nowego\n"
 
 msgid "Reached end of play list."
+msgstr "Osiągnięto koniec listy odtwarzania."
+
+msgid "Paused"
 msgstr ""
 
 #, c-format
 msgid "Now playing %s\n"
-msgstr ""
+msgstr "Trwa odtwarzanie %s\n"
 
 #, c-format
 msgid "About to finish, preparing next title: %s"
-msgstr ""
+msgstr "Blisko końca, przygotowywanie następnego tytułu: %s"
 
 #, c-format
 msgid "Playback rate: %.2f"
-msgstr ""
+msgstr "Tempo odtwarzania: %.2f"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Could not change playback rate to %.2f"
-msgstr ""
-"Nie udało się otworzyć urządzenia dźwiękowego do odtwarzania w trybie stereo."
+msgstr "Nie udało się zmienić tempa odtwarzania na %.2f"
 
 msgid "space"
-msgstr ""
+msgstr "spacja"
 
 msgid "pause/unpause"
-msgstr ""
+msgstr "pauza/wznowienie"
 
 msgid "q or ESC"
-msgstr ""
+msgstr "q lub ESC"
 
 msgid "quit"
-msgstr ""
+msgstr "wyjście"
 
 msgid "play next"
-msgstr ""
+msgstr "odtworzenie następnego"
 
 msgid "play previous"
-msgstr ""
+msgstr "odtworzenie poprzedniego"
 
 msgid "seek forward"
-msgstr ""
+msgstr "przewinięcie w przód"
 
 msgid "seek backward"
-msgstr ""
+msgstr "przewinięcie w tył"
 
-#, fuzzy
 msgid "volume up"
-msgstr "Głośność"
+msgstr "większa głośność"
 
 msgid "volume down"
-msgstr ""
+msgstr "mniejsza głośność"
 
 msgid "increase playback rate"
-msgstr ""
+msgstr "większe tempo odtwarzania"
 
 msgid "decrease playback rate"
-msgstr ""
+msgstr "mniejsze tempo odtwarzania"
 
 msgid "change playback direction"
-msgstr ""
+msgstr "zmiana kierunku odtwarzania"
 
 msgid "enable/disable trick modes"
-msgstr ""
+msgstr "włączenie/wyłączenie trybów trików"
 
-msgid "show keyboard shortcuts"
+#, fuzzy
+msgid "change audio track"
+msgstr "Ta płyta CD nie ma ścieżek dźwiękowych"
+
+msgid "change video track"
 msgstr ""
 
 #, fuzzy
+msgid "change subtitle track"
+msgstr "Format podpisów Kate"
+
+msgid "show keyboard shortcuts"
+msgstr "wyświetlenie skrótów klawiatury"
+
 msgid "Interactive mode - keyboard controls:"
-msgstr "Interaktywne sterowanie z klawiatury"
+msgstr "Tryb interaktywny - sterowanie z klawiatury:"
 
 msgid "Video sink to use (default is autovideosink)"
 msgstr "Element pochłaniający obraz (domyślny to autovideosink)"
@@ -613,9 +624,8 @@
 msgid "Shuffle playlist"
 msgstr "Przetasowanie listy odtwarzania"
 
-#, fuzzy
 msgid "Disable interactive control via the keyboard"
-msgstr "Interaktywne sterowanie z klawiatury"
+msgstr "Wyłączenie interaktywnego sterowania z klawiatury"
 
 msgid "Volume"
 msgstr "Głośność"
@@ -624,7 +634,7 @@
 msgstr "Plik listy odtwarzania zawierający wejściowe pliki multimedialne"
 
 msgid "Do not print any output (apart from errors)"
-msgstr ""
+msgstr "Bez wypisywania żadnego wyjścia (poza błędami)"
 
 #, c-format
 msgid "Usage: %s FILE1|URI1 [FILE2|URI2] [FILE3|URI3] ..."
@@ -634,9 +644,4 @@
 msgstr "Trzeba podać przynajmniej jedną nazwę pliku lub URI do odtworzenia."
 
 msgid "Press 'k' to see a list of keyboard shortcuts.\n"
-msgstr ""
-
-#~ msgid "A %s plugin is required to play this stream, but not installed."
-#~ msgstr ""
-#~ "Wtyczka %s jest wymagana do otworzenia tego strumienia, ale nie jest "
-#~ "zainstalowana."
+msgstr "Klawisz 'k' wyświetla listę skrótów klawiatury.\n"
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index 2e7c36e..fe76f5f 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 8356c30..9b4953a 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base-1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+0200\n"
 "PO-Revision-Date: 2015-02-01 19:21-0200\n"
 "Last-Translator: Fabrício Godoy <skarllot@gmail.com>\n"
 "Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
@@ -541,6 +541,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -600,6 +603,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "Este CD não tem trilhas de áudio"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "Formato de legendas Kate"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/ro.gmo b/po/ro.gmo
index 1b0653c..548ffaa 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index 2ddfa91..1e2eafc 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.29.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+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"
@@ -531,6 +531,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -589,6 +592,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "Acest CD nu conține piste audio"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "Format subtitrare Kate"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/ru.gmo b/po/ru.gmo
index 848b2d6..ca54626 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index ba0f5ec..eab5289 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -3,13 +3,13 @@
 #
 # Артём Попов <artfwo@gmail.com>, 2009.
 # Pavel Maryanov <acid_jack@ukr.net>, 2009.
-# Yuri Kozlov <yuray@komyakino.ru>, 2010, 2011, 2012, 2013, 2014.
+# Yuri Kozlov <yuray@komyakino.ru>, 2010, 2011, 2012, 2013, 2014, 2015.
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-base 1.4.0\n"
+"Project-Id-Version: gst-plugins-base 1.5.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
-"PO-Revision-Date: 2014-07-21 19:24+0400\n"
+"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"PO-Revision-Date: 2015-06-13 11:57+0300\n"
 "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
 "Language-Team: Russian <gnu@mx.ru>\n"
 "Language: ru\n"
@@ -519,9 +519,9 @@
 "Не завершать работу после показа начального списка устройств, а ждать их "
 "добавления/удаления."
 
-#, fuzzy, c-format
+#, c-format
 msgid "Volume: %.0f%%"
-msgstr "Громкость"
+msgstr "Громкость: %.0f%%"
 
 msgid "Buffering..."
 msgstr "Буферизация…"
@@ -530,73 +530,85 @@
 msgstr "Часы потеряны, выбираем новые\n"
 
 msgid "Reached end of play list."
+msgstr "Достигнут конец списка воспроизведения."
+
+msgid "Paused"
 msgstr ""
 
 #, c-format
 msgid "Now playing %s\n"
-msgstr ""
+msgstr "Сейчас проигрывается %s\n"
 
 #, c-format
 msgid "About to finish, preparing next title: %s"
-msgstr ""
+msgstr "Почти закончено, подготавливается следующая часть: %s"
 
 #, c-format
 msgid "Playback rate: %.2f"
-msgstr ""
+msgstr "Скорость воспроизведения: %.2f"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Could not change playback rate to %.2f"
-msgstr "Не удалось открыть устройство для воспроизведения в режиме стерео."
+msgstr "Не удалось изменить скорость воспроизведения на %.2f"
 
 msgid "space"
-msgstr ""
+msgstr "пробел"
 
 msgid "pause/unpause"
-msgstr ""
+msgstr "пауза/продолжение"
 
 msgid "q or ESC"
-msgstr ""
+msgstr "q или ESC"
 
 msgid "quit"
-msgstr ""
+msgstr "выход"
 
 msgid "play next"
-msgstr ""
+msgstr "воспроизвести следующее"
 
 msgid "play previous"
-msgstr ""
+msgstr "воспроизвести предыдущее"
 
 msgid "seek forward"
-msgstr ""
+msgstr "перемотать вперед"
 
 msgid "seek backward"
-msgstr ""
+msgstr "перемотать назад"
 
-#, fuzzy
 msgid "volume up"
-msgstr "Громкость"
+msgstr "увеличить громкость"
 
 msgid "volume down"
-msgstr ""
+msgstr "уменьшить громкость"
 
 msgid "increase playback rate"
-msgstr ""
+msgstr "увеличить скорость воспроизведения"
 
 msgid "decrease playback rate"
-msgstr ""
+msgstr "уменьшить скорость воспроизведения"
 
 msgid "change playback direction"
-msgstr ""
+msgstr "изменить направление воспроизведения"
 
 msgid "enable/disable trick modes"
-msgstr ""
+msgstr "включить/выключить режим рекомендаций"
 
-msgid "show keyboard shortcuts"
+#, fuzzy
+msgid "change audio track"
+msgstr "На CD нет звуковых дорожек"
+
+msgid "change video track"
 msgstr ""
 
 #, fuzzy
+msgid "change subtitle track"
+msgstr "Формат субтитров Kate"
+
+msgid "show keyboard shortcuts"
+msgstr "показать клавиатурные сокращения"
+
 msgid "Interactive mode - keyboard controls:"
-msgstr "Интерактивное управление с клавиатуры"
+msgstr "Интерактивный режим — управление с клавиатуры:"
 
 msgid "Video sink to use (default is autovideosink)"
 msgstr "Используемый приёмник видео (по умолчанию autovideosink)"
@@ -610,9 +622,8 @@
 msgid "Shuffle playlist"
 msgstr "Перемешать список воспроизведения"
 
-#, fuzzy
 msgid "Disable interactive control via the keyboard"
-msgstr "Интерактивное управление с клавиатуры"
+msgstr "Отключить интерактивное управление с клавиатуры"
 
 msgid "Volume"
 msgstr "Громкость"
@@ -621,7 +632,7 @@
 msgstr "Файл списка воспроизведения с входными медиа-файлами"
 
 msgid "Do not print any output (apart from errors)"
-msgstr ""
+msgstr "Не выводить ничего в поток стандартного вывода (кроме ошибок)"
 
 #, c-format
 msgid "Usage: %s FILE1|URI1 [FILE2|URI2] [FILE3|URI3] ..."
@@ -631,7 +642,7 @@
 msgstr "Вы должны указать не менее одного имени файла или URI."
 
 msgid "Press 'k' to see a list of keyboard shortcuts.\n"
-msgstr ""
+msgstr "Нажмите «k» для показа списка клавиатурных комбинаций.\n"
 
 #~ msgid "A %s plugin is required to play this stream, but not installed."
 #~ msgstr ""
diff --git a/po/sk.gmo b/po/sk.gmo
index c68c810..d8974e1 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index f8ebccd..f89452e 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+0200\n"
 "PO-Revision-Date: 2014-01-30 10:57+0100\n"
 "Last-Translator: Peter Tuharsky <tuharsky@misbb.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -526,6 +526,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -584,6 +587,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "Toto CD nemá zvukové stopy"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "Formát titulkov Kate"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/sl.gmo b/po/sl.gmo
index ef86872..2bf68d9 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index dd43ac3..9f44fe2 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base-1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+0200\n"
 "PO-Revision-Date: 2013-01-05 10:10+0100\n"
 "Last-Translator: Klemen Košir <klemen913@gmail.com>\n"
 "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
@@ -527,6 +527,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -585,6 +588,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "Ta CD nima zvočnih sledi"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "Oblika podnapisov Kate"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/sq.gmo b/po/sq.gmo
index 0461155..8d6cf6a 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index cffdd26..4e07ad7 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins 0.8.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+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"
@@ -528,6 +528,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -587,6 +590,15 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+msgid "change audio track"
+msgstr ""
+
+msgid "change video track"
+msgstr ""
+
+msgid "change subtitle track"
+msgstr ""
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/sr.gmo b/po/sr.gmo
index 768a0dc..305d4c5 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index 4a95c7d..610cb47 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base-1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+0200\n"
 "PO-Revision-Date: 2014-09-13 10:45+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <(nothing)>\n"
@@ -526,6 +526,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -585,6 +588,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "Овај ЦД нема звучних нумера"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "Кејт запис превода"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/sv.gmo b/po/sv.gmo
index 81efd07..1e2f1ec 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 1d8375d..cc556dc 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.4.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+0200\n"
 "PO-Revision-Date: 2014-07-19 16:23+0200\n"
 "Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -526,6 +526,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -585,6 +588,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "Den här cd-skivan saknar ljudspår"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "Undertextformatet Kate"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/tr.gmo b/po/tr.gmo
index 7f9d6e2..b104ffd 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 9ed1263..00c6092 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+0200\n"
 "PO-Revision-Date: 2015-01-10 21:07+0100\n"
 "Last-Translator: Volkan Gezer <volkangezer@gmail.com>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -526,6 +526,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -585,6 +588,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "Bu CD hiç ses izi içermiyor"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "Kate altyazı kipi"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/po/uk.gmo b/po/uk.gmo
index d990201..bb03ac7 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index 142dffa..67a0738 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -3,13 +3,13 @@
 # This file is distributed under the same license as the gst-plugins-base package.
 #
 # Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2010, 2011, 2012, 2013, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2010, 2011, 2012, 2013, 2014, 2015.
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-base 1.4.0\n"
+"Project-Id-Version: gst-plugins-base 1.5.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
-"PO-Revision-Date: 2014-07-21 14:23+0300\n"
+"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"PO-Revision-Date: 2015-06-10 23:00+0300\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
 "Language: uk\n"
@@ -531,9 +531,9 @@
 "Не завершувати роботу після показу початкового списку пристроїв, чекати на "
 "додавання або вилучення пристроїв."
 
-#, fuzzy, c-format
+#, c-format
 msgid "Volume: %.0f%%"
-msgstr "Гучність"
+msgstr "Гучність: %.0f%%"
 
 msgid "Buffering..."
 msgstr "Буферизація…"
@@ -542,73 +542,85 @@
 msgstr "Доступ до годинника втрачено, вибираємо новий\n"
 
 msgid "Reached end of play list."
+msgstr "Відтворення списку завершено."
+
+msgid "Paused"
 msgstr ""
 
 #, c-format
 msgid "Now playing %s\n"
-msgstr ""
+msgstr "Відтворюється %s\n"
 
 #, c-format
 msgid "About to finish, preparing next title: %s"
-msgstr ""
+msgstr "Майже завершили, готуємо наступну композицію: %s"
 
 #, c-format
 msgid "Playback rate: %.2f"
-msgstr ""
+msgstr "Частота відтворення: %.2f"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Could not change playback rate to %.2f"
-msgstr "Не вдалося відкрити пристрій відтворення у режимі стерео."
+msgstr "Не вдалося змінити частоту відтворення на %.2f"
 
 msgid "space"
-msgstr ""
+msgstr "пробіл"
 
 msgid "pause/unpause"
-msgstr ""
+msgstr "призупинити/поновити"
 
 msgid "q or ESC"
-msgstr ""
+msgstr "q або ESC"
 
 msgid "quit"
-msgstr ""
+msgstr "вийти"
 
 msgid "play next"
-msgstr ""
+msgstr "наступна"
 
 msgid "play previous"
-msgstr ""
+msgstr "попередня"
 
 msgid "seek forward"
-msgstr ""
+msgstr "до кінця"
 
 msgid "seek backward"
-msgstr ""
+msgstr "до початку"
 
-#, fuzzy
 msgid "volume up"
-msgstr "Гучність"
+msgstr "гучніше"
 
 msgid "volume down"
-msgstr ""
+msgstr "тихіше"
 
 msgid "increase playback rate"
-msgstr ""
+msgstr "збільшити частоту відтворення"
 
 msgid "decrease playback rate"
-msgstr ""
+msgstr "зменшити частоту відтворення"
 
 msgid "change playback direction"
-msgstr ""
+msgstr "змінити напрям відтворення"
 
 msgid "enable/disable trick modes"
-msgstr ""
+msgstr "увімкнути або вимкнути особливі режими"
 
-msgid "show keyboard shortcuts"
+#, fuzzy
+msgid "change audio track"
+msgstr "На цьому компакт-диску немає звукових доріжок"
+
+msgid "change video track"
 msgstr ""
 
 #, fuzzy
+msgid "change subtitle track"
+msgstr "Формат субтитрів Kate"
+
+msgid "show keyboard shortcuts"
+msgstr "показати клавіатурні скорочення"
+
 msgid "Interactive mode - keyboard controls:"
-msgstr "Інтерактивне керування за допомогою клавіатури"
+msgstr "Інтерактивне керування за допомогою клавіатури:"
 
 msgid "Video sink to use (default is autovideosink)"
 msgstr "Приймач відеоданих, яким слід скористатися (типовим є autovideosink)"
@@ -622,9 +634,8 @@
 msgid "Shuffle playlist"
 msgstr "Перемішати список відтворення"
 
-#, fuzzy
 msgid "Disable interactive control via the keyboard"
-msgstr "Інтерактивне керування за допомогою клавіатури"
+msgstr "Вимкнути інтерактивне керування за допомогою клавіатури"
 
 msgid "Volume"
 msgstr "Гучність"
@@ -633,7 +644,7 @@
 msgstr "Файл списку відтворення, що містить мультимедійні файли вхідних даних"
 
 msgid "Do not print any output (apart from errors)"
-msgstr ""
+msgstr "Не виводити повідомлень (окрім повідомлень щодо помилок)"
 
 #, c-format
 msgid "Usage: %s FILE1|URI1 [FILE2|URI2] [FILE3|URI3] ..."
@@ -644,7 +655,7 @@
 "Вам слід вказати принаймні одну назву файла або адресу для відтворення."
 
 msgid "Press 'k' to see a list of keyboard shortcuts.\n"
-msgstr ""
+msgstr "Натисніть «k», щоб переглянути список клавіатурних скорочень.\n"
 
 #~ msgid "A %s plugin is required to play this stream, but not installed."
 #~ msgstr "Для відтворення потоку потрібен модуль %s, але він не встановлений."
diff --git a/po/vi.gmo b/po/vi.gmo
index 463d14c..ee753a0 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 5a6b786..dd4ad44 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -1,16 +1,16 @@
 # Vietnamese Translation for GST Plugins Base.
 # Bản dịch tiếng Việt dành cho GST Plugins Base.
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2015 Free Software Foundation, Inc.
 # This file is distributed under the same license as the gst-plugins-base package.
 # Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngọc Quân <vnwildman@gmail.com>, 2012-2014.
+# Trần Ngọc Quân <vnwildman@gmail.com>, 2012-2014, 2015.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-base 1.4.0\n"
+"Project-Id-Version: gst-plugins-base 1.5.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
-"PO-Revision-Date: 2014-07-23 15:56+0700\n"
+"POT-Creation-Date: 2015-06-24 22:47+0200\n"
+"PO-Revision-Date: 2015-06-11 08:32+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
 "Language: vi\n"
@@ -19,10 +19,7 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Language-Team-Website: <http://translationproject.org/team/vi.html>\n"
-"X-Generator: LocFactoryEditor 1.8\n"
-"X-Poedit-SourceCharset: UTF-8\n"
-"X-Poedit-Language: Vietnamese\n"
-"X-Poedit-Country: VIET NAM\n"
+"X-Generator: Gtranslator 2.91.7\n"
 
 msgid "Could not open device for playback in mono mode."
 msgstr "Không thể mở thiết bị để phát lại trong chế độ đơn kênh."
@@ -204,7 +201,7 @@
 msgstr "MSZH không mất gì (Lossless MSZH)"
 
 msgid "Run-length encoding"
-msgstr "Mã hoá độ dài chạy (Run-Length Encoding: RLE)"
+msgstr "Mã hóa độ dài chạy (Run-Length Encoding: RLE)"
 
 msgid "Timed Text"
 msgstr "Chữ được định thời"
@@ -324,7 +321,7 @@
 
 #, c-format
 msgid "%s encoder"
-msgstr "bộ mã hoá %s"
+msgstr "bộ mã hóa %s"
 
 #, c-format
 msgid "GStreamer element %s"
@@ -343,7 +340,7 @@
 msgstr "Không rõ phần tử giải mã"
 
 msgid "Unknown encoder element"
-msgstr "Không rõ phần tử mã hoá"
+msgstr "Không rõ phần tử mã hóa"
 
 msgid "Plugin or element of unknown type"
 msgstr "Không rõ kiểu của phần bổ sung hay phần tử"
@@ -526,84 +523,96 @@
 "Không tồn tại sau khi hiển thị danh sách thiết bị khởi tạo, nhưng lại chờ "
 "cho thiết bị thêm/xóa."
 
-#, fuzzy, c-format
+#, c-format
 msgid "Volume: %.0f%%"
-msgstr "Âm lượng"
+msgstr "Âm lượng: %.0f%%"
 
 msgid "Buffering..."
-msgstr "Đang đệm..."
+msgstr "Đang đệm…"
 
 msgid "Clock lost, selecting a new one\n"
 msgstr "Mất đồng hồ, chọn một cái mới\n"
 
 msgid "Reached end of play list."
+msgstr "Đã tìm đến cuối danh sách phát."
+
+msgid "Paused"
 msgstr ""
 
 #, c-format
 msgid "Now playing %s\n"
-msgstr ""
+msgstr "Đang phát %s\n"
 
 #, c-format
 msgid "About to finish, preparing next title: %s"
-msgstr ""
+msgstr "Gần xong, đang chuẩn bị tiêu đề kế: %s"
 
 #, c-format
 msgid "Playback rate: %.2f"
-msgstr ""
+msgstr "Tốc độ phát lại: %.2f"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Could not change playback rate to %.2f"
-msgstr "Không thể mở thiết bị để phát lại trong chế độ âm lập thể."
+msgstr "Không thể đổi tốc độ phát lại thành %.2f"
 
 msgid "space"
-msgstr ""
+msgstr "dấu cách"
 
 msgid "pause/unpause"
-msgstr ""
+msgstr "dừng/thôi dừng"
 
 msgid "q or ESC"
-msgstr ""
+msgstr "q hay ESC"
 
 msgid "quit"
-msgstr ""
+msgstr "thoát"
 
 msgid "play next"
-msgstr ""
+msgstr "phát kế"
 
 msgid "play previous"
-msgstr ""
+msgstr "phát kế trước"
 
 msgid "seek forward"
-msgstr ""
+msgstr "di chuyển tiếp"
 
 msgid "seek backward"
-msgstr ""
+msgstr "di chuyển ngược"
 
-#, fuzzy
 msgid "volume up"
-msgstr "Âm lượng"
+msgstr "tăng âm lượng"
 
 msgid "volume down"
-msgstr ""
+msgstr "giảm âm lượng"
 
 msgid "increase playback rate"
-msgstr ""
+msgstr "tăng tốc độ phát lại"
 
 msgid "decrease playback rate"
-msgstr ""
+msgstr "giảm tốc độ phát lại"
 
 msgid "change playback direction"
-msgstr ""
+msgstr "thay đổi hướng phát lại"
 
 msgid "enable/disable trick modes"
-msgstr ""
+msgstr "bật/tắt chế độ thủ thuật"
 
-msgid "show keyboard shortcuts"
+#, fuzzy
+msgid "change audio track"
+msgstr "Đĩa CD này không có rãnh âm thanh nào"
+
+msgid "change video track"
 msgstr ""
 
 #, fuzzy
+msgid "change subtitle track"
+msgstr "Định dạng phụ đề Kate"
+
+msgid "show keyboard shortcuts"
+msgstr "hiện phím tắt"
+
 msgid "Interactive mode - keyboard controls:"
-msgstr "Điều khiển tương tác thông qua bàn phím"
+msgstr "Chế độ tương tác - điều khiển thông qua bàn phím:"
 
 msgid "Video sink to use (default is autovideosink)"
 msgstr "Bộ chứa video được dùng (mặc định là autovideosink)"
@@ -617,9 +626,8 @@
 msgid "Shuffle playlist"
 msgstr "Xáo trộn danh sách phát"
 
-#, fuzzy
 msgid "Disable interactive control via the keyboard"
-msgstr "Điều khiển tương tác thông qua bàn phím"
+msgstr "Tắt điều khiển tương tác thông qua bàn phím"
 
 msgid "Volume"
 msgstr "Âm lượng"
@@ -628,17 +636,17 @@
 msgstr "Tập tin danh sách phát có chứa các tập tin đa phương tiện đầu vào"
 
 msgid "Do not print any output (apart from errors)"
-msgstr ""
+msgstr "Đừng in bất kỳ cái gì ra (lấy riêng từ lỗi)"
 
 #, c-format
 msgid "Usage: %s FILE1|URI1 [FILE2|URI2] [FILE3|URI3] ..."
-msgstr "Cách dùng: %s TẬP-TIN1|URI1 [TẬP-TIN2|URI2] [TẬP-TIN3|URI3] ..."
+msgstr "Cách dùng: %s TẬP-TIN1|URI1 [TẬP-TIN2|URI2] [TẬP-TIN3|URI3] …"
 
 msgid "You must provide at least one filename or URI to play."
 msgstr "Bạn phải cung cấp ít nhất là một tên tập tin hay URI để phát."
 
 msgid "Press 'k' to see a list of keyboard shortcuts.\n"
-msgstr ""
+msgstr "Nhấn phím “k” để xem toàn bộ phím tắt.\n"
 
 #~ msgid "A %s plugin is required to play this stream, but not installed."
 #~ msgstr "Cần phần bổ sung %s để phát luồng này nhưng chưa cài đặt."
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index df61900..587c60b 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 90a5cc4..dc0f41a 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.21.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-06-07 09:34+0200\n"
+"POT-Creation-Date: 2015-06-24 22:47+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"
@@ -530,6 +530,9 @@
 msgid "Reached end of play list."
 msgstr ""
 
+msgid "Paused"
+msgstr ""
+
 #, c-format
 msgid "Now playing %s\n"
 msgstr ""
@@ -588,6 +591,17 @@
 msgid "enable/disable trick modes"
 msgstr ""
 
+#, fuzzy
+msgid "change audio track"
+msgstr "此 CD 无音轨"
+
+msgid "change video track"
+msgstr ""
+
+#, fuzzy
+msgid "change subtitle track"
+msgstr "Kate 字幕格式"
+
 msgid "show keyboard shortcuts"
 msgstr ""
 
diff --git a/sys/Makefile.in b/sys/Makefile.in
index 3a00c68..e70d164 100644
--- a/sys/Makefile.in
+++ b/sys/Makefile.in
@@ -339,6 +339,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/sys/ximage/Makefile.in b/sys/ximage/Makefile.in
index e8f60c6..b8e317e 100644
--- a/sys/ximage/Makefile.in
+++ b/sys/ximage/Makefile.in
@@ -360,6 +360,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/sys/ximage/ximagesink.c b/sys/ximage/ximagesink.c
index 7814ac8..c7cd4a6 100644
--- a/sys/ximage/ximagesink.c
+++ b/sys/ximage/ximagesink.c
@@ -378,6 +378,7 @@
     /* we have a window */
     if (xwindow->internal) {
       XTextProperty xproperty;
+      XClassHint *hint = XAllocClassHint ();
       const gchar *app_name;
       const gchar *title = NULL;
       gchar *title_mem = NULL;
@@ -403,6 +404,13 @@
 
         g_free (title_mem);
       }
+
+      if (hint) {
+        hint->res_name = (char *) app_name;
+        hint->res_class = (char *) "GStreamer";
+        XSetClassHint (ximagesink->xcontext->disp, xwindow->win, hint);
+      }
+      XFree (hint);
     }
   }
 }
@@ -1085,6 +1093,34 @@
   return caps;
 }
 
+static GstBufferPool *
+gst_ximagesink_create_pool (GstXImageSink * ximagesink, GstCaps * caps,
+    gsize size, gint min)
+{
+  static GstAllocationParams params = { 0, 15, 0, 0, };
+  GstBufferPool *pool;
+  GstStructure *config;
+
+  /* create a new pool for the new configuration */
+  pool = gst_ximage_buffer_pool_new (ximagesink);
+
+  config = gst_buffer_pool_get_config (pool);
+  gst_buffer_pool_config_set_params (config, caps, size, min, 0);
+  gst_buffer_pool_config_set_allocator (config, NULL, &params);
+
+  if (!gst_buffer_pool_set_config (pool, config))
+    goto config_failed;
+
+  return pool;
+
+config_failed:
+  {
+    GST_WARNING_OBJECT (ximagesink, "failed setting config");
+    gst_object_unref (pool);
+    return NULL;
+  }
+}
+
 static gboolean
 gst_ximagesink_setcaps (GstBaseSink * bsink, GstCaps * caps)
 {
@@ -1093,8 +1129,6 @@
   GstVideoInfo info;
   GstBufferPool *newpool, *oldpool;
   const GValue *par;
-  gint size;
-  static GstAllocationParams params = { 0, 15, 0, 0, };
 
   ximagesink = GST_XIMAGESINK (bsink);
 
@@ -1112,8 +1146,6 @@
   if (!gst_video_info_from_caps (&info, caps))
     goto invalid_format;
 
-  size = info.size;
-
   structure = gst_caps_get_structure (caps, 0);
   /* if the caps contain pixel-aspect-ratio, they have to match ours,
    * otherwise linking should fail */
@@ -1160,26 +1192,17 @@
   /* Remember to draw borders for next frame */
   ximagesink->draw_border = TRUE;
 
-  /* create a new pool for the new configuration */
-  newpool = gst_ximage_buffer_pool_new (ximagesink);
+  /* create a new internal pool for the new configuration */
+  newpool = gst_ximagesink_create_pool (ximagesink, caps, info.size, 2);
 
-  structure = gst_buffer_pool_get_config (newpool);
-  gst_buffer_pool_config_set_params (structure, caps, size, 2, 0);
-  gst_buffer_pool_config_set_allocator (structure, NULL, &params);
-  if (!gst_buffer_pool_set_config (newpool, structure))
-    goto config_failed;
-
+  /* we don't activate the internal pool yet as it may not be needed */
   oldpool = ximagesink->pool;
-  /* we don't activate the pool yet, this will be done by downstream after it
-   * has configured the pool. If downstream does not want our pool we will
-   * activate it when we render into it */
   ximagesink->pool = newpool;
   g_mutex_unlock (&ximagesink->flow_lock);
 
-  /* unref the old sink */
+  /* deactivate and unref the old internal pool */
   if (oldpool) {
-    /* we don't deactivate, some elements might still be using it, it will be
-     * deactivated when the last ref is gone */
+    gst_buffer_pool_set_active (oldpool, FALSE);
     gst_object_unref (oldpool);
   }
 
@@ -1207,12 +1230,6 @@
         ("Invalid image size."));
     return FALSE;
   }
-config_failed:
-  {
-    GST_ERROR_OBJECT (ximagesink, "failed to set config.");
-    g_mutex_unlock (&ximagesink->flow_lock);
-    return FALSE;
-  }
 }
 
 static GstStateChangeReturn
@@ -1334,8 +1351,8 @@
     /* if we have one... */
     GST_LOG_OBJECT (ximagesink, "buffer not from our pool, copying");
 
-    /* we should have a pool, configured in setcaps */
-    if (ximagesink->pool == NULL)
+    /* an internal pool should have been created in setcaps */
+    if (G_UNLIKELY (ximagesink->pool == NULL))
       goto no_pool;
 
     if (!gst_buffer_pool_set_active (ximagesink->pool, TRUE))
@@ -1443,8 +1460,7 @@
 gst_ximagesink_propose_allocation (GstBaseSink * bsink, GstQuery * query)
 {
   GstXImageSink *ximagesink = GST_XIMAGESINK (bsink);
-  GstBufferPool *pool;
-  GstStructure *config;
+  GstBufferPool *pool = NULL;
   GstCaps *caps;
   guint size;
   gboolean need_pool;
@@ -1454,45 +1470,21 @@
   if (caps == NULL)
     goto no_caps;
 
-  g_mutex_lock (&ximagesink->flow_lock);
-  if ((pool = ximagesink->pool))
-    gst_object_ref (pool);
-  g_mutex_unlock (&ximagesink->flow_lock);
-
-  if (pool != NULL) {
-    GstCaps *pcaps;
-
-    /* we had a pool, check caps */
-    config = gst_buffer_pool_get_config (pool);
-    gst_buffer_pool_config_get_params (config, &pcaps, &size, NULL, NULL);
-
-    GST_DEBUG_OBJECT (ximagesink,
-        "we had a pool with caps %" GST_PTR_FORMAT, pcaps);
-    if (!gst_caps_is_equal (caps, pcaps)) {
-      /* different caps, we can't use this pool */
-      GST_DEBUG_OBJECT (ximagesink, "pool has different caps");
-      gst_object_unref (pool);
-      pool = NULL;
-    }
-    gst_structure_free (config);
-  }
-  if (pool == NULL && need_pool) {
+  if (need_pool) {
     GstVideoInfo info;
 
     if (!gst_video_info_from_caps (&info, caps))
       goto invalid_caps;
 
-    GST_DEBUG_OBJECT (ximagesink, "create new pool");
-    pool = gst_ximage_buffer_pool_new (ximagesink);
+    pool = gst_ximagesink_create_pool (ximagesink, caps, info.size, 0);
 
     /* the normal size of a frame */
     size = info.size;
 
-    config = gst_buffer_pool_get_config (pool);
-    gst_buffer_pool_config_set_params (config, caps, size, 0, 0);
-    if (!gst_buffer_pool_set_config (pool, config))
-      goto config_failed;
+    if (pool == NULL)
+      goto no_pool;
   }
+
   if (pool) {
     /* we need at least 2 buffer because we hold on to the last one */
     gst_query_add_allocation_pool (query, pool, size, 2, 0);
@@ -1516,10 +1508,9 @@
     GST_DEBUG_OBJECT (bsink, "invalid caps specified");
     return FALSE;
   }
-config_failed:
+no_pool:
   {
-    GST_DEBUG_OBJECT (bsink, "failed setting config");
-    gst_object_unref (pool);
+    /* Already warned in create_pool */
     return FALSE;
   }
 }
diff --git a/sys/xvimage/Makefile.in b/sys/xvimage/Makefile.in
index 0d3659b..a498e8a 100644
--- a/sys/xvimage/Makefile.in
+++ b/sys/xvimage/Makefile.in
@@ -362,6 +362,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/sys/xvimage/xvcontext.c b/sys/xvimage/xvcontext.c
index 6d84e37..1af70b2 100644
--- a/sys/xvimage/xvcontext.c
+++ b/sys/xvimage/xvcontext.c
@@ -1080,10 +1080,18 @@
   /* we have a window */
   if (window->internal && title) {
     XTextProperty xproperty;
+    XClassHint *hint = XAllocClassHint ();
 
     if ((XStringListToTextProperty (((char **) &title), 1, &xproperty)) != 0) {
       XSetWMName (context->disp, window->win, &xproperty);
       XFree (xproperty.value);
+
+      if (hint) {
+        hint->res_name = (char *) title;
+        hint->res_class = (char *) "GStreamer";
+        XSetClassHint (context->disp, window->win, hint);
+      }
+      XFree (hint);
     }
   }
 }
diff --git a/sys/xvimage/xvimagesink.c b/sys/xvimage/xvimagesink.c
index 7b47e42..9c3b54f 100644
--- a/sys/xvimage/xvimagesink.c
+++ b/sys/xvimage/xvimagesink.c
@@ -659,19 +659,42 @@
   return caps;
 }
 
+static GstBufferPool *
+gst_xvimagesink_create_pool (GstXvImageSink * xvimagesink, GstCaps * caps,
+    gsize size, gint min)
+{
+  GstBufferPool *pool;
+  GstStructure *config;
+
+  pool = gst_xvimage_buffer_pool_new (xvimagesink->allocator);
+
+  config = gst_buffer_pool_get_config (pool);
+  gst_buffer_pool_config_set_params (config, caps, size, min, 0);
+
+  if (!gst_buffer_pool_set_config (pool, config))
+    goto config_failed;
+
+  return pool;
+
+config_failed:
+  {
+    GST_ERROR_OBJECT (xvimagesink, "failed to set config.");
+    gst_object_unref (pool);
+    return NULL;
+  }
+}
+
 static gboolean
 gst_xvimagesink_setcaps (GstBaseSink * bsink, GstCaps * caps)
 {
   GstXvImageSink *xvimagesink;
   GstXvContext *context;
-  GstStructure *structure;
   GstBufferPool *newpool, *oldpool;
   GstVideoInfo info;
   guint32 im_format = 0;
   gint video_par_n, video_par_d;        /* video's PAR */
   gint display_par_n, display_par_d;    /* display's PAR */
   guint num, den;
-  gint size;
 
   xvimagesink = GST_XVIMAGESINK (bsink);
   context = xvimagesink->context;
@@ -698,8 +721,6 @@
 
   gst_xvcontext_set_colorimetry (context, &info.colorimetry);
 
-  size = info.size;
-
   /* get aspect ratio from caps if it's present, and
    * convert video width and height to a display width and height
    * using wd / hd = wv / hv * PARv / PARd */
@@ -778,24 +799,16 @@
   xvimagesink->redraw_border = TRUE;
 
   /* create a new pool for the new configuration */
-  newpool = gst_xvimage_buffer_pool_new (xvimagesink->allocator);
+  newpool = gst_xvimagesink_create_pool (xvimagesink, caps, info.size, 2);
 
-  structure = gst_buffer_pool_get_config (newpool);
-  gst_buffer_pool_config_set_params (structure, caps, size, 2, 0);
-  if (!gst_buffer_pool_set_config (newpool, structure))
-    goto config_failed;
-
+  /* we don't activate the internal pool yet as it may not be needed */
   oldpool = xvimagesink->pool;
-  /* we don't activate the pool yet, this will be done by downstream after it
-   * has configured the pool. If downstream does not want our pool we will
-   * activate it when we render into it */
   xvimagesink->pool = newpool;
   g_mutex_unlock (&xvimagesink->flow_lock);
 
-  /* unref the old sink */
+  /* deactivate and unref the old internal pool */
   if (oldpool) {
-    /* we don't deactivate, some elements might still be using it, it will
-     * be deactivated when the last ref is gone */
+    gst_buffer_pool_set_active (oldpool, FALSE);
     gst_object_unref (oldpool);
   }
 
@@ -825,13 +838,6 @@
         ("Error calculating the output display ratio of the video."));
     return FALSE;
   }
-config_failed:
-  {
-    GST_ERROR_OBJECT (xvimagesink, "failed to set config.");
-    gst_object_unref (newpool);
-    g_mutex_unlock (&xvimagesink->flow_lock);
-    return FALSE;
-  }
 }
 
 static GstStateChangeReturn
@@ -1043,8 +1049,7 @@
 gst_xvimagesink_propose_allocation (GstBaseSink * bsink, GstQuery * query)
 {
   GstXvImageSink *xvimagesink = GST_XVIMAGESINK (bsink);
-  GstBufferPool *pool;
-  GstStructure *config;
+  GstBufferPool *pool = NULL;
   GstCaps *caps;
   guint size;
   gboolean need_pool;
@@ -1054,44 +1059,22 @@
   if (caps == NULL)
     goto no_caps;
 
-  g_mutex_lock (&xvimagesink->flow_lock);
-  if ((pool = xvimagesink->pool))
-    gst_object_ref (pool);
-  g_mutex_unlock (&xvimagesink->flow_lock);
-
-  if (pool != NULL) {
-    GstCaps *pcaps;
-
-    /* we had a pool, check caps */
-    GST_DEBUG_OBJECT (xvimagesink, "check existing pool caps");
-    config = gst_buffer_pool_get_config (pool);
-    gst_buffer_pool_config_get_params (config, &pcaps, &size, NULL, NULL);
-
-    if (!gst_caps_is_equal (caps, pcaps)) {
-      GST_DEBUG_OBJECT (xvimagesink, "pool has different caps");
-      /* different caps, we can't use this pool */
-      gst_object_unref (pool);
-      pool = NULL;
-    }
-    gst_structure_free (config);
-  }
-  if (pool == NULL && need_pool) {
+  if (need_pool) {
     GstVideoInfo info;
 
     if (!gst_video_info_from_caps (&info, caps))
       goto invalid_caps;
 
     GST_DEBUG_OBJECT (xvimagesink, "create new pool");
-    pool = gst_xvimage_buffer_pool_new (xvimagesink->allocator);
+    pool = gst_xvimagesink_create_pool (xvimagesink, caps, info.size, 0);
 
     /* the normal size of a frame */
     size = info.size;
 
-    config = gst_buffer_pool_get_config (pool);
-    gst_buffer_pool_config_set_params (config, caps, size, 0, 0);
-    if (!gst_buffer_pool_set_config (pool, config))
-      goto config_failed;
+    if (pool == NULL)
+      goto no_pool;
   }
+
   if (pool) {
     /* we need at least 2 buffer because we hold on to the last one */
     gst_query_add_allocation_pool (query, pool, size, 2, 0);
@@ -1115,10 +1098,9 @@
     GST_DEBUG_OBJECT (bsink, "invalid caps specified");
     return FALSE;
   }
-config_failed:
+no_pool:
   {
-    GST_DEBUG_OBJECT (bsink, "failed setting config");
-    gst_object_unref (pool);
+    /* Already warned in create_pool */
     return FALSE;
   }
 }
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 1222fcd..126eec6 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -333,6 +333,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am
index b6f0c86..e47a2ad 100644
--- a/tests/check/Makefile.am
+++ b/tests/check/Makefile.am
@@ -254,6 +254,7 @@
 	libs/struct_i386.h     \
 	libs/struct_i386_osx.h \
 	libs/struct_ppc32.h \
+	libs/struct_ppc64.h \
 	libs/struct_x86_64.h
 
 AM_CFLAGS = -I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
diff --git a/tests/check/Makefile.in b/tests/check/Makefile.in
index e6fcde9..192f276 100644
--- a/tests/check/Makefile.in
+++ b/tests/check/Makefile.in
@@ -1199,6 +1199,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
@@ -1449,6 +1450,7 @@
 	libs/struct_i386.h     \
 	libs/struct_i386_osx.h \
 	libs/struct_ppc32.h \
+	libs/struct_ppc64.h \
 	libs/struct_x86_64.h
 
 AM_CFLAGS = -I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
diff --git a/tests/check/libs/libsabi.c b/tests/check/libs/libsabi.c
index 330554f..508406a 100644
--- a/tests/check/libs/libsabi.c
+++ b/tests/check/libs/libsabi.c
@@ -82,24 +82,21 @@
 #   include "struct_i386.h"
 #   define HAVE_ABI_SIZES TRUE
 # endif
-#else
-#ifdef HAVE_CPU_X86_64
-#include "struct_x86_64.h"
-#define HAVE_ABI_SIZES TRUE
-#else
-#ifdef HAVE_CPU_ARM
-#include "struct_arm.h"
-#define HAVE_ABI_SIZES FALSE
-#else
-#ifdef __powerpc__
-#include "struct_ppc32.h"
-#define HAVE_ABI_SIZES TRUE
+#elif defined HAVE_CPU_X86_64
+# include "struct_x86_64.h"
+# define HAVE_ABI_SIZES TRUE
+#elif defined HAVE_CPU_ARM
+# include "struct_arm.h"
+# define HAVE_ABI_SIZES FALSE
+#elif defined HAVE_CPU_PPC
+# include "struct_ppc32.h"
+# define HAVE_ABI_SIZES TRUE
+#elif defined HAVE_CPU_PPC64
+# include "struct_ppc64.h"
+# define HAVE_ABI_SIZES TRUE
 #else /* in case someone wants to generate a new arch */
-#include "struct_i386.h"
-#define HAVE_ABI_SIZES FALSE
-#endif
-#endif
-#endif
+# include "struct_i386.h"
+# define HAVE_ABI_SIZES FALSE
 #endif
 
 GST_START_TEST (test_ABI)
diff --git a/tests/check/libs/struct_ppc64.h b/tests/check/libs/struct_ppc64.h
new file mode 100644
index 0000000..e60f624
--- /dev/null
+++ b/tests/check/libs/struct_ppc64.h
@@ -0,0 +1,80 @@
+
+GstCheckABIStruct list[] = {
+  {"GstAppSinkCallbacks", sizeof (GstAppSinkCallbacks), 56},
+  {"GstAppSinkClass", sizeof (GstAppSinkClass), 864},
+  {"GstAppSink", sizeof (GstAppSink), 704},
+  {"GstAppSrcCallbacks", sizeof (GstAppSrcCallbacks), 56},
+  {"GstAppSrcClass", sizeof (GstAppSrcClass), 872},
+  {"GstAppSrc", sizeof (GstAppSrc), 688},
+  {"GstAudioCdSrcClass", sizeof (GstAudioCdSrcClass), 1040},
+  {"GstAudioCdSrc", sizeof (GstAudioCdSrc), 720},
+  {"GstAudioCdSrcTrack", sizeof (GstAudioCdSrcTrack), 48},
+  {"GstAudioClockClass", sizeof (GstAudioClockClass), 328},
+  {"GstAudioClock", sizeof (GstAudioClock), 240},
+  {"GstAudioFilterClass", sizeof (GstAudioFilterClass), 856},
+  {"GstAudioFilter", sizeof (GstAudioFilter), 928},
+  {"GstAudioSinkClass", sizeof (GstAudioSinkClass), 928},
+  {"GstAudioSink", sizeof (GstAudioSink), 792},
+  {"GstAudioSrcClass", sizeof (GstAudioSrcClass), 984},
+  {"GstAudioSrc", sizeof (GstAudioSrc), 800},
+  {"GstAudioBaseSinkClass", sizeof (GstAudioBaseSinkClass), 840},
+  {"GstAudioBaseSink", sizeof (GstAudioBaseSink), 752},
+  {"GstAudioBaseSrcClass", sizeof (GstAudioBaseSrcClass), 896},
+  {"GstAudioBaseSrc", sizeof (GstAudioBaseSrc), 760},
+  {"GstRTPBaseAudioPayloadClass", sizeof (GstRTPBaseAudioPayloadClass), 600},
+  {"GstRTPBaseAudioPayload", sizeof (GstRTPBaseAudioPayload), 600},
+  {"GstRTPBaseDepayloadClass", sizeof (GstRTPBaseDepayloadClass), 552},
+  {"GstRTPBaseDepayload", sizeof (GstRTPBaseDepayload), 456},
+  {"GstRTPBasePayloadClass", sizeof (GstRTPBasePayloadClass), 568},
+  {"GstRTPBasePayload", sizeof (GstRTPBasePayload), 536},
+  {"GstColorBalanceChannelClass", sizeof (GstColorBalanceChannelClass), 176},
+  {"GstColorBalanceChannel", sizeof (GstColorBalanceChannel), 72},
+  {"GstColorBalanceInterface", sizeof (GstColorBalanceInterface), 88},
+  {"GstDiscovererClass", sizeof (GstDiscovererClass), 200},
+  {"GstDiscoverer", sizeof (GstDiscoverer), 64},
+  {"GstFFTF32Complex", sizeof (GstFFTF32Complex), 8},
+  {"GstFFTF64Complex", sizeof (GstFFTF64Complex), 16},
+  {"GstFFTS16Complex", sizeof (GstFFTS16Complex), 4},
+  {"GstFFTS32Complex", sizeof (GstFFTS32Complex), 8},
+  {"GstNavigationInterface", sizeof (GstNavigationInterface), 24},
+  {"gst_riff_acid", sizeof (gst_riff_acid), 24},
+  {"gst_riff_dmlh", sizeof (gst_riff_dmlh), 4},
+  {"gst_riff_index_entry", sizeof (gst_riff_index_entry), 16},
+  {"gst_riff_strf_auds", sizeof (gst_riff_strf_auds), 16},
+  {"gst_riff_strf_iavs", sizeof (gst_riff_strf_iavs), 32},
+  {"gst_riff_strf_vids", sizeof (gst_riff_strf_vids), 40},
+  {"gst_riff_strh", sizeof (gst_riff_strh), 48},
+  {"GstAudioRingBufferClass", sizeof (GstAudioRingBufferClass), 312},
+  {"GstAudioRingBuffer", sizeof (GstAudioRingBuffer), 888},
+  {"GstAudioRingBufferSpec", sizeof (GstAudioRingBufferSpec), 400},
+  {"GstRTCPPacket", sizeof (GstRTCPPacket), 40},
+  {"GstRTPPayloadInfo", sizeof (GstRTPPayloadInfo), 80},
+  {"GstRTSPExtensionInterface", sizeof (GstRTSPExtensionInterface), 128},
+  {"GstRTSPMessage", sizeof (GstRTSPMessage), 88},
+  {"GstRTSPRange", sizeof (GstRTSPRange), 8},
+  {"GstRTSPTime", sizeof (GstRTSPTime), 16},
+  {"GstRTSPTimeRange", sizeof (GstRTSPTimeRange), 88},
+  {"GstRTSPTransport", sizeof (GstRTSPTransport), 120},
+  {"GstRTSPUrl", sizeof (GstRTSPUrl), 56},
+  {"GstRTSPWatchFuncs", sizeof (GstRTSPWatchFuncs), 96},
+  {"GstSDPAttribute", sizeof (GstSDPAttribute), 16},
+  {"GstSDPBandwidth", sizeof (GstSDPBandwidth), 16},
+  {"GstSDPConnection", sizeof (GstSDPConnection), 32},
+  {"GstSDPKey", sizeof (GstSDPKey), 16},
+  {"GstSDPMedia", sizeof (GstSDPMedia), 80},
+  {"GstSDPMessage", sizeof (GstSDPMessage), 184},
+  {"GstSDPOrigin", sizeof (GstSDPOrigin), 48},
+  {"GstSDPTime", sizeof (GstSDPTime), 24},
+  {"GstSDPZone", sizeof (GstSDPZone), 16},
+  {"GstStreamVolumeInterface", sizeof (GstStreamVolumeInterface), 16},
+  {"GstTagDemuxClass", sizeof (GstTagDemuxClass), 552},
+  {"GstTagDemux", sizeof (GstTagDemux), 304},
+  {"GstVideoFilterClass", sizeof (GstVideoFilterClass), 872},
+  {"GstVideoFilter", sizeof (GstVideoFilter), 920},
+  {"GstVideoOrientationInterface", sizeof (GstVideoOrientationInterface), 80},
+  {"GstVideoRectangle", sizeof (GstVideoRectangle), 16},
+  {"GstVideoSinkClass", sizeof (GstVideoSinkClass), 832},
+  {"GstVideoSink", sizeof (GstVideoSink), 712},
+  {"GstVideoOverlayInterface", sizeof (GstVideoOverlayInterface), 48},
+  {NULL, 0, 0}
+};
diff --git a/tests/check/libs/video.c b/tests/check/libs/video.c
index 0f13f30..5acf115 100644
--- a/tests/check/libs/video.c
+++ b/tests/check/libs/video.c
@@ -743,11 +743,15 @@
     GstCaps *caps, *caps2;
 
     caps = gst_caps_from_string (formats[i].tmpl_caps_string);
+    fail_unless (caps != NULL);
     gst_caps_set_simple (caps, "width", G_TYPE_INT, 2 * (i + 1), "height",
         G_TYPE_INT, i + 1, "framerate", GST_TYPE_FRACTION, 15, 1,
         "pixel-aspect-ratio", GST_TYPE_FRACTION, 1, 1,
         "interlace-mode", G_TYPE_STRING, "progressive",
-        "colorimetry", G_TYPE_STRING, "1:1:0:0", NULL);
+        "colorimetry", G_TYPE_STRING, "1:1:0:0",
+        "multiview-mode", G_TYPE_STRING, "mono",
+        "multiview-flags", GST_TYPE_VIDEO_MULTIVIEW_FLAGSET, 0,
+        GST_FLAG_SET_MASK_EXACT, NULL);
     g_assert (gst_caps_is_fixed (caps));
 
     GST_DEBUG ("testing caps: %" GST_PTR_FORMAT, caps);
@@ -760,10 +764,14 @@
 
     /* make sure they're serialised back correctly */
     caps2 = gst_video_info_to_caps (&vinfo);
-    fail_unless (caps != NULL);
-    fail_unless (gst_caps_is_equal (caps, caps2),
-        "caps [%" GST_PTR_FORMAT "] not equal to caps2 [%" GST_PTR_FORMAT "]",
-        caps, caps2);
+    fail_unless (caps2 != NULL);
+    if (!gst_caps_is_equal (caps, caps2)) {
+      gchar *caps1s = gst_caps_to_string (caps);
+      gchar *caps2s = gst_caps_to_string (caps2);
+      fail ("caps [%s] not equal to caps2 [%s]", caps1s, caps2s);
+      g_free (caps1s);
+      g_free (caps2s);
+    }
 
     gst_caps_unref (caps);
     gst_caps_unref (caps2);
@@ -772,6 +780,73 @@
 
 GST_END_TEST;
 
+GST_START_TEST (test_parse_caps_multiview)
+{
+  gint i, j;
+  GstVideoMultiviewMode modes[] = {
+    GST_VIDEO_MULTIVIEW_MODE_MONO,
+    GST_VIDEO_MULTIVIEW_MODE_LEFT,
+    GST_VIDEO_MULTIVIEW_MODE_RIGHT,
+    GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE,
+    GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX,
+    GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED,
+    GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED,
+    GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM,
+    GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD,
+    GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME,
+    GST_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME,
+    GST_VIDEO_MULTIVIEW_MODE_SEPARATED,
+  };
+  GstVideoMultiviewFlags flags[] = {
+    GST_VIDEO_MULTIVIEW_FLAGS_NONE,
+    GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST,
+    GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED,
+    GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED,
+    GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED,
+    GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED,
+    GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO,
+    GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO |
+        GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST,
+    GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO |
+        GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED
+  };
+
+  for (i = 0; i < G_N_ELEMENTS (modes); i++) {
+    for (j = 0; j < G_N_ELEMENTS (flags); j++) {
+      GstVideoInfo vinfo;
+      GstCaps *caps;
+
+      gst_video_info_init (&vinfo);
+      gst_video_info_set_format (&vinfo, GST_VIDEO_FORMAT_I420, 320, 240);
+
+      GST_VIDEO_INFO_MULTIVIEW_MODE (&vinfo) = modes[i];
+      GST_VIDEO_INFO_MULTIVIEW_FLAGS (&vinfo) = flags[j];
+
+      caps = gst_video_info_to_caps (&vinfo);
+      fail_if (caps == NULL);
+      GST_LOG ("mview mode %d flags %x -> caps %" GST_PTR_FORMAT,
+          modes[i], flags[j], caps);
+
+      fail_unless (gst_video_info_from_caps (&vinfo, caps));
+
+      GST_LOG ("mview mode %d flags %x -> info mode %d flags %x",
+          modes[i], flags[j], GST_VIDEO_INFO_MULTIVIEW_MODE (&vinfo),
+          GST_VIDEO_INFO_MULTIVIEW_FLAGS (&vinfo));
+
+      fail_unless (GST_VIDEO_INFO_MULTIVIEW_MODE (&vinfo) == modes[i],
+          "Expected multiview mode %d got mode %d", modes[i],
+          GST_VIDEO_INFO_MULTIVIEW_MODE (&vinfo));
+      fail_unless (GST_VIDEO_INFO_MULTIVIEW_FLAGS (&vinfo) == flags[j],
+          "Expected multiview flags 0x%x got 0x%x", flags[j],
+          GST_VIDEO_INFO_MULTIVIEW_FLAGS (&vinfo));
+
+      gst_caps_unref (caps);
+    }
+  }
+}
+
+GST_END_TEST;
+
 GST_START_TEST (test_events)
 {
   GstEvent *e;
@@ -2576,6 +2651,7 @@
   tcase_add_test (tc_chain, test_video_formats_pack_unpack);
   tcase_add_test (tc_chain, test_dar_calc);
   tcase_add_test (tc_chain, test_parse_caps_rgb);
+  tcase_add_test (tc_chain, test_parse_caps_multiview);
   tcase_add_test (tc_chain, test_events);
   tcase_add_test (tc_chain, test_convert_frame);
   tcase_add_test (tc_chain, test_convert_frame_async);
diff --git a/tests/examples/Makefile.in b/tests/examples/Makefile.in
index e6ce9b5..94ba095 100644
--- a/tests/examples/Makefile.in
+++ b/tests/examples/Makefile.in
@@ -339,6 +339,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/tests/examples/app/Makefile.in b/tests/examples/app/Makefile.in
index d9238c1..57dd51b 100644
--- a/tests/examples/app/Makefile.in
+++ b/tests/examples/app/Makefile.in
@@ -383,6 +383,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/tests/examples/audio/Makefile.in b/tests/examples/audio/Makefile.in
index d246a15..39c608e 100644
--- a/tests/examples/audio/Makefile.in
+++ b/tests/examples/audio/Makefile.in
@@ -340,6 +340,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/tests/examples/dynamic/Makefile.in b/tests/examples/dynamic/Makefile.in
index 9e6077a..6f93e9d 100644
--- a/tests/examples/dynamic/Makefile.in
+++ b/tests/examples/dynamic/Makefile.in
@@ -356,6 +356,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/tests/examples/encoding/Makefile.in b/tests/examples/encoding/Makefile.in
index 25db26d..6bb2d79 100644
--- a/tests/examples/encoding/Makefile.in
+++ b/tests/examples/encoding/Makefile.in
@@ -332,6 +332,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/tests/examples/fft/Makefile.in b/tests/examples/fft/Makefile.in
index 9ce5134..f79d1e1 100644
--- a/tests/examples/fft/Makefile.in
+++ b/tests/examples/fft/Makefile.in
@@ -330,6 +330,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/tests/examples/gio/Makefile.in b/tests/examples/gio/Makefile.in
index 53e58a2..45a2893 100644
--- a/tests/examples/gio/Makefile.in
+++ b/tests/examples/gio/Makefile.in
@@ -333,6 +333,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/tests/examples/overlay/Makefile.in b/tests/examples/overlay/Makefile.in
index 293128e..904a7b2 100644
--- a/tests/examples/overlay/Makefile.in
+++ b/tests/examples/overlay/Makefile.in
@@ -393,6 +393,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/tests/examples/playback/Makefile.in b/tests/examples/playback/Makefile.in
index e06f257..9df67e9 100644
--- a/tests/examples/playback/Makefile.in
+++ b/tests/examples/playback/Makefile.in
@@ -329,6 +329,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/tests/examples/playrec/Makefile.in b/tests/examples/playrec/Makefile.in
index 1140c06..c8d3499 100644
--- a/tests/examples/playrec/Makefile.in
+++ b/tests/examples/playrec/Makefile.in
@@ -329,6 +329,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/tests/examples/seek/Makefile.in b/tests/examples/seek/Makefile.in
index ef61790..e8896f8 100644
--- a/tests/examples/seek/Makefile.in
+++ b/tests/examples/seek/Makefile.in
@@ -351,6 +351,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/tests/examples/snapshot/Makefile.in b/tests/examples/snapshot/Makefile.in
index f5c626c..be47704 100644
--- a/tests/examples/snapshot/Makefile.in
+++ b/tests/examples/snapshot/Makefile.in
@@ -327,6 +327,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/tests/files/Makefile.in b/tests/files/Makefile.in
index 3636182..3aed20b 100644
--- a/tests/files/Makefile.in
+++ b/tests/files/Makefile.in
@@ -274,6 +274,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/tests/icles/Makefile.in b/tests/icles/Makefile.in
index 1e59912..f4aaef2 100644
--- a/tests/icles/Makefile.in
+++ b/tests/icles/Makefile.in
@@ -526,6 +526,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/tests/icles/playback/Makefile.in b/tests/icles/playback/Makefile.in
index 4141856..a85a630 100644
--- a/tests/icles/playback/Makefile.in
+++ b/tests/icles/playback/Makefile.in
@@ -375,6 +375,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/tools/Makefile.in b/tools/Makefile.in
index 4ebcb0b..b01d41a 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -395,6 +395,7 @@
 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
diff --git a/tools/gst-play-1.0.1 b/tools/gst-play-1.0.1
index 6d215d3..1ccae9d 100644
--- a/tools/gst-play-1.0.1
+++ b/tools/gst-play-1.0.1
@@ -59,6 +59,15 @@
 .B  t
 Cycle through trick modes
 .TP 8
+.B  a
+Switch audio track
+.TP 8
+.B  s
+Switch subtitle track
+.TP 8
+.B  v
+Switch video track
+.TP 8
 .B  >
 Skip to next item in playlist
 .TP 8
diff --git a/tools/gst-play.c b/tools/gst-play.c
index 26bebd9..8b299a0 100644
--- a/tools/gst-play.c
+++ b/tools/gst-play.c
@@ -31,6 +31,7 @@
 #include <gst/audio/audio.h>
 #include <gst/video/video.h>
 #include <gst/pbutils/pbutils.h>
+#include <gst/tag/tag.h>
 #include <gst/math-compat.h>
 #include <stdlib.h>
 #include <stdio.h>
@@ -55,6 +56,14 @@
   GST_PLAY_TRICK_MODE_LAST
 } GstPlayTrickMode;
 
+typedef enum
+{
+  GST_PLAY_TRACK_TYPE_INVALID = 0,
+  GST_PLAY_TRACK_TYPE_AUDIO,
+  GST_PLAY_TRACK_TYPE_VIDEO,
+  GST_PLAY_TRACK_TYPE_SUBTITLE
+} GstPlayTrackType;
+
 typedef struct
 {
   gchar **uris;
@@ -129,16 +138,20 @@
 play_new (gchar ** uris, const gchar * audio_sink, const gchar * video_sink,
     gboolean gapless, gdouble initial_volume)
 {
-  GstElement *sink;
+  GstElement *sink, *playbin;
   GstPlay *play;
 
+  playbin = gst_element_factory_make ("playbin", "playbin");
+  if (playbin == NULL)
+    return NULL;
+
   play = g_new0 (GstPlay, 1);
 
   play->uris = uris;
   play->num_uris = g_strv_length (uris);
   play->cur_idx = -1;
 
-  play->playbin = gst_element_factory_make ("playbin", "playbin");
+  play->playbin = playbin;
 
   if (audio_sink != NULL) {
     if (strchr (audio_sink, ' ') != NULL)
@@ -449,7 +462,8 @@
 {
   GstPlay *play = user_data;
   gint64 pos = -1, dur = -1;
-  gchar status[64] = { 0, };
+  const gchar *paused = _("Paused");
+  gchar *status;
 
   if (play->buffering)
     return TRUE;
@@ -457,10 +471,14 @@
   gst_element_query_position (play->playbin, GST_FORMAT_TIME, &pos);
   gst_element_query_duration (play->playbin, GST_FORMAT_TIME, &dur);
 
-  if (play->desired_state == GST_STATE_PAUSED)
-    g_snprintf (status, sizeof (status), "Paused");
-  else
-    memset (status, ' ', sizeof (status) - 1);
+  if (play->desired_state == GST_STATE_PAUSED) {
+    status = (gchar *) paused;
+  } else {
+    gint len = g_utf8_strlen (paused, -1);
+    status = g_newa (gchar, len + 1);
+    memset (status, ' ', len);
+    status[len] = '\0';
+  }
 
   if (pos >= 0 && dur > 0) {
     gchar dstr[32], pstr[32];
@@ -588,6 +606,21 @@
   g_main_loop_run (play->loop);
 }
 
+static gint
+compare (gconstpointer a, gconstpointer b)
+{
+  gchar *a1, *b1;
+  gint ret;
+
+  a1 = g_utf8_collate_key_for_filename ((gchar *) a, -1);
+  b1 = g_utf8_collate_key_for_filename ((gchar *) b, -1);
+  ret = strcmp (a1, b1);
+  g_free (a1);
+  g_free (b1);
+
+  return ret;
+}
+
 static void
 add_to_playlist (GPtrArray * playlist, const gchar * filename)
 {
@@ -601,17 +634,24 @@
 
   if ((dir = g_dir_open (filename, 0, NULL))) {
     const gchar *entry;
+    GList *l, *files = NULL;
 
-    /* FIXME: sort entries for each directory? */
     while ((entry = g_dir_read_name (dir))) {
       gchar *path;
 
       path = g_strconcat (filename, G_DIR_SEPARATOR_S, entry, NULL);
-      add_to_playlist (playlist, path);
-      g_free (path);
+      files = g_list_insert_sorted (files, path, compare);
     }
 
     g_dir_close (dir);
+
+    for (l = files; l != NULL; l = l->next) {
+      gchar *path = (gchar *) l->data;
+
+      add_to_playlist (playlist, path);
+      g_free (path);
+    }
+    g_list_free (files);
     return;
   }
 
@@ -761,11 +801,11 @@
       break;
   }
 
-  if (rate > 0)
+  if (rate >= 0)
     seek = gst_event_new_seek (rate, GST_FORMAT_TIME,
-        seek_flags | GST_SEEK_FLAG_KEY_UNIT,
+        seek_flags | GST_SEEK_FLAG_ACCURATE,
         /* start */ GST_SEEK_TYPE_SET, pos,
-        /* stop */ GST_SEEK_TYPE_NONE, 0);
+        /* stop */ GST_SEEK_TYPE_SET, GST_CLOCK_TIME_NONE);
   else
     seek = gst_event_new_seek (rate, GST_FORMAT_TIME,
         seek_flags | GST_SEEK_FLAG_ACCURATE,
@@ -844,6 +884,66 @@
 }
 
 static void
+play_cycle_track_selection (GstPlay * play, GstPlayTrackType track_type)
+{
+  const gchar *prop_cur, *prop_n, *prop_get, *name;
+  gint cur = -1, n = -1;
+
+  switch (track_type) {
+    case GST_PLAY_TRACK_TYPE_AUDIO:
+      prop_get = "get-audio-tags";
+      prop_cur = "current-audio";
+      prop_n = "n-audio";
+      name = "audio";
+      break;
+    case GST_PLAY_TRACK_TYPE_VIDEO:
+      prop_get = "get-video-tags";
+      prop_cur = "current-video";
+      prop_n = "n-video";
+      name = "video";
+      break;
+    case GST_PLAY_TRACK_TYPE_SUBTITLE:
+      prop_get = "get-text-tags";
+      prop_cur = "current-text";
+      prop_n = "n-text";
+      name = "subtitle";
+      break;
+    default:
+      return;
+  }
+
+  g_object_get (play->playbin, prop_cur, &cur, prop_n, &n, NULL);
+
+  if (n < 1) {
+    g_print ("No %s tracks.\n", name);
+  } else if (n == 1) {
+    g_print ("No other %s tracks to switch to.\n", name);
+  } else {
+    gchar *lcode = NULL, *lname = NULL;
+    const gchar *lang = NULL;
+    GstTagList *tags = NULL;
+
+    cur = (cur + 1) % n;
+    g_signal_emit_by_name (play->playbin, prop_get, cur, &tags);
+    if (tags != NULL) {
+      if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &lcode))
+        lang = gst_tag_get_language_name (lcode);
+      else if (gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_NAME, &lname))
+        lang = lname;
+      gst_tag_list_unref (tags);
+    }
+    if (lang != NULL)
+      g_print ("Switching to %s track %d of %d (%s).\n", name, cur + 1, n,
+          lang);
+    else
+      g_print ("Switching to %s track %d of %d.\n", name, cur + 1, n);
+    g_object_set (play->playbin, prop_cur, cur, NULL);
+    g_free (lcode);
+    g_free (lname);
+  }
+}
+
+static void
 print_keyboard_help (void)
 {
   static struct
@@ -864,6 +964,9 @@
     "-", N_("decrease playback rate")}, {
     "d", N_("change playback direction")}, {
     "t", N_("enable/disable trick modes")}, {
+    "a", N_("change audio track")}, {
+    "v", N_("change video track")}, {
+    "s", N_("change subtitle track")}, {
   "k", N_("show keyboard shortcuts")},};
   guint i, chars_to_pad, desc_len, max_desc_len = 0;
 
@@ -888,8 +991,13 @@
 keyboard_cb (const gchar * key_input, gpointer user_data)
 {
   GstPlay *play = (GstPlay *) user_data;
+  gchar key = '\0';
 
-  switch (g_ascii_tolower (key_input[0])) {
+  /* only want to switch/case on single char, not first char of string */
+  if (key_input[0] != '\0' && key_input[1] == '\0')
+    key = g_ascii_tolower (key_input[0]);
+
+  switch (key) {
     case 'k':
       print_keyboard_help ();
       break;
@@ -940,6 +1048,15 @@
         g_main_loop_quit (play->loop);
         break;
       }
+    case 'a':
+      play_cycle_track_selection (play, GST_PLAY_TRACK_TYPE_AUDIO);
+      break;
+    case 'v':
+      play_cycle_track_selection (play, GST_PLAY_TRACK_TYPE_VIDEO);
+      break;
+    case 's':
+      play_cycle_track_selection (play, GST_PLAY_TRACK_TYPE_SUBTITLE);
+      break;
       /* fall through */
     default:
       if (strcmp (key_input, GST_PLAY_KB_ARROW_RIGHT) == 0) {
@@ -1100,6 +1217,12 @@
   /* prepare */
   play = play_new (uris, audio_sink, video_sink, gapless, volume);
 
+  if (play == NULL) {
+    g_printerr
+        ("Failed to create 'playbin' element. Check your GStreamer installation.\n");
+    return EXIT_FAILURE;
+  }
+
   if (interactive) {
     if (gst_play_kb_set_key_handler (keyboard_cb, play)) {
       g_print (_("Press 'k' to see a list of keyboard shortcuts.\n"));
diff --git a/win32/common/_stdint.h b/win32/common/_stdint.h
index fc48bab..37f8164 100644
--- a/win32/common/_stdint.h
+++ b/win32/common/_stdint.h
@@ -1,8 +1,8 @@
 #ifndef _GST_PLUGINS_BASE__STDINT_H
 #define _GST_PLUGINS_BASE__STDINT_H 1
 #ifndef _GENERATED_STDINT_H
-#define _GENERATED_STDINT_H "gst-plugins-base 1.5.1"
-/* generated using gnu compiler Debian clang version 3.6.1-1 (tags/RELEASE_361/final) (based on LLVM 3.6.1) */
+#define _GENERATED_STDINT_H "gst-plugins-base 1.5.2"
+/* generated using gnu compiler Debian clang version 3.7.0-svn239806-1+b1 (trunk) (based on LLVM 3.7.0) */
 #define _STDINT_HAVE_STDINT_H 1
 #include <stdint.h>
 #endif
diff --git a/win32/common/config.h b/win32/common/config.h
index 20fcdea..458bcc3 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -87,7 +87,7 @@
 #define GST_PACKAGE_ORIGIN "Unknown package origin"
 
 /* GStreamer package release date/time for plugins as YYYY-MM-DD */
-#define GST_PACKAGE_RELEASE_DATETIME "2015-06-07"
+#define GST_PACKAGE_RELEASE_DATETIME "2015-06-24"
 
 /* Define if static plugins should be built */
 #undef GST_PLUGIN_BUILD_STATIC
@@ -337,7 +337,7 @@
 #define PACKAGE_NAME "GStreamer Base Plug-ins"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GStreamer Base Plug-ins 1.5.1"
+#define PACKAGE_STRING "GStreamer Base Plug-ins 1.5.2"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gst-plugins-base"
@@ -346,7 +346,7 @@
 #undef PACKAGE_URL
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.5.1"
+#define PACKAGE_VERSION "1.5.2"
 
 /* directory where plugins are located */
 #ifdef _DEBUG
@@ -380,7 +380,7 @@
 #undef USE_TREMOLO
 
 /* Version number of package */
-#define VERSION "1.5.1"
+#define VERSION "1.5.2"
 
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
diff --git a/win32/common/libgstaudio.def b/win32/common/libgstaudio.def
index 2144723..d481b92 100644
--- a/win32/common/libgstaudio.def
+++ b/win32/common/libgstaudio.def
@@ -7,7 +7,9 @@
 	gst_audio_base_sink_get_provide_clock
 	gst_audio_base_sink_get_slave_method
 	gst_audio_base_sink_get_type
+	gst_audio_base_sink_report_device_failure
 	gst_audio_base_sink_set_alignment_threshold
+	gst_audio_base_sink_set_custom_slaving_callback
 	gst_audio_base_sink_set_discont_wait
 	gst_audio_base_sink_set_drift_tolerance
 	gst_audio_base_sink_set_provide_clock
diff --git a/win32/common/libgstrtsp.def b/win32/common/libgstrtsp.def
index fc6a57c..aa307cc 100644
--- a/win32/common/libgstrtsp.def
+++ b/win32/common/libgstrtsp.def
@@ -14,6 +14,7 @@
 	gst_rtsp_connection_get_remember_session_id
 	gst_rtsp_connection_get_tls
 	gst_rtsp_connection_get_tls_database
+	gst_rtsp_connection_get_tls_interaction
 	gst_rtsp_connection_get_tls_validation_flags
 	gst_rtsp_connection_get_tunnelid
 	gst_rtsp_connection_get_url
@@ -33,6 +34,7 @@
 	gst_rtsp_connection_set_qos_dscp
 	gst_rtsp_connection_set_remember_session_id
 	gst_rtsp_connection_set_tls_database
+	gst_rtsp_connection_set_tls_interaction
 	gst_rtsp_connection_set_tls_validation_flags
 	gst_rtsp_connection_set_tunneled
 	gst_rtsp_connection_write
diff --git a/win32/common/libgstvideo.def b/win32/common/libgstvideo.def
index 7e039c6..0537370 100644
--- a/win32/common/libgstvideo.def
+++ b/win32/common/libgstvideo.def
@@ -148,6 +148,7 @@
 	gst_video_encoder_proxy_getcaps
 	gst_video_encoder_set_headers
 	gst_video_encoder_set_latency
+	gst_video_encoder_set_min_pts
 	gst_video_encoder_set_output_state
 	gst_video_event_is_force_key_unit
 	gst_video_event_new_downstream_force_key_unit
@@ -193,6 +194,19 @@
 	gst_video_meta_map
 	gst_video_meta_transform_scale_get_quark
 	gst_video_meta_unmap
+	gst_video_multiview_flags_get_type
+	gst_video_multiview_flagset_get_type
+	gst_video_multiview_frame_packing_get_type
+	gst_video_multiview_get_doubled_height_modes
+	gst_video_multiview_get_doubled_size_modes
+	gst_video_multiview_get_doubled_width_modes
+	gst_video_multiview_get_mono_modes
+	gst_video_multiview_get_unpacked_modes
+	gst_video_multiview_guess_half_aspect
+	gst_video_multiview_mode_from_caps_string
+	gst_video_multiview_mode_get_type
+	gst_video_multiview_mode_to_caps_string
+	gst_video_multiview_video_info_change_mode
 	gst_video_orientation_get_hcenter
 	gst_video_orientation_get_hflip
 	gst_video_orientation_get_type
@@ -247,6 +261,7 @@
 	gst_video_scaler_combine_packed_YUV
 	gst_video_scaler_free
 	gst_video_scaler_get_coeff
+	gst_video_scaler_get_max_taps
 	gst_video_scaler_horizontal
 	gst_video_scaler_new
 	gst_video_scaler_vertical
diff --git a/win32/common/video-enumtypes.c b/win32/common/video-enumtypes.c
index 77d8330..9263cb4 100644
--- a/win32/common/video-enumtypes.c
+++ b/win32/common/video-enumtypes.c
@@ -268,6 +268,116 @@
 }
 
 GType
+gst_video_multiview_mode_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_VIDEO_MULTIVIEW_MODE_NONE, "GST_VIDEO_MULTIVIEW_MODE_NONE", "none"},
+      {GST_VIDEO_MULTIVIEW_MODE_MONO, "GST_VIDEO_MULTIVIEW_MODE_MONO", "mono"},
+      {GST_VIDEO_MULTIVIEW_MODE_LEFT, "GST_VIDEO_MULTIVIEW_MODE_LEFT", "left"},
+      {GST_VIDEO_MULTIVIEW_MODE_RIGHT, "GST_VIDEO_MULTIVIEW_MODE_RIGHT",
+          "right"},
+      {GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE,
+          "GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE", "side-by-side"},
+      {GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX,
+            "GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX",
+          "side-by-side-quincunx"},
+      {GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED,
+            "GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED",
+          "column-interleaved"},
+      {GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED,
+          "GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED", "row-interleaved"},
+      {GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM,
+          "GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM", "top-bottom"},
+      {GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD,
+          "GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD", "checkerboard"},
+      {GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME,
+          "GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME", "frame-by-frame"},
+      {GST_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME,
+            "GST_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME",
+          "multiview-frame-by-frame"},
+      {GST_VIDEO_MULTIVIEW_MODE_SEPARATED, "GST_VIDEO_MULTIVIEW_MODE_SEPARATED",
+          "separated"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_enum_register_static ("GstVideoMultiviewMode", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
+gst_video_multiview_frame_packing_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      {GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE,
+          "GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE", "none"},
+      {GST_VIDEO_MULTIVIEW_FRAME_PACKING_MONO,
+          "GST_VIDEO_MULTIVIEW_FRAME_PACKING_MONO", "mono"},
+      {GST_VIDEO_MULTIVIEW_FRAME_PACKING_LEFT,
+          "GST_VIDEO_MULTIVIEW_FRAME_PACKING_LEFT", "left"},
+      {GST_VIDEO_MULTIVIEW_FRAME_PACKING_RIGHT,
+          "GST_VIDEO_MULTIVIEW_FRAME_PACKING_RIGHT", "right"},
+      {GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE,
+          "GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE", "side-by-side"},
+      {GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE_QUINCUNX,
+            "GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE_QUINCUNX",
+          "side-by-side-quincunx"},
+      {GST_VIDEO_MULTIVIEW_FRAME_PACKING_COLUMN_INTERLEAVED,
+            "GST_VIDEO_MULTIVIEW_FRAME_PACKING_COLUMN_INTERLEAVED",
+          "column-interleaved"},
+      {GST_VIDEO_MULTIVIEW_FRAME_PACKING_ROW_INTERLEAVED,
+            "GST_VIDEO_MULTIVIEW_FRAME_PACKING_ROW_INTERLEAVED",
+          "row-interleaved"},
+      {GST_VIDEO_MULTIVIEW_FRAME_PACKING_TOP_BOTTOM,
+          "GST_VIDEO_MULTIVIEW_FRAME_PACKING_TOP_BOTTOM", "top-bottom"},
+      {GST_VIDEO_MULTIVIEW_FRAME_PACKING_CHECKERBOARD,
+          "GST_VIDEO_MULTIVIEW_FRAME_PACKING_CHECKERBOARD", "checkerboard"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_enum_register_static ("GstVideoMultiviewFramePacking", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
+gst_video_multiview_flags_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GFlagsValue values[] = {
+      {GST_VIDEO_MULTIVIEW_FLAGS_NONE, "GST_VIDEO_MULTIVIEW_FLAGS_NONE",
+          "none"},
+      {GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST,
+          "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST", "right-view-first"},
+      {GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED,
+          "GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED", "left-flipped"},
+      {GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED,
+          "GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED", "left-flopped"},
+      {GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED,
+          "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED", "right-flipped"},
+      {GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED,
+          "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED", "right-flopped"},
+      {GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT,
+          "GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT", "half-aspect"},
+      {GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO,
+          "GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO", "mixed-mono"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_flags_register_static ("GstVideoMultiviewFlags", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
 gst_video_flags_get_type (void)
 {
   static volatile gsize g_define_type_id__volatile = 0;
diff --git a/win32/common/video-enumtypes.h b/win32/common/video-enumtypes.h
index 48b980c..986fe1b 100644
--- a/win32/common/video-enumtypes.h
+++ b/win32/common/video-enumtypes.h
@@ -29,6 +29,12 @@
 /* enumerations from "video-info.h" */
 GType gst_video_interlace_mode_get_type (void);
 #define GST_TYPE_VIDEO_INTERLACE_MODE (gst_video_interlace_mode_get_type())
+GType gst_video_multiview_mode_get_type (void);
+#define GST_TYPE_VIDEO_MULTIVIEW_MODE (gst_video_multiview_mode_get_type())
+GType gst_video_multiview_frame_packing_get_type (void);
+#define GST_TYPE_VIDEO_MULTIVIEW_FRAME_PACKING (gst_video_multiview_frame_packing_get_type())
+GType gst_video_multiview_flags_get_type (void);
+#define GST_TYPE_VIDEO_MULTIVIEW_FLAGS (gst_video_multiview_flags_get_type())
 GType gst_video_flags_get_type (void);
 #define GST_TYPE_VIDEO_FLAGS (gst_video_flags_get_type())